/* ═══════════════════════════════════════════════════════════════
   FREEWAVE.ONLINE — v2 concept: "Fiber glow"
   Modern telecom: deep-night hero with aurora glow, glass panels,
   Sora geometric display + Figtree body, cyan→blue gradient system,
   crisp light sections. CSS only — zero JavaScript.
   ═══════════════════════════════════════════════════════════════ */
:root{
  --night:#050A13;
  --night-2:#0A1322;
  --night-3:#101D33;
  --cyan:#38C6FF;
  --blue:#2E7CFF;
  --aqua:#6FF0D2;
  --grad:linear-gradient(100deg,var(--cyan),var(--blue));
  --grad-text:linear-gradient(100deg,#7CDBFF,#38C6FF 40%,#5E9BFF);
  --ink:#0E1726;
  --slate:#4C5B70;
  --mist:#64748B;
  --cloud:#F4F7FB;
  --white:#FFFFFF;
  --link:#1A62D0;
  --line-l:#E3EAF2;
  --line-d:rgba(148,180,255,.14);
  --r-lg:24px;
  --r-md:16px;
  --display:'Sora',system-ui,sans-serif;
  --body:'Figtree',system-ui,sans-serif;
  --shadow-1:0 1px 2px rgba(14,23,38,.04),0 12px 32px rgba(14,23,38,.07);
  --shadow-2:0 2px 4px rgba(14,23,38,.05),0 24px 56px rgba(14,23,38,.12);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--white);color:var(--slate);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--link)}
:focus-visible{outline:2.5px solid var(--cyan);outline-offset:3px;border-radius:4px}
.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;padding:.7rem 1.4rem;font-weight:700;z-index:99;text-decoration:none;border-radius:0 0 10px 10px;transition:top .2s}
.skip-link:focus{top:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(1.1rem,4vw,2.5rem)}

/* ─── Dark shell (nav + hero share the night sky) ─── */
.sky{position:relative;background:var(--night);color:#C7D5E8;overflow:hidden}
/* aurora */
.sky::before{content:'';position:absolute;inset:-20% -10%;pointer-events:none;
  background:
    radial-gradient(52% 42% at 78% 18%,rgba(46,124,255,.34),transparent 65%),
    radial-gradient(44% 38% at 22% 8%,rgba(56,198,255,.22),transparent 65%),
    radial-gradient(50% 45% at 55% 92%,rgba(111,240,210,.10),transparent 60%),
    radial-gradient(38% 32% at 92% 70%,rgba(46,124,255,.16),transparent 60%);
  filter:blur(10px);animation:aurora 16s ease-in-out infinite alternate}
@keyframes aurora{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(-2.5%,2%,0) scale(1.06)}
  100%{transform:translate3d(2%,-1.5%,0) scale(1.02)}}
/* star grain */
.sky::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.35;
  background-image:radial-gradient(1px 1px at 12% 22%,rgba(255,255,255,.5) 50%,transparent 51%),
    radial-gradient(1px 1px at 34% 64%,rgba(255,255,255,.35) 50%,transparent 51%),
    radial-gradient(1.5px 1.5px at 58% 18%,rgba(255,255,255,.4) 50%,transparent 51%),
    radial-gradient(1px 1px at 76% 46%,rgba(255,255,255,.4) 50%,transparent 51%),
    radial-gradient(1px 1px at 90% 12%,rgba(255,255,255,.45) 50%,transparent 51%),
    radial-gradient(1.5px 1.5px at 22% 86%,rgba(255,255,255,.25) 50%,transparent 51%),
    radial-gradient(1px 1px at 66% 80%,rgba(255,255,255,.3) 50%,transparent 51%)}
.sky>*{position:relative;z-index:2}

/* ─── Nav ─── */
.nav-shell{position:sticky;top:0;z-index:50;background:rgba(5,10,19,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line-d)}
.nav-shell .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:72px}
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.logo .bars{display:flex;align-items:flex-end;gap:3.5px;height:26px}
.logo .bars i{width:5.5px;border-radius:3px;background:var(--grad);display:block}
.logo .bars i:nth-child(1){height:31%}.logo .bars i:nth-child(2){height:54%}
.logo .bars i:nth-child(3){height:77%}.logo .bars i:nth-child(4){height:100%}
.logo .bars i{transform-origin:bottom;opacity:0;animation:cellBar 2s ease-out forwards}
.logo .bars i:nth-child(1){animation-delay:0s}
.logo .bars i:nth-child(2){animation-delay:.15s}
.logo .bars i:nth-child(3){animation-delay:.3s}
.logo .bars i:nth-child(4){animation-delay:.45s}
@keyframes cellBar{0%{opacity:0;transform:scaleY(0)}50%{opacity:1;transform:scaleY(1.1);box-shadow:0 0 15px rgba(56,198,255,.8)}100%{opacity:.9;transform:scaleY(1)}}
.logo b{font-family:var(--display);font-weight:800;font-size:1.22rem;color:#fff;letter-spacing:-.02em}
.logo b span{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
nav.top > ul{list-style:none;display:flex;align-items:center;gap:.3rem}
nav.top li{position:relative}
nav.top a,nav.top .lk{display:block;padding:.55rem 1rem;border-radius:999px;color:#C7D5E8;font-weight:600;font-size:.94rem;text-decoration:none;transition:background .2s,color .2s;cursor:default}
nav.top a:hover,nav.top li:hover>.lk{background:rgba(122,178,255,.12);color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--body);font-weight:700;font-size:.98rem;padding:.8rem 1.6rem;border-radius:999px;text-decoration:none;transition:transform .18s,box-shadow .18s,filter .18s;cursor:pointer;border:0}
.btn-glow{background:var(--grad);color:#04121F;box-shadow:0 6px 24px rgba(56,163,255,.42),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-glow:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(56,163,255,.55),inset 0 1px 0 rgba(255,255,255,.35);filter:saturate(1.1)}
.btn-line{background:rgba(122,178,255,.08);color:#E7F0FB;border:1px solid rgba(148,180,255,.35)}
.btn-line:hover{background:rgba(122,178,255,.16);transform:translateY(-2px)}
nav.top .btn{padding:.6rem 1.25rem;font-size:.9rem}
.dd{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;background:rgba(13,22,40,.96);backdrop-filter:blur(16px);border:1px solid var(--line-d);border-radius:16px;padding:.5rem;list-style:none;display:none;flex-direction:column;gap:2px;box-shadow:0 24px 60px rgba(0,0,0,.5);z-index:60}
.dd a{border-radius:10px;padding:.6rem .9rem}
nav.top .dd.show{display:flex}
nav.top button.lk{background:none;border:0;font-family:inherit;font-size:.94rem;cursor:pointer}
@media(max-width:880px){
  .nav-shell .wrap{height:auto;flex-direction:column;padding-top:.8rem;padding-bottom:.8rem;gap:.6rem}
  nav.top ul{flex-wrap:wrap;justify-content:center}
}

/* ─── Hero ─── */
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;padding-top:clamp(3.5rem,7vw,6rem);padding-bottom:clamp(3.5rem,7vw,6rem)}
.pill{display:inline-flex;align-items:center;gap:.55rem;font-size:.82rem;font-weight:600;letter-spacing:.04em;color:#9FD8FF;background:rgba(56,198,255,.1);border:1px solid rgba(56,198,255,.3);padding:.42rem 1rem;border-radius:999px;margin-bottom:1.5rem}
.pill i{width:7px;height:7px;border-radius:50%;background:var(--aqua);box-shadow:0 0 10px var(--aqua);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.pill-plain{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9FD8FF;margin-bottom:1.5rem}
.pill-plain svg{width:15px;height:15px;flex:none}
.hero h1{font-family:var(--display);font-weight:800;font-size:clamp(2.4rem,5.2vw,3.9rem);line-height:1.06;letter-spacing:-.03em;color:#fff;margin-bottom:1.3rem}
.hero h1 .gx{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lede{font-size:1.14rem;line-height:1.7;max-width:33rem;color:#AABDD6;margin-bottom:2.1rem}
.hero-ctas{display:flex;gap:.9rem;flex-wrap:wrap;margin-bottom:2.4rem}
.trust{display:flex;gap:2rem;flex-wrap:wrap}
.trust div{display:flex;flex-direction:column;gap:.1rem}
.trust b{font-family:var(--display);font-weight:700;font-size:1.22rem;color:#fff;letter-spacing:-.01em}
.trust span{font-size:.82rem;color:#7E93AD}
/* plan preview stack */
.stack{display:flex;flex-direction:column;gap:.9rem;position:relative}
.glass{background:rgba(16,29,51,.55);border:1px solid var(--line-d);border-radius:var(--r-md);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:1.15rem 1.35rem;display:flex;align-items:center;gap:1.1rem;box-shadow:0 18px 44px rgba(0,0,0,.32);transition:transform .25s,border-color .25s}
.glass:hover{transform:translateX(-6px);border-color:rgba(56,198,255,.45)}
.glass .ic{width:44px;height:44px;flex:none;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(56,198,255,.12);border:1px solid rgba(56,198,255,.25)}
.glass .ic svg{width:22px;height:22px}
.glass .gt b{display:block;font-family:var(--display);font-weight:700;font-size:1rem;color:#fff}
.glass .gt span{font-size:.82rem;color:#8CA2BD}
.glass .gp{margin-left:auto;text-align:right}
.glass .gp b{font-family:var(--display);font-weight:800;font-size:1.3rem;color:#fff;letter-spacing:-.02em}
.glass .gp span{display:block;font-size:.72rem;color:#8CA2BD}
.glass.hot{border-color:rgba(56,198,255,.55);background:linear-gradient(120deg,rgba(46,124,255,.22),rgba(16,29,51,.6) 55%)}
.glass .tag{position:absolute;right:14px;top:-10px;background:var(--grad);color:#04121F;font-weight:800;font-size:.66rem;letter-spacing:.08em;padding:.28rem .7rem;border-radius:999px;box-shadow:0 4px 14px rgba(56,163,255,.5)}
.glass{position:relative;text-decoration:none;cursor:pointer}
.plan{scroll-margin-top:96px}
.stack .cap{text-align:center;font-size:.82rem;color:#7E93AD;margin-top:.2rem}
.stack .cap a{color:#9FD8FF;font-weight:600}
/* load-in */
.up{animation:up .7s cubic-bezier(.2,.8,.2,1) both}
.up.d1{animation-delay:.07s}.up.d2{animation-delay:.14s}.up.d3{animation-delay:.22s}.up.d4{animation-delay:.3s}.up.d5{animation-delay:.4s}
@keyframes up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr}}

/* ─── Marquee ─── */
.marquee{border-top:1px solid var(--line-d);background:rgba(8,15,28,.6);overflow:hidden;white-space:nowrap;padding:.85rem 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee .track{display:inline-block;animation:slide 28s linear infinite}
.marquee span{display:inline-block;margin:0 1.6rem;font-family:var(--display);font-weight:600;font-size:.78rem;letter-spacing:.22em;color:#6E87A6}
.marquee b{color:var(--cyan);font-weight:600;margin:0 .2rem}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ─── Light sections ─── */
section.lt{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--white)}
section.lt.tint{background:var(--cloud)}
section.lt.compact{padding:clamp(2rem,4vw,3rem) 0}
.kick{display:inline-block;font-family:var(--display);font-weight:700;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--link);background:rgba(46,124,255,.08);border:1px solid rgba(46,124,255,.18);padding:.35rem .9rem;border-radius:999px;margin-bottom:1.1rem}
h2.sec{font-family:var(--display);font-weight:800;font-size:clamp(1.8rem,3.6vw,2.6rem);letter-spacing:-.03em;line-height:1.12;color:var(--ink);margin-bottom:.8rem}
.sec-sub{font-size:1.06rem;max-width:38rem;margin-bottom:2.8rem}
.center{text-align:center}
.center .sec-sub{margin-left:auto;margin-right:auto}

/* plan cards */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:stretch}
.plan{background:var(--white);border:1px solid var(--line-l);border-radius:var(--r-lg);padding:2.1rem 1.9rem;display:flex;flex-direction:column;box-shadow:var(--shadow-1);transition:transform .25s,box-shadow .25s;position:relative}
.plan:hover{transform:translateY(-6px);box-shadow:var(--shadow-2)}
.plan .ph{display:flex;align-items:center;gap:.8rem;margin-bottom:1.4rem}
.plan .ph .ic{width:46px;height:46px;border-radius:14px;background:rgba(46,124,255,.09);border:1px solid rgba(46,124,255,.16);display:flex;align-items:center;justify-content:center}
.plan .ph .ic svg{width:23px;height:23px}
.plan .ph b{font-family:var(--display);font-weight:700;font-size:1.18rem;color:var(--ink);display:block;letter-spacing:-.01em}
.plan .ph span{font-size:.82rem;color:var(--mist)}
.plan .price{font-family:var(--display);font-weight:800;font-size:2.7rem;letter-spacing:-.04em;color:var(--ink);line-height:1}
.plan .price small{font-family:var(--body);font-size:1rem;font-weight:500;color:var(--mist);letter-spacing:0}
.plan .bill{font-size:.82rem;color:var(--mist);margin:.35rem 0 1.4rem}
.plan ul{list-style:none;padding:1.3rem 0 0;margin:0 0 1.6rem;border-top:1px solid var(--line-l);flex-grow:1}
.plan li{display:flex;gap:.65rem;align-items:flex-start;font-size:.95rem;margin:.6rem 0;color:var(--slate)}
.plan li svg{width:18px;height:18px;flex:none;margin-top:.18rem}
.plan .bonus{font-size:.84rem;font-weight:600;color:#0B7A53;background:#E9FAF3;border:1px solid #BFEBD9;border-radius:12px;padding:.6rem .8rem;margin-bottom:1.1rem;text-align:center}
.plan .bonus code{font-family:var(--display);font-weight:700;background:#D2F3E5;padding:.06rem .4rem;border-radius:6px;font-size:.8rem}
.plan .btn{width:100%}
.btn-dark{background:var(--ink);color:#fff;box-shadow:0 8px 22px rgba(14,23,38,.22)}
.btn-dark:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(14,23,38,.3)}
.btn-soft{background:rgba(46,124,255,.08);color:var(--link);border:1px solid rgba(46,124,255,.22)}
.btn-soft:hover{background:rgba(46,124,255,.14);transform:translateY(-2px)}
/* featured card = dark with gradient ring */
.plan.hot{background:linear-gradient(var(--night-2),var(--night-2)) padding-box,var(--grad) border-box;border:2px solid transparent;color:#AABDD6;box-shadow:0 24px 60px rgba(23,68,160,.35)}
.plan.hot .ph b,.plan.hot .price{color:#fff}
.plan.hot li{color:#B9C9DE}
.plan.hot ul{border-top-color:var(--line-d)}
.plan.hot .ph .ic{background:rgba(56,198,255,.14);border-color:rgba(56,198,255,.3)}
.plan.hot .bonus{background:rgba(111,240,210,.1);border-color:rgba(111,240,210,.3);color:#7CE8C6}
.plan.hot .bonus code{background:rgba(111,240,210,.16);color:#A3F2D9}
.plan .flag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--grad);color:#04121F;font-family:var(--display);font-weight:800;font-size:.68rem;letter-spacing:.1em;padding:.35rem 1rem;border-radius:999px;box-shadow:0 6px 18px rgba(56,163,255,.45);white-space:nowrap}
.plan .soon{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:#FFF;border:1px solid var(--line-l);color:var(--slate);font-family:var(--display);font-weight:700;font-size:.68rem;letter-spacing:.1em;padding:.35rem 1rem;border-radius:999px;box-shadow:var(--shadow-1);white-space:nowrap}
.plans.two{grid-template-columns:repeat(2,minmax(0,420px));justify-content:center}
@media(max-width:920px){.plans{grid-template-columns:1fr;max-width:440px;margin:0 auto}.plans.two{grid-template-columns:1fr}.plan.hot{order:-1}}

/* callouts */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}
.duo a{display:flex;flex-direction:column;gap:.3rem;border-radius:var(--r-lg);padding:1.6rem 1.8rem;text-decoration:none;border:1px solid;transition:transform .22s,box-shadow .22s}
.duo a:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}
.duo .t{font-family:var(--display);font-weight:700;font-size:1.12rem;letter-spacing:-.01em}
.duo p{font-size:.94rem}
.duo .go{font-weight:700;font-size:.9rem;margin-top:.4rem}
.duo .green{background:#EDFBF4;border-color:#C4EDD9}
.duo .green .t{color:#0B6B49}.duo .green .go{color:#0B7A53}.duo .green p{color:#3D6B58}
.duo .blue{background:#EEF5FF;border-color:#CFE2FA}
.duo .blue .t{color:#174E9E}.duo .blue .go{color:var(--link)}.duo .blue p{color:#44618B}
@media(max-width:760px){.duo{grid-template-columns:1fr}}

/* compare table */
.tblwrap{background:var(--white);border:1px solid var(--line-l);border-radius:var(--r-lg);box-shadow:var(--shadow-1);overflow:hidden}
.tblscroll{overflow-x:auto}
table.cmp{width:100%;border-collapse:collapse;min-width:660px;font-size:.95rem}
.cmp th,.cmp td{padding:.95rem 1.4rem;text-align:left;border-bottom:1px solid var(--line-l)}
.cmp thead th{font-family:var(--display);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--cloud)}
.cmp thead th.hl{color:var(--link)}
.cmp tbody th{font-weight:700;color:var(--ink);white-space:nowrap;font-size:.88rem}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:none}
.cmp td.hl{background:rgba(46,124,255,.045)}
.cmp .w{font-weight:700}
.cmp .w.g{color:#0B7A53}.cmp .w.b{color:var(--link)}.cmp .w.m{color:var(--mist)}
.tbl-foot{text-align:center;font-size:.92rem;color:var(--mist);margin-top:1.4rem}
.tbl-foot a{font-weight:700}

/* why */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.feat{background:var(--white);border:1px solid var(--line-l);border-radius:var(--r-lg);padding:1.9rem;box-shadow:var(--shadow-1);transition:transform .22s,box-shadow .22s}
.feat:hover{transform:translateY(-5px);box-shadow:var(--shadow-2)}
.feat .ic{width:52px;height:52px;border-radius:16px;background:var(--grad);display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;box-shadow:0 8px 20px rgba(56,163,255,.35)}
.feat .ic svg{width:26px;height:26px}
.feat h3{font-family:var(--display);font-weight:700;font-size:1.16rem;letter-spacing:-.01em;color:var(--ink);margin-bottom:.55rem}
.feat p{font-size:.95rem}
@media(max-width:860px){.feats{grid-template-columns:1fr}}

/* CTA panel */
.cta-panel{position:relative;border-radius:28px;overflow:hidden;background:var(--night);color:#AABDD6;padding:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,5vw,4rem);text-align:center}
.cta-panel::before{content:'';position:absolute;inset:-30%;background:
  radial-gradient(45% 55% at 30% 20%,rgba(56,198,255,.28),transparent 65%),
  radial-gradient(50% 60% at 75% 85%,rgba(46,124,255,.3),transparent 65%);
  filter:blur(12px);animation:aurora 14s ease-in-out infinite alternate}
.cta-panel>*{position:relative}
.cta-panel h2{font-family:var(--display);font-weight:800;font-size:clamp(1.8rem,3.4vw,2.5rem);letter-spacing:-.03em;color:#fff;margin-bottom:.8rem}
.cta-panel h2 .gx{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta-panel p{max-width:34rem;margin:0 auto 1.8rem}
.cta-panel .phone{margin-top:1.4rem;font-size:.9rem;color:#7E93AD}
.cta-panel .phone a{color:#9FD8FF;font-weight:700;text-decoration:none;border-bottom:1.5px dashed rgba(56,198,255,.5)}
.fine{font-size:.78rem;color:var(--mist);text-align:center;max-width:540px;margin:2.6rem auto 0;line-height:1.7}
.fine a{color:var(--slate)}

/* footer */
footer.site{background:var(--night);color:#7E93AD;position:relative;overflow:hidden}
footer.site::before{content:'';position:absolute;inset:0;background:radial-gradient(60% 80% at 50% -20%,rgba(46,124,255,.14),transparent 60%)}
footer.site>*{position:relative}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;padding:3.2rem 0 2.2rem}
footer.site .fl{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem}
footer.site .fl b{font-family:var(--display);font-weight:800;font-size:1.15rem;color:#fff;letter-spacing:-.02em}
footer.site .fl b span{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
footer.site .fp{font-size:.9rem;max-width:22rem}
footer.site h4{font-family:var(--display);font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#7E93AD;margin-bottom:1rem}
footer.site ul{list-style:none}
footer.site li{margin:.5rem 0}
footer.site a{color:#A9BBD2;text-decoration:none;font-size:.93rem}
footer.site a:hover{color:#fff}
.fbase{border-top:1px solid var(--line-d)}
.fbase .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.2rem;padding-bottom:1.4rem;font-size:.8rem;color:#7E93AD}
.fbase a{color:#7E93AD;font-size:.8rem}
@media(max-width:760px){footer.site .cols{grid-template-columns:1fr;gap:1.8rem}}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ═══ Subpage components ═══ */
.page-hero{position:relative;text-align:center;padding:clamp(2.8rem,5.5vw,4.2rem) 0 clamp(2.6rem,5vw,3.8rem)}
.page-hero h1{font-family:var(--display);font-weight:800;font-size:clamp(2rem,4.6vw,3.2rem);letter-spacing:-.03em;color:#fff;margin:0 0 .9rem;line-height:1.08}
.page-hero h1 .gx{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.page-hero .lede{color:#AABDD6;max-width:37rem;margin:0 auto;font-size:1.08rem;line-height:1.7}
.page-hero .pill{margin-bottom:1.3rem}
.page-hero .hero-ctas{margin-top:1.8rem;justify-content:center}
nav.top a.current{color:#fff;background:rgba(122,178,255,.14)}

/* prose cards (content-heavy pages) */
.prose-wrap{max-width:820px;margin:0 auto;text-align:left}
.prose-card{background:var(--white);border:1px solid var(--line-l);border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:2rem 2.2rem;margin-bottom:1.5rem}
.prose-card h3{font-family:var(--display);font-weight:700;font-size:1.35rem;letter-spacing:-.01em;color:var(--ink);margin:0 0 .9rem}
.prose-card h4{font-family:var(--display);font-weight:700;font-size:1.02rem;color:var(--ink);margin:1.3rem 0 .5rem}
.prose-card p{margin:0 0 .9rem}
.prose-card p:last-child{margin-bottom:0}
.prose-card ul{list-style:disc;padding-left:1.4rem;margin:.5rem 0 1rem}
.prose-card li{margin:.4rem 0;font-size:.97rem}
.note-green{background:#E9FAF3;border:1px solid #BFEBD9;border-radius:14px;padding:.9rem 1.1rem;color:#0B6B49;font-weight:600;margin-bottom:1.1rem}
.note-amber{background:#FFF7E8;border:1px solid #F2DFB6;border-radius:14px;padding:.9rem 1.1rem;color:#7A5B14;font-size:.92rem;margin:1rem 0}
.note-red{background:#FDECEC;border:1px solid #F2C4C4;border-radius:14px;padding:.9rem 1.1rem;color:#9B2C2C;font-size:.92rem;margin:1rem 0}
.mini-compare{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.1rem 0}
.mini-compare .cell{background:var(--cloud);border:1px solid var(--line-l);border-radius:16px;padding:1.1rem 1.2rem}
.mini-compare .name{font-weight:700;color:var(--ink);margin-bottom:.2rem}
.mini-compare .amt{font-family:var(--display);font-weight:800;font-size:1.6rem;color:var(--link)}
.mini-compare .amt small{font-family:var(--body);font-size:.85rem;font-weight:500;color:var(--mist)}
.mini-compare .detail{font-size:.85rem;color:var(--mist);margin-top:.25rem}
@media(max-width:640px){.mini-compare{grid-template-columns:1fr}}
.prose-card img{max-width:100%;height:auto;border-radius:16px;margin:.4rem 0 1rem}

/* FAQ accordions */
.faq{max-width:800px;margin:0 auto;text-align:left}
.faq .group{font-family:var(--display);font-weight:700;font-size:1.15rem;letter-spacing:-.01em;color:var(--ink);margin:2.2rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--line-l)}
.faq .group:first-child{margin-top:0}
.faq details{background:var(--white);border:1px solid var(--line-l);border-radius:16px;margin-bottom:.7rem;box-shadow:var(--shadow-1);overflow:hidden;transition:border-color .2s}
.faq details[open]{border-color:rgba(46,124,255,.4)}
.faq summary{padding:1.05rem 1.3rem;font-weight:700;color:var(--ink);cursor:pointer;list-style:none;display:flex;align-items:center;gap:.75rem;font-size:.97rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:'+';font-family:var(--display);font-weight:700;color:var(--link);font-size:1.15rem;line-height:1;flex:none;width:1.15rem;text-align:center;transition:transform .2s}
.faq details[open] summary::before{content:'−'}
.faq .answer{padding:.1rem 1.3rem 1.2rem 3.05rem;font-size:.94rem;line-height:1.7}
.faq .answer p{margin:.5rem 0}
.faq .answer ul{list-style:disc;padding-left:1.3rem;margin:.5rem 0}
@media(max-width:640px){.faq .answer{padding-left:1.3rem}}

/* form pages */
.form-card{max-width:980px;margin:0 auto;background:var(--white);border:1px solid var(--line-l);border-radius:var(--r-lg);box-shadow:var(--shadow-2);overflow:hidden;display:grid;grid-template-columns:1fr 1.55fr;text-align:left}
.form-info{padding:2.3rem 2.1rem;background:var(--cloud);border-right:1px solid var(--line-l);display:flex;flex-direction:column;gap:.4rem}
.form-info h3{font-family:var(--display);font-weight:700;font-size:1.3rem;color:var(--ink);margin:0 0 .5rem}
.form-info p{font-size:.94rem;margin:0 0 1rem}
.form-info ul{list-style:none;padding:0;margin:0}
.form-info li{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem;margin:.45rem 0}
.form-info li::before{content:'✓';color:var(--link);font-weight:700;flex:none}
.call-chip{background:rgba(46,124,255,.07);border:1px solid rgba(46,124,255,.2);border-radius:16px;padding:1rem 1.2rem;margin-bottom:1.2rem}
.call-chip b{display:block;font-size:.85rem;color:var(--ink);margin-bottom:.15rem}
.call-chip a{font-family:var(--display);font-weight:800;font-size:1.35rem;color:var(--link);text-decoration:none;letter-spacing:-.01em}
.call-chip span{display:block;font-size:.8rem;color:var(--mist);margin-top:.15rem}
.form-fields{padding:2.3rem 2.2rem}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fg{margin-bottom:1rem}
.fg label{display:block;font-weight:700;font-size:.86rem;color:var(--ink);margin-bottom:.35rem}
.fg .req{color:#D64545}
.field{width:100%;padding:.75rem .95rem;border:1.5px solid #D5DFEC;border-radius:12px;font-size:.95rem;font-family:inherit;color:var(--ink);background:#fff;transition:border-color .2s,box-shadow .2s}
.field:focus{outline:none;border-color:var(--link);box-shadow:0 0 0 3px rgba(46,124,255,.14)}
input[type="date"]:focus{outline:none;border-color:var(--link);box-shadow:0 0 0 3px rgba(46,124,255,.14)}
textarea.field{resize:vertical}
.form-legal{font-size:.78rem;color:var(--mist);text-align:center;margin-top:.8rem}
@media(max-width:860px){.form-card{grid-template-columns:1fr}.form-info{border-right:none;border-bottom:1px solid var(--line-l)}.frow{grid-template-columns:1fr}}


/* misc */
.center-note{text-align:center;font-size:.9rem;color:var(--mist);max-width:640px;margin:2.2rem auto 0}
.free-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:#E9FAF3;border:1px solid #BFEBD9;color:#0B7A53;font-family:var(--display);font-weight:800;font-size:.68rem;letter-spacing:.1em;padding:.35rem 1rem;border-radius:999px;box-shadow:var(--shadow-1);white-space:nowrap}
.plans.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:1080px){.plans.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.plans.four{grid-template-columns:1fr}}

/* ═══ Legacy compatibility layer (pages not yet hand-redesigned) ═══ */
body{display:flex;flex-direction:column;min-height:100vh}
main{flex:1;width:100%}
main.legacy{max-width:1160px;margin:0 auto;padding:2.8rem 1.2rem 4.5rem}
.legacy h2{font-family:var(--display);font-weight:800;font-size:clamp(1.7rem,3.4vw,2.4rem);letter-spacing:-.03em;color:var(--ink);text-align:center;margin:0 0 2rem}
.legacy h3{font-family:var(--display);font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.legacy .p{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;justify-content:center}
.legacy .p:has(.c:only-child){justify-items:center}
.legacy .p .c:only-child{max-width:460px}
.legacy .c{background:var(--white);border:1px solid var(--line-l);border-radius:var(--r-lg);padding:2rem;box-shadow:var(--shadow-1);text-align:center;transition:transform .25s,box-shadow .25s;position:relative;display:flex;flex-direction:column;align-self:stretch}
.legacy .c:hover{transform:translateY(-5px);box-shadow:var(--shadow-2)}
.legacy .c h3{font-size:1.45rem;margin:0 0 .9rem}
.legacy .c h3 small{font-family:var(--body);font-size:.95rem;display:block;font-weight:400;color:var(--mist);margin-top:.3rem;letter-spacing:0}
.legacy .c p{margin:.8rem 0;line-height:1.65}
.legacy .c img{max-width:100%;height:auto;margin:1rem 0;border-radius:14px}
.legacy .c ul{flex-grow:1;margin:0 0 1.6rem}
.legacy .c .b{margin-top:auto}
.legacy .pr{font-family:var(--display);font-weight:800;font-size:2.6rem;letter-spacing:-.03em;color:var(--ink);margin:0 0 1.2rem;line-height:1}
.legacy .pm{font-size:1.05rem;font-weight:500;color:var(--mist);letter-spacing:0}
.legacy .free{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.legacy .popular-tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--grad);color:#04121F;font-family:var(--display);font-weight:800;font-size:.66rem;letter-spacing:.1em;padding:.32rem .95rem;border-radius:999px;box-shadow:0 6px 18px rgba(56,163,255,.45);white-space:nowrap}
.legacy .bg{display:block;background:#E9FAF3;border:1px solid #BFEBD9;color:#0B7A53;font-family:var(--display);font-size:.66rem;font-weight:800;letter-spacing:.08em;padding:.3rem .8rem;border-radius:999px;margin:.4rem auto .8rem;width:fit-content}
.legacy .referral-note{background:#E9FAF3;color:#0B7A53;border:1px solid #BFEBD9;border-radius:12px;font-size:.84rem;font-weight:600;padding:.55rem .8rem;margin:0 0 .85rem;text-align:center}
.legacy :where(ul){list-style:none;padding:0;margin:1.2rem 0;text-align:left}
.legacy :where(li){font-size:.98rem;margin:.55rem 0;padding-left:1.9rem;position:relative;line-height:1.6}
.legacy :where(ul li)::before{content:"✓";position:absolute;left:0;top:.14em;width:1.25em;height:1.25em;display:flex;align-items:center;justify-content:center;font-size:.8em;font-weight:700;color:var(--link);background:rgba(46,124,255,.1);border-radius:50%}
.legacy a{color:var(--link)}
.b{display:inline-block;background:var(--grad);color:#04121F;padding:.85rem 1.9rem;border-radius:999px;text-decoration:none;font-weight:700;font-family:var(--body);font-size:.98rem;box-shadow:0 6px 20px rgba(56,163,255,.35),inset 0 1px 0 rgba(255,255,255,.35);transition:transform .18s,box-shadow .18s,filter .18s;border:none;cursor:pointer}
.b:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(56,163,255,.45),inset 0 1px 0 rgba(255,255,255,.35);filter:saturate(1.1)}
.b.secondary{background:var(--ink);color:#fff;box-shadow:0 8px 22px rgba(14,23,38,.22)}
.b.secondary:hover{box-shadow:0 12px 30px rgba(14,23,38,.3)}
.legacy a.b{color:#04121F}
.legacy a.b.secondary{color:#fff}
.form-container{max-width:980px;margin:0 auto;background:var(--white);border:1px solid var(--line-l);border-radius:var(--r-lg);box-shadow:var(--shadow-2);overflow:hidden;position:relative}
.form-panel{display:grid;grid-template-columns:1fr 1.6fr}
.form-panel-info{padding:2.4rem 2.1rem;background:var(--cloud);border-right:1px solid var(--line-l);display:flex;flex-direction:column;text-align:left}
.form-panel-info h3{font-size:1.3rem;margin:0 0 .6rem}
.form-panel-info>p{font-size:.93rem;margin:0 0 1.4rem}
.form-panel-info ul{margin:0}
.form-panel-info li{font-size:.9rem;padding-left:1.6rem;margin:.45rem 0}
.form-panel-info li::before{content:"✓";background:none;width:auto;height:auto;font-size:.95rem;color:var(--link)}
.form-panel-extra{margin-top:auto;padding-top:1.2rem;border-top:1px solid var(--line-l);font-size:.85rem;color:var(--slate)}
.form-panel-extra a{color:var(--link);font-weight:700;text-decoration:none}
.form-panel-fields{padding:2.4rem 2.2rem;text-align:left}
.form-group{margin-bottom:1rem}
.form-label{display:block;margin-bottom:.35rem;font-weight:700;font-size:.86rem;color:var(--ink)}
.req{color:#D64545}
.form-field{width:100%;padding:.75rem .95rem;border:1.5px solid #D5DFEC;border-radius:12px;font-size:.95rem;font-family:inherit;color:var(--ink);background:#fff;transition:border-color .2s,box-shadow .2s}
.form-field:focus,input[type="text"]:focus,input[type="email"]:focus,input[type="tel"]:focus,input[type="number"]:focus,select:focus,textarea:focus{outline:none;border-color:var(--link);box-shadow:0 0 0 3px rgba(46,124,255,.14)}
textarea.form-field{resize:vertical}
select.form-field{cursor:pointer}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-legal{margin-top:.7rem;font-size:.78rem;color:var(--mist);text-align:center}
.form-legal a{color:var(--link)}
.form-msg{font-weight:700;text-align:center;margin-top:.7rem;min-height:1.3rem}
.form-schedule{display:grid;grid-template-columns:1fr 1.2fr;max-width:1020px;margin:0 auto;background:#fff;border:1px solid var(--line-l);border-radius:var(--r-lg);box-shadow:var(--shadow-2);overflow:hidden}
.form-col{padding:2rem;text-align:left}
.form-col:first-child{border-right:1px solid var(--line-l)}
.form-col h3{font-size:1.12rem;margin:0 0 1.2rem;padding-bottom:.5rem;border-bottom:2px solid var(--blue);display:inline-block}
.form-full{grid-column:1/-1;padding:0 2rem 2rem;text-align:center}
@media(max-width:900px){.form-panel{grid-template-columns:1fr}.form-panel-info{border-right:none;border-bottom:1px solid var(--line-l)}.form-schedule{grid-template-columns:1fr;max-width:620px}.form-col:first-child{border-right:none;border-bottom:1px solid var(--line-l)}}
@media(max-width:768px){.form-row{grid-template-columns:1fr}}
.confirm{max-width:620px;margin:1rem auto 0;text-align:center}
.confirm-mark{width:76px;height:76px;border-radius:50%;background:var(--grad);color:#04121F;display:flex;align-items:center;justify-content:center;margin:0 auto 1.6rem;box-shadow:0 12px 30px rgba(56,163,255,.35);animation:popIn .55s cubic-bezier(.34,1.56,.64,1) both}
.confirm-mark svg{width:36px;height:36px}
@keyframes popIn{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.confirm-code{font-family:var(--display);font-weight:800;font-size:5rem;letter-spacing:-.04em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;margin:0 0 1rem}
.confirm .lead{font-size:1.1rem;line-height:1.7;margin:0 0 2rem}
.confirm-next{text-align:left;margin:0 auto 2rem;padding:1.5rem 0;border-top:1px solid var(--line-l);border-bottom:1px solid var(--line-l)}
.confirm-next .nt{font-family:var(--display);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--link);margin:0 0 .9rem}
.confirm-next ul{margin:0}
.confirm-next a{color:var(--link);font-weight:700;text-decoration:none}
.confirm .fine{margin-top:2rem;font-size:.9rem;color:var(--mist)}
.confirm .fine a{color:var(--link);text-decoration:none;font-weight:700}
.cta-open{text-align:center;max-width:760px;margin:3rem auto 1rem;padding-top:2.4rem;border-top:1px solid var(--line-l)}
.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(4,18,31,.35);border-top-color:#04121F;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;margin-right:6px}
@keyframes spin{to{transform:rotate(360deg)}}
.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}
a[target="_blank"]::after{content:" (opens in new tab)";position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.stats-open{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:2rem 1.5rem;text-align:center;margin:0 auto 3rem;max-width:1000px}
.stats-open .num{font-family:var(--display);font-weight:800;font-size:3rem;letter-spacing:-.02em;color:var(--link);display:block;line-height:1;margin-bottom:.45rem}
.stats-open .label{font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}
.features-open{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem 2.4rem;margin:0 0 3rem}
.feature{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;text-align:left;align-items:start}
.feature .icon{font-size:1.3rem;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;background:rgba(46,124,255,.1);border:1px solid rgba(46,124,255,.2);border-radius:14px}
.feature h3{font-size:1.15rem;margin:0 0 .4rem}
.feature p{margin:0;font-size:.94rem;line-height:1.7}
.section-open{max-width:980px;margin:0 auto 3rem}


/* ═══ Homepage demo — alt concept components ═══ */
/* centered hero */
.dhero{text-align:center;padding:clamp(3.5rem,8vw,6.5rem) 0 clamp(3rem,6vw,5rem);position:relative}
.dhero .pill{margin-bottom:1.6rem}
.dhero h1{font-family:var(--display);font-weight:800;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.05;letter-spacing:-.03em;color:#fff;margin:0 auto 1.4rem;max-width:15ch}
.dhero h1 .gx{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.dhero .lede{color:#AABDD6;font-size:1.16rem;line-height:1.7;max-width:40rem;margin:0 auto 2.2rem}
.dhero .hero-ctas{justify-content:center;margin-bottom:2.4rem}
.dhero .trust{justify-content:center}
/* faux address-check bar (links to contact) */
.addr-check{display:flex;align-items:center;gap:.7rem;max-width:520px;margin:0 auto 2.4rem;background:rgba(16,29,51,.6);border:1px solid var(--line-d);border-radius:999px;padding:.5rem .5rem .5rem 1.25rem;text-decoration:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 18px 44px rgba(0,0,0,.32);transition:border-color .25s,transform .25s}
.addr-check:hover{border-color:rgba(56,198,255,.45);transform:translateY(-2px)}
.addr-check .ai{width:20px;height:20px;flex:none;display:flex;align-items:center;justify-content:center}
.addr-check .ai svg{width:20px;height:20px}
.addr-check .at{color:#8CA2BD;font-size:.98rem;flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.addr-check .btn{flex:none}
@media(max-width:520px){.addr-check{flex-wrap:wrap;border-radius:20px;padding:.9rem}.addr-check .at{white-space:normal}.addr-check .btn{width:100%}}

/* how it works — steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;text-align:left}
.step{position:relative;background:var(--white);border:1px solid var(--line-l);border-radius:var(--r-lg);padding:2rem 1.8rem;box-shadow:var(--shadow-1);transition:transform .22s,box-shadow .22s}
.step:hover{transform:translateY(-5px);box-shadow:var(--shadow-2)}
.step .n{font-family:var(--display);font-weight:800;font-size:1.05rem;width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:var(--grad);color:#04121F;box-shadow:0 8px 20px rgba(56,163,255,.35);margin-bottom:1.1rem}
.step h3{font-family:var(--display);font-weight:700;font-size:1.14rem;letter-spacing:-.01em;color:var(--ink);margin-bottom:.5rem}
.step p{font-size:.95rem}
@media(max-width:860px){.steps{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}}

/* testimonials — quote cards */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;text-align:left}
.quote{background:var(--white);border:1px solid var(--line-l);border-radius:var(--r-lg);padding:1.9rem;box-shadow:var(--shadow-1);display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s}
.quote:hover{transform:translateY(-5px);box-shadow:var(--shadow-2)}
.quote .stars{display:flex;gap:2px;margin-bottom:1rem}
.quote .stars svg{width:18px;height:18px}
.quote blockquote{font-size:1rem;line-height:1.65;color:var(--slate);margin:0 0 1.3rem;flex-grow:1}
.quote .who{display:flex;align-items:center;gap:.8rem}
.quote .av{width:44px;height:44px;flex:none;border-radius:50%;background:var(--grad);color:#04121F;font-family:var(--display);font-weight:800;font-size:1.02rem;display:flex;align-items:center;justify-content:center}
.quote .who b{display:block;font-family:var(--display);font-weight:700;font-size:.96rem;color:var(--ink);letter-spacing:-.01em}
.quote .who span{font-size:.82rem;color:var(--mist)}
@media(max-width:860px){.quotes{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}}

/* services grid links reuse .feat as anchors */
a.feat{text-decoration:none;display:block}
a.feat .go{display:inline-block;margin-top:.7rem;font-weight:700;font-size:.9rem;color:var(--link)}

