/* Shared BMK header and Google review section.
   Generated from the homepage so all location pages use the same desktop/mobile presentation. */
body.bmk-shared-layout { margin: 0; }
.bmk-site-header,
.bmk-google-reviews-section {
  --navy: #051330;
  --navy2: #081f4d;
  --red: #ff1717;
  --red2: #d90000;
  --blue: #0b5cff;
  --soft: #f4f7fb;
  --text: #071536;
  --muted: #586781;
  --white: #fff;
  --line: #dce6f3;
  --line2: #dce6f3;
  --shadow: 0 24px 70px rgba(5,19,48,.13);
  --shadow2: 0 12px 34px rgba(5,19,48,.085);
  --r: 22px;
  --r2: 32px;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color: var(--text);
}
.bmk-site-header *,
.bmk-site-header *::before,
.bmk-site-header *::after,
.bmk-google-reviews-section *,
.bmk-google-reviews-section *::before,
.bmk-google-reviews-section *::after { box-sizing: border-box; }
.bmk-site-header a,
.bmk-google-reviews-section a { color: inherit; text-decoration: none; }
.bmk-site-header button { font-family: inherit; }
.bmk-site-header .wrap,
.bmk-google-reviews-section .wrap {
  width: min(1220px, 100%);
  max-width: 1220px;
  padding-left: 26px;
  padding-right: 26px;
  margin-left: auto;
  margin-right: auto;
}
.bmk-site-header .logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 28px;
  font-weight: 950;
  color: var(--navy);
  line-height: .9;
  letter-spacing: -1px;
  white-space: nowrap;
  flex-shrink: 0;
}
.bmk-site-header .logo small {
  display: block;
  color: var(--red);
  font-size: 10px;
  letter-spacing: .7px;
  margin-top: 4px;
  font-weight: 950;
}
.bmk-site-header .flame {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: 13px;
  background: linear-gradient(135deg, #016aff 0%, #fff 43%, #ff1616 44%, #ff7b00 100%);
  display: grid;
  place-items: center;
  color: #fff;
  box-shadow: 0 10px 22px rgba(255,23,23,.22);
  font-size: 24px;
}
.bmk-google-reviews-section { position: relative; }
.bmk-google-reviews-section .kicker {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 10px;
  border: 1px solid rgba(255,23,23,.14);
  border-radius: 999px;
  background: rgba(255,23,23,.06);
  color: var(--red);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.45px;
  text-transform: uppercase;
  margin-bottom: 7px;
}
.bmk-google-reviews-section h2 {
  font-size: clamp(31px, 3.25vw, 48px);
  line-height: 1.02;
  letter-spacing: -1.7px;
  margin: 8px 0 12px;
  color: var(--navy);
  text-wrap: balance;
}
.bmk-google-reviews-section h3 { color: var(--navy); text-wrap: balance; }
.bmk-google-reviews-section p { line-height: 1.65; margin: 0 0 1em; }
.bmk-google-reviews-section p:last-child { margin-bottom: 0; }
@media (max-width: 760px) {
  .bmk-site-header .wrap,
  .bmk-google-reviews-section .wrap {
    padding-left: 18px;
    padding-right: 18px;
  }
  .bmk-google-reviews-section .bmk-google-reviews-shell {
    padding: 26px 19px;
    border-radius: 22px;
  }
}
/* =========================================================
       BMK RESPONSIVE WEBSITE NAVIGATION
       Shared desktop and mobile header
    ========================================================= */
    .bmk-site-header{
      position:sticky;
      top:0;
      z-index:1000;
      overflow:visible;
      background:rgba(255,255,255,.97);
      border-bottom:1px solid rgba(197,217,244,.9);
      box-shadow:0 8px 28px rgba(5,19,48,.08);
      backdrop-filter:blur(16px);
      -webkit-backdrop-filter:blur(16px);
    }

    .bmk-header-row{
      position:relative;
      min-height:82px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:22px;
    }

    .bmk-header-logo{
      position:relative;
      z-index:3;
    }

    .bmk-desktop-nav{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:4px;
      margin-left:auto;
    }

    .bmk-nav-link,
    .bmk-nav-trigger{
      position:relative;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:7px;
      min-height:44px;
      padding:11px 12px;
      border:0;
      border-radius:12px;
      background:transparent;
      color:var(--navy);
      font:inherit;
      font-size:14px;
      font-weight:900;
      line-height:1.2;
      white-space:nowrap;
      cursor:pointer;
      transition:background .16s ease,color .16s ease,transform .16s ease;
    }

    .bmk-nav-link:hover,
    .bmk-nav-trigger:hover,
    .bmk-nav-link:focus-visible,
    .bmk-nav-trigger:focus-visible,
    .bmk-nav-link.is-active{
      color:var(--red2);
      background:#fff1f1;
      outline:none;
    }

    .bmk-nav-link.is-active::after{
      content:"";
      position:absolute;
      left:14px;
      right:14px;
      bottom:5px;
      height:2px;
      border-radius:999px;
      background:var(--red);
    }

    .bmk-nav-item{
      position:relative;
    }

    .bmk-chevron{
      width:8px;
      height:8px;
      border-right:2px solid currentColor;
      border-bottom:2px solid currentColor;
      transform:rotate(45deg) translateY(-2px);
      transition:transform .16s ease;
    }

    .bmk-nav-item:hover .bmk-chevron,
    .bmk-nav-item:focus-within .bmk-chevron,
    .bmk-nav-item.is-open .bmk-chevron{
      transform:rotate(225deg) translate(-2px,-2px);
    }

    .bmk-dropdown-panel{
      position:absolute;
      top:100%;
      left:50%;
      width:310px;
      max-width:none;
      padding-top:12px;
      transform:translateX(-50%) translateY(7px);
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
    }

    .bmk-dropdown-panel::before{
      content:"";
      position:absolute;
      top:4px;
      left:50%;
      width:15px;
      height:15px;
      background:#fff;
      border-left:1px solid var(--line);
      border-top:1px solid var(--line);
      transform:translateX(-50%) rotate(45deg);
      z-index:0;
    }

    .bmk-nav-item:hover .bmk-dropdown-panel,
    .bmk-nav-item:focus-within .bmk-dropdown-panel,
    .bmk-nav-item.is-open .bmk-dropdown-panel{
      opacity:1;
      visibility:visible;
      pointer-events:auto;
      transform:translateX(-50%) translateY(0);
    }

    .bmk-dropdown-menu{
      position:relative;
      z-index:1;
      width:100%;
      max-width:none;
      display:grid;
      gap:4px;
      padding:10px;
      border:1px solid var(--line);
      border-radius:18px;
      background:#fff;
      box-shadow:0 22px 55px rgba(5,19,48,.18);
    }

    .bmk-dropdown-menu a{
      display:block;
      padding:12px 13px;
      border-radius:12px;
      color:var(--navy);
      font-size:14px;
      font-weight:850;
      line-height:1.25;
      transition:background .15s ease,color .15s ease,padding-left .15s ease;
    }

    .bmk-dropdown-menu a:hover,
    .bmk-dropdown-menu a:focus-visible,
    .bmk-dropdown-menu a.is-active{
      padding-left:17px;
      color:var(--red2);
      background:#fff1f1;
      outline:none;
    }

    .bmk-header-actions{
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:11px;
      flex-shrink:0;
    }

    .bmk-phone-copy{
      display:flex;
      flex-direction:column;
      align-items:flex-end;
      justify-content:center;
      line-height:1.05;
      white-space:nowrap;
    }

    .bmk-phone-copy span{
      margin-bottom:5px;
      color:var(--muted);
      font-size:10px;
      font-weight:950;
      letter-spacing:1.1px;
      text-transform:uppercase;
    }

    .bmk-phone-copy strong{
      color:var(--navy);
      font-size:16px;
      font-weight:950;
    }

    .bmk-call-button{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:44px;
      padding:11px 16px;
      border-radius:13px;
      background:linear-gradient(180deg,var(--red),var(--red2));
      color:#fff;
      font-size:14px;
      font-weight:950;
      line-height:1;
      white-space:nowrap;
      box-shadow:0 10px 22px rgba(255,23,23,.22);
      transition:transform .16s ease,box-shadow .16s ease;
    }

    .bmk-call-button:hover,
    .bmk-call-button:focus-visible{
      transform:translateY(-2px);
      box-shadow:0 14px 28px rgba(255,23,23,.28);
      outline:none;
    }

    .bmk-phone-icon{
      width:16px;
      height:16px;
      fill:currentColor;
      flex:0 0 auto;
    }

    .bmk-menu-button{
      display:none;
      width:46px;
      height:44px;
      padding:10px;
      border:1px solid var(--line2);
      border-radius:13px;
      background:#f7faff;
      color:var(--navy);
      cursor:pointer;
    }

    .bmk-menu-button span{
      display:block;
      width:100%;
      height:3px;
      margin:4px 0;
      border-radius:999px;
      background:currentColor;
      transition:transform .18s ease,opacity .18s ease;
    }

    .bmk-menu-button[aria-expanded="true"] span:nth-child(1){
      transform:translateY(7px) rotate(45deg);
    }

    .bmk-menu-button[aria-expanded="true"] span:nth-child(2){
      opacity:0;
    }

    .bmk-menu-button[aria-expanded="true"] span:nth-child(3){
      transform:translateY(-7px) rotate(-45deg);
    }

    .bmk-mobile-menu{
      display:none;
    }

    @media(max-width:1120px){
      .bmk-header-row{gap:14px;}
      .bmk-nav-link,.bmk-nav-trigger{padding-left:9px;padding-right:9px;font-size:13px;}
      .bmk-phone-copy{display:none;}
    }

    @media(max-width:920px){
      body.bmk-menu-lock{overflow:hidden;}

      .bmk-header-row{
        min-height:70px;
        padding-top:8px;
        padding-bottom:8px;
      }

      .bmk-desktop-nav{display:none;}
      .bmk-menu-button{display:block;}

      .bmk-mobile-menu{
        position:absolute;
        top:100%;
        left:0;
        right:0;
        display:block;
        max-height:0;
        overflow:hidden;
        visibility:hidden;
        opacity:0;
        background:#fff;
        border-top:1px solid var(--line);
        box-shadow:0 24px 45px rgba(5,19,48,.16);
        transition:max-height .28s ease,opacity .2s ease,visibility .2s ease;
      }

      .bmk-mobile-menu.is-open{
        max-height:calc(100vh - 70px);
        overflow-y:auto;
        visibility:visible;
        opacity:1;
      }

      .bmk-mobile-menu-inner{
        display:grid;
        gap:8px;
        padding-top:16px;
        padding-bottom:22px;
      }

      .bmk-mobile-link,
      .bmk-mobile-group-toggle{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        width:100%;
        min-height:50px;
        padding:13px 15px;
        border:1px solid var(--line);
        border-radius:14px;
        background:#f8fbff;
        color:var(--navy);
        font:inherit;
        font-size:15px;
        font-weight:900;
        line-height:1.25;
        text-align:left;
        cursor:pointer;
      }

      .bmk-mobile-link:hover,
      .bmk-mobile-link:focus-visible,
      .bmk-mobile-link.is-active,
      .bmk-mobile-group-toggle:hover,
      .bmk-mobile-group-toggle:focus-visible{
        color:var(--red2);
        background:#fff1f1;
        border-color:#ffd0d0;
        outline:none;
      }

      .bmk-mobile-group-toggle .bmk-chevron{
        margin-right:3px;
      }

      .bmk-mobile-group-toggle[aria-expanded="true"] .bmk-chevron{
        transform:rotate(225deg) translate(-2px,-2px);
      }

      .bmk-mobile-submenu{
        display:grid;
        grid-template-rows:0fr;
        opacity:0;
        transition:grid-template-rows .2s ease,opacity .2s ease;
      }

      .bmk-mobile-submenu.is-open{
        grid-template-rows:1fr;
        opacity:1;
      }

      .bmk-mobile-submenu-inner{
        min-height:0;
        overflow:hidden;
        display:grid;
        gap:6px;
        padding:0 7px;
      }

      .bmk-mobile-submenu.is-open .bmk-mobile-submenu-inner{
        padding-top:2px;
        padding-bottom:4px;
      }

      .bmk-mobile-submenu a{
        display:block;
        padding:12px 14px 12px 19px;
        border-left:3px solid #dce8fb;
        border-radius:0 12px 12px 0;
        background:#fff;
        color:#26395f;
        font-size:14px;
        font-weight:850;
        line-height:1.3;
      }

      .bmk-mobile-submenu a:hover,
      .bmk-mobile-submenu a:focus-visible,
      .bmk-mobile-submenu a.is-active{
        color:var(--red2);
        border-left-color:var(--red);
        background:#fff5f5;
        outline:none;
      }

      .bmk-mobile-call-cta{
        display:flex;
        align-items:center;
        justify-content:center;
        gap:9px;
        min-height:52px;
        margin-top:4px;
        padding:14px 18px;
        border-radius:14px;
        background:linear-gradient(180deg,var(--red),var(--red2));
        color:#fff;
        font-size:15px;
        font-weight:950;
        box-shadow:0 10px 22px rgba(255,23,23,.20);
      }
    }

    @media(max-width:580px){
      .bmk-header-row{
        min-height:64px;
        gap:9px;
      }

      .bmk-header-logo{
        font-size:18px;
        gap:8px;
      }

      .bmk-header-logo small{
        font-size:8px;
      }

      .bmk-header-logo .flame{
        width:36px;
        height:36px;
        min-width:36px;
        border-radius:11px;
        font-size:18px;
      }

      .bmk-header-actions{gap:7px;}

      .bmk-call-button{
        min-height:42px;
        padding:10px 12px;
        border-radius:12px;
        font-size:13px;
      }

      .bmk-call-button .bmk-call-label-full{display:none;}
      .bmk-call-button .bmk-call-label-short{display:inline;}

      .bmk-menu-button{
        width:43px;
        height:42px;
        border-radius:12px;
      }

      .bmk-mobile-menu.is-open{
        max-height:calc(100vh - 64px);
      }
    }

    @media(min-width:581px){
      .bmk-call-button .bmk-call-label-short{display:none;}
    }

    /* Final compact mobile header fixes */
    @media(max-width:580px){
      .bmk-header-row{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto auto;
        align-items:center;
        gap:7px;
      }

      .bmk-header-logo{
        min-width:0;
        overflow:hidden;
        white-space:nowrap;
      }

      .bmk-header-logo > span:last-child{
        min-width:0;
        overflow:hidden;
      }

      .bmk-call-button{
        width:42px;
        min-width:42px;
        height:42px;
        min-height:42px;
        padding:0;
        border-radius:12px;
        display:grid;
        place-items:center;
        line-height:0;
      }

      .bmk-call-button .bmk-call-label-full,
      .bmk-call-button .bmk-call-label-short{
        display:none!important;
      }

      .bmk-phone-icon{
        display:block;
        width:18px;
        height:18px;
        margin:0;
      }

      .bmk-menu-button{
        flex:0 0 42px;
      }
    }

    /* Final hamburger centring correction */
    @media(max-width:920px){
      .bmk-menu-button{
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:4px;
        padding:0;
        line-height:0;
      }

      .bmk-menu-button span{
        width:20px;
        height:3px;
        margin:0;
        flex:0 0 3px;
      }

      .bmk-menu-button[aria-expanded="true"] span:nth-child(1){
        transform:translateY(7px) rotate(45deg);
      }

      .bmk-menu-button[aria-expanded="true"] span:nth-child(3){
        transform:translateY(-7px) rotate(-45deg);
      }
    }

    @media(max-width:390px){
      .bmk-header-logo{font-size:16px;}
      .bmk-header-logo small{font-size:7px;letter-spacing:.35px;}
      .bmk-header-logo .flame{
        width:32px;
        height:32px;
        min-width:32px;
        font-size:17px;
      }
      .bmk-call-button,
      .bmk-menu-button{
        width:40px;
        min-width:40px;
        height:40px;
        min-height:40px;
      }
    }

    


    /* =============================================
       LIVE GOOGLE REVIEWS — BOTTOM OF PAGE
    ============================================= */
    .bmk-google-reviews-section {
      padding: 24px 0 72px;
    }
    .bmk-google-reviews-shell {
      position: relative;
      overflow: hidden;
      padding: 34px;
      border: 1px solid var(--line);
      border-radius: 32px;
      background:
        radial-gradient(circle at top right, rgba(11,92,255,.10), transparent 34%),
        linear-gradient(135deg, #ffffff, #f5f9ff);
      box-shadow: var(--shadow);
    }
    .bmk-google-review-heading {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 24px;
    }
    .bmk-google-review-heading h2 {
      margin-bottom: 8px;
    }
    .bmk-google-review-heading p {
      max-width: 720px;
      margin: 0;
      color: var(--muted);
      font-size: 17px;
    }
    .bmk-google-link {
      flex: 0 0 auto;
    }
    .bmk-live-widget {
      min-height: 255px;
      border: 1px solid #d9e7fb;
      border-radius: 24px;
      background: #fff;
      box-shadow: 0 8px 22px rgba(5,19,48,.07);
    }
    .bmk-widget-fallback {
      min-height: 255px;
      display: grid;
      place-items: center;
      padding: 28px;
      text-align: center;
    }
    .bmk-widget-fallback[hidden] {
      display: none !important;
    }
    .bmk-google-mark {
      width: 58px;
      height: 58px;
      margin: 0 auto 14px;
      display: grid;
      place-items: center;
      border: 1px solid #dfe8f6;
      border-radius: 18px;
      background: #fff;
      color: #4285f4;
      font-size: 35px;
      font-weight: 950;
      box-shadow: 0 8px 18px rgba(5,19,48,.08);
    }
    .bmk-widget-fallback h3 {
      margin: 0 0 8px;
      font-size: 25px;
    }
    .bmk-widget-fallback p {
      max-width: 620px;
      margin: 0 auto 18px;
      color: var(--muted);
    }
    .bmk-widget-note {
      display: block;
      margin-top: 12px;
      color: #71809d;
      font-size: 12px;
    }

    @media (max-width: 760px) {
      .bmk-google-reviews-section {
        padding: 8px 0 48px;
      }
      .bmk-google-reviews-shell {
        padding: 24px 18px;
        border-radius: 24px;
      }
      .bmk-google-review-heading {
        display: block;
      }
      .bmk-google-review-heading p {
        font-size: 15px;
      }
      .bmk-google-link {
        width: 100%;
        margin-top: 18px;
      }
      .bmk-live-widget,
      .bmk-widget-fallback {
        min-height: 285px;
      }
    }


    /* =============================================
       COMPACT MOBILE NAVIGATION
       Only affects the BMK header/menu at 920px and below
    ============================================= */
    @media (max-width: 920px) {
      body.bmk-menu-lock { overflow: hidden; }

      .bmk-header-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 8px;
        min-height: 64px;
        padding-top: 6px;
        padding-bottom: 6px;
      }

      .bmk-header-actions {
        display: block;
      }

      /* Remove the call button from the mobile top bar. */
      .bmk-call-button,
      .bmk-phone-copy {
        display: none;
      }

      .bmk-menu-button {
        display: flex;
        width: 42px;
        min-width: 42px;
        height: 42px;
        min-height: 42px;
        padding: 0;
        border: 1px solid var(--line);
        border-radius: 10px;
        background: #f7faff;
        box-shadow: none;
        touch-action: manipulation;
      }

      .bmk-mobile-menu {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        display: block;
        width: 100%;
        max-height: calc(100dvh - 64px);
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transform: translateY(-6px);
        background: #fff;
        border-top: 1px solid var(--line);
        box-shadow: 0 18px 32px rgba(5,19,48,.14);
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
      }

      .bmk-mobile-menu.is-open {
        max-height: calc(100dvh - 64px);
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
      }

      .bmk-mobile-menu-inner {
        display: grid;
        gap: 0;
        width: 100%;
        margin: 0 auto;
        padding-top: 6px;
        padding-bottom: max(12px, env(safe-area-inset-bottom));
      }

      .bmk-mobile-link,
      .bmk-mobile-group-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        width: 100%;
        min-height: 44px;
        padding: 10px 4px;
        border: 0;
        border-bottom: 1px solid #e7eef9;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: var(--navy);
        font: inherit;
        font-size: 15px;
        font-weight: 900;
        line-height: 1.2;
        text-align: left;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
      }

      .bmk-mobile-link:hover,
      .bmk-mobile-link:focus-visible,
      .bmk-mobile-link.is-active,
      .bmk-mobile-group-toggle:hover,
      .bmk-mobile-group-toggle:focus-visible,
      .bmk-mobile-group-toggle[aria-expanded="true"] {
        color: var(--red2);
        background: #fff7f7;
        outline: none;
      }

      .bmk-mobile-group-toggle .bmk-chevron {
        margin-right: 5px;
      }

      .bmk-mobile-submenu-inner {
        min-height: 0;
        overflow: hidden;
        display: grid;
        gap: 0;
        padding: 0 0 0 10px;
      }

      .bmk-mobile-submenu.is-open .bmk-mobile-submenu-inner {
        padding-top: 2px;
        padding-bottom: 5px;
      }

      .bmk-mobile-submenu a {
        display: flex;
        align-items: center;
        min-height: 38px;
        padding: 8px 10px 8px 13px;
        border: 0;
        border-left: 2px solid #dce8fb;
        border-bottom: 1px solid #eef3fa;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: #26395f;
        font-size: 13.5px;
        font-weight: 800;
        line-height: 1.25;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
      }

      .bmk-mobile-submenu a:hover,
      .bmk-mobile-submenu a:focus-visible,
      .bmk-mobile-submenu a.is-active {
        color: var(--red2);
        border-left-color: var(--red);
        background: #fff7f7;
        outline: none;
      }
    }

    @media (max-width: 580px) {
      .bmk-header-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 7px;
      }

      .bmk-header-logo {
        min-width: 0;
        overflow: hidden;
      }

      .bmk-mobile-menu-inner {
        padding-right: 14px;
        padding-left: 14px;
      }
    }


    
/* Desktop header and navigation */
    @media (min-width: 921px) {
      .bmk-site-header {
        background: rgba(255,255,255,.88);
        border-bottom-color: rgba(205,218,235,.82);
        box-shadow: 0 10px 32px rgba(5,19,48,.075);
      }

      .bmk-header-row {
        display: grid;
        grid-template-columns: auto minmax(0,1fr) auto;
        min-height: 88px;
        gap: 34px;
      }

      .bmk-header-logo {
        padding-right: 4px;
      }

      .bmk-desktop-nav {
        width: 100%;
        margin: 0;
        gap: 10px;
        justify-content: center;
      }

      .bmk-nav-link,
      .bmk-nav-trigger {
        min-height: 46px;
        padding: 12px 17px;
        border-radius: 11px;
        font-size: 14px;
        letter-spacing: -.15px;
      }

      .bmk-nav-item + .bmk-nav-item,
      .bmk-nav-link + .bmk-nav-item {
        margin-left: 2px;
      }

      .bmk-nav-link:hover,
      .bmk-nav-trigger:hover,
      .bmk-nav-link:focus-visible,
      .bmk-nav-trigger:focus-visible,
      .bmk-nav-link.is-active {
        background: rgba(255,23,23,.065);
      }

      .bmk-dropdown-panel {
        width: 344px;
        padding-top: 15px;
      }

      .bmk-dropdown-menu {
        gap: 3px;
        padding: 11px;
        border-radius: 16px;
        box-shadow: 0 26px 70px rgba(5,19,48,.19);
      }

      .bmk-dropdown-menu a {
        padding: 11px 13px;
        border-radius: 9px;
        font-size: 13.5px;
      }

      .bmk-header-actions {
        gap: 14px;
      }

      .bmk-phone-copy strong {
        font-size: 15px;
        letter-spacing: -.2px;
      }

      .bmk-call-button {
        min-height: 46px;
        padding: 12px 17px;
        border-radius: 11px;
      }
    }

    
/* Google reviews */
    .bmk-google-reviews-shell {
      padding: 40px;
      border: 1px solid rgba(207,220,237,.92);
      border-radius: 28px;
      background:
        radial-gradient(circle at top right, rgba(11,92,255,.09), transparent 31%),
        #fff;
      box-shadow: 0 22px 60px rgba(5,19,48,.105);
    }

    .bmk-live-widget {
      border-radius: 18px;
      box-shadow: inset 0 0 0 1px rgba(215,227,241,.7), 0 10px 28px rgba(5,19,48,.055);
    }

    
/* Responsive refinements */
    @media (max-width: 1120px) and (min-width: 921px) {
      .bmk-header-row {
        gap: 20px;
      }
      .bmk-desktop-nav {
        gap: 3px;
      }
      .bmk-nav-link,
      .bmk-nav-trigger {
        padding-left: 11px;
        padding-right: 11px;
        font-size: 13px;
      }
    }

    @media (max-width: 920px) {
      .bmk-site-header {
        background: rgba(255,255,255,.94);
      }

      .bmk-mobile-menu {
        border-top-color: #dfe7f2;
        box-shadow: 0 22px 44px rgba(5,19,48,.16);
      }

      .bmk-mobile-menu-inner {
        padding-top: 8px;
      }

      .bmk-mobile-link,
      .bmk-mobile-group-toggle {
        min-height: 43px;
        font-size: 14px;
      }
    }

    
.bmk-google-review-heading {
      align-items: flex-start;
    }

    .bmk-google-review-heading > div {
      max-width: 780px;
    }

    .bmk-google-review-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 11px;
      min-height: 52px;
      padding: 12px 16px 12px 13px;
      border: 1px solid #d7e1ed;
      border-radius: 14px;
      background: #fff;
      color: #18243a;
      font-size: 14px;
      font-weight: 900;
      line-height: 1.2;
      box-shadow: 0 10px 26px rgba(5,19,48,.10);
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }

    .bmk-google-review-button:hover,
    .bmk-google-review-button:focus-visible {
      transform: translateY(-2px);
      border-color: #b8c7da;
      box-shadow: 0 15px 34px rgba(5,19,48,.14);
      outline: none;
    }

    .bmk-google-button-mark {
      width: 30px;
      height: 30px;
      display: grid;
      place-items: center;
      flex: 0 0 30px;
      border: 1px solid #dfe7f1;
      border-radius: 9px;
      background: #fff;
      color: #4285f4;
      font-size: 18px;
      font-weight: 950;
      box-shadow: 0 4px 10px rgba(5,19,48,.07);
    }

    .bmk-google-button-arrow {
      width: 25px;
      height: 25px;
      display: grid;
      place-items: center;
      flex: 0 0 25px;
      border-radius: 50%;
      background: #eef4ff;
      color: #0b5cff;
      font-size: 16px;
      line-height: 1;
    }

    @media (max-width: 760px) {
      .bmk-google-review-button {
        width: 100%;
      }
    }
/* High-specificity component isolation */
.bmk-site-header {
      position:sticky;
      top:0;
      z-index:1000;
      overflow:visible;
      background:rgba(255,255,255,.97);
      border-bottom:1px solid rgba(197,217,244,.9);
      box-shadow:0 8px 28px rgba(5,19,48,.08);
      backdrop-filter:blur(16px);
      -webkit-backdrop-filter:blur(16px);
    }
.bmk-site-header .bmk-header-row {
      position:relative;
      min-height:82px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:22px;
    }
.bmk-site-header .bmk-header-logo {
      position:relative;
      z-index:3;
    }
.bmk-site-header .bmk-desktop-nav {
      display:flex;
      align-items:center;
      justify-content:center;
      gap:4px;
      margin-left:auto;
    }
.bmk-site-header .bmk-nav-link,
.bmk-site-header .bmk-nav-trigger {
      position:relative;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:7px;
      min-height:44px;
      padding:11px 12px;
      border:0;
      border-radius:12px;
      background:transparent;
      color:var(--navy);
      font:inherit;
      font-size:14px;
      font-weight:900;
      line-height:1.2;
      white-space:nowrap;
      cursor:pointer;
      transition:background .16s ease,color .16s ease,transform .16s ease;
    }
.bmk-site-header .bmk-nav-link:hover,
.bmk-site-header .bmk-nav-trigger:hover,
.bmk-site-header .bmk-nav-link:focus-visible,
.bmk-site-header .bmk-nav-trigger:focus-visible,
.bmk-site-header .bmk-nav-link.is-active {
      color:var(--red2);
      background:#fff1f1;
      outline:none;
    }
.bmk-site-header .bmk-nav-link.is-active::after {
      content:"";
      position:absolute;
      left:14px;
      right:14px;
      bottom:5px;
      height:2px;
      border-radius:999px;
      background:var(--red);
    }
.bmk-site-header .bmk-nav-item {
      position:relative;
    }
.bmk-site-header .bmk-chevron {
      width:8px;
      height:8px;
      border-right:2px solid currentColor;
      border-bottom:2px solid currentColor;
      transform:rotate(45deg) translateY(-2px);
      transition:transform .16s ease;
    }
.bmk-site-header .bmk-nav-item:hover .bmk-chevron,
.bmk-site-header .bmk-nav-item:focus-within .bmk-chevron,
.bmk-site-header .bmk-nav-item.is-open .bmk-chevron {
      transform:rotate(225deg) translate(-2px,-2px);
    }
.bmk-site-header .bmk-dropdown-panel {
      position:absolute;
      top:100%;
      left:50%;
      width:310px;
      max-width:none;
      padding-top:12px;
      transform:translateX(-50%) translateY(7px);
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
    }
.bmk-site-header .bmk-dropdown-panel::before {
      content:"";
      position:absolute;
      top:4px;
      left:50%;
      width:15px;
      height:15px;
      background:#fff;
      border-left:1px solid var(--line);
      border-top:1px solid var(--line);
      transform:translateX(-50%) rotate(45deg);
      z-index:0;
    }
.bmk-site-header .bmk-nav-item:hover .bmk-dropdown-panel,
.bmk-site-header .bmk-nav-item:focus-within .bmk-dropdown-panel,
.bmk-site-header .bmk-nav-item.is-open .bmk-dropdown-panel {
      opacity:1;
      visibility:visible;
      pointer-events:auto;
      transform:translateX(-50%) translateY(0);
    }
.bmk-site-header .bmk-dropdown-menu {
      position:relative;
      z-index:1;
      width:100%;
      max-width:none;
      display:grid;
      gap:4px;
      padding:10px;
      border:1px solid var(--line);
      border-radius:18px;
      background:#fff;
      box-shadow:0 22px 55px rgba(5,19,48,.18);
    }
.bmk-site-header .bmk-dropdown-menu a {
      display:block;
      padding:12px 13px;
      border-radius:12px;
      color:var(--navy);
      font-size:14px;
      font-weight:850;
      line-height:1.25;
      transition:background .15s ease,color .15s ease,padding-left .15s ease;
    }
.bmk-site-header .bmk-dropdown-menu a:hover,
.bmk-site-header .bmk-dropdown-menu a:focus-visible,
.bmk-site-header .bmk-dropdown-menu a.is-active {
      padding-left:17px;
      color:var(--red2);
      background:#fff1f1;
      outline:none;
    }
.bmk-site-header .bmk-header-actions {
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:11px;
      flex-shrink:0;
    }
.bmk-site-header .bmk-phone-copy {
      display:flex;
      flex-direction:column;
      align-items:flex-end;
      justify-content:center;
      line-height:1.05;
      white-space:nowrap;
    }
.bmk-site-header .bmk-phone-copy span {
      margin-bottom:5px;
      color:var(--muted);
      font-size:10px;
      font-weight:950;
      letter-spacing:1.1px;
      text-transform:uppercase;
    }
.bmk-site-header .bmk-phone-copy strong {
      color:var(--navy);
      font-size:16px;
      font-weight:950;
    }
.bmk-site-header .bmk-call-button {
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:44px;
      padding:11px 16px;
      border-radius:13px;
      background:linear-gradient(180deg,var(--red),var(--red2));
      color:#fff;
      font-size:14px;
      font-weight:950;
      line-height:1;
      white-space:nowrap;
      box-shadow:0 10px 22px rgba(255,23,23,.22);
      transition:transform .16s ease,box-shadow .16s ease;
    }
.bmk-site-header .bmk-call-button:hover,
.bmk-site-header .bmk-call-button:focus-visible {
      transform:translateY(-2px);
      box-shadow:0 14px 28px rgba(255,23,23,.28);
      outline:none;
    }
.bmk-site-header .bmk-phone-icon {
      width:16px;
      height:16px;
      fill:currentColor;
      flex:0 0 auto;
    }
.bmk-site-header .bmk-menu-button {
      display:none;
      width:46px;
      height:44px;
      padding:10px;
      border:1px solid var(--line2);
      border-radius:13px;
      background:#f7faff;
      color:var(--navy);
      cursor:pointer;
    }
.bmk-site-header .bmk-menu-button span {
      display:block;
      width:100%;
      height:3px;
      margin:4px 0;
      border-radius:999px;
      background:currentColor;
      transition:transform .18s ease,opacity .18s ease;
    }
.bmk-site-header .bmk-menu-button[aria-expanded="true"] span:nth-child(1) {
      transform:translateY(7px) rotate(45deg);
    }
.bmk-site-header .bmk-menu-button[aria-expanded="true"] span:nth-child(2) {
      opacity:0;
    }
.bmk-site-header .bmk-menu-button[aria-expanded="true"] span:nth-child(3) {
      transform:translateY(-7px) rotate(-45deg);
    }
.bmk-site-header .bmk-mobile-menu {
      display:none;
    }
@media (max-width:1120px) {
.bmk-site-header .bmk-header-row {gap:14px;}
.bmk-site-header .bmk-nav-link,
.bmk-site-header .bmk-nav-trigger {padding-left:9px;padding-right:9px;font-size:13px;}
.bmk-site-header .bmk-phone-copy {display:none;}
}
@media (max-width:920px) {
body.bmk-menu-lock {overflow:hidden;}
.bmk-site-header .bmk-header-row {
        min-height:70px;
        padding-top:8px;
        padding-bottom:8px;
      }
.bmk-site-header .bmk-desktop-nav {display:none;}
.bmk-site-header .bmk-menu-button {display:block;}
.bmk-site-header .bmk-mobile-menu {
        position:absolute;
        top:100%;
        left:0;
        right:0;
        display:block;
        max-height:0;
        overflow:hidden;
        visibility:hidden;
        opacity:0;
        background:#fff;
        border-top:1px solid var(--line);
        box-shadow:0 24px 45px rgba(5,19,48,.16);
        transition:max-height .28s ease,opacity .2s ease,visibility .2s ease;
      }
.bmk-site-header .bmk-mobile-menu.is-open {
        max-height:calc(100vh - 70px);
        overflow-y:auto;
        visibility:visible;
        opacity:1;
      }
.bmk-site-header .bmk-mobile-menu-inner {
        display:grid;
        gap:8px;
        padding-top:16px;
        padding-bottom:22px;
      }
.bmk-site-header .bmk-mobile-link,
.bmk-site-header .bmk-mobile-group-toggle {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        width:100%;
        min-height:50px;
        padding:13px 15px;
        border:1px solid var(--line);
        border-radius:14px;
        background:#f8fbff;
        color:var(--navy);
        font:inherit;
        font-size:15px;
        font-weight:900;
        line-height:1.25;
        text-align:left;
        cursor:pointer;
      }
.bmk-site-header .bmk-mobile-link:hover,
.bmk-site-header .bmk-mobile-link:focus-visible,
.bmk-site-header .bmk-mobile-link.is-active,
.bmk-site-header .bmk-mobile-group-toggle:hover,
.bmk-site-header .bmk-mobile-group-toggle:focus-visible {
        color:var(--red2);
        background:#fff1f1;
        border-color:#ffd0d0;
        outline:none;
      }
.bmk-site-header .bmk-mobile-group-toggle .bmk-chevron {
        margin-right:3px;
      }
.bmk-site-header .bmk-mobile-group-toggle[aria-expanded="true"] .bmk-chevron {
        transform:rotate(225deg) translate(-2px,-2px);
      }
.bmk-site-header .bmk-mobile-submenu {
        display:grid;
        grid-template-rows:0fr;
        opacity:0;
        transition:grid-template-rows .2s ease,opacity .2s ease;
      }
.bmk-site-header .bmk-mobile-submenu.is-open {
        grid-template-rows:1fr;
        opacity:1;
      }
.bmk-site-header .bmk-mobile-submenu-inner {
        min-height:0;
        overflow:hidden;
        display:grid;
        gap:6px;
        padding:0 7px;
      }
.bmk-site-header .bmk-mobile-submenu.is-open .bmk-mobile-submenu-inner {
        padding-top:2px;
        padding-bottom:4px;
      }
.bmk-site-header .bmk-mobile-submenu a {
        display:block;
        padding:12px 14px 12px 19px;
        border-left:3px solid #dce8fb;
        border-radius:0 12px 12px 0;
        background:#fff;
        color:#26395f;
        font-size:14px;
        font-weight:850;
        line-height:1.3;
      }
.bmk-site-header .bmk-mobile-submenu a:hover,
.bmk-site-header .bmk-mobile-submenu a:focus-visible,
.bmk-site-header .bmk-mobile-submenu a.is-active {
        color:var(--red2);
        border-left-color:var(--red);
        background:#fff5f5;
        outline:none;
      }
.bmk-site-header .bmk-mobile-call-cta {
        display:flex;
        align-items:center;
        justify-content:center;
        gap:9px;
        min-height:52px;
        margin-top:4px;
        padding:14px 18px;
        border-radius:14px;
        background:linear-gradient(180deg,var(--red),var(--red2));
        color:#fff;
        font-size:15px;
        font-weight:950;
        box-shadow:0 10px 22px rgba(255,23,23,.20);
      }
}
@media (max-width:580px) {
.bmk-site-header .bmk-header-row {
        min-height:64px;
        gap:9px;
      }
.bmk-site-header .bmk-header-logo {
        font-size:18px;
        gap:8px;
      }
.bmk-site-header .bmk-header-logo small {
        font-size:8px;
      }
.bmk-site-header .bmk-header-logo .flame {
        width:36px;
        height:36px;
        min-width:36px;
        border-radius:11px;
        font-size:18px;
      }
.bmk-site-header .bmk-header-actions {gap:7px;}
.bmk-site-header .bmk-call-button {
        min-height:42px;
        padding:10px 12px;
        border-radius:12px;
        font-size:13px;
      }
.bmk-site-header .bmk-call-button .bmk-call-label-full {display:none;}
.bmk-site-header .bmk-call-button .bmk-call-label-short {display:inline;}
.bmk-site-header .bmk-menu-button {
        width:43px;
        height:42px;
        border-radius:12px;
      }
.bmk-site-header .bmk-mobile-menu.is-open {
        max-height:calc(100vh - 64px);
      }
}
@media (min-width:581px) {
.bmk-site-header .bmk-call-button .bmk-call-label-short {display:none;}
}
@media (max-width:580px) {
.bmk-site-header .bmk-header-row {
        display:grid;
        grid-template-columns:minmax(0,1fr) auto auto;
        align-items:center;
        gap:7px;
      }
.bmk-site-header .bmk-header-logo {
        min-width:0;
        overflow:hidden;
        white-space:nowrap;
      }
.bmk-site-header .bmk-header-logo > span:last-child {
        min-width:0;
        overflow:hidden;
      }
.bmk-site-header .bmk-call-button {
        width:42px;
        min-width:42px;
        height:42px;
        min-height:42px;
        padding:0;
        border-radius:12px;
        display:grid;
        place-items:center;
        line-height:0;
      }
.bmk-site-header .bmk-call-button .bmk-call-label-full,
.bmk-site-header .bmk-call-button .bmk-call-label-short {
        display:none!important;
      }
.bmk-site-header .bmk-phone-icon {
        display:block;
        width:18px;
        height:18px;
        margin:0;
      }
.bmk-site-header .bmk-menu-button {
        flex:0 0 42px;
      }
}
@media (max-width:920px) {
.bmk-site-header .bmk-menu-button {
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:4px;
        padding:0;
        line-height:0;
      }
.bmk-site-header .bmk-menu-button span {
        width:20px;
        height:3px;
        margin:0;
        flex:0 0 3px;
      }
.bmk-site-header .bmk-menu-button[aria-expanded="true"] span:nth-child(1) {
        transform:translateY(7px) rotate(45deg);
      }
.bmk-site-header .bmk-menu-button[aria-expanded="true"] span:nth-child(3) {
        transform:translateY(-7px) rotate(-45deg);
      }
}
@media (max-width:390px) {
.bmk-site-header .bmk-header-logo {font-size:16px;}
.bmk-site-header .bmk-header-logo small {font-size:7px;letter-spacing:.35px;}
.bmk-site-header .bmk-header-logo .flame {
        width:32px;
        height:32px;
        min-width:32px;
        font-size:17px;
      }
.bmk-site-header .bmk-call-button,
.bmk-site-header .bmk-menu-button {
        width:40px;
        min-width:40px;
        height:40px;
        min-height:40px;
      }
}
.bmk-google-reviews-section {
      padding: 24px 0 72px;
    }
.bmk-google-reviews-section .bmk-google-reviews-shell {
      position: relative;
      overflow: hidden;
      padding: 34px;
      border: 1px solid var(--line);
      border-radius: 32px;
      background:
        radial-gradient(circle at top right, rgba(11,92,255,.10), transparent 34%),
        linear-gradient(135deg, #ffffff, #f5f9ff);
      box-shadow: var(--shadow);
    }
.bmk-google-reviews-section .bmk-google-review-heading {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 24px;
    }
.bmk-google-reviews-section .bmk-google-review-heading h2 {
      margin-bottom: 8px;
    }
.bmk-google-reviews-section .bmk-google-review-heading p {
      max-width: 720px;
      margin: 0;
      color: var(--muted);
      font-size: 17px;
    }
.bmk-google-reviews-section .bmk-google-link {
      flex: 0 0 auto;
    }
.bmk-google-reviews-section .bmk-live-widget {
      min-height: 255px;
      border: 1px solid #d9e7fb;
      border-radius: 24px;
      background: #fff;
      box-shadow: 0 8px 22px rgba(5,19,48,.07);
    }
.bmk-google-reviews-section .bmk-widget-fallback {
      min-height: 255px;
      display: grid;
      place-items: center;
      padding: 28px;
      text-align: center;
    }
.bmk-google-reviews-section .bmk-widget-fallback[hidden] {
      display: none !important;
    }
.bmk-google-reviews-section .bmk-google-mark {
      width: 58px;
      height: 58px;
      margin: 0 auto 14px;
      display: grid;
      place-items: center;
      border: 1px solid #dfe8f6;
      border-radius: 18px;
      background: #fff;
      color: #4285f4;
      font-size: 35px;
      font-weight: 950;
      box-shadow: 0 8px 18px rgba(5,19,48,.08);
    }
.bmk-google-reviews-section .bmk-widget-fallback h3 {
      margin: 0 0 8px;
      font-size: 25px;
    }
.bmk-google-reviews-section .bmk-widget-fallback p {
      max-width: 620px;
      margin: 0 auto 18px;
      color: var(--muted);
    }
.bmk-google-reviews-section .bmk-widget-note {
      display: block;
      margin-top: 12px;
      color: #71809d;
      font-size: 12px;
    }
@media (max-width: 760px) {
.bmk-google-reviews-section {
        padding: 8px 0 48px;
      }
.bmk-google-reviews-section .bmk-google-reviews-shell {
        padding: 24px 18px;
        border-radius: 24px;
      }
.bmk-google-reviews-section .bmk-google-review-heading {
        display: block;
      }
.bmk-google-reviews-section .bmk-google-review-heading p {
        font-size: 15px;
      }
.bmk-google-reviews-section .bmk-google-link {
        width: 100%;
        margin-top: 18px;
      }
.bmk-google-reviews-section .bmk-live-widget,
.bmk-google-reviews-section .bmk-widget-fallback {
        min-height: 285px;
      }
}
@media (max-width: 920px) {
body.bmk-menu-lock { overflow: hidden; }
.bmk-site-header .bmk-header-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 8px;
        min-height: 64px;
        padding-top: 6px;
        padding-bottom: 6px;
      }
.bmk-site-header .bmk-header-actions {
        display: block;
      }
.bmk-site-header .bmk-call-button,
.bmk-site-header .bmk-phone-copy {
        display: none;
      }
.bmk-site-header .bmk-menu-button {
        display: flex;
        width: 42px;
        min-width: 42px;
        height: 42px;
        min-height: 42px;
        padding: 0;
        border: 1px solid var(--line);
        border-radius: 10px;
        background: #f7faff;
        box-shadow: none;
        touch-action: manipulation;
      }
.bmk-site-header .bmk-mobile-menu {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        display: block;
        width: 100%;
        max-height: calc(100dvh - 64px);
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transform: translateY(-6px);
        background: #fff;
        border-top: 1px solid var(--line);
        box-shadow: 0 18px 32px rgba(5,19,48,.14);
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
      }
.bmk-site-header .bmk-mobile-menu.is-open {
        max-height: calc(100dvh - 64px);
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
      }
.bmk-site-header .bmk-mobile-menu-inner {
        display: grid;
        gap: 0;
        width: 100%;
        margin: 0 auto;
        padding-top: 6px;
        padding-bottom: max(12px, env(safe-area-inset-bottom));
      }
.bmk-site-header .bmk-mobile-link,
.bmk-site-header .bmk-mobile-group-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        width: 100%;
        min-height: 44px;
        padding: 10px 4px;
        border: 0;
        border-bottom: 1px solid #e7eef9;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: var(--navy);
        font: inherit;
        font-size: 15px;
        font-weight: 900;
        line-height: 1.2;
        text-align: left;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
      }
.bmk-site-header .bmk-mobile-link:hover,
.bmk-site-header .bmk-mobile-link:focus-visible,
.bmk-site-header .bmk-mobile-link.is-active,
.bmk-site-header .bmk-mobile-group-toggle:hover,
.bmk-site-header .bmk-mobile-group-toggle:focus-visible,
.bmk-site-header .bmk-mobile-group-toggle[aria-expanded="true"] {
        color: var(--red2);
        background: #fff7f7;
        outline: none;
      }
.bmk-site-header .bmk-mobile-group-toggle .bmk-chevron {
        margin-right: 5px;
      }
.bmk-site-header .bmk-mobile-submenu-inner {
        min-height: 0;
        overflow: hidden;
        display: grid;
        gap: 0;
        padding: 0 0 0 10px;
      }
.bmk-site-header .bmk-mobile-submenu.is-open .bmk-mobile-submenu-inner {
        padding-top: 2px;
        padding-bottom: 5px;
      }
.bmk-site-header .bmk-mobile-submenu a {
        display: flex;
        align-items: center;
        min-height: 38px;
        padding: 8px 10px 8px 13px;
        border: 0;
        border-left: 2px solid #dce8fb;
        border-bottom: 1px solid #eef3fa;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: #26395f;
        font-size: 13.5px;
        font-weight: 800;
        line-height: 1.25;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
      }
.bmk-site-header .bmk-mobile-submenu a:hover,
.bmk-site-header .bmk-mobile-submenu a:focus-visible,
.bmk-site-header .bmk-mobile-submenu a.is-active {
        color: var(--red2);
        border-left-color: var(--red);
        background: #fff7f7;
        outline: none;
      }
}
@media (max-width: 580px) {
.bmk-site-header .bmk-header-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 7px;
      }
.bmk-site-header .bmk-header-logo {
        min-width: 0;
        overflow: hidden;
      }
.bmk-site-header .bmk-mobile-menu-inner {
        padding-right: 14px;
        padding-left: 14px;
      }
}
@media (min-width: 921px) {
.bmk-site-header {
        background: rgba(255,255,255,.88);
        border-bottom-color: rgba(205,218,235,.82);
        box-shadow: 0 10px 32px rgba(5,19,48,.075);
      }
.bmk-site-header .bmk-header-row {
        display: grid;
        grid-template-columns: auto minmax(0,1fr) auto;
        min-height: 88px;
        gap: 34px;
      }
.bmk-site-header .bmk-header-logo {
        padding-right: 4px;
      }
.bmk-site-header .bmk-desktop-nav {
        width: 100%;
        margin: 0;
        gap: 10px;
        justify-content: center;
      }
.bmk-site-header .bmk-nav-link,
.bmk-site-header .bmk-nav-trigger {
        min-height: 46px;
        padding: 12px 17px;
        border-radius: 11px;
        font-size: 14px;
        letter-spacing: -.15px;
      }
.bmk-site-header .bmk-nav-item + .bmk-nav-item,
.bmk-site-header .bmk-nav-link + .bmk-nav-item {
        margin-left: 2px;
      }
.bmk-site-header .bmk-nav-link:hover,
.bmk-site-header .bmk-nav-trigger:hover,
.bmk-site-header .bmk-nav-link:focus-visible,
.bmk-site-header .bmk-nav-trigger:focus-visible,
.bmk-site-header .bmk-nav-link.is-active {
        background: rgba(255,23,23,.065);
      }
.bmk-site-header .bmk-dropdown-panel {
        width: 344px;
        padding-top: 15px;
      }
.bmk-site-header .bmk-dropdown-menu {
        gap: 3px;
        padding: 11px;
        border-radius: 16px;
        box-shadow: 0 26px 70px rgba(5,19,48,.19);
      }
.bmk-site-header .bmk-dropdown-menu a {
        padding: 11px 13px;
        border-radius: 9px;
        font-size: 13.5px;
      }
.bmk-site-header .bmk-header-actions {
        gap: 14px;
      }
.bmk-site-header .bmk-phone-copy strong {
        font-size: 15px;
        letter-spacing: -.2px;
      }
.bmk-site-header .bmk-call-button {
        min-height: 46px;
        padding: 12px 17px;
        border-radius: 11px;
      }
}
.bmk-google-reviews-section .bmk-google-reviews-shell {
      padding: 40px;
      border: 1px solid rgba(207,220,237,.92);
      border-radius: 28px;
      background:
        radial-gradient(circle at top right, rgba(11,92,255,.09), transparent 31%),
        #fff;
      box-shadow: 0 22px 60px rgba(5,19,48,.105);
    }
.bmk-google-reviews-section .bmk-live-widget {
      border-radius: 18px;
      box-shadow: inset 0 0 0 1px rgba(215,227,241,.7), 0 10px 28px rgba(5,19,48,.055);
    }
@media (max-width: 1120px) and (min-width: 921px) {
.bmk-site-header .bmk-header-row {
        gap: 20px;
      }
.bmk-site-header .bmk-desktop-nav {
        gap: 3px;
      }
.bmk-site-header .bmk-nav-link,
.bmk-site-header .bmk-nav-trigger {
        padding-left: 11px;
        padding-right: 11px;
        font-size: 13px;
      }
}
@media (max-width: 920px) {
.bmk-site-header {
        background: rgba(255,255,255,.94);
      }
.bmk-site-header .bmk-mobile-menu {
        border-top-color: #dfe7f2;
        box-shadow: 0 22px 44px rgba(5,19,48,.16);
      }
.bmk-site-header .bmk-mobile-menu-inner {
        padding-top: 8px;
      }
.bmk-site-header .bmk-mobile-link,
.bmk-site-header .bmk-mobile-group-toggle {
        min-height: 43px;
        font-size: 14px;
      }
}
.bmk-google-reviews-section .bmk-google-review-heading {
      align-items: flex-start;
    }
.bmk-google-reviews-section .bmk-google-review-heading > div {
      max-width: 780px;
    }
.bmk-google-reviews-section .bmk-google-review-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 11px;
      min-height: 52px;
      padding: 12px 16px 12px 13px;
      border: 1px solid #d7e1ed;
      border-radius: 14px;
      background: #fff;
      color: #18243a;
      font-size: 14px;
      font-weight: 900;
      line-height: 1.2;
      box-shadow: 0 10px 26px rgba(5,19,48,.10);
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
.bmk-google-reviews-section .bmk-google-review-button:hover,
.bmk-google-reviews-section .bmk-google-review-button:focus-visible {
      transform: translateY(-2px);
      border-color: #b8c7da;
      box-shadow: 0 15px 34px rgba(5,19,48,.14);
      outline: none;
    }
.bmk-google-reviews-section .bmk-google-button-mark {
      width: 30px;
      height: 30px;
      display: grid;
      place-items: center;
      flex: 0 0 30px;
      border: 1px solid #dfe7f1;
      border-radius: 9px;
      background: #fff;
      color: #4285f4;
      font-size: 18px;
      font-weight: 950;
      box-shadow: 0 4px 10px rgba(5,19,48,.07);
    }
.bmk-google-reviews-section .bmk-google-button-arrow {
      width: 25px;
      height: 25px;
      display: grid;
      place-items: center;
      flex: 0 0 25px;
      border-radius: 50%;
      background: #eef4ff;
      color: #0b5cff;
      font-size: 16px;
      line-height: 1;
    }
@media (max-width: 760px) {
.bmk-google-reviews-section .bmk-google-review-button {
        width: 100%;
      }
}

/* Final review typography normalisation: prevents page-specific body styles from altering the shared block. */
body.bmk-shared-layout .bmk-google-reviews-section,
body.bmk-shared-layout .bmk-google-review-heading,
body.bmk-shared-layout .bmk-live-widget,
body.bmk-shared-layout .bmk-widget-fallback,
body.bmk-shared-layout .bmk-widget-fallback h3,
body.bmk-shared-layout .bmk-widget-note {
  line-height: 1.55;
}

@media (max-width: 760px) {
  body.bmk-shared-layout .bmk-google-reviews-section .bmk-google-reviews-shell {
    padding: 26px 19px;
    border-radius: 22px;
  }
  body.bmk-shared-layout .bmk-google-reviews-section h2 {
    font-size: clamp(27px, 8vw, 36px);
    letter-spacing: -1px;
  }
}

/* =========================================================
   LIGHT 2026 PAGE ENHANCEMENTS
   Purposefully limited to surfaces, icons and interaction.
   Text colours and section backgrounds are left to each page
   so dark sections keep their original contrast.
   ========================================================= */
body.bmk-shared-layout main {
  --bmk-modern-line: rgba(193, 211, 235, .94);
  --bmk-modern-shadow: 0 11px 28px rgba(5, 19, 48, .085);
  --bmk-modern-shadow-hover: 0 18px 42px rgba(5, 19, 48, .135);
  --bmk-modern-blue-soft: #eef4ff;
  --bmk-modern-red-soft: #fff1f1;
}

/* Light cards: cleaner borders, softer depth and a restrained accent edge. */
body.bmk-shared-layout main :is(
  .service-card,
  .intro-card,
  .town-card,
  .link-tile,
  .replace-card,
  .trust-card,
  .bmk-service-card,
  .bmk-trust-item,
  .bmk-process-step,
  .bmk-area-tile,
  .bmk-faq,
  .bmk-card:not(.bmk-card-dark)
) {
  border-color: var(--bmk-modern-line) !important;
  box-shadow:
    inset 0 3px 0 rgba(11, 92, 255, .075),
    var(--bmk-modern-shadow) !important;
}

body.bmk-shared-layout main :is(
  .service-card,
  .intro-card,
  .town-card,
  .link-tile,
  .replace-card,
  .trust-card,
  .bmk-service-card,
  .bmk-card:not(.bmk-card-dark)
) {
  border-radius: 22px !important;
}

body.bmk-shared-layout main :is(
  .bmk-trust-item,
  .bmk-process-step,
  .bmk-area-tile,
  .bmk-faq
) {
  border-radius: 18px !important;
}

/* Hero surfaces receive the same depth as the updated homepage. */
body.bmk-shared-layout main :is(
  .hero-panel,
  .hero-box,
  .bmk-hero-card,
  .bmk-hero-box
) {
  border-color: var(--bmk-modern-line) !important;
  box-shadow: 0 20px 54px rgba(5, 19, 48, .115) !important;
}

/* Decorative service icon. Only appears where a numbered icon is not already present. */
body.bmk-shared-layout main .service-card:not(:has(> .num)) h3:first-of-type,
body.bmk-shared-layout main .bmk-service-card:not(:has(> .bmk-number)) h3:first-of-type {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

body.bmk-shared-layout main .service-card:not(:has(> .num)) h3:first-of-type::before,
body.bmk-shared-layout main .bmk-service-card:not(:has(> .bmk-number)) h3:first-of-type::before {
  content: "";
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  margin-top: -2px;
  border: 1px solid #d8e5f7;
  border-radius: 9px;
  background-color: var(--bmk-modern-blue-soft);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b5cff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5.4 5.4L4 17l3 3 5.3-5.3a4 4 0 0 0 5.4-5.4l-2.3 2.3-3-3 2.3-2.3Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 17px 17px;
  box-shadow: 0 5px 13px rgba(11, 92, 255, .11);
}

/* Small, clear icons for problem cards and location tiles. */
body.bmk-shared-layout main .replace-card > strong:first-child,
body.bmk-shared-layout main :is(.link-tile, .bmk-area-tile) > strong:first-child {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
}

body.bmk-shared-layout main .replace-card > strong:first-child::before {
  content: "";
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  border: 1px solid #ffd2d2;
  border-radius: 8px;
  background-color: var(--bmk-modern-red-soft);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d90000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 15px 15px;
}

body.bmk-shared-layout main :is(.link-tile, .bmk-area-tile) > strong:first-child::before {
  content: "";
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border: 1px solid #d8e5f7;
  border-radius: 8px;
  background-color: var(--bmk-modern-blue-soft);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b5cff' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 15px 15px;
}

/* Modern FAQ control without touching paragraph or heading colours. */
body.bmk-shared-layout main details.bmk-faq > summary {
  position: relative !important;
  padding-right: 40px !important;
  list-style: none !important;
}

body.bmk-shared-layout main details.bmk-faq > summary::-webkit-details-marker {
  display: none;
}

body.bmk-shared-layout main details.bmk-faq > summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 0;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid #d8e5f7;
  border-radius: 9px;
  background: var(--bmk-modern-blue-soft);
  color: #0b5cff;
  font-size: 19px;
  font-weight: 800;
  line-height: 1;
  transform: translateY(-50%);
}

body.bmk-shared-layout main details.bmk-faq[open] > summary::after {
  content: "−";
  background: var(--bmk-modern-red-soft);
  border-color: #ffd2d2;
  color: #d90000;
}

/* Buttons keep their existing colours, with a more current shape and focus state. */
body.bmk-shared-layout main :is(a, button):is(
  .btn,
  .button,
  .bmk-button,
  .cta-button,
  .primary-button,
  .secondary-button
) {
  border-radius: 14px !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

body.bmk-shared-layout main :is(a, button):focus-visible {
  outline: 3px solid rgba(11, 92, 255, .28) !important;
  outline-offset: 3px !important;
}

/* Image cards: consistent corners without changing image sizing or layout. */
body.bmk-shared-layout main :is(.bmk-photo-card, .image-card, .strip-card) {
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: var(--bmk-modern-shadow) !important;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  body.bmk-shared-layout main :is(
    .service-card,
    .intro-card,
    .town-card,
    .link-tile,
    .replace-card,
    .trust-card,
    .bmk-service-card,
    .bmk-trust-item,
    .bmk-process-step,
    .bmk-area-tile,
    .bmk-faq,
    .bmk-card:not(.bmk-card-dark)
  ) {
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
  }

  body.bmk-shared-layout main :is(
    .service-card,
    .intro-card,
    .town-card,
    .link-tile,
    .replace-card,
    .trust-card,
    .bmk-service-card,
    .bmk-trust-item,
    .bmk-process-step,
    .bmk-area-tile,
    .bmk-faq,
    .bmk-card:not(.bmk-card-dark)
  ):hover {
    transform: translateY(-3px);
    border-color: rgba(159, 188, 226, .96) !important;
    box-shadow:
      inset 0 3px 0 rgba(11, 92, 255, .11),
      var(--bmk-modern-shadow-hover) !important;
  }

  body.bmk-shared-layout main :is(a, button):is(
    .btn,
    .button,
    .bmk-button,
    .cta-button,
    .primary-button,
    .secondary-button
  ):hover {
    transform: translateY(-2px);
    filter: saturate(1.04);
  }
}

@media (max-width: 760px) {
  body.bmk-shared-layout main :is(
    .service-card,
    .intro-card,
    .town-card,
    .link-tile,
    .replace-card,
    .trust-card,
    .bmk-service-card,
    .bmk-card:not(.bmk-card-dark)
  ) {
    border-radius: 19px !important;
  }

  body.bmk-shared-layout main .service-card:not(:has(> .num)) h3:first-of-type::before,
  body.bmk-shared-layout main .bmk-service-card:not(:has(> .bmk-number)) h3:first-of-type::before {
    width: 27px;
    height: 27px;
    flex-basis: 27px;
    background-size: 16px 16px;
  }
}
