        :root{
            --asphalt:#16181D;
            --asphalt-2:#1F232B;
            --paper:#F7F6F2;
            --paper-2:#EFEDE6;
            --ink:#181A1E;
            --ink-soft:#454B55;
            --slate:#5B6470;
            --blue:#1F63D6;
            --blue-deep:#174FB0;
            --blue-on-dark:#6AA3FF;
            --red:#BF0A30;
            --red-deep:#8E0A24;
            --red-on-dark:#FF6E7C;
            --logo-blue:#0F3D87;
            --logo-blue-light:#2F6BD4;
            --logo-blue-dark:#0A2A5E;
            --logo-red:#A30D29;
            --logo-red-light:#DC183D;
            --logo-red-dark:#71091D;
            --line:#D9D6CC;
            --line-dark:#2C313A;
            --maxw:1140px;
            --pad:clamp(20px,5vw,48px);
        }

        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

        body{
            margin:0;
            background:var(--paper);
            color:var(--ink);
            font-family:"Overpass",system-ui,-apple-system,sans-serif;
            font-size:17px;
            line-height:1.6;
            -webkit-font-smoothing:antialiased;
        }

        .wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}

        .eyebrow{
            font-family:"Overpass Mono",ui-monospace,monospace;
            font-size:.78rem;
            font-weight:600;
            letter-spacing:.14em;
            text-transform:uppercase;
            color:var(--blue-deep);
            display:inline-flex;
            align-items:center;
            gap:.7em;
            margin:0 0 1.1rem;
        }
        .eyebrow::before{
            content:"";
            width:34px;height:3px;
            background:currentColor;
            display:inline-block;
        }

        a{color:inherit}

        .btn{
            display:inline-flex;align-items:center;justify-content:center;gap:.55em;
            font-weight:700;font-size:1rem;line-height:1;
            padding:.95em 1.5em;border-radius:2px;
            text-decoration:none;cursor:pointer;border:2px solid transparent;
            transition:transform .12s ease,background-color .12s ease,border-color .12s ease;
        }
        @media (prefers-reduced-motion:reduce){.btn{transition:none}}
        .btn-primary{background:var(--blue);color:#fff;border-color:var(--blue)}
        .btn-primary:hover{background:var(--blue-deep);border-color:var(--blue-deep);transform:translateY(-1px)}

        .btn-ghost{background:transparent;color:var(--paper);border-color:rgba(247,246,242,.35)}
        .btn-ghost:hover{border-color:var(--paper);transform:translateY(-1px)}
        .btn-dark{background:var(--asphalt);color:var(--paper);border-color:var(--asphalt)}
        .btn-dark:hover{background:#000;border-color:#000;transform:translateY(-1px)}

        :focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:2px}

        /* ---------- Header ---------- */
        header.site{
            position:sticky;top:0;z-index:50;
            background:rgba(22,24,29,.96);
            border-bottom:1px solid var(--line-dark);
            color:var(--paper);
            backdrop-filter:saturate(140%) blur(6px);
        }
        .site .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:66px}
        .wordmark{display:inline-flex;align-items:center;gap:.55em;font-weight:800;letter-spacing:-.01em;font-size:clamp(1.1rem,3.4vw,1.7rem);line-height:1;text-decoration:none;color:var(--paper);white-space:nowrap}
        .wordmark b{color:var(--blue-on-dark)}
        .wordmark-logo{width:28px;height:28px;display:block;flex:none}
        .nav-right{display:flex;align-items:center;gap:1.4rem}
        .nav-phone{
            font-family:"Overpass Mono",monospace;font-weight:600;font-size:.98rem;
            text-decoration:none;color:var(--paper);white-space:nowrap;
        }
        .nav-phone:hover{color:var(--blue-on-dark)}
        .nav-right .btn{padding:.62em 1.05em;font-size:.92rem}
        @media (max-width:640px){.nav-phone{display:none}}

        /* ---------- Hero ---------- */
        .hero{
            position:relative;overflow:hidden;
            background:var(--asphalt);color:var(--paper);
            min-height:clamp(540px,80vh,780px);
            display:flex;flex-direction:column;justify-content:flex-end;
            padding-block:clamp(40px,7vw,76px);
        }
        .hero-bg{
            position:absolute;inset:0;z-index:0;
            width:100%;height:100%;object-fit:cover;object-position:center;
        }
        .hero-scrim{
            position:absolute;inset:0;z-index:1;
            background:
                    linear-gradient(95deg, rgba(18,20,25,.62) 0%, rgba(18,20,25,.22) 38%, rgba(18,20,25,0) 64%),
                    linear-gradient(to top, rgba(18,20,25,.6) 0%, rgba(18,20,25,0) 42%);
        }
        .hero .wrap{position:relative;z-index:2;width:100%}
        .hero .eyebrow{color:var(--blue-on-dark)}
        .hero h1{
            font-size:clamp(2.5rem,6.2vw,4.5rem);
            line-height:1.02;
            font-weight:800;
            letter-spacing:-.022em;
            margin:0 0 1.3rem;
            max-width:16ch;
        }
        .hero p.lede{
            font-size:clamp(1.08rem,1.9vw,1.35rem);
            color:#CFD2D8;
            max-width:54ch;
            margin:0 0 2.2rem;
            line-height:1.55;
        }
        .hero-cta{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center}
        .hero-callout{
            margin-top:2.4rem;
            display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .9rem;
            font-family:"Overpass Mono",monospace;
            color:#9AA1AC;font-size:.92rem;letter-spacing:.04em;
        }
        .hero-callout a{color:var(--paper);text-decoration:none;font-size:1.25rem;font-weight:700;letter-spacing:0}
        .hero-callout a:hover{color:var(--blue-on-dark)}

        /* ---------- Section scaffold ---------- */
        section{padding-block:clamp(56px,8vw,92px)}
        .section-head{max-width:62ch;margin:0 0 3rem}
        .section-head h2{
            font-size:clamp(1.8rem,3.6vw,2.6rem);
            line-height:1.08;letter-spacing:-.018em;font-weight:800;margin:0 0 .9rem;
        }
        .section-head p{margin:0;color:var(--ink-soft);font-size:1.1rem}

        /* ---------- Services ---------- */
        .services{background:var(--paper)}
        .svc-grid{display:grid;gap:1.4rem;grid-template-columns:repeat(3,1fr)}
        @media (max-width:760px){.svc-grid{grid-template-columns:1fr}}
        .svc{
            background:#fff;border:1px solid var(--line);border-radius:4px;
            padding:clamp(1.6rem,3vw,2.3rem);position:relative;
        }
        .svc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue)}
        .svc .tag{
            font-family:"Overpass Mono",monospace;font-size:.74rem;font-weight:600;
            letter-spacing:.13em;text-transform:uppercase;color:var(--slate);margin:0 0 .7rem;
        }
        .svc .tag i{margin-right:.55em;color:var(--blue)}
        .svc h3{font-size:1.42rem;line-height:1.15;font-weight:800;margin:0 0 .7rem;letter-spacing:-.01em}
        .svc p{margin:0 0 1.1rem;color:var(--ink-soft)}
        .svc ul{margin:0;padding:0;list-style:none}
        .svc li{
            padding-left:1.5em;position:relative;margin-bottom:.45rem;font-size:.99rem;color:var(--ink);
        }
        .svc li::before{
            content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;
            background:var(--blue);transform:rotate(45deg);
        }

        /* ---------- Catcher strip ---------- */
        .strip{background:var(--asphalt);color:var(--paper);padding-block:clamp(26px,4vw,42px)}
        .strip-grid{display:grid;grid-template-columns:repeat(4,1fr)}
        .strip-item{display:flex;align-items:center;gap:.85rem;padding:.4rem 1.5rem}
        .strip-item + .strip-item{border-left:1px solid var(--line-dark)}
        .strip-ico{flex:none;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;color:var(--blue-on-dark)}
        .strip-ico i{font-size:25px;line-height:1}
        .strip-item h3{margin:0;font-size:1.04rem;font-weight:800;letter-spacing:-.01em;line-height:1.12}
        .strip-item p{margin:.18rem 0 0;font-family:"Overpass Mono",monospace;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:#9AA1AC}
        @media (max-width:860px){
            .strip-grid{grid-template-columns:1fr 1fr}
            .strip-item{padding:.85rem 1.2rem}
            .strip-item:nth-child(odd){border-left:none}
            .strip-item:nth-child(n+3){border-top:1px solid var(--line-dark)}
        }
        @media (max-width:460px){
            .strip-grid{grid-template-columns:1fr}
            .strip-item{border-left:none!important;border-top:1px solid var(--line-dark)}
            .strip-item:first-child{border-top:none}
        }

        /* ---------- Why us ---------- */
        .why{background:var(--paper-2)}
        .why-grid{display:grid;gap:2rem;grid-template-columns:repeat(3,1fr)}
        @media (max-width:820px){.why-grid{grid-template-columns:1fr;gap:1.6rem}}
        .why-item .num{
            font-family:"Overpass Mono",monospace;font-weight:700;font-size:.85rem;
            color:var(--blue-deep);letter-spacing:.1em;margin:0 0 .6rem;
        }
        .why-item h3{font-size:1.28rem;font-weight:800;margin:0 0 .5rem;letter-spacing:-.01em}
        .why-item p{margin:0;color:var(--ink-soft)}

        /* ---------- Coverage ---------- */
        .coverage{background:var(--asphalt);color:var(--paper)}
        .coverage .eyebrow{color:var(--blue-on-dark)}
        .coverage h2{font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.1;font-weight:800;letter-spacing:-.02em;margin:0 0 1.1rem;max-width:20ch}
        .coverage p{color:#CFD2D8;max-width:58ch;margin:0;font-size:1.12rem}
        .coverage .states{
            margin-top:2rem;font-family:"Overpass Mono",monospace;font-size:.95rem;
            color:#9AA1AC;letter-spacing:.05em;border-top:1px solid var(--line-dark);padding-top:1.3rem;
        }
        .coverage .states b{color:var(--blue-on-dark);font-weight:700}

        /* ---------- Form ---------- */
        .lead{background:var(--paper)}
        .lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
        @media (max-width:820px){.lead-grid{grid-template-columns:1fr;gap:2rem}}
        .lead-copy h2{font-size:clamp(1.9rem,3.8vw,2.7rem);line-height:1.08;font-weight:800;letter-spacing:-.018em;margin:0 0 1rem}
        .lead-copy p{color:var(--ink-soft);font-size:1.1rem;margin:0 0 1.4rem}
        .lead-copy .alt{
            font-family:"Overpass Mono",monospace;font-size:.95rem;color:var(--slate);
            border-top:1px solid var(--line);padding-top:1.3rem;margin-top:1.6rem;letter-spacing:.03em;
        }
        .lead-copy .alt a{color:var(--ink);font-weight:700;text-decoration:none}
        .lead-copy .alt a:hover{color:var(--blue-deep)}

        form{background:#fff;border:1px solid var(--line);border-radius:4px;padding:clamp(1.6rem,3vw,2.3rem)}
        .field{margin-bottom:1.15rem}
        .field label{display:block;font-weight:700;font-size:.92rem;margin-bottom:.4rem}
        .field .req{color:var(--red);font-family:"Overpass Mono",monospace;font-size:.8rem}
        .field input,.field textarea{
            width:100%;font-family:inherit;font-size:1rem;color:var(--ink);
            padding:.8em .9em;border:1.5px solid var(--line);border-radius:3px;background:var(--paper);
            transition:border-color .12s ease,background-color .12s ease;
        }
        @media (prefers-reduced-motion:reduce){.field input,.field textarea{transition:none}}
        .field input:focus,.field textarea:focus{outline:none;border-color:var(--blue);background:#fff}
        .field textarea{min-height:130px;resize:vertical}
        form .btn-primary{width:100%;margin-top:.4rem;padding:1.05em}
        .form-note{
            font-family:"Overpass Mono",monospace;font-size:.78rem;color:var(--slate);
            margin:.9rem 0 0;letter-spacing:.03em;text-align:center;
        }

        /* ---------- Footer ---------- */
        footer.site{background:var(--asphalt-2);color:#B7BCC4;border-top:1px solid var(--line-dark);padding-block:2.6rem}
        footer .wrap{display:flex;flex-wrap:wrap;gap:1.4rem 2.4rem;align-items:center;justify-content:space-between}
        footer .fwordmark{display:inline-flex;align-items:center;gap:.5em;font-weight:800;color:var(--paper);font-size:1.02rem}
        footer .fwordmark-logo{width:24px;height:24px;display:block;flex:none}
        footer .fmeta{font-family:"Overpass Mono",monospace;font-size:.86rem;letter-spacing:.04em;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem}
        footer .fmeta a{color:var(--paper);text-decoration:none}
        footer .fmeta a:hover{color:var(--blue-on-dark)}
        footer .legal{width:100%;border-top:1px solid var(--line-dark);padding-top:1.3rem;font-size:.82rem;color:#7E848D}
