    /* =============================================
       DESIGN TOKENS
    ============================================= */
    :root {
      --navy:   #051330;
      --navy2:  #081f4d;
      --red:    #ff1717;
      --red2:   #d90000;
      --blue:   #0b5cff;
      --soft:   #f3f8ff;
      --text:   #071536;
      --muted:  #5d6b87;
      --white:  #fff;
      --line:   #dde9fb;
      --shadow: 0 18px 45px rgba(5,19,48,.12);
      --shadow2:0 8px 24px rgba(5,19,48,.10);
      --r:      22px;
      --r2:     32px;
    }

    /* =============================================
       RESET & BASE
    ============================================= */
    *, *::before, *::after { box-sizing: border-box; max-width: 100%; }
    html, body {
      margin: 0;
      width: 100%;
      overflow-x: hidden;
    }
    html { scroll-behavior: smooth; }
    body {
      font-family: Inter, Arial, Helvetica, sans-serif;
      color: var(--text);
      background: linear-gradient(180deg, #eef6ff 0%, #ffffff 32%, #f5f8fc 100%);
      min-width: 0;
    }
    img { max-width: 100%; display: block; }
    a { text-decoration: none; color: inherit; }
    p { line-height: 1.65; margin: 0 0 1em; }
    p:last-child { margin-bottom: 0; }
    ul { margin: 0; padding: 0; }

    .wrap {
      width: min(1180px, 100%);
      padding-left: 20px;
      padding-right: 20px;
      margin: 0 auto;
    }
    .kicker {
      color: var(--red);
      font-size: 13px;
      font-weight: 900;
      letter-spacing: 1.8px;
      text-transform: uppercase;
      margin-bottom: 6px;
    }
    .center { text-align: center; }
    .red { color: var(--red); }
    .mini { font-size: 13px; color: var(--muted); }

    /* =============================================
       TYPOGRAPHY
    ============================================= */
    h1 {
      font-size: clamp(36px, 5.2vw, 70px);
      line-height: 1.02;
      letter-spacing: -2px;
      margin: 0 0 18px;
      color: var(--navy);
    }
    h1 span { color: var(--red); }
    h2 {
      font-size: clamp(28px, 3.4vw, 48px);
      line-height: 1.07;
      letter-spacing: -1.2px;
      margin: 8px 0 12px;
      color: var(--navy);
    }
    h3 { color: var(--navy); }

    /* =============================================
       BUTTONS
    ============================================= */
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      border: 0;
      border-radius: 14px;
      padding: 15px 22px;
      font-weight: 900;
      font-size: 15px;
      cursor: pointer;
      transition: transform .18s, box-shadow .18s;
      text-align: center;
      white-space: nowrap;
      font-family: inherit;
    }
    .btn:hover { transform: translateY(-2px); }
    .btn-red {
      background: linear-gradient(180deg, var(--red), var(--red2));
      color: #fff;
      box-shadow: 0 12px 25px rgba(255,23,23,.28);
    }
    .btn-navy {
      background: var(--navy);
      color: #fff;
      box-shadow: 0 12px 25px rgba(5,19,48,.2);
    }
    .btn-outline {
      background: #fff;
      color: var(--navy);
      border: 2px solid #c9ddff;
    }

    /* =============================================
       NAVBAR
    ============================================= */
    .topbar {
      position: sticky;
      top: 0;
      z-index: 100;
      background: rgba(255,255,255,.96);
      backdrop-filter: blur(14px);
      border-bottom: 1px solid rgba(221,233,251,.85);
      box-shadow: 0 6px 24px rgba(5,19,48,.06);
    }
    .nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      min-height: 80px;
    }
    .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;
    }
    .logo small {
      display: block;
      color: var(--red);
      font-size: 10px;
      letter-spacing: .7px;
      margin-top: 4px;
      font-weight: 950;
    }
    .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;
    }
    .head-call {
      font-weight: 950;
      text-align: right;
      font-size: 16px;
      white-space: nowrap;
    }
    .head-call small {
      display: block;
      color: var(--muted);
      font-size: 12px;
    }
    /* Mobile-only call button — hidden on desktop */
    .mobile-call-btn { display: none; }

    /* =============================================
       HERO
    ============================================= */
    .hero { padding: 48px 0 28px; }
    .hero-grid {
      display: grid;
      grid-template-columns: 1.02fr .98fr;
      gap: 32px;
      align-items: center;
    }
    .badge-row { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
    .badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 9px 13px;
      background: #fff0f0;
      color: var(--red);
      font-weight: 950;
      border-radius: 999px;
      font-size: 13px;
      letter-spacing: .5px;
    }
    .hero-lead {
      font-size: 18px;
      color: #26395f;
      max-width: 620px;
      margin: 0 0 12px;
    }
    .actions { display: flex; gap: 13px; flex-wrap: wrap; margin: 24px 0; }
    .trust {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
      margin-top: 28px;
    }
    .trust div {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 18px;
      padding: 16px;
      box-shadow: var(--shadow2);
      font-weight: 950;
      font-size: 13px;
    }
    .trust b { display: block; color: var(--red); font-size: 24px; margin-bottom: 4px; }

    /* Hero image panel */
    .hero-visual {
      min-height: 600px;
      border-radius: 36px;
      overflow: hidden;
      position: relative;
      box-shadow: var(--shadow);
      background: url("https://i.postimg.cc/G22wZF8f/pexels-artbovich-6580366.jpg") center/cover;
    }
    .hero-visual::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(160deg, rgba(255,255,255,.04), rgba(5,19,48,.3));
    }
    .floating-card {
      position: absolute;
      left: 20px; bottom: 20px; right: 20px;
      background: rgba(5,19,48,.93);
      color: #fff;
      padding: 22px;
      border-radius: 24px;
      z-index: 2;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 18px;
      align-items: center;
      border: 1px solid rgba(255,255,255,.14);
    }
    .floating-card h3 { margin: 0 0 6px; font-size: 22px; }
    .floating-card p { margin: 0; color: #dce8ff; font-size: 14px; }

    /* =============================================
       SECTIONS
    ============================================= */
    section { padding: 72px 0; }

    .section-head {
      max-width: 820px;
      margin: 0 auto 32px;
      text-align: center;
    }
    .sub { font-size: 18px; color: var(--muted); margin: 0; }



    /* =============================================
       SERVICES
    ============================================= */
    .service-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 22px;
    }
    .service {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 28px;
      overflow: hidden;
      box-shadow: var(--shadow2);
      display: grid;
      grid-template-columns: .9fr 1.1fr;
    }
    .service img { width: 100%; height: 100%; object-fit: cover; }
    .service-content { padding: 26px; }
    .service h3 { font-size: 23px; margin: 0 0 10px; }
    .service p { color: var(--muted); margin: 0 0 14px; }
    .tick-list { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 8px; }
    .tick-list li { position: relative; padding-left: 25px; font-weight: 850; color: #23365f; }
    .tick-list li::before { content: "✓"; position: absolute; left: 0; color: var(--red); font-weight: 950; }
    /* Mobile-only call buttons on service cards */
    .service-call-btn { display: none; }

    /* =============================================
       WHY GRID
    ============================================= */
    .why-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }
    .why-card {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 24px;
      padding: 26px;
      box-shadow: var(--shadow2);
    }
    .why-card .ico { font-size: 34px; margin-bottom: 12px; }
    .why-card h3 { margin: 0 0 8px; font-size: 20px; }
    .why-card p { margin: 0; color: var(--muted); }

    /* =============================================
       SPLIT (IMAGE + DARK PANEL)
    ============================================= */
    .split {
      display: grid;
      grid-template-columns: .85fr 1.15fr;
      gap: 28px;
      align-items: center;
    }
    .image-card { border-radius: 30px; overflow: hidden; box-shadow: var(--shadow); }
    .image-card img { width: 100%; height: 580px; object-fit: cover; }
    .dark-panel {
      background: linear-gradient(135deg, var(--navy), var(--navy2));
      color: #fff;
      border-radius: 30px;
      padding: 36px;
      box-shadow: var(--shadow);
    }
    .dark-panel h2 { color: #fff; }
    .dark-panel p, .dark-panel li { color: #dbe8ff; }
    .dark-panel .tick-list li::before { color: #fff; }

    /* =============================================
       GALLERY
    ============================================= */
    .work-filter {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      justify-content: center;
      margin: -10px 0 24px;
    }
    .work-filter span {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 10px 14px;
      font-size: 13px;
      font-weight: 900;
      color: var(--navy);
      box-shadow: 0 4px 12px rgba(5,19,48,.05);
      cursor: default;
    }
    .gallery-work {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px;
    }
    .gallery-item {
      position: relative;
      min-height: 280px;
      border-radius: 24px;
      overflow: hidden;
      box-shadow: var(--shadow2);
      background: #111;
    }
    .gallery-item.large  { grid-column: span 2; grid-row: span 2; min-height: 580px; }
    .gallery-item.wide   { grid-column: span 2; }
    .gallery-item img {
      width: 100%; height: 100%;
      object-fit: cover;
      position: absolute;
      inset: 0;
      opacity: .9;
      transition: transform .25s, opacity .25s;
    }
    .gallery-item:hover img { transform: scale(1.04); opacity: .82; }
    .gallery-item > div {
      position: absolute;
      left: 0; right: 0; bottom: 0;
      padding: 22px;
      color: #fff;
      background: linear-gradient(180deg, transparent, rgba(5,19,48,.9));
    }
    .gallery-item h3 { margin: 0 0 6px; font-size: 22px; color: #fff; }
    .gallery-item p  { margin: 0; color: #eaf2ff; font-size: 14px; }

    /* Show/hide extra gallery items */
    .gallery-item.extra { display: none; }
    .gallery-work.open .gallery-item.extra { display: block; }
    .gallery-actions { text-align: center; margin-top: 24px; }



    /* =============================================
       REVIEWS
    ============================================= */
    .reviews {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }
    .review {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 22px;
      padding: 24px;
      box-shadow: var(--shadow2);
    }
    .stars { color: #ffb400; font-size: 21px; letter-spacing: 1px; }
    .review p { color: #33466d; }
    .review strong { color: var(--navy); display: block; margin-top: 10px; }

    /* =============================================
       AREAS
    ============================================= */
    .area-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 22px;
    }
    .area-card {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 28px;
      padding: 30px;
      box-shadow: var(--shadow2);
    }
    .area-list {
      columns: 2;
      list-style: none;
      padding: 0;
      margin: 16px 0 0;
    }
    .area-list li { margin: 0 0 10px; font-weight: 850; padding-left: 24px; position: relative; }
    .area-list li::before { content: "📍"; position: absolute; left: 0; }
    .map-card {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 28px;
      overflow: hidden;
      box-shadow: var(--shadow2);
    }
    .map-card iframe { display: block; width: 100%; height: 380px; border: 0; }

    /* =============================================
       FAQs
    ============================================= */
    .faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    details {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 18px;
      padding: 18px 20px;
      box-shadow: 0 4px 14px rgba(5,19,48,.05);
    }
    summary { cursor: pointer; font-weight: 950; color: var(--navy); }
    details p { color: var(--muted); margin: 12px 0 0; }

    /* =============================================
       QUOTE FORM
    ============================================= */
    .quote-box {
      background: #fff;
      border-radius: 34px;
      box-shadow: var(--shadow);
      overflow: hidden;
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      border: 1px solid var(--line);
    }
    .quote-copy {
      background: linear-gradient(135deg, #071a3f, #0b2d68);
      color: #fff;
      padding: 40px;
    }
    .quote-copy h2 { color: #fff; }
    .quote-copy .kicker { color: #ffb4b4; }
    .quote-copy p, .quote-copy li { color: #f2f7ff; }
    .quote-copy strong { color: #fff; }
    .quote-form { padding: 36px; background: #fff; }
    .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    .full { grid-column: 1 / -1; }
    label { display: block; font-size: 13px; font-weight: 950; margin: 0 0 7px; color: var(--navy); }
    input, select, textarea {
      width: 100%;
      border: 1px solid #d6e4fa;
      border-radius: 14px;
      padding: 14px 15px;
      font: inherit;
      font-size: 16px;
      background: #fbfdff;
      outline: none;
      transition: border-color .15s, box-shadow .15s;
    }
    input:focus, select:focus, textarea:focus {
      border-color: var(--blue);
      box-shadow: 0 0 0 4px rgba(11,92,255,.08);
    }
    textarea { min-height: 130px; resize: vertical; }
    .form-note { font-size: 13px; color: var(--muted); margin: 10px 0 0; }

    /* =============================================
       CONTACT INFO GRID
    ============================================= */
    .info-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px;
    }
    .info-card {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 22px;
      padding: 24px;
      box-shadow: var(--shadow2);
    }
    .info-card h3 { margin: 0 0 10px; }
    .info-card ul { list-style: disc; padding-left: 18px; line-height: 1.9; color: #33466d; }

    /* =============================================
       FINAL CTA
    ============================================= */
    .final-cta {
      background: linear-gradient(135deg, var(--navy), #020712);
      color: #fff;
      border-radius: 34px;
      padding: 48px;
      text-align: center;
      box-shadow: var(--shadow);
    }
    .final-cta h2 { color: #fff; margin-top: 0; }
    .final-cta p { color: #dce8ff; font-size: 18px; }
    .final-trust-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
      margin: 28px auto;
      max-width: 980px;
    }
    .final-trust-grid div {
      background: rgba(255,255,255,.08);
      border: 1px solid rgba(255,255,255,.15);
      border-radius: 20px;
      padding: 20px;
    }
    .final-trust-grid strong { display: block; font-size: 20px; color: #fff; margin-bottom: 6px; }
    .final-trust-grid span  { color: #dce8ff; font-size: 14px; }

    /* =============================================
       FOOTER
    ============================================= */
    footer {
      background: #030c20;
      color: #fff;
      margin-top: 50px;
      padding: 34px 0;
    }
    .foot {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      border-bottom: 1px solid rgba(255,255,255,.12);
      padding-bottom: 22px;
    }
    .copy { text-align: center; color: #b7c5dd; font-size: 13px; padding-top: 18px; }

    /* =============================================
       TABLET  ≤ 1050px
    ============================================= */
    @media (max-width: 1050px) {
      .nav-links, .head-call { display: none; }
      .mobile-call-btn { display: inline-flex; }
      .trust { grid-template-columns: repeat(2, 1fr); }
      .info-grid { grid-template-columns: repeat(2, 1fr); }
      .final-trust-grid { grid-template-columns: repeat(2, 1fr); }
      .gallery-work { grid-template-columns: repeat(2, 1fr); }
      .gallery-item.large, .gallery-item.wide { grid-column: span 2; }
      .gallery-item.large { min-height: 400px; }
    }

    /* =============================================
       MOBILE  ≤ 760px
    ============================================= */
    @media (max-width: 760px) {
      section { padding: 48px 0; }
      .hero { padding: 30px 0 16px; }

      /* NAV */
      .nav { min-height: 72px; }
      .logo { font-size: 22px; }
      .logo small { font-size: 9px; }
      .flame { width: 40px; height: 40px; min-width: 40px; font-size: 21px; }
      .mobile-call-btn {
        padding: 12px 16px;
        font-size: 13px;
        border-radius: 14px;
        white-space: nowrap;
      }

      /* HERO */
      .hero-grid { display: block; }
      h1 { font-size: 34px; letter-spacing: -1px; }
      .hero-lead { font-size: 16px; }
      .actions { display: grid; grid-template-columns: 1fr; gap: 11px; margin: 20px 0; }
      .actions .btn, .btn { width: 100%; white-space: normal; }
      .trust { grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 20px; }
      .trust div { padding: 14px; font-size: 12px; }
      .trust b { font-size: 21px; }
      .hero-visual { height: 280px; min-height: 0; margin-top: 22px; border-radius: 22px; }
      .floating-card { display: none; }

      /* Hide desktop quote banner, show inline CTA instead */
      .quote-banner-section { display: none; }
      /* Mobile CTA replaces it */
      .mobile-quote-cta {
        display: block;
        background: linear-gradient(135deg, var(--red), #a80000);
        color: #fff;
        border-radius: 24px;
        padding: 28px 24px;
        margin-bottom: 48px;
        text-align: center;
      }
      .mobile-quote-cta h3 { color: #fff; font-size: 26px; margin: 0 0 10px; }
      .mobile-quote-cta p { color: #ffe2e2; font-size: 15px; margin: 0 0 18px; }

      /* SERVICES */
      .service-grid { grid-template-columns: 1fr; }
      .service { display: block; }
      .service img { width: 100%; height: 220px; object-fit: cover; }
      .service-content { padding: 22px; }
      .service h3 { font-size: 22px; }
      .service-call-btn { display: flex; }

      /* WHY */
      .why-grid { grid-template-columns: 1fr; }

      /* SPLIT */
      .split { display: block; }
      .image-card img { height: 280px; }
      .dark-panel { padding: 26px; border-radius: 24px; margin-top: 18px; }

      /* GALLERY */
      .gallery-work { grid-template-columns: 1fr; gap: 14px; }
      .gallery-item, .gallery-item.large, .gallery-item.wide {
        grid-column: auto;
        grid-row: auto;
        min-height: 250px;
        border-radius: 20px;
      }
      .work-filter { overflow-x: auto; flex-wrap: nowrap; justify-content: flex-start; padding-bottom: 8px; }
      .work-filter::-webkit-scrollbar { display: none; }
      .work-filter span { flex: 0 0 auto; }

      /* TRUST SHOWCASE */
      .trust-showcase { grid-template-columns: 1fr; }
      .avoid-card { grid-column: auto; }
      .trust-mini-grid { grid-template-columns: repeat(2, 1fr); }
      .avoid-grid { grid-template-columns: 1fr; }
      .trust-main-card, .contact-card, .avoid-card { padding: 24px; border-radius: 22px; }
      .trust-main-card h3, .contact-card h3, .avoid-card h3 { font-size: 24px; }

      /* REVIEWS */
      .reviews { grid-template-columns: 1fr; }

      /* AREAS */
      .area-grid { grid-template-columns: 1fr; }
      .area-list { columns: 1; }
      .map-card iframe { height: 300px; }
      .area-card { padding: 22px; border-radius: 22px; }

      /* FAQS */
      .faq-grid { grid-template-columns: 1fr; }

      /* QUOTE FORM */
      .quote-box { grid-template-columns: 1fr; border-radius: 24px; }
      .quote-copy, .quote-form { padding: 26px; }
      .form-grid { grid-template-columns: 1fr; }
      .full { grid-column: auto; }

      /* INFO / CONTACT */
      .info-grid { grid-template-columns: 1fr; }

      /* FINAL CTA */
      .final-cta { padding: 32px 22px; border-radius: 24px; }
      .final-trust-grid { grid-template-columns: 1fr; gap: 10px; margin: 20px 0; }

      /* FOOTER */
      .foot { display: block; text-align: center; }
      .foot .logo { justify-content: center; margin-bottom: 12px; }
    }

    /* =============================================
       SMALL PHONES  ≤ 400px
    ============================================= */
    @media (max-width: 400px) {
      h1 { font-size: 29px; }
      h2 { font-size: 25px; }
      .logo { font-size: 19px; }
      .flame { width: 36px; height: 36px; min-width: 36px; font-size: 19px; }
      .mobile-call-btn { font-size: 12px; padding: 11px 13px; }
      .trust { grid-template-columns: 1fr; }
      .trust-mini-grid { grid-template-columns: 1fr; }
      .hero-visual { height: 240px; }
    }
  
.topbar{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(221,233,251,.9);box-shadow:0 6px 24px rgba(5,19,48,.06);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:80px;}
.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;}
.logo small{display:block;color:var(--red);font-size:10px;letter-spacing:.7px;margin-top:4px;font-weight:950;}
.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 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;
      }
    }


    /* =========================================================
       2026 VISUAL REFRESH
       Presentation-only overrides. No content or sections changed.
    ========================================================= */
    :root {
      --line: #dce6f3;
      --soft: #f4f7fb;
      --muted: #586781;
      --shadow: 0 24px 70px rgba(5,19,48,.13);
      --shadow2: 0 12px 34px rgba(5,19,48,.085);
    }

    body {
      font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
      background:
        radial-gradient(circle at 8% 4%, rgba(11,92,255,.08), transparent 24rem),
        radial-gradient(circle at 92% 12%, rgba(255,23,23,.055), transparent 22rem),
        #f8fafc;
      line-height: 1.55;
    }

    .wrap {
      width: min(1220px, 100%);
      padding-left: 26px;
      padding-right: 26px;
    }

    h1, h2, h3 {
      text-wrap: balance;
    }

    h1 {
      font-size: clamp(42px, 5vw, 68px);
      line-height: .99;
      letter-spacing: -2.7px;
    }

    h2 {
      font-size: clamp(31px, 3.25vw, 48px);
      line-height: 1.02;
      letter-spacing: -1.7px;
    }

    .sub {
      max-width: 760px;
      margin-inline: auto;
      line-height: 1.7;
    }

    .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);
      font-size: 11px;
      letter-spacing: 1.45px;
      margin-bottom: 7px;
    }

    .section-head {
      max-width: 870px;
      margin-bottom: 42px;
    }

    section {
      position: relative;
      padding: 88px 0;
    }

    main > section:nth-of-type(2),
    main > section:nth-of-type(5),
    main > section:nth-of-type(7),
    main > section:nth-of-type(9) {
      background: linear-gradient(180deg, rgba(237,243,250,.72), rgba(248,250,252,.9));
      border-top: 1px solid rgba(219,229,242,.7);
      border-bottom: 1px solid rgba(219,229,242,.7);
    }

    /* Buttons */
    .btn {
      min-height: 50px;
      padding: 14px 21px;
      border-radius: 12px;
      font-size: 14px;
      letter-spacing: -.1px;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
    }

    .btn:hover {
      transform: translateY(-2px);
    }

    .btn-red {
      background: linear-gradient(135deg, #ff2a2a, #d80000);
      box-shadow: 0 13px 28px rgba(225,0,0,.24);
    }

    .btn-red:hover {
      box-shadow: 0 17px 34px rgba(225,0,0,.3);
    }

    .btn-outline {
      border: 1px solid #cdd9e8;
      background: rgba(255,255,255,.88);
      box-shadow: 0 7px 18px rgba(5,19,48,.055);
    }

    .btn-outline:hover {
      border-color: #aebfd5;
      background: #fff;
      box-shadow: 0 11px 24px rgba(5,19,48,.09);
    }

    /* 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;
      }
    }

    /* Hero */
    .hero {
      overflow: hidden;
      padding: 68px 0 72px;
      background:
        linear-gradient(105deg, rgba(255,255,255,.97) 0%, rgba(248,251,255,.9) 54%, rgba(238,244,252,.65) 100%);
      border-bottom: 1px solid rgba(214,225,239,.8);
    }

    .hero::before {
      content: "";
      position: absolute;
      width: 460px;
      height: 460px;
      right: -220px;
      top: -180px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255,23,23,.11), transparent 68%);
      pointer-events: none;
    }

    .hero-grid {
      grid-template-columns: 1.04fr .96fr;
      gap: clamp(42px, 6vw, 78px);
    }

    .badge-row {
      gap: 8px;
      margin-bottom: 22px;
    }

    .badge {
      padding: 8px 11px;
      border: 1px solid rgba(255,23,23,.13);
      background: #fff;
      box-shadow: 0 6px 16px rgba(5,19,48,.045);
      font-size: 11px;
      letter-spacing: .8px;
    }

    .hero-lead {
      max-width: 650px;
      color: #42516b;
      font-size: 17px;
      line-height: 1.7;
    }

    .actions {
      gap: 11px;
      margin: 27px 0 30px;
    }

    .trust {
      gap: 10px;
      margin-top: 6px;
    }

    .trust div {
      min-height: 100px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 17px;
      border: 1px solid rgba(208,221,237,.9);
      border-radius: 16px;
      background: rgba(255,255,255,.88);
      box-shadow: 0 9px 28px rgba(5,19,48,.065);
    }

    .trust b {
      font-size: 22px;
      letter-spacing: -1px;
    }

    .hero-visual {
      min-height: 620px;
      border: 7px solid rgba(255,255,255,.88);
      border-radius: 30px;
      box-shadow: 0 30px 80px rgba(5,19,48,.19);
    }

    .floating-card {
      left: 17px;
      right: 17px;
      bottom: 17px;
      padding: 19px;
      border-radius: 18px;
      background: rgba(5,19,48,.89);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
    }

    /* Service cards */
    .service-grid {
      gap: 24px;
    }

    .service {
      position: relative;
      grid-template-columns: .88fr 1.12fr;
      border: 1px solid rgba(210,222,237,.9);
      border-radius: 23px;
      background: rgba(255,255,255,.94);
      box-shadow: 0 14px 38px rgba(5,19,48,.075);
      transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }

    .service:hover {
      transform: translateY(-5px);
      border-color: rgba(180,199,222,.95);
      box-shadow: 0 22px 52px rgba(5,19,48,.115);
    }

    .service::after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 72px;
      height: 3px;
      border-radius: 0 23px 0 999px;
      background: linear-gradient(90deg, transparent, var(--red));
    }

    .service img {
      min-height: 100%;
      transition: transform .35s ease;
    }

    .service:hover img {
      transform: scale(1.025);
    }

    .service-content {
      position: relative;
      z-index: 1;
      padding: 28px;
      background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(248,250,253,.97));
    }

    .service h3 {
      font-size: 22px;
      letter-spacing: -.55px;
    }

    .service p {
      line-height: 1.65;
    }

    .tick-list {
      gap: 9px;
    }

    .tick-list li {
      color: #34445f;
      font-size: 14px;
      font-weight: 750;
    }

    .tick-list li::before {
      width: 18px;
      height: 18px;
      display: grid;
      place-items: center;
      top: 2px;
      border-radius: 50%;
      background: rgba(255,23,23,.085);
      font-size: 11px;
    }

    /* Why cards */
    .why-grid {
      gap: 20px;
    }

    .why-card {
      position: relative;
      overflow: hidden;
      min-height: 210px;
      padding: 28px;
      border: 1px solid rgba(211,223,238,.92);
      border-radius: 20px;
      background: linear-gradient(145deg, #fff, #f8fafc);
      box-shadow: 0 12px 32px rgba(5,19,48,.065);
      transition: transform .2s ease, box-shadow .2s ease;
    }

    .why-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 19px 42px rgba(5,19,48,.10);
    }

    .why-card::after {
      content: "";
      position: absolute;
      width: 100px;
      height: 100px;
      right: -42px;
      top: -42px;
      border-radius: 50%;
      background: rgba(11,92,255,.045);
    }

    .why-card .ico {
      width: 48px;
      height: 48px;
      display: grid;
      place-items: center;
      margin-bottom: 20px;
      border: 1px solid #e0e8f3;
      border-radius: 14px;
      background: #fff;
      box-shadow: 0 7px 18px rgba(5,19,48,.07);
      font-size: 25px;
    }

    .why-card h3 {
      font-size: 19px;
      letter-spacing: -.35px;
    }

    /* Advice split */
    .split {
      gap: 0;
      align-items: stretch;
      border-radius: 28px;
      box-shadow: 0 24px 70px rgba(5,19,48,.14);
    }

    .image-card {
      border-radius: 28px 0 0 28px;
      box-shadow: none;
    }

    .image-card img {
      height: 100%;
      min-height: 600px;
    }

    .dark-panel {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: clamp(38px, 5vw, 62px);
      border-radius: 0 28px 28px 0;
      background:
        radial-gradient(circle at top right, rgba(11,92,255,.24), transparent 36%),
        linear-gradient(140deg, #07152f, #0a2555);
      box-shadow: none;
    }

    .dark-panel .kicker {
      width: fit-content;
      color: #ffbebe;
      border-color: rgba(255,255,255,.13);
      background: rgba(255,255,255,.06);
    }

    /* Gallery */
    .work-filter {
      gap: 8px;
      margin-bottom: 30px;
    }

    .work-filter span {
      padding: 9px 13px;
      border-color: #d8e2ee;
      border-radius: 10px;
      background: rgba(255,255,255,.78);
      box-shadow: none;
      font-size: 12px;
    }

    .gallery-work {
      gap: 16px;
    }

    .gallery-item {
      border: 1px solid rgba(255,255,255,.65);
      border-radius: 20px;
      box-shadow: 0 14px 38px rgba(5,19,48,.12);
    }

    .gallery-item > div {
      padding: 25px 22px 20px;
      background: linear-gradient(180deg, transparent, rgba(3,11,27,.94));
    }

    .gallery-item h3 {
      letter-spacing: -.45px;
    }

    /* Areas */
    .area-grid {
      gap: 24px;
      align-items: stretch;
    }

    .area-card,
    .map-card {
      border: 1px solid rgba(210,222,237,.95);
      border-radius: 23px;
      box-shadow: 0 15px 40px rgba(5,19,48,.075);
    }

    .area-card {
      padding: 36px;
      background:
        radial-gradient(circle at top right, rgba(255,23,23,.06), transparent 13rem),
        #fff;
    }

    .area-list li {
      padding: 9px 10px 9px 29px;
      margin: 0 0 5px;
      border-bottom: 1px solid #edf2f7;
      font-size: 14px;
    }

    .map-card {
      padding: 8px;
      background: #fff;
    }

    .map-card iframe {
      height: 100%;
      min-height: 420px;
      border-radius: 16px;
    }

    /* FAQs */
    .faq-grid {
      gap: 12px;
    }

    details {
      padding: 20px 21px;
      border: 1px solid rgba(210,222,237,.92);
      border-radius: 15px;
      background: rgba(255,255,255,.88);
      box-shadow: 0 7px 20px rgba(5,19,48,.045);
      transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
    }

    details[open] {
      border-color: rgba(180,199,222,.95);
      background: #fff;
      box-shadow: 0 12px 28px rgba(5,19,48,.075);
    }

    summary {
      position: relative;
      padding-right: 28px;
      list-style: none;
      font-size: 15px;
      letter-spacing: -.2px;
    }

    summary::-webkit-details-marker {
      display: none;
    }

    summary::after {
      content: "+";
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      color: var(--red);
      font-size: 22px;
      font-weight: 700;
    }

    details[open] summary::after {
      content: "−";
    }

    /* Quote form */
    .quote-box {
      grid-template-columns: .88fr 1.12fr;
      border: 1px solid rgba(206,220,237,.9);
      border-radius: 28px;
      box-shadow: 0 26px 75px rgba(5,19,48,.14);
    }

    .quote-copy {
      position: relative;
      overflow: hidden;
      padding: 50px;
      background:
        radial-gradient(circle at 100% 0, rgba(255,23,23,.24), transparent 22rem),
        linear-gradient(145deg, #07152f, #09275b);
    }

    .quote-copy::after {
      content: "";
      position: absolute;
      width: 170px;
      height: 170px;
      left: -85px;
      bottom: -90px;
      border: 1px solid rgba(255,255,255,.09);
      border-radius: 50%;
    }

    .quote-copy .kicker {
      width: fit-content;
      border-color: rgba(255,255,255,.14);
      background: rgba(255,255,255,.07);
    }

    .quote-form {
      padding: 46px;
      background: linear-gradient(145deg, #fff, #f8fafc);
    }

    .form-grid {
      gap: 17px;
    }

    label {
      margin-bottom: 8px;
      font-size: 12px;
      letter-spacing: .2px;
    }

    input, select, textarea {
      border: 1px solid #ccd9e9;
      border-radius: 11px;
      padding: 14px 14px;
      background: #fff;
      box-shadow: 0 3px 10px rgba(5,19,48,.025);
    }

    input:focus, select:focus, textarea:focus {
      border-color: rgba(11,92,255,.65);
      box-shadow: 0 0 0 4px rgba(11,92,255,.08), 0 6px 16px rgba(5,19,48,.05);
    }

    /* Contact cards */
    .info-grid {
      gap: 16px;
    }

    .info-card {
      min-height: 205px;
      padding: 27px;
      border: 1px solid rgba(210,222,237,.92);
      border-radius: 19px;
      background: linear-gradient(145deg, #fff, #f9fbfd);
      box-shadow: 0 11px 30px rgba(5,19,48,.06);
      transition: transform .2s ease, box-shadow .2s ease;
    }

    .info-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 18px 40px rgba(5,19,48,.10);
    }

    .info-card h3 {
      padding-bottom: 14px;
      border-bottom: 1px solid #e7edf5;
      font-size: 18px;
      letter-spacing: -.3px;
    }

    .info-card ul {
      list-style: none;
      padding-left: 0;
      line-height: 1.65;
    }

    .info-card li {
      padding: 6px 0;
      border-bottom: 1px solid #edf2f7;
      font-size: 14px;
    }

    /* Final CTA */
    .final-cta {
      position: relative;
      overflow: hidden;
      padding: 62px 52px;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 28px;
      background:
        radial-gradient(circle at 12% 12%, rgba(11,92,255,.26), transparent 28rem),
        radial-gradient(circle at 90% 100%, rgba(255,23,23,.2), transparent 25rem),
        linear-gradient(145deg, #030b1c, #071b42);
      box-shadow: 0 28px 80px rgba(5,19,48,.22);
    }

    .final-cta .kicker {
      border-color: rgba(255,255,255,.13);
      background: rgba(255,255,255,.06);
    }

    .final-cta p {
      max-width: 900px;
      margin-left: auto;
      margin-right: auto;
      color: #d7e2f4;
      font-size: 17px;
    }

    .final-trust-grid {
      gap: 10px;
    }

    .final-trust-grid div {
      border-radius: 15px;
      background: rgba(255,255,255,.065);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
    }

    /* 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);
    }

    /* Footer */
    footer {
      margin-top: 0;
      padding: 42px 0 30px;
      background:
        radial-gradient(circle at 20% 0, rgba(11,92,255,.17), transparent 24rem),
        #020817;
    }

    /* 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;
      }
    }

    @media (max-width: 760px) {
      .wrap {
        padding-left: 18px;
        padding-right: 18px;
      }

      section {
        padding: 60px 0;
      }

      .section-head {
        margin-bottom: 30px;
      }

      h1 {
        font-size: clamp(34px, 10.5vw, 46px);
        line-height: 1.02;
        letter-spacing: -1.8px;
      }

      h2 {
        font-size: clamp(27px, 8vw, 36px);
        letter-spacing: -1px;
      }

      .hero {
        padding: 38px 0 42px;
      }

      .badge-row {
        margin-bottom: 18px;
      }

      .hero-visual {
        height: 310px;
        margin-top: 28px;
        border-width: 5px;
        border-radius: 22px;
      }

      .trust div {
        min-height: 88px;
        padding: 14px;
      }

      .service-grid {
        gap: 18px;
      }

      .service {
        border-radius: 20px;
      }

      .service img {
        height: 230px;
      }

      .service-content {
        padding: 23px;
      }

      .why-card {
        min-height: 0;
        padding: 23px;
      }

      .split {
        border-radius: 23px;
        box-shadow: 0 18px 50px rgba(5,19,48,.13);
      }

      .image-card {
        border-radius: 23px 23px 0 0;
      }

      .image-card img {
        min-height: 0;
        height: 300px;
      }

      .dark-panel {
        margin-top: 0;
        padding: 30px 24px;
        border-radius: 0 0 23px 23px;
      }

      .area-card {
        padding: 25px;
      }

      .map-card iframe {
        min-height: 320px;
      }

      .quote-box {
        border-radius: 23px;
      }

      .quote-copy,
      .quote-form {
        padding: 29px 23px;
      }

      .info-card {
        min-height: 0;
        padding: 23px;
      }

      .final-cta {
        padding: 38px 22px;
        border-radius: 23px;
      }

      .bmk-google-reviews-shell {
        padding: 26px 19px;
        border-radius: 22px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .service,
      .service img,
      .why-card,
      .info-card,
      .btn {
        transition: none !important;
      }
    }

    @media (max-width: 400px) {
      .trust {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
      }
      .trust div {
        min-height: 86px;
        padding: 13px;
        font-size: 11px;
      }
      .trust b {
        font-size: 20px;
      }
    }


    /* =============================================
       DARK SECTION CONTRAST + SINGLE REVIEW BUTTON
    ============================================= */
    .floating-card,
    .dark-panel,
    .quote-copy,
    .final-cta,
    footer {
      color: #fff;
    }

    .floating-card h3,
    .dark-panel h2,
    .dark-panel h3,
    .quote-copy h2,
    .quote-copy h3,
    .final-cta h2,
    .final-cta h3,
    footer .logo,
    footer .logo > span,
    footer strong {
      color: #fff;
    }

    .dark-panel p,
    .quote-copy p,
    .final-cta p {
      color: #e8effa;
    }

    .dark-panel .tick-list li,
    .quote-copy .tick-list li {
      color: #f3f7fd;
    }

    .dark-panel .tick-list li::before,
    .quote-copy .tick-list li::before {
      color: #fff;
      background: rgba(255,255,255,.12);
    }

    .final-trust-grid strong {
      color: #fff;
    }

    .final-trust-grid span {
      color: #dbe7f8;
    }

    footer .copy,
    footer .copy a {
      color: #c9d6e9;
    }

    .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%;
      }
    }

    .bmk-facebook-work {
      padding: 28px 20px;
      background: #eef4ff;
      font-family: Inter, Arial, Helvetica, sans-serif;
    }

    .bmk-facebook-work__inner {
      width: min(1160px, 100%);
      box-sizing: border-box;
      margin: 0 auto;
      display: flex;
      align-items: center;
      gap: 18px;
      padding: 22px 24px;
      border: 1px solid #d8e4f7;
      border-radius: 18px;
      background: #ffffff;
      box-shadow: 0 12px 32px rgba(15, 39, 78, 0.08);
    }

    .bmk-facebook-work__icon {
      width: 54px;
      height: 54px;
      flex: 0 0 54px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: #1877f2;
      box-shadow: 0 8px 20px rgba(24, 119, 242, 0.22);
    }

    .bmk-facebook-work__icon svg {
      width: 28px;
      height: 28px;
      fill: #ffffff;
    }

    .bmk-facebook-work__copy {
      flex: 1 1 auto;
      min-width: 0;
    }

    .bmk-facebook-work__eyebrow {
      display: block;
      margin-bottom: 4px;
      color: #1877f2;
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 0.09em;
      line-height: 1.3;
      text-transform: uppercase;
    }

    .bmk-facebook-work h2 {
      margin: 0;
      color: #0c2348;
      font-size: clamp(21px, 2vw, 28px);
      line-height: 1.18;
    }

    .bmk-facebook-work p {
      margin: 7px 0 0;
      color: #52627a;
      font-size: 15px;
      line-height: 1.6;
    }

    .bmk-facebook-work__button {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      min-height: 48px;
      padding: 12px 18px;
      border-radius: 10px;
      background: #1877f2;
      color: #ffffff !important;
      font-size: 15px;
      font-weight: 800;
      line-height: 1.2;
      text-align: center;
      text-decoration: none !important;
      box-shadow: 0 8px 20px rgba(24, 119, 242, 0.2);
      transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
    }

    .bmk-facebook-work__button:hover,
    .bmk-facebook-work__button:focus-visible {
      background: #0f68d8;
      color: #ffffff !important;
      transform: translateY(-2px);
      box-shadow: 0 11px 24px rgba(24, 119, 242, 0.28);
    }

    .bmk-facebook-work__button svg {
      width: 17px;
      height: 17px;
      fill: none;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 2;
    }

    @media (max-width: 760px) {
      .bmk-facebook-work {
        padding: 22px 14px;
      }

      .bmk-facebook-work__inner {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 14px;
        padding: 19px;
      }

      .bmk-facebook-work__icon {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
      }

      .bmk-facebook-work__copy {
        flex-basis: calc(100% - 66px);
      }

      .bmk-facebook-work__button {
        width: auto;
        max-width: 100%;
        min-height: 42px;
        box-sizing: border-box;
        padding: 8px 12px;
        border-radius: 9px;
        font-family: Inter, Arial, Helvetica, sans-serif;
        font-size: 14px;
        align-self: flex-start;
      }

      .bmk-facebook-work__button svg {
        width: 15px;
        height: 15px;
      }
    }
  

/* ===== BMK premium boiler navigation + full footer sitemap ===== */
/* Keep all new navigation/footer typography on the exact site font stack. */
.bmk-site-header,
.bmk-site-header button,
.bmk-site-header a,
.bmk-sitemap-footer,
.bmk-sitemap-footer a,
.bmk-sitemap-footer button { font-family: Inter, Arial, Helvetica, sans-serif !important; }

/* Desktop boiler mega-menu: Belfast is a first-class section, not a nested browser control. */
@media (min-width: 921px) {
  .bmk-site-header .bmk-boiler-nav-item .bmk-boiler-mega-panel {
    width: min(790px, calc(100vw - 32px));
    max-width: min(790px, calc(100vw - 32px));
  }
  .bmk-site-header .bmk-boiler-mega-menu {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(250px, .85fr);
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 28px 72px rgba(5,19,48,.20);
  }
  .bmk-site-header .bmk-boiler-mega-main {
    padding: 20px;
    background: #fff;
  }
  .bmk-site-header .bmk-menu-section-label,
  .bmk-site-header .bmk-belfast-kicker {
    display: block;
    margin: 0 0 11px;
    color: #6d7c96;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: 1.25px;
    line-height: 1.2;
    text-transform: uppercase;
  }
  .bmk-site-header .bmk-boiler-area-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 8px;
  }
  .bmk-site-header .bmk-boiler-area-grid a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    min-height: 50px;
    padding: 8px 11px;
    border: 1px solid transparent;
    border-radius: 11px;
    color: var(--navy);
    line-height: 1.15;
    transition: background .15s ease, border-color .15s ease, transform .15s ease;
  }
  .bmk-site-header .bmk-boiler-area-grid a span {
    overflow: hidden;
    font-size: 13px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .bmk-site-header .bmk-boiler-area-grid a small {
    margin-top: 4px;
    color: #8190a9;
    font-size: 10px;
    font-weight: 700;
  }
  .bmk-site-header .bmk-boiler-area-grid a:hover,
  .bmk-site-header .bmk-boiler-area-grid a:focus-visible,
  .bmk-site-header .bmk-boiler-area-grid a.is-active {
    color: var(--red2);
    background: #fff7f7;
    border-color: #ffdada;
    outline: none;
    transform: translateY(-1px);
  }
  .bmk-site-header .bmk-boiler-area-grid a.is-active small { color: #b65353; }

  .bmk-site-header .bmk-belfast-mega {
    position: relative;
    padding: 20px;
    border-left: 1px solid #dce7f6;
    background: linear-gradient(155deg, #f2f7ff 0%, #f8fbff 58%, #fff6f6 100%);
  }
  .bmk-site-header .bmk-belfast-mega::before {
    content: "";
    position: absolute;
    top: -55px;
    right: -45px;
    width: 150px;
    height: 150px;
    border-radius: 999px;
    background: rgba(255,23,23,.055);
    pointer-events: none;
  }
  .bmk-site-header .bmk-belfast-overview {
    position: relative;
    display: block;
    padding: 15px 42px 14px 15px;
    border: 1px solid #cadcf4;
    border-radius: 14px;
    background: rgba(255,255,255,.88);
    color: var(--navy);
    box-shadow: 0 10px 24px rgba(5,19,48,.06);
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
  }
  .bmk-site-header .bmk-belfast-overview strong {
    display: block;
    font-size: 14px;
    font-weight: 950;
    line-height: 1.2;
  }
  .bmk-site-header .bmk-belfast-overview small {
    display: block;
    margin-top: 5px;
    color: #6f809d;
    font-size: 11px;
    font-weight: 700;
  }
  .bmk-site-header .bmk-belfast-arrow {
    position: absolute;
    top: 50%;
    right: 14px;
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 8px;
    background: var(--red);
    color: #fff;
    font-size: 14px;
    font-weight: 950;
    transform: translateY(-50%);
  }
  .bmk-site-header .bmk-belfast-overview:hover,
  .bmk-site-header .bmk-belfast-overview:focus-visible,
  .bmk-site-header .bmk-belfast-overview.is-active {
    border-color: #ffbcbc;
    box-shadow: 0 13px 28px rgba(5,19,48,.10);
    outline: none;
    transform: translateY(-1px);
  }
  .bmk-site-header .bmk-belfast-zone-links {
    display: grid;
    gap: 5px;
    margin-top: 11px;
  }
  .bmk-site-header .bmk-belfast-zone-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 38px;
    padding: 8px 10px 8px 12px;
    border-radius: 10px;
    color: #26395f;
    font-size: 12.5px;
    font-weight: 850;
    transition: color .15s ease, background .15s ease, padding-left .15s ease;
  }
  .bmk-site-header .bmk-belfast-zone-links a span {
    color: #94a1b7;
    font-size: 12px;
  }
  .bmk-site-header .bmk-belfast-zone-links a:hover,
  .bmk-site-header .bmk-belfast-zone-links a:focus-visible,
  .bmk-site-header .bmk-belfast-zone-links a.is-active {
    padding-left: 15px;
    color: var(--red2);
    background: rgba(255,255,255,.92);
    outline: none;
  }
}

/* Mobile navigation: clean hierarchy, compact two-column area grid, no nested <details>. */
@media (max-width: 920px) {
  .bmk-site-header .bmk-mobile-menu {
    background: #fff;
  }
  .bmk-site-header .bmk-mobile-menu-inner {
    padding-top: 8px;
    padding-bottom: max(18px, env(safe-area-inset-bottom));
  }
  .bmk-site-header .bmk-mobile-link,
  .bmk-site-header .bmk-mobile-group-toggle {
    min-height: 50px;
    padding: 12px 4px;
    font-size: 15px;
    font-weight: 900;
  }
  .bmk-site-header .bmk-mobile-boiler-inner {
    gap: 12px;
    padding: 10px 0 10px !important;
    border-bottom: 1px solid #e7eef9;
  }
  .bmk-site-header .bmk-mobile-boiler-section {
    min-width: 0;
  }
  .bmk-site-header .bmk-mobile-section-title {
    padding: 0 2px 8px;
    color: #71809a;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: 1.15px;
    line-height: 1.2;
    text-transform: uppercase;
  }
  .bmk-site-header .bmk-mobile-belfast-section {
    padding: 12px;
    border: 1px solid #d7e4f5;
    border-radius: 15px;
    background: linear-gradient(155deg, #f5f9ff, #fff9f9);
  }
  .bmk-site-header .bmk-mobile-belfast-overview {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-height: 45px !important;
    padding: 10px 11px !important;
    border: 1px solid #cddcf0 !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: var(--navy) !important;
  }
  .bmk-site-header .bmk-mobile-belfast-overview span {
    font-size: 13.5px;
    font-weight: 950;
  }
  .bmk-site-header .bmk-mobile-belfast-overview small {
    padding: 4px 7px;
    border-radius: 999px;
    background: #fff0f0;
    color: var(--red2);
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .3px;
    text-transform: uppercase;
  }
  .bmk-site-header .bmk-mobile-belfast-grid,
  .bmk-site-header .bmk-mobile-boiler-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }
  .bmk-site-header .bmk-mobile-belfast-grid { margin-top: 7px; }
  .bmk-site-header .bmk-mobile-belfast-grid a,
  .bmk-site-header .bmk-mobile-boiler-grid a {
    display: flex !important;
    align-items: center !important;
    min-width: 0;
    min-height: 42px !important;
    padding: 8px 9px !important;
    border: 1px solid #e1eaf6 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #26395f !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
  }
  .bmk-site-header .bmk-mobile-belfast-grid a:hover,
  .bmk-site-header .bmk-mobile-belfast-grid a:focus-visible,
  .bmk-site-header .bmk-mobile-belfast-grid a.is-active,
  .bmk-site-header .bmk-mobile-boiler-grid a:hover,
  .bmk-site-header .bmk-mobile-boiler-grid a:focus-visible,
  .bmk-site-header .bmk-mobile-boiler-grid a.is-active {
    border-color: #ffcaca !important;
    background: #fff6f6 !important;
    color: var(--red2) !important;
    outline: none !important;
  }
}

@media (max-width: 340px) {
  .bmk-site-header .bmk-mobile-belfast-grid,
  .bmk-site-header .bmk-mobile-boiler-grid { grid-template-columns: 1fr; }
}

/* Full footer sitemap, using site typography rather than introducing a new font treatment. */
.bmk-sitemap-footer{background:#03102a;color:#dce8ff;font-family:Inter,Arial,Helvetica,sans-serif!important;padding:52px 0 0;margin:0;}
.bmk-sitemap-wrap{width:min(1180px,calc(100% - 32px));margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr 1fr 1.55fr .95fr;gap:34px;align-items:start;}
.bmk-sitemap-intro p{font-size:14px;line-height:1.65;color:#aebfdb;margin:16px 0;max-width:300px;}
.bmk-sitemap-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:#fff;font-size:25px;font-weight:950;}
.bmk-sitemap-brand small{display:block;font-size:9px;letter-spacing:1px;color:#9fb3d3;max-width:72px;line-height:1.15;}
.bmk-sitemap-call,.bmk-sitemap-email{display:block;color:#fff;text-decoration:none;font-weight:850;margin-top:8px;font-size:14px;overflow-wrap:anywhere;}
.bmk-sitemap-call{color:#fff;}
.bmk-sitemap-email{color:#9fc0f5;font-weight:700;}
.bmk-sitemap-column h2{font-size:13px!important;line-height:1.2!important;text-transform:uppercase;letter-spacing:1.25px;color:#fff!important;margin:0 0 14px!important;font-weight:950!important;}
.bmk-sitemap-column>a,.bmk-sitemap-link-grid a{display:block;color:#b9c9e2!important;text-decoration:none!important;font-size:13px!important;line-height:1.35!important;padding:5px 0!important;margin:0!important;font-weight:650!important;}
.bmk-sitemap-column a:hover,.bmk-sitemap-column a:focus-visible{color:#fff!important;text-decoration:underline!important;text-underline-offset:3px;}
.bmk-sitemap-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;}
.bmk-sitemap-bottom{margin-top:38px;border-top:1px solid rgba(255,255,255,.12);padding:18px max(16px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#8296b8;font-family:Inter,Arial,Helvetica,sans-serif!important;font-size:12px;line-height:1.5;font-weight:600;}
.bmk-sitemap-bottom a{color:#b8cbed;text-decoration:none;}
@media(max-width:980px){.bmk-sitemap-wrap{grid-template-columns:repeat(2,minmax(0,1fr));}.bmk-sitemap-intro,.bmk-sitemap-column-wide{grid-column:span 2;}.bmk-sitemap-link-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:620px){.bmk-sitemap-footer{padding-top:36px}.bmk-sitemap-wrap{grid-template-columns:1fr;gap:26px}.bmk-sitemap-intro,.bmk-sitemap-column-wide{grid-column:auto}.bmk-sitemap-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.bmk-sitemap-bottom{margin-top:28px}.bmk-sitemap-intro p{max-width:none}}
@media(max-width:390px){.bmk-sitemap-link-grid{grid-template-columns:1fr}}

/* Homepage enquiry form: final mobile cascade safeguard. */
#quote .quote-box,#quote .quote-copy,#quote .quote-form,#quote .form-grid,#quote .form-grid>div{min-width:0;}
#quote .quote-form input,#quote .quote-form select,#quote .quote-form textarea,#quote .quote-form button{box-sizing:border-box;max-width:100%;}
@media (max-width:760px){
  #quote .quote-box{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;}
  #quote .quote-copy,#quote .quote-form{width:100%!important;min-width:0!important;padding:26px 22px!important;}
  #quote .form-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;width:100%!important;}
  #quote .form-grid>div,#quote .form-grid>.full{grid-column:1/-1!important;width:100%!important;min-width:0!important;}
  #quote .quote-form input,#quote .quote-form select,#quote .quote-form textarea,#quote .quote-form button{display:block;width:100%!important;min-width:0!important;max-width:100%!important;}
  #quote .quote-form textarea{min-height:120px;}
}
@media (max-width:400px){
  #quote .quote-copy,#quote .quote-form{padding:22px 18px!important;}
}
