
:root{--navy:#063160;--cyan:#00C2FF;--deep:#041F40;--light:#C8DDF5;--cool:#F0F6FF;--white:#fff;--ink:#0d1b2e;--muted:#4a5b70;--ring:rgba(0,194,255,.55)}
*{box-sizing:border-box;margin:0;padding:0}

.nscm-region-root{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit}
.container{max-width:1120px;margin:0 auto;padding:0 24px}
.site-header{background:var(--deep);color:#fff;position:sticky;top:0;z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--cyan),var(--navy));display:grid;place-items:center;color:#fff;font-weight:700;font-size:15px}
.brand-name{font-weight:700;letter-spacing:.02em;font-size:15px}
.brand-name small{display:block;font-weight:500;color:var(--light);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.header-nav{display:flex;align-items:center;gap:22px}
.header-nav a{color:var(--light);text-decoration:none;font-size:14px;font-weight:500}
.header-nav a:hover{color:var(--cyan)}
.phone-chip{display:flex;align-items:center;gap:8px;background:var(--navy);border:1px solid rgba(0,194,255,.4);padding:8px 14px;border-radius:999px;font-weight:600;font-size:13.5px;color:#fff;text-decoration:none;white-space:nowrap}
.phone-chip .pulse{width:9px;height:9px;border-radius:50%;background:var(--cyan);animation:pulse 1.8s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 var(--ring)}70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}
.hero{background:radial-gradient(1100px 520px at 82% -10%,rgba(0,194,255,.22),transparent 60%),linear-gradient(160deg,var(--deep) 0%,var(--navy) 55%,#0a3d74 100%);color:#fff;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(200,221,245,.14) 1px,transparent 1px);background-size:26px 26px;opacity:.55;pointer-events:none}
.hero-inner{position:relative;z-index:1;padding:84px 0 96px;max-width:1120px;margin:0 auto;padding-left:24px;padding-right:24px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--cyan);font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--cyan)}
.hero h1{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:clamp(34px,5.4vw,58px);line-height:1.06;letter-spacing:-.01em;max-width:16ch}
.hero h1 em{font-style:normal;color:var(--cyan)}
.nscm-region-root .hero h1{color:#fff}
.nscm-region-root .hero h1 em{color:var(--cyan)}
.hero p.lede{margin-top:22px;max-width:56ch;font-size:clamp(16px,1.6vw,19px);color:var(--light)}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 26px;border-radius:12px;font-weight:700;font-size:15.5px;text-decoration:none;border:0;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--cyan),#3ec9ff);color:var(--deep);box-shadow:0 12px 30px rgba(0,194,255,.35)}
.btn-primary:hover{box-shadow:0 16px 38px rgba(0,194,255,.5)}
.btn-ghost{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.28);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.hero-note{margin-top:26px;font-size:13px;color:var(--light);opacity:.85}
.flow{background:var(--cool)}
.flow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:72px 0}
.flow h2,.services h2,.coverage h2,.assessment h2{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:clamp(26px,3vw,36px);color:var(--navy);line-height:1.15}
.flow .sec-head,.services .sec-head,.coverage .sec-head,.assessment .sec-head{grid-column:1/-1;margin-bottom:8px}
.flow .sec-head p,.services .sec-head p,.coverage .sec-head p,.assessment .sec-head p{margin-top:10px;color:var(--muted);max-width:60ch}
.step{background:#fff;border:1px solid var(--light);border-radius:16px;padding:26px;box-shadow:0 6px 22px rgba(6,49,96,.05)}
.step-num{font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:13px;letter-spacing:.12em;color:var(--cyan)}
.step h3{margin-top:10px;font-size:18px;color:var(--navy)}
.step p{margin-top:8px;font-size:14.5px;color:var(--muted)}
.services{background:#fff}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:72px 0}
.svc{border:1px solid var(--light);border-radius:16px;padding:24px;background:linear-gradient(180deg,#fff,var(--cool));transition:transform .12s ease,border-color .12s ease}
.svc:hover{transform:translateY(-3px);border-color:var(--cyan)}
.svc .ico{width:42px;height:42px;border-radius:11px;background:var(--navy);color:var(--cyan);display:grid;place-items:center;font-size:20px;margin-bottom:14px}
.svc h3{font-size:17px;color:var(--navy)}
.svc p{margin-top:8px;font-size:14px;color:var(--muted)}
.coverage{background:linear-gradient(180deg,var(--deep),var(--navy));color:#fff}
.coverage-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;padding:72px 0;align-items:start}
.coverage h2{color:#fff}
.coverage p{color:var(--light)}
.coverage .honest{margin-top:18px;background:rgba(200,221,245,.1);border-left:3px solid var(--cyan);padding:14px 16px;border-radius:0 10px 10px 0;font-size:13.5px;color:var(--light)}
.zip-list{display:flex;flex-wrap:wrap;gap:8px}
.zip-tag{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600;color:#fff}
.city-line{font-size:14px;color:var(--light);margin-top:6px}
.assessment{background:var(--cool)}
.assessment-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;padding:72px 0;align-items:start}
.form-card{background:#fff;border:1px solid var(--light);border-radius:18px;padding:30px;box-shadow:0 14px 40px rgba(6,49,96,.08)}
.form-card label{display:block;font-size:13.5px;font-weight:600;color:var(--navy);margin:18px 0 8px}
.form-card label:first-child{margin-top:0}
.form-card input[type=text],.form-card input[type=tel],.form-card input[type=email],.form-card select{width:100%;padding:12px 14px;border:1px solid var(--light);border-radius:10px;font-size:15px;font-family:inherit;color:var(--ink);background:#fff}
.form-card input:focus,.form-card select:focus{outline:2px solid var(--cyan);outline-offset:1px;border-color:var(--cyan)}
.chip-row{display:flex;flex-wrap:wrap;gap:9px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip span{display:inline-block;border:1px solid var(--light);border-radius:999px;padding:9px 15px;font-size:13.5px;font-weight:600;color:var(--navy);background:#fff;transition:all .12s}
.chip input:checked+span{background:var(--navy);color:#fff;border-color:var(--navy)}
.chip input:focus-visible+span{outline:2px solid var(--cyan);outline-offset:2px}
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:13px;color:var(--muted)}
.consent input{margin-top:3px;accent-color:var(--navy)}
.form-submit{width:100%;margin-top:22px;background:linear-gradient(135deg,var(--cyan),#3ec9ff);color:var(--deep);border:0;border-radius:12px;padding:16px;font-size:16px;font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
.form-submit:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,194,255,.4)}
.form-status{margin-top:14px;font-size:13.5px;min-height:20px}
.form-status.ok{color:#0a7a3d}
.form-status.err{color:#b3261e}
.assessment .aside h3{font-family:'Fraunces',Georgia,serif;font-size:22px;color:var(--navy);margin-bottom:12px}
.assessment .aside .flow-p{display:flex;gap:12px;margin-bottom:16px}
.assessment .aside .flow-p .n{flex:0 0 30px;height:30px;border-radius:50%;background:var(--navy);color:var(--cyan);display:grid;place-items:center;font-weight:700;font-size:13px}
.assessment .aside .flow-p b{display:block;font-size:15px;color:var(--navy)}
.assessment .aside .flow-p span{font-size:13.5px;color:var(--muted)}
.assessment .aside .note{margin-top:20px;background:#fff;border:1px solid var(--light);border-radius:12px;padding:14px 16px;font-size:13px;color:var(--muted)}
.site-footer{background:var(--deep);color:var(--light);padding:40px 0 32px}
.footer-inner{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center}
.footer-inner .legal{font-size:12.5px;opacity:.85;max-width:52ch}
.footer-inner a{color:var(--cyan);text-decoration:none}
.footer-inner a:hover{text-decoration:underline}
@media(max-width:860px){
.header-nav{display:none}
.flow-grid,.services-grid{grid-template-columns:1fr;padding:48px 0}
.coverage-grid,.assessment-grid{grid-template-columns:1fr;padding:48px 0}
.hero-inner{padding:56px 24px 64px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.nscm-phone-status{margin-top:8px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);font-weight:700}
.nscm-callbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--deep);border-top:1px solid rgba(0,194,255,.35);gap:10px;padding:10px 14px 12px;box-shadow:0 -8px 24px rgba(4,31,64,.25)}
.nscm-callbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 10px;border-radius:12px;font-weight:700;font-size:14px;text-decoration:none}
.nscm-callbar .nscm-call{background:var(--navy);border:1px solid rgba(0,194,255,.45);color:#fff}
.nscm-callbar .nscm-callbar-cta{background:linear-gradient(135deg,var(--cyan),#3ec9ff);color:var(--deep)}
.nscm-call-notice{display:none;position:fixed;bottom:86px;left:14px;right:14px;z-index:95;background:#fff;border:1px solid var(--cyan);border-left:4px solid var(--cyan);border-radius:12px;padding:12px 14px;font-size:12.5px;color:var(--navy);box-shadow:0 12px 32px rgba(4,31,64,.18)}
@media(max-width:860px){ .nscm-region-root{padding-bottom:76px} .nscm-callbar{display:flex} }

/* v0.9.4 - hero imagery (media option A) rendered inside each regional page */
.nscm-hero-img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;border-radius:14px;margin:0 0 1.5rem;box-shadow:0 6px 24px rgba(6,49,96,.14)}
/* v0.9.4 - staging dry-run notice (CRM endpoint empty) */
.nscm-staging-note{background:#FFF7E8;border:1px solid #E5C98A;color:#6B4E0A;border-radius:10px;padding:12px 14px;margin:0 0 16px;font-size:14px;line-height:1.5}
.legal-inline{color:inherit;text-decoration:underline}

@media(max-width:480px){.site-header .header-inner{flex-wrap:nowrap}.phone-chip{white-space:nowrap;font-size:12px;padding:7px 10px}}
