:root{
  --ink:#17301F; --ink-2:#1E3A26; --moss:#2F5638;
  --amber:#B4680F; --amber-l:#E39A3C;
  --cream:#F2F4EE; --paper:#FBFCFA; --slate:#4A5F4E;
  --line:rgba(23,48,31,.16); --line-d:rgba(255,255,255,.18);
  --wrap:1180px; --gut:clamp(20px,5vw,64px); --navh:70px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Archivo,"Helvetica Neue",Arial,sans-serif;background:var(--paper);color:var(--ink);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;display:flex;flex-direction:column;min-height:100vh}
main{flex:1}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
h1,h2,h3{font-family:"Archivo Black",Archivo,Arial,sans-serif;font-weight:400;letter-spacing:-.025em;line-height:1}
p{max-width:64ch}
a{color:inherit}
:focus-visible{outline:3px solid var(--amber-l);outline-offset:3px}

/* reveal */
.r{opacity:0;transform:translateY(30px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}
.r.in{opacity:1;transform:none}
.r-l{transform:translateX(-36px)} .r-r{transform:translateX(36px)}
.r-l.in,.r-r.in{transform:none}
.stag>*{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.stag.in>*{opacity:1;transform:none}
.stag.in>*:nth-child(1){transition-delay:.04s} .stag.in>*:nth-child(2){transition-delay:.1s}
.stag.in>*:nth-child(3){transition-delay:.16s} .stag.in>*:nth-child(4){transition-delay:.22s}
.stag.in>*:nth-child(5){transition-delay:.28s} .stag.in>*:nth-child(6){transition-delay:.34s}
.stag.in>*:nth-child(7){transition-delay:.4s}  .stag.in>*:nth-child(8){transition-delay:.46s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .r,.stag>*{opacity:1!important;transform:none!important;transition:none!important}
}

/* stripes */
.rule-amber{height:6px;background:var(--amber)}
.stripe-band{display:flex;height:16px}
.stripe-band i{flex:1}
.stripe-band i:nth-child(even){background:var(--moss)} .stripe-band i:nth-child(odd){background:var(--ink)}

/* nav */
header{position:sticky;top:0;z-index:60;background:rgba(23,48,31,.97);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line-d)}
.nav{display:flex;align-items:center;gap:18px;height:var(--navh)}
.brand{font-family:"Archivo Black",Arial,sans-serif;color:#fff;font-size:20px;text-decoration:none;white-space:nowrap}
.brand span{color:var(--amber-l)}
.menu{display:flex;gap:26px;list-style:none;margin-left:auto}
.menu a{color:#D6DED4;text-decoration:none;font-weight:600;font-size:15px;padding:8px 0;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;white-space:nowrap}
.menu a:hover{color:#fff;border-bottom-color:var(--amber)}
.menu a[aria-current="page"]{color:#fff;border-bottom-color:var(--amber)}
.nav-cta{margin-left:22px}
.burger{display:none;width:46px;height:40px;background:transparent;border:0;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;padding:0 8px;margin-left:auto}
.burger i{display:block;height:3px;background:#fff;border-radius:2px;transition:transform .22s ease,opacity .18s ease}
.burger.open i:nth-child(1){transform:translateY(9px) rotate(45deg)}
.burger.open i:nth-child(2){opacity:0}
.burger.open i:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
.drawer{display:none}
@media(max-width:1000px){
  .menu,.nav-cta{display:none}
  .burger{display:flex}
  .drawer{display:block;position:fixed;inset:var(--navh) 0 auto 0;z-index:59;background:var(--ink);
    border-bottom:6px solid var(--amber);transform:translateY(-118%);transition:transform .3s cubic-bezier(.22,1,.36,1);box-shadow:0 18px 40px rgba(0,0,0,.3)}
  .drawer.open{transform:none}
  .drawer ul{list-style:none;padding:8px var(--gut) 20px}
  .drawer li{border-top:1px solid var(--line-d)}
  .drawer li:first-child{border-top:0}
  .drawer a{display:block;color:#E4EBE3;text-decoration:none;font-weight:700;font-size:18px;padding:16px 2px}
  .drawer a[aria-current="page"]{color:var(--amber-l)}
  .drawer .dcta{padding:14px var(--gut) 26px}
  .drawer .dcta .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.drawer{transition:none}}

/* buttons */
.btn{display:inline-block;border:0;cursor:pointer;text-decoration:none;font-family:Archivo,sans-serif;font-weight:700;font-size:16px;padding:14px 24px;border-radius:3px;transition:transform .12s,background .15s,box-shadow .15s;text-align:center}
.btn-amber{background:var(--amber);color:#fff}
.btn-amber:hover{background:#9d5a0c}
.btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.5)}
.btn-ghost:hover{box-shadow:inset 0 0 0 2px #fff}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#0f2115}
.btn-outline{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.btn-outline:hover{background:var(--ink);color:#fff}
.btn:active{transform:translateY(1px)}
.btn-sm{padding:10px 18px;font-size:15px}

/* home hero */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden}
.hero-stripes{position:absolute;inset:0;display:flex;pointer-events:none}
.hero-stripes i{flex:1;background:var(--ink-2);transform:scaleY(0);transform-origin:top}
.hero-stripes i:nth-child(even){background:transparent}
.hero-inner{position:relative;padding:clamp(60px,10vw,124px) 0 clamp(52px,8vw,96px)}
.hero h1{font-size:clamp(46px,8.4vw,104px);max-width:15ch}
.hero h1 .ln{display:block;overflow:hidden}
.hero h1 .ln em{display:block;font-style:normal;transform:translateY(105%)}
.hero-sub{margin-top:28px;font-size:clamp(18px,2.2vw,23px);color:#CBD6C9;max-width:56ch;font-weight:500;opacity:0}
.hero-cta{margin-top:36px;display:flex;flex-wrap:wrap;gap:14px;opacity:0}
.hero-meta{margin-top:42px;padding-top:24px;border-top:1px solid var(--line-d);display:flex;flex-wrap:wrap;gap:12px 40px;font-size:15.5px;color:#A9BBA8;font-weight:600;opacity:0}
.reveal-in .hero-stripes i{animation:wipe .55s cubic-bezier(.4,0,.2,1) forwards}
.reveal-in .hero h1 .ln em{animation:rise .62s cubic-bezier(.22,1,.36,1) forwards}
.reveal-in .hero-sub{animation:fade .5s ease .55s forwards}
.reveal-in .hero-cta{animation:fade .5s ease .68s forwards}
.reveal-in .hero-meta{animation:fade .5s ease .8s forwards}
@keyframes wipe{to{transform:scaleY(1)}}
@keyframes rise{to{transform:translateY(0)}}
@keyframes fade{to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .hero-stripes i,.hero h1 .ln em{animation:none!important;transform:none!important}
  .hero-sub,.hero-cta,.hero-meta{animation:none!important;opacity:1!important}
}

/* inner page header */
.phead{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.phead-stripes{position:absolute;inset:0;display:flex;pointer-events:none;opacity:.9}
.phead-stripes i{flex:1}
.phead-stripes i:nth-child(even){background:var(--ink-2)}
.phead .inner{position:relative;padding:clamp(46px,7vw,84px) 0 clamp(40px,6vw,66px)}
.phead .crumb{font-size:14.5px;font-weight:700;color:var(--amber-l);letter-spacing:.03em;margin-bottom:16px}
.phead h1{font-size:clamp(38px,6.4vw,72px);max-width:16ch}
.phead .lede{margin-top:20px;font-size:clamp(17px,2vw,21px);color:#C9D5C7;font-weight:500;max-width:58ch}

/* generic section */
.sec{padding:clamp(50px,7vw,92px) 0}
.sec-cream{background:var(--cream)}
.sec h2{font-size:clamp(28px,4vw,44px);max-width:18ch}
.sec .lead{margin-top:16px;color:var(--slate);font-size:18px}

/* cards / grids */
.grid3{margin-top:42px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid2{margin-top:42px;display:grid;grid-template-columns:1.35fr 1fr;gap:24px}
@media(max-width:900px){.grid3{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}}
.card{border:2px solid var(--ink);padding:clamp(22px,3vw,32px);background:#fff;transition:background .2s;display:flex;flex-direction:column}
.card:hover{background:var(--cream)}
.card h3{font-size:clamp(22px,2.8vw,28px)}
.card p{margin-top:12px;font-size:16.5px;color:var(--slate)}
.card .more{margin-top:auto;padding-top:20px;font-weight:700;font-size:15.5px;text-decoration:none;color:var(--ink);box-shadow:inset 0 -2px 0 var(--amber);align-self:flex-start;transition:box-shadow .16s}
.card .more:hover{box-shadow:inset 0 -20px 0 var(--amber);color:#fff}
.panel{background:var(--ink);color:#fff;padding:clamp(28px,4vw,46px);position:relative;overflow:hidden;display:flex;flex-direction:column}
.panel .tag{position:absolute;top:0;left:0;right:0;height:8px;background:var(--amber)}
.panel h3{font-size:clamp(28px,3.6vw,40px);margin-top:8px}
.panel p{margin-top:14px;color:#C7D3C6;font-size:16.5px}
.panel .kick{color:var(--amber-l);font-weight:700;font-size:15px}
.panel .note{margin-top:auto;padding-top:24px;font-size:15.5px;color:#9FB29E}
ul.checks{list-style:none;margin-top:22px}
ul.checks li{position:relative;padding:9px 0 9px 30px;font-weight:600;font-size:16px;border-top:1px solid var(--line)}
.panel ul.checks li{border-top-color:var(--line-d)}
ul.checks li::before{content:"";position:absolute;left:0;top:19px;width:18px;height:6px;background:var(--amber)}

/* billing compare */
.cols{display:grid;grid-template-columns:1fr 1fr;margin-top:42px;border:2px solid var(--ink)}
.cols .c{padding:clamp(24px,3.6vw,40px);background:#fff}
.cols .c+.c{border-left:2px solid var(--ink);background:#E7E2D4}
.cols .c small{display:block;font-size:14.5px;font-weight:700;color:var(--amber);margin-bottom:12px}
.cols .c .big{font-family:"Archivo Black",Arial,sans-serif;font-size:clamp(26px,3.6vw,42px);line-height:1.02}
.cols .c p{margin-top:14px;font-size:16px;color:var(--slate)}
@media(max-width:700px){.cols{grid-template-columns:1fr}.cols .c+.c{border-left:0;border-top:2px solid var(--ink)}}

/* about */
.story-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(26px,5vw,64px);align-items:start}
@media(max-width:860px){.story-grid{grid-template-columns:1fr}}
.story-grid .who{font-size:16px;color:var(--slate);font-weight:600;line-height:1.5;margin-top:18px}
.story-grid p+p{margin-top:18px}
.sig{margin-top:30px;padding-top:20px;border-top:2px solid var(--ink);font-family:"Archivo Black",Arial,sans-serif;font-size:19px}
.sig span{display:block;font-family:Archivo,sans-serif;font-weight:600;font-size:15px;color:var(--slate);margin-top:6px}

/* towns */
.towns{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px}
.towns b{font-weight:700;font-size:16.5px;background:#fff;border:2px solid var(--ink);padding:10px 18px;transition:background .18s,color .18s}
.towns b:hover{background:var(--ink);color:#fff}

/* faq */
.faq-list{margin-top:34px;border-top:2px solid var(--ink)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;position:relative;font-weight:700;font-size:18.5px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";position:absolute;right:8px;top:50%;width:16px;height:3px;background:var(--ink);transform:translateY(-50%)}
.faq-list summary::before{content:"";position:absolute;right:14.5px;top:50%;width:3px;height:16px;background:var(--ink);transform:translateY(-50%);transition:transform .2s}
.faq-list details[open] summary::before{transform:translateY(-50%) scaleY(0)}
.faq-list .ans{padding:0 0 24px;color:var(--slate);font-size:16.5px}
.faq-list details[open] .ans{animation:drop .22s ease}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.faq-list details[open] .ans{animation:none}}

/* contact strip */
.cta{background:var(--moss);color:#fff;padding:clamp(50px,7vw,90px) 0}
.cta h2{font-size:clamp(30px,4.4vw,48px);max-width:16ch}
.cta p{margin-top:16px;color:#D6E2D4;font-size:18px}
.cta-actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:14px}
.contact-lines{margin-top:32px;display:flex;flex-wrap:wrap;gap:14px 44px;align-items:baseline}
.contact-lines a{text-decoration:none;font-family:"Archivo Black",Arial,sans-serif;letter-spacing:-.02em;transition:color .15s}
.contact-lines a:hover{color:var(--amber-l)}
.contact-lines .tel{font-size:clamp(28px,4.6vw,46px)}
.contact-lines .mail{font-size:clamp(17px,2.2vw,24px);word-break:break-all}

/* footer */
footer{background:var(--ink);color:#8FA48E;padding:42px 0 38px;font-size:15px}
.foot{display:flex;flex-wrap:wrap;gap:18px 40px;justify-content:space-between;align-items:baseline}
footer a{color:#C7D3C6;text-decoration:none;font-weight:600}
footer a:hover{color:#fff}
.foot-brand{font-family:"Archivo Black",Arial,sans-serif;color:#fff;font-size:19px}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px}
.foot-links a{font-weight:600;font-size:14.5px}

/* modal */
.overlay{position:fixed;inset:0;background:rgba(12,24,15,.74);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}
.overlay.on{display:flex;animation:ovin .18s ease}
@keyframes ovin{from{opacity:0}to{opacity:1}}
.modal{background:var(--paper);width:min(580px,100%);max-height:92vh;overflow:auto;border-top:8px solid var(--amber);position:relative;animation:mup .28s cubic-bezier(.22,1,.36,1)}
@keyframes mup{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.overlay.on,.modal{animation:none}}
.modal-in{padding:clamp(24px,4vw,38px)}
.modal h3{font-size:clamp(24px,3.4vw,32px)}
.modal .lede2{margin-top:12px;color:var(--slate);font-size:16px}
.close{position:absolute;top:12px;right:12px;width:40px;height:40px;border:0;background:transparent;cursor:pointer;font-size:27px;line-height:1;color:var(--slate);border-radius:3px}
.close:hover{background:var(--cream);color:var(--ink)}
.reach{margin-top:22px;display:grid;gap:10px}
.reach a{display:flex;align-items:center;gap:14px;text-decoration:none;border:2px solid var(--ink);padding:14px 16px;transition:background .16s,color .16s}
.reach a:hover{background:var(--ink);color:#fff}
.reach .ic{flex:0 0 auto;width:34px;height:34px;background:var(--amber);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Archivo Black",Arial,sans-serif;font-size:15px}
.reach .tx b{display:block;font-family:"Archivo Black",Arial,sans-serif;font-size:16.5px}
.reach .tx span{font-size:14.5px;opacity:.75}
.divider{margin:26px 0 4px;display:flex;align-items:center;gap:14px;color:var(--slate);font-size:14px;font-weight:700}
.divider::before,.divider::after{content:"";height:1px;background:var(--line);flex:1}
.field{margin-top:16px}
.field label{display:block;font-weight:700;font-size:14.5px;margin-bottom:7px}
.field input,.field textarea,.field select{width:100%;padding:13px 14px;border:2px solid var(--line);background:#fff;font-family:Archivo,sans-serif;font-size:16px;color:var(--ink);border-radius:3px}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ink);outline:none}
.field textarea{min-height:82px;resize:vertical}
.send-row{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:460px){.send-row{grid-template-columns:1fr}}



/* headline reveal */
.split{--dur:.62s}
.split .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em;margin-bottom:-.06em}
.split .w > i{display:inline-block;font-style:normal;transform:translateY(112%);
  transition:transform var(--dur) cubic-bezier(.19,1,.28,1);transition-delay:calc(var(--i) * 42ms)}
.split.in .w > i{transform:translateY(0)}
.split .sp{display:inline-block;width:.3em}

/* amber underline that draws after the words land */
.underline{position:relative;padding-bottom:.34em}
.underline::after{content:"";position:absolute;left:0;bottom:0;height:7px;width:clamp(90px,16vw,170px);
  background:var(--amber);transform:scaleX(0);transform-origin:left;
  transition:transform .5s cubic-bezier(.22,1,.36,1);transition-delay:.38s}
.split.in.underline::after{transform:scaleX(1)}

/* eyebrow slips in ahead of the heading */
.phead .crumb{opacity:0;transform:translateX(-14px);transition:opacity .45s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.phead .crumb.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .split .w > i{transform:none!important;transition:none!important}
  .underline::after{transform:scaleX(1)!important;transition:none!important}
  .phead .crumb{opacity:1!important;transform:none!important;transition:none!important}
}


/* qr cards */
.qr-grid{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:900px){.qr-grid{grid-template-columns:1fr;max-width:400px;margin-left:auto;margin-right:auto}}
.qr-card{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;
  border:2px solid var(--ink);background:#fff;padding:clamp(22px,3vw,30px);transition:background .2s,transform .2s}
.qr-card:hover{background:var(--cream);transform:translateY(-3px)}
.qr-shot{display:block;width:100%;max-width:200px;padding:12px;background:#fff;border:1px solid var(--line)}
.qr-shot img{display:block;width:100%;height:auto;image-rendering:auto}
.qr-card b{font-family:"Archivo Black",Arial,sans-serif;font-size:20px;margin-top:20px}
.qr-sub{display:block;margin-top:8px;font-size:15.5px;color:var(--slate);line-height:1.45;max-width:30ch}
.qr-go{display:inline-block;margin-top:16px;font-weight:700;font-size:15px;color:var(--ink);
  box-shadow:inset 0 -2px 0 var(--amber);transition:box-shadow .16s,color .16s}
.qr-card:hover .qr-go{box-shadow:inset 0 -20px 0 var(--amber);color:#fff}

/* toast */
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,150%);background:var(--ink);color:#fff;padding:15px 22px;z-index:120;font-weight:600;border-left:5px solid var(--amber-l);transition:transform .3s ease;max-width:calc(100vw - 40px)}
.toast.on{transform:translate(-50%,0)}
