/* NBC Sanitation — one family: Archivo. Navy #1B3F7A, lime #8DC63F. */
:root{
  --navy:#1B3F7A;--navy-deep:#14305E;--ink:#14213D;--body:#3C4A5E;--muted:#56637A;
  --lime:#8DC63F;--lime-hi:#9DD254;--paper:#FBFCFD;--mist:#F1F4F8;--line:#DCE3EC;--line-strong:#8E9BAE;
  --err:#B3261E;--r:6px;--r-sm:4px;
  --font:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--navy)}
h1,h2,h3{font-family:var(--font);letter-spacing:-0.025em;text-wrap:balance}
p{text-wrap:pretty}
em,i,cite{font-style:normal}
table{border-collapse:collapse}
input,select,button,textarea{font-family:var(--font)}
a,button,input,select,textarea{transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px;border-radius:2px}
.navy :focus-visible{outline-color:#FFFFFF}
main:focus{outline:none}

.skip{position:absolute;left:12px;top:-80px;z-index:10;background:var(--lime);color:var(--ink);padding:12px 18px;font-weight:700;border-radius:var(--r-sm);text-decoration:none}
.skip:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.page{width:100%;min-height:100dvh;display:flex;flex-direction:column;background:var(--paper)}
.wrap{max-width:1160px;margin:0 auto;width:100%}
.navy{background:var(--navy);color:#FFFFFF}
.light{background:var(--mist)}
.tagline{display:inline-flex;align-items:center;gap:10px;font-family:var(--font);font-style:normal;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}
.tagline::before{content:"";width:22px;height:3px;background:var(--lime);border-radius:2px;flex:none}
.col{min-width:0;display:flex;flex-direction:column}
.row{display:flex;flex-wrap:wrap;gap:56px;align-items:center}

/* Nav */
header.navy{border-bottom:4px solid var(--lime)}
.nav{padding:14px 24px;display:flex;flex-wrap:wrap;gap:14px 32px;justify-content:space-between;align-items:center}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#FFFFFF}
.brand:hover{color:#FFFFFF}
.brand img{width:56px;height:56px;object-fit:cover;border-radius:var(--r)}
.brand span{font-weight:800;font-size:20px;letter-spacing:-0.015em}
.links{display:flex;flex-wrap:wrap;gap:4px 28px;align-items:center;font-weight:600;font-size:15px}
.links a{text-decoration:none;color:#FFFFFF;min-height:44px;display:inline-flex;align-items:center;border-bottom:2px solid transparent}
.links a:hover{color:#FFFFFF;border-bottom-color:var(--lime)}
.links a.nav-cta{background:var(--lime);color:var(--ink);padding:0 20px;font-weight:700;border-radius:var(--r-sm);border-bottom:0;margin-left:4px}
.links a.nav-cta:hover{background:var(--lime-hi);color:var(--ink)}

/* Buttons */
.btn{text-decoration:none;font-weight:700;font-size:17px;line-height:1.2;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border:2px solid transparent}
.btn-lime{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.btn-lime:hover{background:var(--lime-hi);border-color:var(--lime-hi);color:var(--ink)}
.btn-outline{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-outline:hover{background:var(--navy);color:#FFFFFF}

/* Hero */
.hero{padding:80px 24px 88px;align-items:center}
.hero-copy{flex:1 1 440px;gap:24px}
.hero h1{margin:0;font-size:60px;line-height:1.0;font-weight:900;letter-spacing:-0.035em;color:var(--ink)}
.hero-p{margin:0;font-size:19px;line-height:1.6;color:var(--body);max-width:34em}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.price-card{flex:1 1 440px;min-width:0;background:#FFFFFF;border:2px solid var(--navy);border-radius:var(--r);overflow:hidden;box-shadow:0 1px 0 rgba(20,33,61,.04),0 18px 40px -24px rgba(27,63,122,.35)}
.price-head{background:var(--navy);color:#FFFFFF;padding:18px 24px;border-bottom:4px solid var(--lime)}
.price-head span,.price-head h2{font-weight:800;font-size:20px;margin:0;letter-spacing:-0.01em;line-height:1.2}
.price{width:100%;font-size:16px;font-variant-numeric:tabular-nums}
.price th,.price td{text-align:left;font-weight:400;vertical-align:middle}
.price thead tr{background:var(--mist)}
.price thead th{padding:12px 24px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.price .r{text-align:right}
.price tbody th,.price tbody td{border-top:1px solid var(--line)}
.price .tier th,.price .tier td{padding:17px 24px}
.price .tier th{font-weight:600;color:var(--ink)}
.price .amt{text-align:right;font-weight:900;font-size:26px;letter-spacing:-0.02em;white-space:nowrap;color:var(--ink)}
.price .amt span{font-size:14px;font-weight:600;letter-spacing:0;color:var(--muted)}
.price .na{text-align:right;font-weight:600;font-size:14px;color:var(--muted)}
.price .fee th,.price .fee td{padding:13px 24px;font-size:15px;font-weight:500;color:var(--body)}
.price tr.fee:first-of-type th,.price tr.fee:first-of-type td{}
.price .tier + .fee th,.price .tier + .fee td{border-top:2px solid var(--navy)}
.price .fee td{text-align:right;font-weight:700;color:var(--ink)}
.price .fee td.blue{color:var(--navy)}
.price-note{padding:16px 24px;background:var(--mist);border-top:1px solid var(--line);font-family:var(--font);font-style:normal;font-size:14px;line-height:1.55;color:var(--body)}

/* Sections */
.section{width:100%;padding:96px 24px}
.sec-copy{flex:1 1 420px;gap:20px}
.h2-lg{margin:0;font-size:44px;line-height:1.05;font-weight:900;letter-spacing:-0.03em}
.p17{margin:0;font-size:17px;line-height:1.6;color:var(--body);max-width:36em}
.p15{margin:0;font-size:15px;line-height:1.55;color:var(--muted);padding-top:16px;border-top:1px solid var(--line);max-width:36em}
.map-col{flex:1 1 420px;gap:12px}
.map{width:100%;height:auto;display:block;font-family:var(--font)}
.map text{font-family:var(--font)}
.cap{font-size:13px;font-weight:500;color:var(--muted);font-style:normal}

/* Steps */
.steps-wrap{padding:80px 24px;display:flex;flex-direction:column;gap:44px}
.steps-wrap h2{margin:0;font-size:40px;line-height:1.05;font-weight:900;letter-spacing:-0.03em;max-width:18em}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:0;padding:0;list-style:none}
.step{display:flex;flex-direction:column;gap:10px;min-width:0;border-top:3px solid var(--lime);padding-top:20px}
.step-n{font-weight:900;font-size:13px;letter-spacing:.12em;color:var(--lime);font-variant-numeric:tabular-nums}
.step-n::before{content:"0"}
.step h3{margin:0;font-size:21px;line-height:1.2;font-weight:800;letter-spacing:-0.015em}
.step p{margin:0;font-size:16px;line-height:1.6;color:#D3DDED}

/* About */
.about-img{flex:1 1 360px;gap:10px;max-width:460px}
.about-img img{width:100%;height:auto;border-radius:var(--r);display:block;border:1px solid var(--line)}
.p-about{margin:0;font-size:17px;line-height:1.65;color:var(--body);max-width:36em}
.p-about-sm{margin:0;font-size:15px;line-height:1.6;color:var(--muted);max-width:36em}
.closing{margin:8px 0 0;padding:4px 0 4px 18px;border-left:4px solid var(--lime);font-family:var(--font);font-style:normal;font-size:20px;line-height:1.35;font-weight:800;letter-spacing:-0.015em;color:var(--navy)}

/* Signup */
.signup{padding:96px 24px;align-items:flex-start}
.signup-copy{flex:1 1 400px;gap:18px}
.signup-card{flex:1 1 420px;min-width:0;background:#FFFFFF;border:2px solid var(--navy);border-radius:var(--r);padding:32px;display:flex;flex-direction:column;gap:18px;box-shadow:0 18px 40px -26px rgba(27,63,122,.35)}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:12px 0 0}
.checks{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0;font-size:16px;color:var(--ink);font-weight:500;border-top:1px solid var(--line);max-width:28em}
.checks li{padding:10px 0 10px 24px;position:relative;border-bottom:1px solid var(--line)}
.checks li::before{content:"";position:absolute;left:2px;top:50%;width:10px;height:5px;border-left:2.5px solid var(--lime);border-bottom:2.5px solid var(--lime);transform:translateY(-70%) rotate(-45deg)}
.btn-block{background:var(--lime);color:var(--ink);padding:16px 24px;font-weight:700;font-size:17px;line-height:1.2;border-radius:var(--r-sm);text-align:center;display:block;border:0;width:100%;cursor:pointer;min-height:56px;text-decoration:none}
.btn-block:hover{background:var(--lime-hi);color:var(--ink)}
.alt{margin:0;font-size:15px;line-height:1.6;color:var(--muted);text-align:center}
.alt + .alt{padding-top:14px;border-top:1px solid var(--line)}
.alt a{font-weight:700;color:var(--navy);display:inline-block;padding:10px 0;min-height:44px}

.form{display:flex;flex-direction:column;gap:18px;margin:0}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label,.fs legend{font-size:15px;font-weight:700;color:var(--ink)}
.opt{font-weight:500;color:var(--muted)}
.field input,.field textarea{font-size:16px;color:var(--ink);background:#FFFFFF;border:1.5px solid var(--line-strong);border-radius:var(--r-sm);padding:11px 12px;min-height:48px;width:100%}
.field input:hover,.field textarea:hover{border-color:var(--navy)}
.field textarea{min-height:88px;resize:vertical;line-height:1.5}
.field input:focus,.field textarea:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px rgba(141,198,63,.6)}
.field input:user-invalid,.field textarea:user-invalid{border-color:var(--err)}
.grid3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fs{border:0;margin:0;padding:0;min-width:0}
.fs legend{padding:0;margin-bottom:8px}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choice{flex:1 1 120px;position:relative}
.choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.choice span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:8px 10px;border:1.5px solid var(--line-strong);border-radius:var(--r-sm);font-weight:600;font-size:15px;color:var(--ink);background:#FFFFFF;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.choice input:hover+span{border-color:var(--navy)}
.choice input:checked+span{background:var(--navy);border-color:var(--navy);color:#FFFFFF;box-shadow:inset 0 -3px 0 var(--lime)}
.choice input:focus-visible+span{outline:3px solid var(--lime);outline-offset:2px}
.choice input:disabled{cursor:not-allowed}
.choice input:disabled+span{background:var(--mist);color:var(--muted);border-style:dashed;text-decoration:line-through}
.hint{margin:8px 0 0;font-size:14px;line-height:1.55;color:var(--muted)}
.hint strong{color:var(--navy)}
.err{margin:0;font-size:14px;font-weight:600;color:var(--err);background:#FBEDEC;border-left:3px solid var(--err);padding:10px 12px}
.err:empty{display:none}
.disclose{margin:0;font-size:14px;line-height:1.55;color:var(--body);background:var(--mist);border-left:3px solid var(--lime);padding:12px 14px}
.preview{display:flex;flex-direction:column;gap:10px;border:1.5px solid var(--navy);border-radius:var(--r-sm);padding:18px;background:var(--mist)}
.preview[hidden]{display:none}
.preview:focus{outline:3px solid var(--lime);outline-offset:2px}
.preview h3{margin:0;font-size:17px;font-weight:800;letter-spacing:-0.01em}
.preview p{margin:0;font-size:14px;line-height:1.55;color:var(--body)}
.preview p a{color:var(--navy);font-weight:700}
.preview pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:var(--font);font-size:14px;line-height:1.55;color:var(--ink);background:#FFFFFF;border:1px solid var(--line);border-radius:var(--r-sm);padding:12px;max-height:280px;overflow:auto}
.preview-actions{display:flex;flex-wrap:wrap;gap:8px}
.btn-sm{font-family:var(--font);font-size:15px;font-weight:700;line-height:1.2;min-height:44px;padding:10px 16px;border-radius:var(--r-sm);border:2px solid var(--navy);background:#FFFFFF;color:var(--navy);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.btn-sm:hover{background:var(--navy);color:#FFFFFF}
.status{font-size:14px;color:var(--navy);font-weight:600;margin:0}
.status:empty{display:none}

/* Footer */
.footer{color:#D3DDED;background:var(--navy-deep);border-top:4px solid var(--lime)}
.foot{padding:32px 24px;display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:center;font-size:14px}
.foot-brand{display:flex;align-items:center;gap:12px}
.foot-brand img{width:44px;height:44px;object-fit:cover;border-radius:var(--r-sm)}
.foot-brand span{color:#FFFFFF;font-weight:700;font-size:15px}
.foot-links{display:flex;flex-wrap:wrap;gap:0 24px}
.foot-links a{color:#D3DDED;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.foot-links a:hover{color:#FFFFFF;text-decoration:underline}

@media (max-width:960px){
  .hero h1{font-size:52px}
}
@media (max-width:760px){
  .nav{padding:12px 20px}
  .links{width:100%;gap:0 22px}
  .links a.nav-cta{width:100%;justify-content:center;margin:6px 0 0}
  .hero{padding:48px 20px 56px}
  .section,.signup{padding:64px 20px}
  .steps-wrap{padding:56px 20px;gap:32px}
  .row{gap:40px}
  h1,.hero h1{font-size:40px}
  h2,.h2-lg,.steps-wrap h2{font-size:31px}
  .hero-p{font-size:17px}
  .price-head h2{font-size:19px}
  .steps{grid-template-columns:1fr;gap:28px}
  .btns{flex-direction:column}
  .btns .btn{width:100%}
  .price-head{padding:16px}
  .price{font-size:15px}
  .price thead th,.price .tier th,.price .tier td,.price .fee th,.price .fee td{padding-left:12px;padding-right:12px}
  .price thead th{font-size:11px;letter-spacing:.06em}
  .price .tier th{font-size:15px}
  .price .amt{font-size:22px}
  .price .amt span{display:block;font-size:12px;line-height:1.2}
  .price .na{font-size:13px}
  .price .fee th,.price .fee td{font-size:14px}
  .price-note{padding:14px 12px}
  .about-img{max-width:280px}
  .closing{font-size:18px}
  .signup-card{padding:22px 18px}
  .grid3,.grid2{grid-template-columns:1fr}
  .foot{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none !important}}

/* ===== Marketing color treatment: navy hero, lime band, navy conversion ===== */
/* Hero: full navy stage, white headline, lime cues; pricing card stays white */
#top.light{background:var(--navy);color:#FFFFFF}
#top .tagline{color:var(--lime)}
#top .hero h1{color:#FFFFFF}
#top .hero-p{color:#DCE5F3}
#top .btn-lime{box-shadow:0 10px 24px -12px rgba(0,0,0,.45)}
#top .btn-outline{border-color:#FFFFFF;color:#FFFFFF}
#top .btn-outline:hover{background:#FFFFFF;color:var(--navy)}
#top .price-card{border-color:var(--lime);border-width:3px;box-shadow:0 28px 60px -28px rgba(5,15,35,.7)}
#top .price-head{background:var(--ink);border-bottom-color:var(--lime)}
#top .price .amt{color:var(--navy)}
#top :focus-visible{outline-color:#FFFFFF}
#top .price-card :focus-visible{outline-color:var(--navy)}

/* Steps: solid lime band, navy ink */
main > section.navy{background:var(--lime);color:var(--ink)}
main > section.navy .steps-wrap h2{color:var(--ink)}
main > section.navy .step{border-top-color:var(--navy)}
main > section.navy .step-n{color:var(--navy)}
main > section.navy .step h3{color:var(--ink)}
main > section.navy .step p{color:#1E2F4D}

/* Conversion: navy section, white form card with lime frame */
#signup.light{background:var(--navy);color:#FFFFFF}
#signup .signup-copy .tagline{color:var(--lime)}
#signup .signup-copy .h2-lg{color:#FFFFFF}
#signup .signup-copy .p17{color:#DCE5F3}
#signup .signup-copy .eyebrow{color:var(--lime)}
#signup .signup-copy .checks{color:#FFFFFF;border-top-color:rgba(255,255,255,.22)}
#signup .signup-copy .checks li{border-bottom-color:rgba(255,255,255,.22)}
#signup .signup-copy :focus-visible{outline-color:#FFFFFF}
#signup .signup-card{border:3px solid var(--lime);box-shadow:0 28px 60px -28px rgba(5,15,35,.7)}
#signup .signup-card .btn-block{background:var(--navy);color:#FFFFFF;box-shadow:inset 0 -4px 0 var(--lime)}
#signup .signup-card .btn-block:hover{background:var(--ink);color:#FFFFFF}
#signup .signup-card :focus-visible{outline-color:var(--navy)}
#signup .signup-card .choice input:focus-visible+span{outline-color:var(--navy)}

/* Header blends into hero; footer stays deep navy */
header.navy{border-bottom:1px solid rgba(255,255,255,.14)}
