:root{
        --bg:#f2f5f7;
        --surface:#ffffff;
        --surface-2:#e8edf1;
        --ink:#0b1d2e;
        --ink-2:#33566e;
        --muted:#47617a;
        --line:#cfdae2;
        --navy:#0a1e32;
        --navy-2:#10293f;
        --amber:#f2a413;
        --amber-dark:#b97a06;
        --amber-ink:#231600;
        --on-navy:#eef4f8;
        --on-navy-muted:#a9bfd0;
        --focus:#0b62d6;
        --ok:#146c43;
        --danger:#b3261e;
        --radius:14px;
        --shadow:0 18px 40px rgba(10,30,50,.14);
      }
      @media (prefers-color-scheme: dark){
        :root{
          --bg:#081420;
          --surface:#0e2233;
          --surface-2:#123049;
          --ink:#eef4f8;
          --ink-2:#b8cfdf;
          --muted:#9db4c6;
          --line:#26445c;
          --navy:#06121e;
          --navy-2:#0a1e32;
          --on-navy:#eef4f8;
          --on-navy-muted:#a9bfd0;
          --focus:#7db4ff;
          --shadow:0 18px 40px rgba(0,0,0,.45);
        }
      }
      *{box-sizing:border-box}
      html{scroll-behavior:smooth}
      @media (prefers-reduced-motion: reduce){
        html{scroll-behavior:auto}
        *{animation:none!important;transition:none!important}
      }
      body{
        margin:0;background:var(--bg);color:var(--ink);
        font-family:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
        font-size:17px;line-height:1.55;
        padding-bottom:64px;
      }
      @media (min-width:861px){ body{padding-bottom:0} }
      img{max-width:100%;display:block}
      a{color:var(--ink-2)}
      :focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}

      .skip-link{
        position:absolute;left:16px;top:-60px;z-index:1000;
        background:var(--amber);color:var(--amber-ink);font-weight:700;
        padding:10px 18px;border-radius:0 0 10px 10px;text-decoration:none;
        transition:top .15s ease;
      }
      .skip-link:focus{top:0}

      /* ---------- Preview chrome ---------- */
      .preview-banner{
        background:var(--amber);color:var(--amber-ink);
        font-size:13.5px;font-weight:600;letter-spacing:.01em;
        text-align:center;padding:7px 14px;
      }
      .watermark{
        position:fixed;inset:0;z-index:900;pointer-events:none;
        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520'%3E%3Cg fill='%235a6b7a' fill-opacity='0.16' font-family='Arial,sans-serif' font-size='44' font-weight='700' letter-spacing='6'%3E%3Ctext x='-40' y='150' transform='rotate(-32 260 260)'%3EPREVIEW%3C/text%3E%3Ctext x='90' y='330' transform='rotate(-32 260 260)'%3EPREVIEW%3C/text%3E%3Ctext x='-60' y='520' transform='rotate(-32 260 260)'%3EPREVIEW%3C/text%3E%3Ctext x='240' y='60' transform='rotate(-32 260 260)'%3EPREVIEW%3C/text%3E%3C/g%3E%3C/svg%3E");
        background-size:520px 520px;
      }

      /* ---------- Header ---------- */
      .site-header{
        position:sticky;top:0;z-index:600;
        background:var(--navy);color:var(--on-navy);
        box-shadow:0 2px 14px rgba(4,16,28,.35);
      }
      .header-in{
        max-width:1180px;margin:0 auto;padding:10px 20px;
        display:flex;align-items:center;gap:18px;
      }
      .brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--on-navy);flex:none}
      .brand-mark{
        width:42px;height:42px;border-radius:9px;background:var(--amber);
        display:grid;place-items:center;flex:none;
      }
      .brand-name{
        font-family:"Barlow Condensed",sans-serif;font-weight:700;
        font-size:26px;letter-spacing:.045em;line-height:1;text-transform:uppercase;
      }
      .brand-sub{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-navy-muted);margin-top:3px}
      .main-nav{margin-left:auto}
      .main-nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0;align-items:center}
      .main-nav a,.nav-drop-btn{
        color:var(--on-navy);text-decoration:none;font-weight:600;font-size:16px;
        padding:9px 12px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;
        background:none;border:0;cursor:pointer;font-family:inherit;
      }
      .main-nav a:hover,.nav-drop-btn:hover,.main-nav a[aria-current="page"]{background:var(--navy-2);color:var(--amber)}
      .nav-drop{position:relative}
      .nav-drop-menu{
        position:absolute;top:calc(100% + 6px);left:0;min-width:290px;
        background:var(--surface);border:1px solid var(--line);border-radius:12px;
        box-shadow:var(--shadow);padding:8px;display:none;
      }
      .nav-drop-menu.open{display:block}
      .nav-drop-menu a{color:var(--ink);display:block;padding:9px 12px;border-radius:8px}
      .nav-drop-menu a:hover{background:var(--surface-2);color:var(--ink)}
      .nav-drop-menu a small{display:block;color:var(--muted);font-weight:500;font-size:13.5px}
      .main-nav a.header-call{
        margin-left:10px;background:var(--amber);color:var(--amber-ink);
        font-weight:700;border-radius:9px;padding:11px 18px;
      }
      .main-nav a.header-call:hover{background:#ffc44d;color:var(--amber-ink)}
      .menu-btn{
        display:none;margin-left:auto;background:var(--navy-2);color:var(--on-navy);
        border:1px solid #2a4a66;border-radius:9px;padding:9px 14px;
        font:600 16px "Barlow",sans-serif;cursor:pointer;align-items:center;gap:8px;
      }
      .mobile-menu{display:none;background:var(--navy);border-top:1px solid #1d3c55;padding:10px 20px 18px}
      .mobile-menu.open{display:block}
      .mobile-menu a{display:block;color:var(--on-navy);text-decoration:none;font-weight:600;padding:10px 6px;border-bottom:1px solid #16304a}
      .mobile-menu a:last-child{border-bottom:0}
      .mobile-menu .mm-group{color:var(--amber);font-family:"Barlow Condensed",sans-serif;letter-spacing:.1em;text-transform:uppercase;font-size:14px;padding:14px 6px 2px}
      @media (max-width:960px){
        .main-nav{display:none}
        .menu-btn{display:inline-flex}
        .header-call{display:none!important}
      }

      /* ---------- Layout ---------- */
      .wrap{max-width:1180px;margin:0 auto;padding:0 20px}
      .view{display:none}
      .view.active{display:block}
      section{padding:64px 0}
      .section-tight{padding:40px 0}
      .section-alt{background:var(--surface-2)}
      .section-navy{background:var(--navy);color:var(--on-navy)}
      .section-navy .muted{color:var(--on-navy-muted)}
      h1,h2,h3{font-family:"Barlow Condensed",sans-serif;line-height:1.08;margin:0 0 14px;color:var(--ink)}
      .section-navy h1,.section-navy h2,.section-navy h3{color:var(--on-navy)}
      h1{font-size:clamp(40px,6vw,62px);font-weight:700;letter-spacing:.01em}
      h2{font-size:clamp(30px,4vw,42px);font-weight:700}
      h3{font-size:24px;font-weight:600}
      p{margin:0 0 16px}
      .lede{font-size:20px;line-height:1.5}
      .muted{color:var(--muted)}
      .rule{display:flex;align-items:center;gap:10px;margin-bottom:16px}
      .rule::before{content:"";width:38px;height:3px;background:var(--amber);border-radius:2px}
      .rule span{font-family:"Barlow Condensed",sans-serif;font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:15px;color:var(--amber-dark)}
      @media (prefers-color-scheme: dark){ .rule span{color:var(--amber)} }

      .btn{
        display:inline-flex;align-items:center;gap:9px;text-decoration:none;cursor:pointer;
        font-weight:700;font-size:17px;border-radius:10px;padding:14px 24px;border:2px solid transparent;
        font-family:"Barlow",sans-serif;
      }
      .btn-amber{background:var(--amber);color:var(--amber-ink)}
      .btn-amber:hover{background:#ffc44d}
      .btn-outline{border-color:var(--ink-2);color:var(--ink);background:transparent}
      .btn-outline:hover{background:var(--surface-2)}
      .btn-outline-light{border-color:var(--on-navy-muted);color:var(--on-navy);background:transparent}
      .btn-outline-light:hover{border-color:var(--amber);color:var(--amber)}
      .btn-navy{background:var(--navy);color:#fff}
      .btn-navy:hover{background:var(--navy-2)}
      .btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

      /* ---------- Hero ---------- */
      .hero{background:var(--navy);color:var(--on-navy);padding:0;overflow:hidden}
      .hero-grid{
        max-width:1180px;margin:0 auto;padding:56px 20px 64px;
        display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:start;
      }
      .hero h1{color:#fff}
      .hero h1 .hl{color:var(--amber)}
      .hero .lede{color:var(--on-navy-muted);max-width:34em}
      .hero-photo{position:relative;margin-top:30px}
      .hero-photo img{border-radius:var(--radius);width:100%;height:300px;object-fit:cover}
      .hero-photo::after{
        content:"";position:absolute;inset:0;border-radius:var(--radius);
        box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
      }
      .hero-photo figcaption{
        position:absolute;left:14px;bottom:12px;background:rgba(6,18,30,.82);color:#fff;
        font-size:13.5px;font-weight:600;padding:6px 12px;border-radius:7px;
      }
      .trust-stack{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:10px}
      .trust-stack li{display:flex;gap:11px;align-items:flex-start;font-weight:600;font-size:16.5px}
      .trust-stack svg{flex:none;margin-top:2px}
      .form-card{
        background:var(--surface);color:var(--ink);border-radius:16px;
        box-shadow:var(--shadow);padding:28px 26px 24px;
      }
      .form-card h2{font-size:30px;margin-bottom:4px}
      .form-card .fc-sub{color:var(--muted);font-size:15.5px;margin-bottom:18px}
      .field{margin-bottom:15px}
      .field label{display:block;font-weight:600;font-size:15px;margin-bottom:6px}
      .field label .req{color:var(--danger)}
      .field .hint{font-weight:400;color:var(--muted);font-size:13.5px}
      .field input,.field select,.field textarea{
        width:100%;font:inherit;font-size:16.5px;color:var(--ink);
        background:var(--bg);border:1.5px solid var(--line);border-radius:9px;
        padding:11px 13px;
      }
      .field textarea{min-height:86px;resize:vertical}
      .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--focus);outline:3px solid var(--focus);outline-offset:1px}
      .form-error{
        display:none;background:#fdecea;color:#7c1a14;border:1px solid #f2b8b2;
        border-radius:9px;padding:10px 14px;font-size:15px;font-weight:600;margin-bottom:14px;
      }
      @media (prefers-color-scheme: dark){
        .form-error{background:#3d130f;color:#ffb4ab;border-color:#7c2d24}
      }
      .form-error.show{display:block}
      .form-card .btn{width:100%;justify-content:center}
      .form-fine{font-size:13.5px;color:var(--muted);margin:12px 0 0;text-align:center}

      /* ---------- Buy option band ---------- */
      .buy-band{background:var(--amber);color:var(--amber-ink);padding:26px 0}
      .buy-band .wrap{display:flex;flex-wrap:wrap;gap:16px 34px;align-items:center;justify-content:space-between}
      .buy-band strong{font-family:"Barlow Condensed",sans-serif;font-size:27px;font-weight:700;letter-spacing:.02em}
      .buy-band p{margin:0;font-weight:600;font-size:16.5px;max-width:46em}
      .buy-band .btn{background:var(--navy);color:#fff;flex:none}
      .buy-band .btn:hover{background:var(--navy-2)}

      /* ---------- Glance grid ---------- */
      .glance{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
      .glance-item{
        background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
        padding:20px 20px 17px;
      }
      .glance-item .g-top{display:flex;align-items:center;gap:10px;margin-bottom:6px}
      .glance-item h3{font-size:21px;margin:0}
      .glance-item p{margin:0;color:var(--muted);font-size:15.5px}
      .g-icon{width:38px;height:38px;border-radius:9px;background:var(--navy);display:grid;place-items:center;flex:none}
      @media (prefers-color-scheme: dark){ .g-icon{background:var(--amber)} .g-icon svg *{stroke:var(--amber-ink)} }

      /* ---------- Service cards ---------- */
      .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
      .card{
        background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
        overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);
      }
      .card img{height:180px;width:100%;object-fit:cover}
      .card-body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
      .card h3{margin:0;font-size:24px}
      .card p{margin:0;color:var(--muted);font-size:15.5px;flex:1}
      .card .card-link{font-weight:700;color:var(--amber-dark);display:inline-flex;gap:7px;align-items:center}
      @media (prefers-color-scheme: dark){ .card .card-link{color:var(--amber)} }
      a.card:hover{border-color:var(--amber-dark)}
      a.card:hover h3{color:var(--amber-dark)}
      @media (prefers-color-scheme: dark){ a.card:hover h3{color:var(--amber)} }

      /* ---------- Split ---------- */
      .split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
      .split img.ph{border-radius:var(--radius);width:100%;height:100%;min-height:320px;object-fit:cover}
      .check-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:11px}
      .check-list li{display:flex;gap:11px;align-items:flex-start;font-weight:500}
      .check-list svg{flex:none;margin-top:3px}
      .stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
      .stat{border-top:3px solid var(--amber);padding-top:12px}
      .stat .num{font-family:"Barlow Condensed",sans-serif;font-size:40px;font-weight:700;line-height:1}
      .stat .lbl{color:var(--muted);font-size:15px;margin-top:4px}

      /* ---------- Areas ---------- */
      .areas{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
      .area{
        background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;
      }
      .area h3{font-size:21px;margin-bottom:4px}
      .area p{margin:0;color:var(--muted);font-size:14.5px}
      .area-list{list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 0;padding:0}
      .area-list li{
        background:var(--surface);border:1px solid var(--line);border-radius:999px;
        padding:7px 15px;font-weight:600;font-size:15px;
      }

      /* ---------- Reviews ---------- */
      .rating-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:34px}
      .rating-card{
        background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;
        display:flex;flex-direction:column;gap:6px;
      }
      .rating-card .rc-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
      .rating-card .score{font-family:"Barlow Condensed",sans-serif;font-size:52px;font-weight:700;line-height:1}
      .stars{color:var(--amber-dark);letter-spacing:2px;font-size:19px}
      @media (prefers-color-scheme: dark){ .stars{color:var(--amber)} }
      .rating-card p{margin:0;color:var(--muted)}
      .rating-card a{font-weight:700;margin-top:8px}
      .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
      blockquote.testi{
        margin:0;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);
        padding:24px;display:flex;flex-direction:column;gap:14px;
      }
      blockquote.testi p{margin:0;font-size:16.5px}
      blockquote.testi footer{margin-top:auto}
      blockquote.testi .who{font-weight:700}
      blockquote.testi .where{color:var(--muted);font-size:14.5px}

      /* ---------- FAQ ---------- */
      .faq{border-top:1px solid var(--line)}
      .faq-item{border-bottom:1px solid var(--line)}
      .faq-q{
        width:100%;background:none;border:0;cursor:pointer;text-align:left;
        font:600 19px "Barlow",sans-serif;color:var(--ink);
        padding:19px 34px 19px 2px;position:relative;
      }
      .faq-q::after{
        content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);
        font-size:26px;font-weight:400;color:var(--amber-dark);
      }
      .faq-q[aria-expanded="true"]::after{content:"–"}
      .faq-a{display:none;padding:0 34px 20px 2px;color:var(--muted);max-width:56em}
      .faq-a.open{display:block}
      .faq-a p{margin:0}

      /* ---------- Service page ---------- */
      .svc-hero{background:var(--navy);color:var(--on-navy);padding:52px 0 58px}
      .svc-hero h1{color:#fff}
      .svc-hero .lede{color:var(--on-navy-muted);max-width:44em}
      .svc-photo{width:100%;height:340px;object-fit:cover;border-radius:var(--radius)}
      .fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
      .fact{
        background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;
      }
      .fact h3{font-size:20px;margin-bottom:6px}
      .fact p,.fact li{color:var(--muted);font-size:15.5px}
      .fact ul{margin:0;padding-left:18px}
      .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:step}
      .step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
      .step .n{
        width:36px;height:36px;border-radius:50%;background:var(--amber);color:var(--amber-ink);
        font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:20px;
        display:grid;place-items:center;margin-bottom:10px;
      }
      .step h3{font-size:21px;margin-bottom:5px}
      .step p{margin:0;color:var(--muted);font-size:15.5px}
      .rel-links{display:flex;flex-wrap:wrap;gap:12px}
      .rel-links a{
        background:var(--surface);border:1px solid var(--line);border-radius:10px;
        padding:12px 18px;font-weight:600;text-decoration:none;color:var(--ink);
      }
      .rel-links a:hover{border-color:var(--amber-dark);color:var(--amber-dark)}

      /* ---------- CTA band ---------- */
      .cta-band{background:var(--navy);color:var(--on-navy);padding:56px 0}
      .cta-band h2{color:#fff}
      .cta-band p{color:var(--on-navy-muted);max-width:44em}
      .cta-flex{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:space-between}
      .cta-flex .btn-row{margin-top:0}

      /* ---------- Contact ---------- */
      .contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:start}
      .big-phone{
        font-family:"Barlow Condensed",sans-serif;font-size:clamp(34px,5vw,46px);font-weight:700;
        color:var(--ink);text-decoration:none;display:inline-block;margin:6px 0 4px;
      }
      .big-phone:hover{color:var(--amber-dark)}
      .contact-facts{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:14px}
      .contact-facts li{display:flex;gap:12px;align-items:flex-start}
      .contact-facts svg{flex:none;margin-top:3px}
      .socials{display:flex;gap:12px;margin-top:24px}
      .socials a{
        width:46px;height:46px;border-radius:10px;background:var(--navy);
        display:grid;place-items:center;
      }
      .socials a:hover{background:var(--amber)}
      .socials a:hover svg *{fill:var(--amber-ink)}

      /* ---------- Footer ---------- */
      .site-footer{background:var(--navy);color:var(--on-navy);padding:52px 0 34px}
      .foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:34px}
      .site-footer h3{color:#fff;font-size:20px;margin-bottom:12px}
      .site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
      .site-footer a{color:var(--on-navy-muted);text-decoration:none}
      .site-footer a:hover{color:var(--amber)}
      .foot-brand p{color:var(--on-navy-muted);font-size:15px;max-width:30em}
      .foot-bottom{
        border-top:1px solid #1d3c55;margin-top:36px;padding-top:20px;
        display:flex;flex-wrap:wrap;gap:8px 26px;font-size:14px;color:var(--on-navy-muted);
      }
      .foot-bottom a{color:var(--on-navy-muted)}

      /* ---------- Mobile action bar ---------- */
      .mobile-bar{
        position:fixed;left:0;right:0;bottom:0;z-index:650;
        background:var(--navy);display:none;
        border-top:2px solid var(--amber);
        padding-bottom:env(safe-area-inset-bottom);
      }
      .mobile-bar a{
        flex:1;text-align:center;color:var(--on-navy);text-decoration:none;
        font-weight:700;font-size:15px;padding:13px 4px 12px;
        display:flex;flex-direction:column;align-items:center;gap:3px;
      }
      .mobile-bar a.call{background:var(--amber);color:var(--amber-ink)}
      @media (max-width:860px){ .mobile-bar{display:flex} }

      /* ---------- Thank you ---------- */
      .thanks{max-width:720px;margin:0 auto;text-align:center;padding:30px 0 10px}
      .thanks .badge{
        width:74px;height:74px;border-radius:50%;background:var(--amber);
        display:grid;place-items:center;margin:0 auto 22px;
      }

      @media (max-width:1020px){
        .cards,.quotes{grid-template-columns:repeat(2,1fr)}
        .areas{grid-template-columns:repeat(2,1fr)}
        .foot-grid{grid-template-columns:1fr 1fr}
      }
      @media (max-width:860px){
        .hero-grid{grid-template-columns:1fr;padding-top:40px}
        .glance,.fact-grid,.steps{grid-template-columns:1fr}
        .split,.contact-grid{grid-template-columns:1fr}
        .rating-cards{grid-template-columns:1fr}
        section{padding:48px 0}
      }
      @media (max-width:600px){
        .header-in{padding:10px 14px;gap:10px}
        .brand{gap:9px;min-width:0}
        .brand-mark{width:36px;height:36px}
        .brand-name{font-size:20px;white-space:nowrap}
        .brand-sub{font-size:10.5px}
        .menu-btn{padding:8px 11px;font-size:15px;flex:none}
        .cards,.quotes,.areas{grid-template-columns:1fr}
        .stat-row{grid-template-columns:1fr 1fr 1fr;gap:10px}
        .stat .num{font-size:30px}
        .foot-grid{grid-template-columns:1fr}
        .hero-photo img{height:230px}
      }
