/* ===========================================================================
   Amber Fiber Internet — stylesheet
   Direction: editorial / industrial-utilitarian.
   Dominant near-black slate, warm newsprint paper, amber as a sharp accent
   used only on the conversion path. Zero radii, hairline rules, mono data
   voice, grotesque display, serif body.
   Token-driven: re-theme by editing :root only.
   =========================================================================== */

:root{
  /* ground — dominant */
  --primary:#171A20; --primary-deep:#0D0F13; --primary-light:#2C323C;

  /* accent — sharp, used sparingly */
  --accent:#F2A103; --accent-hover:#FFB526; --accent-text:#8A5200;
  --btn-label:#16110A;

  /* ink on paper */
  --ink:#14161A; --ink-2:#3A414B; --ink-3:#575E69; --ink-4:#7B828E;

  /* paper */
  --surface:#fff; --surface-alt:#F6F3EC; --rule:#DFDAD0;
  --rule-strong:#C4BDAF; --rule-dark:rgba(255,255,255,.17);

  --badge-a:#8A5200; --badge-b:#171A20;

  /* editorial = hard edges */
  --r-card:0px; --r-pill:0px; --r-frame:0px; --r-band:0px;
  --frame-w:0px;

  /* atmosphere: hairline texture, not a colour gradient */
  --band:
    repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 1px,transparent 1px 7px),
    linear-gradient(180deg,#0D0F13 0%,#171A20 100%);
  --card-grad:linear-gradient(180deg,#171A20,#0D0F13);

  --font-head:"Bricolage Grotesque",-apple-system,"Segoe UI",sans-serif;
  --font-body:"Source Serif 4",Charter,Georgia,serif;
  --font-mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;

  --pad-x:56px; --maxw:1400px;
  --ease-out:cubic-bezier(.22,.86,.32,1);
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:var(--font-body);color:var(--ink);background:var(--surface);
  -webkit-font-smoothing:antialiased;text-wrap:pretty}
img,svg{display:block;max-width:100%}
ul,ol{margin:0;padding:0;list-style:none}
p,h1,h2,h3{margin:0}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--accent-text)}
button{font:inherit}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.hero :focus-visible,.band :focus-visible,.site-footer :focus-visible{outline-color:var(--accent)}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--primary);color:#fff;
  padding:14px 22px;font-family:var(--font-mono);font-size:13px;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em}
.skip-link:focus{left:0}
.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}
.inner{max-width:var(--maxw);margin:0 auto}
.inner--narrow{max-width:900px}

/* ---------------------------------------------------------------- buttons */
.cta{display:inline-flex;align-items:center;gap:11px;background:var(--accent);color:var(--btn-label);
  font-family:var(--font-head);font-weight:700;letter-spacing:-.01em;border:0;border-radius:var(--r-pill);
  cursor:pointer;text-align:left;white-space:nowrap;
  transition:background-color .15s ease,box-shadow .2s var(--ease-out)}
.cta:hover{background:var(--accent-hover);color:var(--btn-label);
  box-shadow:inset 0 0 0 2px var(--btn-label)}
.cta:active{background:var(--accent)}
.cta svg{flex:none}
.cta--header{font-size:16px;padding:13px 22px;gap:9px}
.cta--hero{font-size:21px;padding:19px 36px;margin-top:34px}
.cta--sect{font-size:19px;padding:17px 32px;margin-top:30px}
.cta--deals{font-size:21px;padding:19px 38px;margin-top:44px}
.cta--footer{font-size:20px;padding:20px 30px}

/* ---------------------------------------------------------------- header */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:28px;
  padding:14px var(--pad-x);background:var(--surface);position:sticky;top:0;z-index:50;
  border-bottom:1px solid var(--ink)}
.logo{display:flex;flex-direction:column;line-height:1;color:var(--ink)}
.logo:hover{color:var(--ink)}
.logo__row{display:flex;align-items:flex-end;gap:5px}
.logo__word{font-family:var(--font-head);font-size:29px;font-weight:800;letter-spacing:-.045em;color:var(--ink)}
.logo__dot{width:9px;height:9px;background:var(--accent);margin-bottom:6px;
  transition:transform .3s var(--ease-out)}
.logo__mark{transition:transform .3s var(--ease-out)}
.logo:hover .logo__mark{transform:scale(1.06)}
.logo:hover .logo__dot{transform:scale(1.6)}
.logo__sub{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.3em;
  color:var(--ink-4);margin-top:6px}
.logo--footer .logo__word{color:#fff;font-size:33px}
.logo--footer .logo__sub{color:rgba(255,255,255,.66)}

.site-nav{display:flex;align-items:center;gap:32px;font-family:var(--font-mono);
  font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.site-nav a{position:relative;color:var(--ink-2);padding-bottom:4px}
.site-nav a:hover{color:var(--ink)}
.site-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--accent);transform:scaleX(0);transform-origin:left;
  transition:transform .26s var(--ease-out)}
.site-nav a:hover::after,.site-nav a.is-active::after{transform:scaleX(1)}
.site-nav a.is-active{color:var(--ink)}
.nav-toggle{display:none;background:none;border:0;padding:10px;color:var(--ink);cursor:pointer}

/* ---------------------------------------------- disclosure strip */
.disclosure{background:var(--primary);border-bottom:1px solid var(--primary);
  padding-block:9px;padding-inline:var(--pad-x);
  font-family:var(--font-mono);font-size:12px;line-height:1.5;color:rgba(255,255,255,.72)}
.disclosure p{max-width:none;margin:0 auto;text-align:center}
@media (min-width:1360px) and (max-width:1599px){.disclosure{font-size:11px}}
@media (max-width:1200px){.disclosure{font-size:11.5px;line-height:1.55}}
@media (max-width:700px){.disclosure{font-size:11px;text-align:left}.disclosure p{text-align:left}}

/* ---------------------------------------------------------------- hero */
.hero{background:var(--surface);padding:78px var(--pad-x) 0;position:relative}
.hero__inner{max-width:1080px;margin:0 auto;text-align:left}
.hero h1{font-family:var(--font-head);font-size:clamp(40px,6.4vw,86px);line-height:.96;
  font-weight:800;letter-spacing:-.045em;color:var(--ink);text-wrap:balance;max-width:16ch}
.hero__body{margin-top:26px;font-size:clamp(18px,1.6vw,22px);line-height:1.5;
  color:var(--ink-2);max-width:52ch}
.hero__copy{position:relative}
.hero__media{margin:64px calc(var(--pad-x) * -1) 0;max-width:none;
  border-top:3px solid var(--ink)}
.hero__media .ph-img{border-radius:0;max-height:300px;object-fit:cover;width:100%}

.ph-img{width:100%;height:auto;object-fit:cover;border-radius:var(--r-frame)}
.framed{border:var(--frame-w) solid var(--primary-light);border-radius:var(--r-frame);overflow:hidden;line-height:0}
.framed .ph-img{border-radius:0}

/* ------------------------------------------------------- content sections */
.sect{background:var(--surface);padding:72px var(--pad-x);border-bottom:1px solid var(--rule)}
.sect:nth-of-type(even){background:var(--surface-alt)}
.sect__inner{max-width:var(--maxw);margin:0 auto;display:grid;
  grid-template-columns:.40fr .60fr;gap:56px;align-items:start}
.sect--right .sect__media{order:0}
.sect__copy{position:relative;padding-top:6px}
.sect__media .ph-img{max-height:300px;object-fit:cover;border-top:3px solid var(--ink)}

.kicker{display:inline-block;font-family:var(--font-mono);font-size:11.5px;font-weight:700;
  letter-spacing:.22em;color:var(--accent-text);text-transform:uppercase;
  padding-bottom:8px;border-bottom:2px solid var(--accent)}
.sect h2{font-family:var(--font-head);margin-top:20px;font-size:clamp(28px,3.4vw,44px);
  line-height:1.05;font-weight:800;letter-spacing:-.035em;color:var(--ink);text-wrap:balance}
.sect__body{margin-top:20px;font-size:19px;line-height:1.6;color:var(--ink-2);max-width:56ch}

/* ---------------------------------------------------------------- band */
.band{background:var(--band);padding:76px var(--pad-x);
  border-block:1px solid var(--primary-deep)}
.band__inner{max-width:var(--maxw);margin:0 auto;display:grid;
  grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.band h2{font-family:var(--font-head);font-size:clamp(26px,2.9vw,38px);line-height:1.12;
  font-weight:800;letter-spacing:-.03em;color:#fff;text-wrap:balance}

.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule-dark)}
.badge{border-radius:var(--r-card);padding:24px 20px;text-align:left;display:flex;
  flex-direction:column;gap:10px;justify-content:flex-start;min-height:0;
  transition:background-color .28s var(--ease-out)}
.badge__t{font-family:var(--font-head);font-weight:800;line-height:1.02;margin-top:0;
  font-size:clamp(20px,2vw,26px);letter-spacing:-.03em}
.badge__c{font-family:var(--font-mono);font-size:12.5px;line-height:1.5;font-weight:500;
  letter-spacing:.02em;opacity:.78}
.badge--a{background:var(--badge-a);color:#fff}
.badge--b{background:var(--badge-b);color:#fff}
.badge--c{background:var(--surface);color:var(--ink)}
.badge--c .badge__t{color:var(--ink)}
.badge--a:hover,.badge--b:hover{background:var(--accent);color:var(--btn-label)}
.badge--c:hover{background:var(--accent)}

/* ---------------------------------------------------------------- deals */
.deals{padding:80px var(--pad-x);background:var(--surface);text-align:left}
.deals h2{font-family:var(--font-head);margin:18px 0 0;max-width:20ch;
  font-size:clamp(28px,3.6vw,46px);line-height:1.04;font-weight:800;
  letter-spacing:-.035em;color:var(--ink);text-wrap:balance}
.deals__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:48px;
  text-align:left;border-top:3px solid var(--ink)}
.deal{background:var(--surface);border-right:1px solid var(--rule);border-radius:var(--r-card);
  padding:30px 28px 34px;min-height:0;display:flex;flex-direction:column;gap:20px;
  justify-content:flex-start;transition:background-color .28s var(--ease-out)}
.deal:last-child{border-right:0}
.deal:hover{background:var(--surface-alt)}
.deal__n{width:auto;height:auto;border:0;border-radius:0;display:block;
  color:var(--accent-text);font-family:var(--font-mono);font-size:12px;font-weight:700;
  letter-spacing:.2em}
.deal__b{color:var(--ink);font-family:var(--font-head);font-size:21px;line-height:1.2;
  font-weight:700;letter-spacing:-.025em}

/* ------------------------------------------------------------- guarantee */
.guarantee{padding:0 var(--pad-x) 80px;background:var(--surface)}
.guarantee__inner{max-width:var(--maxw);margin:0 auto;background:var(--band);
  border-radius:var(--r-band);padding:72px 56px;text-align:left}
.guarantee h2{font-family:var(--font-head);margin:0;max-width:20ch;
  font-size:clamp(28px,3.4vw,44px);line-height:1.05;font-weight:800;
  letter-spacing:-.035em;color:#fff;text-wrap:balance}
.guarantee__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;
  border-top:1px solid var(--rule-dark)}
.gitem{display:flex;flex-direction:column;align-items:flex-start;gap:16px;
  padding:34px 30px 0 0;border-right:1px solid var(--rule-dark)}
.gitem:last-child{border-right:0}
.gitem:not(:first-child){padding-left:30px}
.gitem__icon{width:52px;height:52px;border:1px solid var(--rule-dark);border-radius:var(--r-card);
  display:flex;align-items:center;justify-content:center;color:var(--accent);
  transition:transform .3s var(--ease-out),border-color .3s var(--ease-out)}
.gitem:hover .gitem__icon{transform:none;border-color:var(--accent)}
.gitem__t{font-family:var(--font-head);color:#fff;font-size:22px;font-weight:700;letter-spacing:-.025em}
.gitem p{color:rgba(255,255,255,.76);font-size:16.5px;line-height:1.6;max-width:32ch}

/* ---------------------------------------------------------------- FAQ */
.faq{padding:0 var(--pad-x) 88px;background:var(--surface)}
.faq .inner{border-top:3px solid var(--ink)}
.faq__item{border-bottom:1px solid var(--rule)}
.faq__end{border-top:0;border-bottom:1px solid var(--rule)}
.faq__btn{display:flex;align-items:baseline;justify-content:space-between;gap:22px;width:100%;
  padding:26px 4px;background:none;border:0;cursor:pointer;text-align:left;
  transition:color .15s ease}
.faq__btn:hover{background:none}
.faq__btn:hover .faq__q{color:var(--accent-text)}
.faq__q{font-family:var(--font-head);font-size:clamp(19px,2vw,24px);font-weight:700;
  letter-spacing:-.028em;color:var(--ink);transition:color .15s ease}
.faq__chev{font-family:var(--font-mono);font-size:14px;color:var(--accent-text);font-weight:700;flex:none}
.faq__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows 240ms var(--ease-out)}
.faq__panel.is-open{grid-template-rows:1fr}
.faq__panel>div{overflow:hidden}
.faq__a{padding:0 4px 28px;font-size:18px;line-height:1.65;color:var(--ink-3);max-width:76ch}

/* ---------------------------------------------------------------- footer */
.site-footer{background:var(--band);padding:72px var(--pad-x) 48px;
  border-top:3px solid var(--accent)}
.footer__grid{max-width:var(--maxw);margin:0 auto;display:grid;
  grid-template-columns:1fr 1.15fr .8fr;gap:52px}
.footer__col1{display:flex;flex-direction:column;justify-content:space-between;gap:48px}
.footer__nav{display:flex;flex-wrap:wrap;gap:16px 26px;font-family:var(--font-mono);
  font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em}
.footer__nav a{color:rgba(255,255,255,.78)}
.footer__nav a:hover{color:var(--accent)}
.disc__h{font-family:var(--font-mono);font-size:11.5px;font-weight:700;color:var(--accent);
  text-transform:uppercase;letter-spacing:.22em;margin-bottom:18px}
.disc__item{border-bottom:1px solid var(--rule-dark)}
.disc__btn{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;
  padding:15px 2px;background:none;border:0;cursor:pointer;text-align:left}
.disc__t{font-family:var(--font-mono);font-size:12px;font-weight:600;color:rgba(255,255,255,.88);
  text-transform:uppercase;letter-spacing:.08em}
.disc__btn:hover .disc__t{color:#fff}
.disc__chev{font-family:var(--font-mono);font-size:13px;color:var(--accent);flex:none}
.disc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows 240ms var(--ease-out)}
.disc__panel.is-open{grid-template-rows:1fr}
.disc__panel>div{overflow:hidden}
.disc__b{padding:0 2px 16px;font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.72)}
.footer__cta{display:flex;align-items:flex-start;justify-content:flex-start}
.footer__bottom{max-width:var(--maxw);margin:56px auto 0;padding-top:28px;
  border-top:1px solid var(--rule-dark);display:flex;align-items:flex-end;
  justify-content:space-between;gap:36px;flex-wrap:wrap}
.footer__legal{font-size:14.5px;line-height:1.7;color:rgba(255,255,255,.68);max-width:80ch}
.footer__links{display:flex;align-items:center;gap:16px;font-family:var(--font-mono);
  font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#fff}
.footer__links a{color:rgba(255,255,255,.8)}
.footer__links a:hover{color:var(--accent)}
.footer__sep{opacity:.4}

/* ------------------------------------------------------- drawer / sticky */
.scrim{position:fixed;inset:0;z-index:60;background:rgba(13,15,19,.72)}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:70;width:330px;max-width:88vw;
  background:var(--surface);border-left:3px solid var(--ink);
  padding:22px;display:flex;flex-direction:column;gap:24px;overflow-y:auto}
.drawer__head{display:flex;align-items:center;justify-content:space-between;
  padding-bottom:16px;border-bottom:1px solid var(--ink)}
.drawer__title{font-family:var(--font-mono);font-size:11.5px;font-weight:700;color:var(--ink);
  text-transform:uppercase;letter-spacing:.22em}
.drawer__close{background:none;border:0;padding:10px;color:var(--ink);cursor:pointer}
.drawer nav{display:flex;flex-direction:column}
.drawer nav a{padding:16px 0;font-family:var(--font-head);font-size:20px;font-weight:700;
  letter-spacing:-.025em;color:var(--ink);border-bottom:1px solid var(--rule)}
.drawer nav a:hover{color:var(--accent-text)}
.drawer .cta{margin-top:auto;justify-content:center}
.sticky-call{position:fixed;left:0;right:0;bottom:0;z-index:40}
.sticky-call a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;
  background:var(--accent);color:var(--btn-label);font-family:var(--font-head);
  font-size:18px;font-weight:800;letter-spacing:-.02em}

/* ---------------------------------------------------------------- legal */
.legal{padding:64px var(--pad-x) 88px;background:var(--surface)}
.legal__inner{max-width:760px;margin:0 auto}
.legal h1{font-family:var(--font-head);font-size:clamp(34px,4.6vw,56px);line-height:1;
  font-weight:800;letter-spacing:-.04em;color:var(--ink);text-wrap:balance}
.legal__updated{margin-top:14px;font-family:var(--font-mono);font-size:11.5px;
  text-transform:uppercase;letter-spacing:.16em;color:var(--ink-4)}
.legal__intro{margin-top:22px;font-size:20px;line-height:1.55;color:var(--ink-2);
  padding-bottom:26px;border-bottom:1px solid var(--rule)}
.legal h2{font-family:var(--font-head);margin-top:48px;font-size:26px;font-weight:700;
  letter-spacing:-.03em;color:var(--ink);scroll-margin-top:120px}
.legal p{margin-top:15px;font-size:18px;line-height:1.7;color:var(--ink-3)}
.legal p strong{color:var(--ink);font-weight:700}
.legal a{font-weight:600;text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;text-decoration-color:var(--accent)}
.legal__toc{margin-top:34px;padding:26px 28px;background:var(--surface-alt);
  border:0;border-top:3px solid var(--ink);border-radius:var(--r-card)}
.legal__toc h2{margin-top:0;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-4);font-weight:700}
.legal__toc ol{margin-top:16px;padding-left:20px;list-style:decimal;display:flex;flex-direction:column;gap:9px}
.legal__toc a{font-family:var(--font-head);font-size:16.5px;font-weight:600;
  letter-spacing:-.015em;color:var(--ink);text-decoration:none}
.legal__toc a:hover{color:var(--accent-text);text-decoration:underline}
.legal__vcard{margin-top:18px;padding:22px 24px;background:var(--surface-alt);
  border-top:3px solid var(--ink);border-radius:var(--r-card);
  font-family:var(--font-mono);font-size:14.5px;line-height:1.9;color:var(--ink-3);font-style:normal}
.legal__list{margin-top:14px;padding-left:20px;list-style:disc}
.legal__list li{margin-top:9px;font-size:18px;line-height:1.7;color:var(--ink-3)}

/* ====================================================== deals / provider */
.dhero{background:var(--band);padding:76px var(--pad-x) 80px;color:#fff}
.dhero--sub{padding-top:54px}
/* block + fit-content: inline-block let it share a line with the backlink
   and the eyebrow pill, which stacked them awkwardly. */
.plogo{display:block;width:fit-content;background:#fff;border-radius:var(--r-card);
  padding:18px 24px;margin:0 0 24px;line-height:0}
.plogo img{width:240px;height:auto}
@media (max-width:600px){.plogo{padding:14px 18px}.plogo img{width:190px}}
.backlink{display:inline-block;margin-bottom:22px;font-family:var(--font-mono);font-size:11.5px;
  font-weight:600;text-transform:uppercase;letter-spacing:.16em;
  color:rgba(255,255,255,.62);text-decoration:none}
.backlink:hover{color:var(--accent)}
.dhero__eyebrow{display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:var(--accent);background:none;
  padding:0 0 8px;border-bottom:2px solid var(--accent);border-radius:0;margin-bottom:22px}
.dhero h1{font-family:var(--font-head);font-size:clamp(34px,5.2vw,64px);line-height:1;
  font-weight:800;letter-spacing:-.04em;color:#fff;max-width:18ch;text-wrap:balance}
.dhero__lead{margin-top:24px;font-size:clamp(17px,1.45vw,20px);line-height:1.6;
  color:rgba(255,255,255,.8);max-width:62ch}
.dhero__cta{margin-top:10px}
.dhero__hours{margin-top:16px;font-family:var(--font-mono);font-size:12px;
  letter-spacing:.08em;color:rgba(255,255,255,.58)}

.dsect{padding:64px var(--pad-x);background:var(--surface);border-bottom:1px solid var(--rule)}
.dsect--alt{background:var(--surface-alt)}
.dsect h2{font-family:var(--font-head);font-size:clamp(24px,2.6vw,34px);line-height:1.08;
  font-weight:800;letter-spacing:-.035em;color:var(--ink);margin-bottom:24px;text-wrap:balance}
.dsect__lead{font-size:18px;line-height:1.65;color:var(--ink-3);max-width:66ch;margin-bottom:28px}
.dsplit{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}

.callout{padding:24px 26px;background:var(--surface-alt);border:0;
  border-top:3px solid var(--ink);border-radius:var(--r-card);
  font-size:16.5px;line-height:1.7;color:var(--ink-3)}
.dsect--alt .callout{background:var(--surface)}
.callout strong{color:var(--ink);font-weight:700}

.steps{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--rule)}
.step{display:flex;gap:18px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--rule)}
.step__n{flex:none;width:auto;height:auto;border-radius:0;background:none;
  color:var(--accent-text);font-family:var(--font-mono);font-weight:700;font-size:12px;
  letter-spacing:.2em;display:block;padding-top:4px;
  transition:color .25s var(--ease-out)}
.step:hover .step__n{color:var(--ink);transform:none}
.step__t{font-family:var(--font-head);font-weight:700;font-size:18px;letter-spacing:-.025em;
  color:var(--ink);margin-bottom:5px}
.step__d{font-size:16px;line-height:1.65;color:var(--ink-3)}

.ticks{display:flex;flex-direction:column;gap:12px}
.ticks--2col{display:grid;grid-template-columns:1fr 1fr;gap:14px 36px}
.tick{display:flex;gap:12px;align-items:flex-start;font-size:16.5px;line-height:1.6;color:var(--ink-3)}
.tick svg{flex:none;color:var(--accent);margin-top:3px}

.pcards{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--rule)}
.pcard{background:none;border:0;border-bottom:1px solid var(--rule);border-radius:var(--r-card);
  padding:22px 4px;transition:background-color .28s var(--ease-out)}
.pcard:hover{background:var(--surface-alt)}
.dsect--alt .pcard:hover{background:var(--surface)}
.pcard__t{font-family:var(--font-head);font-weight:700;font-size:18px;letter-spacing:-.025em;
  color:var(--ink);margin-bottom:6px}
.pcard__d{font-size:16px;line-height:1.65;color:var(--ink-3)}
.pcard__n{margin-top:8px;font-family:var(--font-mono);font-size:12.5px;line-height:1.6;
  color:var(--ink-4);font-style:normal;letter-spacing:.01em}
.footnote{margin-top:20px;font-family:var(--font-mono);font-size:12.5px;line-height:1.7;
  color:var(--ink-4);max-width:62ch}

.chip__label{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--ink-4);margin:26px 0 12px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.04em;padding:8px 13px;
  border-radius:var(--r-card);background:none;border:1px solid var(--rule-strong);
  color:var(--ink-3);transition:border-color .2s ease,color .2s ease}
.dsect--alt .chip{background:var(--surface)}
.chip:hover{transform:none;border-color:var(--ink);color:var(--ink)}
.chip--solid{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}
.chip--solid:hover{color:#fff;border-color:var(--primary)}

.partner{background:none;border:0;border-top:3px solid var(--ink);border-radius:var(--r-card);
  padding:28px 0 0}
.partner p{font-size:17px;line-height:1.7;color:var(--ink-3);max-width:70ch}
.partner__link{display:inline-block;margin-top:18px;font-family:var(--font-mono);
  font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.14em;
  color:var(--ink);border-bottom:2px solid var(--accent);padding-bottom:4px}
.partner__link:hover{color:var(--accent-text)}

.faqs{border-top:3px solid var(--ink)}
.dcta{background:var(--band);padding:72px var(--pad-x);color:#fff;
  border-top:3px solid var(--accent)}
.dcta h2{font-family:var(--font-head);font-size:clamp(26px,2.9vw,38px);line-height:1.08;
  font-weight:800;letter-spacing:-.035em;color:#fff;max-width:20ch;text-wrap:balance}
.dcta p{margin-top:16px;font-size:17.5px;line-height:1.65;color:rgba(255,255,255,.78);max-width:60ch}

/* ============================== ZIP availability checker ================= */
.zc{margin-top:32px;max-width:min(560px,100%)}
.hero .zc{margin-top:28px}
.layout-E .hero .zc{margin-left:0}
.zc__label{font-family:var(--font-mono);font-size:11px;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.62);
  margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--rule-dark)}
.zc--light .zc__label{color:var(--ink-4);border-bottom-color:var(--rule)}
.zc__row{display:block}
.zc__field{display:flex;gap:0;align-items:stretch;border:2px solid rgba(255,255,255,.35)}
.zc--light .zc__field{border-color:var(--ink)}
.zc__input{flex:1;min-width:0;border:0;background:rgba(255,255,255,.08);color:#fff;
  border-radius:var(--r-card);padding:16px 18px;font-family:var(--font-mono);font-size:19px;
  font-weight:700;letter-spacing:.24em;outline:none;transition:background-color .2s ease}
.zc__input::placeholder{color:rgba(255,255,255,.42);letter-spacing:.14em;font-weight:500}
.zc__input:focus{background:rgba(255,255,255,.16)}
.zc--light .zc__input{background:var(--surface);color:var(--ink)}
.zc--light .zc__input::placeholder{color:var(--ink-4)}
.zc--light .zc__input:focus{background:var(--surface-alt)}
.zc__go{flex:none;border:0;cursor:pointer;border-radius:var(--r-card);padding:0 28px;
  background:var(--accent);color:var(--btn-label);font-family:var(--font-head);
  font-size:16px;font-weight:800;letter-spacing:-.01em;
  transition:background-color .18s ease}
.zc__go:hover{background:var(--accent-hover);transform:none}
.zc--light .zc__go{background:var(--accent);color:var(--btn-label)}
.zc--light .zc__go:hover{background:var(--accent-hover)}
.zc__result{margin-top:0;max-height:0;overflow:hidden;
  transition:max-height .34s var(--ease-out),margin-top .34s var(--ease-out)}
.zc__result.is-on{margin-top:16px;max-height:360px}
.zc__card{border-radius:var(--r-card);padding:20px;background:rgba(255,255,255,.06);
  border:0;border-left:2px solid var(--accent)}
.zc--light .zc__card{background:var(--surface-alt);border-left-color:var(--ink)}
.zc__head{display:flex;align-items:center;gap:9px;font-family:var(--font-head);
  font-size:18px;font-weight:700;letter-spacing:-.02em;color:#fff;margin-bottom:6px}
.zc--light .zc__head{color:var(--ink)}
.zc__head svg{flex:none}
.zc__msg{font-size:16px;line-height:1.6;color:rgba(255,255,255,.8)}
.zc--light .zc__msg{color:var(--ink-3)}
.zc__cta{margin-top:16px}
/* This label carries the ZIP, so it is long. The global nowrap on .cta would
   force the whole hero column wider than the viewport on a phone. */
.zc__cta .cta{font-size:16px;padding:14px 22px;white-space:normal;
  text-align:center;justify-content:center}
.zc__reassure{margin-top:14px;font-family:var(--font-mono);font-size:11.5px;line-height:1.6;
  letter-spacing:.04em;color:rgba(255,255,255,.55)}
.zc--light .zc__reassure{color:var(--ink-4)}
.zc__ok{color:var(--accent)}.zc--light .zc__ok{color:var(--accent-text)}
.zc__no{color:#FFCF8A}.zc--light .zc__no{color:#8A5200}
.zc__err{color:#FFB4AE}.zc--light .zc__err{color:#A02217}

/* ============================== motion ================================== */
/* Reveal targets start visible; JS adds .rv-armed only if it can animate,
   and it owns the per-sibling stagger via inline transition-delay. */
.rv-armed [data-rv]{opacity:0;transform:translateY(16px)}
.rv-armed [data-rv].rv-in{opacity:1;transform:none;
  transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.rv-armed .hero__media .ph-img{transform:scale(1.03);opacity:0}
.rv-armed .hero__media .ph-img.rv-in{transform:none;opacity:1;
  transition:transform 1.1s var(--ease-out),opacity .8s var(--ease-out)}

.progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:120;
  background:var(--accent);transition:width .12s linear;pointer-events:none}

.totop{position:fixed;right:20px;bottom:78px;z-index:45;width:46px;height:46px;
  border-radius:0;border:0;cursor:pointer;display:flex;align-items:center;
  justify-content:center;background:var(--primary);color:var(--accent);
  opacity:0;transform:translateY(10px);
  transition:opacity .3s var(--ease-out),transform .3s var(--ease-out),background-color .2s ease}
.totop.is-on{opacity:1;transform:none}
.totop:hover{background:var(--accent);color:var(--btn-label)}
@media (min-width:901px){.totop{bottom:24px}}

.triad__item{transition:background-color .28s var(--ease-out)}

/* ============================== responsive ============================== */
@media (max-width:1150px){
  .site-nav,.site-header .cta--header{display:none}
  .nav-toggle{display:block}
  .footer__grid{grid-template-columns:1fr 1fr}
  .footer__cta{grid-column:1/-1;justify-content:flex-start}
}
@media (max-width:900px){
  :root{--pad-x:20px}
  .hero{padding:48px var(--pad-x) 0}
  .hero__media{margin-top:40px}
  .hero__media .ph-img{max-height:220px}
  .sect{padding:52px var(--pad-x)}
  .hero__inner,.sect__inner,.band__inner{grid-template-columns:1fr!important;gap:32px!important}
  .sect--right .sect__media,.sect--right .sect__copy,
  .hero__media,.hero__copy{order:0!important}
  .band,.deals{padding:56px var(--pad-x)}
  .guarantee{padding:0 var(--pad-x) 56px}
  .guarantee__inner{padding:44px 22px}
  .guarantee__grid{margin-top:36px}
  .gitem{padding:28px 0 0!important;border-right:0;border-bottom:1px solid var(--rule-dark)}
  .gitem:last-child{border-bottom:0;padding-bottom:0}
  .faq{padding:0 var(--pad-x) 60px}
  .faq__btn{padding:20px 2px}
  .faq__a{font-size:16.5px;padding:0 2px 22px}
  .site-footer{padding:52px var(--pad-x) 36px}
  .footer__grid{grid-template-columns:1fr;gap:34px}
  .footer__col1{gap:28px}
  .legal{padding:44px var(--pad-x) 64px}
  .dhero{padding:52px var(--pad-x) 56px}
  .dsect,.dcta{padding:44px var(--pad-x)}
  .dsplit{grid-template-columns:1fr;gap:38px}
  .ticks--2col{grid-template-columns:1fr}
  body{padding-bottom:58px}
}
@media (max-width:700px){
  .badges,.deals__grid,.guarantee__grid{grid-template-columns:1fr!important}
  .badge,.deal{min-height:0!important}
  .deal{border-right:0;border-bottom:1px solid var(--rule)}
  .deal:last-child{border-bottom:0}
  .logo__word{font-size:23px}
  .logo--footer .logo__word{font-size:27px}
  .cta--hero,.cta--deals{width:100%;justify-content:center;white-space:normal}
}
@media (max-width:600px){
  .zc__field{flex-direction:column}
  .zc__go{padding:15px 26px}
  .zc__cta .cta{width:100%;font-size:15.5px;padding:14px 16px}
}
@media (min-width:901px){.sticky-call{display:none!important}}

@media (prefers-reduced-motion:reduce){
  .rv-armed [data-rv],.rv-armed .hero__media .ph-img{opacity:1!important;transform:none!important}
  .progress{display:none}
  .zc__result{transition:none}
  *,*::before,*::after{transition-duration:.001ms!important;animation-duration:.001ms!important;
    scroll-behavior:auto!important}
}
@media print{
  .site-header,.drawer,.scrim,.sticky-call,.disclosure,.progress,.totop{display:none!important}
  body{padding-bottom:0}
}
