:root,[data-theme="light"]{
--bg:oklch(98% .007 80);--surface:oklch(95% .013 80);--ink:oklch(29% .045 240);--muted:oklch(46% .025 240);--accent:oklch(35% .055 235);--border:oklch(29% .045 240 / .18);--white:oklch(98% .007 80);
--font-display:'Zodiak',Georgia,serif;--font-body:'Satoshi',Arial,sans-serif;
--text-xs:clamp(.75rem,.7rem + .2vw,.875rem);--text-sm:clamp(.875rem,.82rem + .2vw,1rem);--text-base:clamp(1rem,.95rem + .2vw,1.125rem);--text-lg:clamp(1.125rem,1rem + .5vw,1.4rem);--text-xl:clamp(1.5rem,1.15rem + 1.2vw,2.25rem);--text-hero:clamp(2.45rem,1.45rem + 3.1vw,4.4rem);
--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:3px;
color-scheme:light}
[data-theme="dark"]{--bg:oklch(20% .022 240);--surface:oklch(25% .025 240);--ink:oklch(94% .01 80);--muted:oklch(78% .015 220);--accent:oklch(80% .04 220);--border:oklch(94% .01 80 / .2);color-scheme:dark}
body{background:var(--bg);color:var(--ink);font:400 var(--text-base)/1.65 var(--font-body)}
main,section,article,aside,figure,.hero-copy,.local-action{min-width:0}
h1,h2,h3,p,a,summary{overflow-wrap:anywhere}
.wrap{width:min(1200px,calc(100% - var(--space-16)));margin-inline:auto}
.header{background:var(--bg);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding-block:var(--space-5)}
.identity{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;font-size:var(--text-base);font-weight:700;line-height:1.3}
.identity small{display:block;font-size:var(--text-xs);letter-spacing:.17em;font-weight:500;margin-top:var(--space-1)}
.logo{width:43px;height:43px;flex-shrink:0}
nav{display:flex;align-items:center;gap:var(--space-8);font-size:var(--text-sm)}
nav a{padding-block:var(--space-3);text-decoration:none}
.theme{color:var(--ink);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--text-xs);min-height:44px}
.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--space-16);align-items:center;padding-block:var(--space-16)}
.eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.13em;line-height:1.6}
h1{font:400 var(--text-hero)/1.15 var(--font-display);letter-spacing:-.055em;margin-top:var(--space-6)}
h1 span{color:var(--muted)}
.intro{max-width:48ch;margin-block:var(--space-8);color:var(--muted)}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:var(--space-8);min-height:52px;padding:var(--space-4) var(--space-6);font-size:var(--text-sm);font-weight:700;text-decoration:none;border:1px solid transparent;border-radius:var(--radius-sm);transition:background .18s ease,transform .18s ease}
.primary{background:var(--accent);color:var(--bg)}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}
.secondary{border-color:var(--border);color:var(--ink)}.secondary:hover{background:var(--surface)}
.caption{font-size:var(--text-xs);color:var(--muted);line-height:1.65;margin-top:var(--space-3);max-width:51ch}
.text-link{display:inline-flex;gap:var(--space-6);align-items:center;font-weight:700;font-size:var(--text-sm);text-decoration:none;min-height:44px;border-bottom:1px solid var(--border);padding-block:var(--space-2)}
.hero-copy>.text-link{margin-top:var(--space-6)}
.hero-image{position:relative;margin-left:var(--space-4)}
.hero-image img{width:100%;height:570px;object-fit:cover;object-position:center}
.hero-image figcaption{position:absolute;bottom:var(--space-6);left:calc(var(--space-8) * -1);background:var(--bg);border:1px solid var(--border);padding:var(--space-5) var(--space-8);font-size:var(--text-sm);line-height:1.6}
.hero-image figcaption span{display:block}
.hero-image figcaption{max-width:calc(100% - var(--space-8))}
.hero-image figcaption span:first-child{font-weight:700}
.service-band{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.band-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-5);font-size:var(--text-sm);color:var(--muted)}
.section{padding-block:var(--space-20)}
h2{font:400 var(--text-xl)/1.3 var(--font-display);letter-spacing:-.035em;margin-top:var(--space-4)}
h3{font-size:var(--text-lg);line-height:1.4;font-weight:700}
.section-label{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-8);margin-bottom:var(--space-12)}
.section-label h2{margin:0}
.online-service{display:grid;grid-template-columns:1.45fr 1fr;gap:var(--space-20);padding-bottom:var(--space-12);border-bottom:1px solid var(--border)}
.online-service h3,.local-service h3{margin-block:var(--space-3) var(--space-4)}
.online-service p:not(.eyebrow):not(.price),.local-service p:not(.eyebrow){color:var(--muted)}
.online-service .text-link{margin-top:var(--space-5)}
.rate{background:var(--surface);padding:var(--space-8)}
.price{font:400 var(--text-hero)/1.2 var(--font-display);margin-block:var(--space-3)}
.local-service{display:grid;grid-template-columns:1.45fr 1fr;gap:var(--space-20);padding-top:var(--space-12)}
.local-action{align-self:center}
.local-action .button{margin-top:var(--space-6)}
.email-address{display:inline-block;font-size:var(--text-sm);min-height:44px;padding-top:var(--space-3);overflow-wrap:anywhere}
.steps-section{background:var(--surface);padding-block:var(--space-16)}
.steps-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:var(--space-20)}
.steps-layout>div>p:last-child{max-width:30ch;margin-top:var(--space-6);color:var(--muted)}
.steps{padding:0;margin:0;list-style:none}
.steps li{display:flex;gap:var(--space-6);padding-block:var(--space-6);border-bottom:1px solid var(--border)}
.steps li:first-child{padding-top:0}.steps li:last-child{border:0;padding-bottom:0}
.step-number{font-size:var(--text-xs);padding-top:var(--space-1);color:var(--muted)}
.steps h3{font-size:var(--text-base)}.steps p{font-size:var(--text-sm);margin-top:var(--space-2);color:var(--muted)}
.partner{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--space-20);border-bottom:1px solid var(--border)}
.partner>.eyebrow{grid-column:1/-1;margin-bottom:var(--space-5)}
.partner h2{margin:0}.partner>div>p{color:var(--muted)}
.partner .text-link{margin-top:var(--space-5)}
.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-16)}
.faq-list details{border-bottom:1px solid var(--border)}
summary{list-style:none;cursor:pointer;position:relative;font-size:var(--text-base);font-weight:500;padding:var(--space-5) var(--space-8) var(--space-5) 0;min-height:44px}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';position:absolute;right:0;top:var(--space-5);font-size:var(--text-lg);line-height:1}
details[open]>summary::after{content:'−'}
details p{padding-bottom:var(--space-5);font-size:var(--text-sm);color:var(--muted)}
.final-cta{padding-block:var(--space-16);background:oklch(30% .045 240);color:var(--white)}
.final-cta h2{margin-bottom:var(--space-8)}
.light{background:var(--white);color:oklch(30% .045 240)}
.final-cta .caption{color:oklch(82% .018 220)}
.footer{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);padding-block:var(--space-12);font-size:var(--text-sm)}
.footer>div>p+p,.footer>div>a+p{margin-top:var(--space-2);color:var(--muted)}
.footer>div>a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.privacy,.legal{grid-column:1/-1}.privacy{border-block:1px solid var(--border)}
.privacy p{max-width:90ch}
.legal{font-size:var(--text-xs);color:var(--muted)}
@media(max-width:900px){.hero{gap:var(--space-8)}.hero-image img{height:520px}.online-service,.local-service,.steps-layout,.partner{gap:var(--space-10)}nav{gap:var(--space-4)}}
@media(max-width:680px){
.wrap{width:calc(100% - var(--space-8))}
.header-inner{gap:var(--space-3);padding-block:var(--space-4)}
.identity{font-size:var(--text-sm)}.identity small{font-size:var(--text-xs)}.logo{width:34px;height:34px}
nav>a{display:none}.theme{padding-inline:var(--space-2)}
.hero{grid-template-columns:1fr;padding-block:var(--space-10);gap:var(--space-10)}
h1{margin-top:var(--space-5)}.intro{margin-block:var(--space-6)}
.hero-image{margin-left:0}.hero-image img{height:310px;object-position:center 62%}
.hero-image figcaption{left:var(--space-4);bottom:var(--space-4);padding:var(--space-4) var(--space-5)}
.band-inner{flex-wrap:wrap;justify-content:flex-start;gap:var(--space-2) var(--space-4);padding-block:var(--space-4)}
.band-inner p{font-size:var(--text-xs)}.band-inner>span{display:none}
.band-inner p:not(:last-child)::after{content:' /';margin-left:var(--space-4)}
.section{padding-block:var(--space-12)}
.section-label{display:block;margin-bottom:var(--space-8)}.section-label h2{margin-top:var(--space-4)}
.online-service,.local-service,.steps-layout,.partner,.faq{grid-template-columns:1fr;gap:var(--space-8)}
.online-service{padding-bottom:var(--space-8)}.local-service{padding-top:var(--space-8)}
.steps-section{padding-block:var(--space-12)}.steps-layout>div>p:last-child{max-width:45ch}
.partner>.eyebrow{margin-bottom:0}.partner h2{margin-top:0}
.faq{gap:var(--space-5)}
.button{width:100%;gap:var(--space-4)}
.footer{grid-template-columns:1fr;padding-block:var(--space-8)}
.privacy,.legal{grid-column:auto}
}
/* ---- v2 additions: multi-page, pricing, credentials ---- */
.skip{position:absolute;left:-9999px}.skip:focus{left:var(--space-4);top:var(--space-4);background:var(--bg);padding:var(--space-3);z-index:10}
.main-nav{gap:var(--space-5)}.main-nav a,.theme{white-space:nowrap}
.main-nav a[aria-current="page"],.mobile-nav a[aria-current="page"]{border-bottom:1px solid var(--ink)}
.nav-cta{background:var(--accent);color:var(--bg);padding:var(--space-3) var(--space-4)!important;border-radius:var(--radius-sm);font-weight:700}
.mobile-nav{display:none;border-top:1px solid var(--border)}
.mobile-nav .wrap{display:flex;gap:var(--space-5);overflow-x:auto;scrollbar-width:none;font-size:var(--text-sm);white-space:nowrap}
.mobile-nav .wrap::-webkit-scrollbar{display:none}
.mobile-nav a{padding-block:var(--space-3);text-decoration:none;flex-shrink:0}
@media(max-width:1180px){.main-nav>a:not(.nav-cta){display:none}.mobile-nav{display:block}}
@media(max-width:680px){.main-nav>a.nav-cta{display:none}}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.final-cta .btn-row{margin-top:var(--space-6)}
.ghost{border-color:oklch(98% .007 80 / .35);color:var(--white)}.ghost:hover{background:oklch(98% .007 80 / .08)}
.cta-text{max-width:52ch;color:oklch(88% .015 220)}
.creds{border-block:1px solid var(--border);background:var(--surface)}
.creds-inner{display:flex;align-items:center;gap:var(--space-8);padding-block:var(--space-6)}
.nsa-badge{flex-shrink:0;display:inline-block;line-height:0}
.nsa-badge img{width:100px;height:100px;background:#fff;border-radius:50%}
.creds-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-5);font-size:var(--text-xs);flex:1}
.creds-list li{display:flex;flex-direction:column;gap:var(--space-1);border-left:1px solid var(--border);padding-left:var(--space-4)}
.creds-list strong{font-size:var(--text-sm);line-height:1.35}.creds-list span{color:var(--muted)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}
.svc{background:var(--bg);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-3)}
.svc h3{margin-top:var(--space-1)}.svc p:not(.eyebrow){color:var(--muted);font-size:var(--text-sm)}
.svc p a{text-decoration:underline}
.svc-foot{margin-top:auto;padding-top:var(--space-4);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}
.svc-price{font:400 var(--text-lg)/1.2 var(--font-display)}
.label-note{max-width:44ch;color:var(--muted);font-size:var(--text-sm)}
.h2like{font:400 var(--text-xl)/1.3 var(--font-display);letter-spacing:-.035em}
.link-stack{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}
.area{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-16);border-bottom:1px solid var(--border)}
.muted{color:var(--muted)}
.city-list{list-style:none;margin:0;padding:0;columns:3;column-gap:var(--space-8);font-size:var(--text-sm)}
.city-list li{padding-block:var(--space-2);border-bottom:1px solid var(--border);break-inside:avoid}
.page-hero{padding-block:var(--space-16) var(--space-10)}
.page-hero .intro{max-width:62ch}
.page-hero.split{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--space-12);align-items:center}
.badge-card{background:var(--surface);padding:var(--space-10);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);font-size:var(--text-sm)}
.badge-card .nsa-badge img{width:140px;height:140px}
.section.tight{padding-top:var(--space-6)}
.price-block{display:grid;grid-template-columns:1fr 1.8fr;gap:var(--space-12);padding-block:var(--space-10);border-top:1px solid var(--border)}
.price-block>.caption{grid-column:2;margin-top:calc(var(--space-8) * -1);max-width:none}
.price-block .caption a{text-decoration:underline}
.price-block h2{margin-top:var(--space-3)}.price-block .muted{font-size:var(--text-sm);margin-top:var(--space-3)}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}
thead th{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;text-align:left;padding:var(--space-3) var(--space-4) var(--space-3) 0;border-bottom:1px solid var(--ink)}
tbody th,tbody td{padding:var(--space-4) var(--space-4) var(--space-4) 0;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
tbody th{font-weight:500}
tbody td:last-child,thead th:last-child{text-align:right;font-weight:700;padding-right:0;min-width:7.5rem;width:34%}
tbody td:last-child{font-variant-numeric:tabular-nums}
.foot-links{font-size:var(--text-xs)}
.footer a{text-decoration:underline;text-underline-offset:3px}
.svc-grid.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:1000px){.creds-list{grid-template-columns:repeat(3,1fr)}.svc-grid,.svc-grid.three{grid-template-columns:repeat(2,1fr)}.city-list{columns:2}}
@media(max-width:680px){
.creds-inner{flex-direction:column;align-items:flex-start;gap:var(--space-5)}
.creds-list{grid-template-columns:1fr 1fr}
.svc-grid,.svc-grid.three{grid-template-columns:1fr}.svc{padding:var(--space-6)}
.area,.price-block,.page-hero.split{grid-template-columns:1fr;gap:var(--space-6)}
.price-block>.caption{grid-column:auto;margin-top:0}
.page-hero{padding-block:var(--space-10) var(--space-6)}
tbody td:last-child{white-space:normal}
.city-list{columns:2}
}
.section.svc-grid{padding:0;margin-block:var(--space-12)}
.hero-phone{margin-top:var(--space-4);font-size:var(--text-sm)}
.pricing-intro{max-width:68ch}
.legal-notes{padding-top:var(--space-6)}
.legal-notes .caption{max-width:90ch}
