/* ============================================================
   HaloTrack — shared styles (Eclipse theme)
   The halo is light. Warm paper background, corona accents,
   sections illuminate as the light reaches them.
   ============================================================ */
:root{
  --bg:#F8F7F4; --card:#FFFFFF; --ink:#181611; --ink-soft:#545047; --ink-faint:#928E84;
  --violet:#6D5BF6; --teal:#16B89C; --gold:#E8A33D;
  --grad:linear-gradient(120deg,#6D5BF6,#16B89C);
  --green:#0E9D72; --green-soft:#E2F4EC; --red:#DD4433; --red-soft:#FBE9E5;
  --amber:#9A6B00; --amber-soft:#FAF0D7;
  --line:#E8E5DD;
  --disp:'Sora',sans-serif; --sans:'Inter',sans-serif; --mono:'IBM Plex Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;color:inherit}
.wrap{max-width:1040px;margin:0 auto;padding:0 28px;position:relative;z-index:2}

@keyframes coronaSpin{to{transform:rotate(360deg)}}
@keyframes up{to{opacity:1;transform:none}}
@keyframes rimGlow{50%{box-shadow:0 0 16px rgba(232,163,61,.75);border-color:rgba(232,163,61,1)}}
@keyframes bob{50%{transform:translateY(7px)}}
@keyframes orbPulse{50%{transform:scale(.88);filter:brightness(1.15)}}
@keyframes drift{
  0%{transform:translateY(8vh) translateX(0);opacity:0}
  12%{opacity:1}
  88%{opacity:1}
  100%{transform:translateY(-108vh) translateX(6vw);opacity:0}
}
@keyframes sweepLight{0%,100%{transform:rotate(12deg) translateX(-160%)}55%{transform:rotate(12deg) translateX(420%)}}

/* drifting light motes — every page breathes */
.motes{position:fixed;inset:0;pointer-events:none;z-index:1}
.mote{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(232,163,61,.5),transparent 70%);animation:drift linear infinite}
.mote.v{background:radial-gradient(circle,rgba(109,91,246,.4),transparent 70%)}
.mote.t{background:radial-gradient(circle,rgba(22,184,156,.4),transparent 70%)}

/* ============ NAV ============ */
nav{position:fixed;top:0;left:0;right:0;z-index:60;background:rgba(248,247,244,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-inner{max-width:1040px;margin:0 auto;padding:0 28px;display:flex;justify-content:space-between;align-items:center;height:62px}
/* the logo: the "o" in Halo IS the halo */
.logo{font-family:var(--disp);font-weight:800;font-size:19px;letter-spacing:-.01em;display:flex;align-items:center}
.logo .o{display:inline-block;width:.74em;height:.74em;border-radius:50%;border:.13em solid var(--gold);margin:0 .04em;position:relative;top:.02em;box-shadow:0 0 9px rgba(232,163,61,.55);animation:rimGlow 3.4s ease-in-out infinite}
.logo .lt{color:var(--ink-soft);font-weight:600}
.nav-links{display:flex;gap:28px;font-size:14px;font-weight:500;color:var(--ink-soft)}
.nav-links a{padding-bottom:2px;border-bottom:1.5px solid transparent}
.nav-links a:hover,.nav-links a.on{color:var(--ink);border-color:var(--gold)}

/* buttons — clean, no spinning glow */
.btn{display:inline-block;background:var(--ink);color:var(--bg);font-weight:600;font-size:14.5px;padding:12px 26px;border-radius:99px;transition:transform .15s,box-shadow .25s,background .2s;border:none;cursor:pointer;font-family:var(--sans)}
.btn:hover{transform:translateY(-2px);box-shadow:0 4px 24px rgba(232,163,61,.5)}
.btn-gold{background:linear-gradient(120deg,#E8A33D,#D8862B);color:#231C0E}
.btn-gold:hover{box-shadow:0 6px 28px rgba(232,163,61,.65)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--gold);box-shadow:none}
.btn-lg{font-size:16px;padding:16px 32px}

/* ============ METER (lantern) ============ */
#meter{position:fixed;bottom:20px;left:50%;transform:translate(-50%,90px);z-index:70;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:99px;display:flex;align-items:center;gap:13px;padding:9px 22px 9px 12px;transition:transform .5s cubic-bezier(.2,.7,.3,1),box-shadow .6s;box-shadow:0 0 0 4px rgba(221,68,51,.12),0 0 34px rgba(221,68,51,.35),0 14px 34px -12px rgba(24,22,17,.3)}
#meter.green{box-shadow:0 0 0 4px rgba(14,157,114,.12),0 0 34px rgba(14,157,114,.4),0 14px 34px -12px rgba(24,22,17,.3)}
#meter.show{transform:translate(-50%,0)}
#meter .orb{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FF8B7A,var(--red));animation:orbPulse 2.2s ease-in-out infinite;transition:background .5s}
#meter.green .orb{background:radial-gradient(circle at 35% 30%,#5FE3B8,var(--green))}
#meter .lab{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);line-height:1.3}
#meter .val{font-family:var(--mono);font-size:20px;font-weight:600;color:var(--red);line-height:1.15;transition:color .4s}
#meter.green .val{color:var(--green)}

/* ============ TYPE ============ */
.k{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;display:inline-block;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.k.red{background:none;color:var(--red)}
.k.gold{background:none;color:var(--gold)}
h1{font-family:var(--disp);font-weight:800;letter-spacing:-.035em;line-height:1.0}
h2{font-family:var(--disp);font-size:clamp(30px,4vw,44px);font-weight:800;letter-spacing:-.03em;line-height:1.08;max-width:680px}
h3{font-family:var(--disp);letter-spacing:-.01em}
.lead{font-size:17px;color:var(--ink-soft);max-width:560px;margin-top:16px}

/* reveals + illuminated scenes */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}
.scene{padding:14vh 0;position:relative;z-index:2}
.scene .wrap>*{opacity:.16;filter:saturate(.4);transform:translateY(26px);transition:opacity .9s ease,filter .9s ease,transform .9s cubic-bezier(.2,.7,.3,1)}
.scene.lit .wrap>*{opacity:1;filter:none;transform:none}
.scene .wrap>*:nth-child(2){transition-delay:.08s}
.scene .wrap>*:nth-child(3){transition-delay:.16s}
.scene .wrap>*:nth-child(4){transition-delay:.24s}
.scene::before{content:'';position:absolute;top:8%;left:50%;width:780px;height:780px;transform:translateX(-50%) scale(.5);border-radius:50%;background:radial-gradient(circle,rgba(232,163,61,.22),rgba(109,91,246,.1) 45%,transparent 68%);opacity:0;transition:opacity 1.1s ease,transform 1.1s ease;pointer-events:none}
.scene.lit::before{opacity:1;transform:translateX(-50%) scale(1)}
.scene.red-light::before{background:radial-gradient(circle,rgba(221,68,51,.18),rgba(221,68,51,.06) 45%,transparent 68%)}
.scene.green-light::before{background:radial-gradient(circle,rgba(14,157,114,.2),rgba(22,184,156,.08) 45%,transparent 68%)}

/* ============ HOMEPAGE: HERO CORONA ============ */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px 24px 60px;position:relative;overflow:hidden;z-index:2}
.corona-wrap{position:absolute;top:50%;left:50%;width:min(88vmin,760px);height:min(88vmin,760px);transform:translate(-50%,-54%);pointer-events:none}
.corona{position:absolute;inset:0;border-radius:50%;background:conic-gradient(#6D5BF6,#16B89C,#E8A33D,#DD4433,#6D5BF6);filter:blur(70px);opacity:.32;animation:coronaSpin 22s linear infinite}
.corona2{position:absolute;inset:13%;border-radius:50%;background:conic-gradient(from 180deg,#E8A33D,#6D5BF6,#16B89C,#E8A33D);filter:blur(42px);opacity:.3;animation:coronaSpin 14s linear infinite reverse}
.disc{position:absolute;inset:23%;border-radius:50%;background:var(--bg);box-shadow:0 0 90px 8px rgba(232,163,61,.35)}
.rim{position:absolute;inset:22.4%;border-radius:50%;border:2px solid rgba(232,163,61,.65);animation:rimGlow 3.4s ease-in-out infinite}
.hero-inner{position:relative;z-index:2}
.tag{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:7px 16px;font-size:13px;font-weight:600;color:var(--ink-soft);box-shadow:0 8px 22px -10px rgba(24,22,17,.25);margin-bottom:24px;opacity:0;transform:translateY(16px);animation:up .6s ease .15s forwards}
.tag b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero h1{font-size:clamp(42px,6.4vw,76px)}
.hero h1 .a,.hero h1 .b{display:block;opacity:0;transform:translateY(34px);animation:up .85s cubic-bezier(.2,.7,.3,1) forwards}
.hero h1 .a{animation-delay:.3s}
.hero h1 .b{animation-delay:.5s;background:linear-gradient(120deg,#6D5BF6,#16B89C 55%,#E8A33D);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{font-size:18px;color:var(--ink-soft);max-width:560px;margin:24px auto 32px;opacity:0;animation:up .7s ease .75s forwards}
.hero-cta{opacity:0;animation:up .7s ease .95s forwards}
.hero-note{font-size:13px;color:var(--ink-faint);margin-top:14px}
.cue{margin-top:48px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);opacity:0;animation:up .7s ease 1.3s forwards}
.cue::after{content:'↓';display:block;font-size:17px;margin-top:6px;animation:bob 1.6s ease-in-out infinite}

/* gauge card + donut */
.gauge-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px 28px;max-width:600px;margin:38px auto 0;text-align:left;opacity:0;animation:up .8s ease 1.15s forwards;box-shadow:0 0 50px -8px rgba(232,163,61,.3),0 22px 50px -24px rgba(24,22,17,.35)}
.gauge-card h4{font-family:var(--disp);font-size:15px;font-weight:700;margin-bottom:3px}
.gauge-card .s{font-size:12.5px;color:var(--ink-faint);margin-bottom:16px}
.donut-row{display:flex;align-items:center;gap:26px}
.donut-box{position:relative;width:150px;height:150px;flex-shrink:0}
.donut{width:100%;height:100%}
.d-track{fill:none;stroke:#EFECE4;stroke-width:5}
.d-seg{fill:none;stroke-width:5;stroke-dasharray:0 100;stroke-dashoffset:25;transition:stroke-dasharray 1.4s cubic-bezier(.2,.7,.3,1)}
.donut-glow{position:absolute;inset:-12px;border-radius:50%;background:radial-gradient(circle,rgba(232,163,61,.35),transparent 70%);filter:blur(12px);opacity:.8}
.donut-mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.donut-mid .pc{font-family:var(--disp);font-size:27px;font-weight:800;color:var(--red);line-height:1}
.donut-mid .pl{font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-top:4px;max-width:84px}
.donut-leg{display:flex;flex-direction:column;gap:9px;font-size:12.5px;color:var(--ink-soft);font-weight:600}
.donut-leg b{font-family:var(--mono)}
.donut-leg i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:middle}

/* leak cards */
.drip-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px}
.drip{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 18px 44px -22px rgba(24,22,17,.35);position:relative;overflow:hidden}
.drip::after{content:'';position:absolute;top:-60%;left:-30%;width:60%;height:220%;background:linear-gradient(100deg,transparent,rgba(221,68,51,.07),transparent);transform:rotate(12deg);animation:sweepLight 4.6s ease-in-out infinite}
.drip:nth-child(2)::after{animation-delay:1.5s}
.drip:nth-child(3)::after{animation-delay:3s}
.drip .amt{font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--red);background:var(--red-soft);display:inline-block;padding:5px 13px;border-radius:99px;margin-bottom:16px}
.drip h3{font-size:17px;font-weight:700;margin-bottom:8px;line-height:1.3}
.drip p{font-size:14px;color:var(--ink-soft)}

/* mechanism flow */
.mech-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.flow{display:flex;flex-direction:column;gap:10px}
.frow{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:15px 18px;box-shadow:0 10px 26px -18px rgba(24,22,17,.4)}
.frow .n{font-family:var(--mono);font-size:11px;color:var(--ink-faint);min-width:34px}
.frow p{font-size:14px}
.frow .x{margin-left:auto;font-family:var(--mono);font-size:12px;font-weight:600;white-space:nowrap}
.x.bad{color:var(--red)} .x.good{color:var(--green)}
.frow.ht{border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box;box-shadow:0 0 30px rgba(22,184,156,.35)}
.frow.ht .n{font-weight:700;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* eclipse set piece */
.eclipse-zone{height:280vh;position:relative;z-index:2}
.eclipse-stage{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.ecl{position:relative;width:min(54vmin,420px);height:min(54vmin,420px)}
.ecl-glow{position:absolute;inset:-26%;border-radius:50%;background:radial-gradient(circle,rgba(221,68,51,.4),rgba(221,68,51,.12) 50%,transparent 70%);filter:blur(28px);transition:background .4s;animation:orbPulse 3.4s ease-in-out infinite}
.ecl-ring{position:absolute;inset:0;border-radius:50%;border:3px solid var(--red);box-shadow:0 0 60px rgba(221,68,51,.55),inset 0 0 40px rgba(221,68,51,.25);transition:border-color .4s,box-shadow .4s}
.ecl-disc{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background:var(--bg);box-shadow:0 0 0 1px var(--line);transform:translateX(-130%)}
.ecl.done .ecl-glow{background:radial-gradient(circle,rgba(14,157,114,.45),rgba(22,184,156,.14) 50%,transparent 70%)}
.ecl.done .ecl-ring{border-color:var(--green);box-shadow:0 0 70px rgba(14,157,114,.6),inset 0 0 40px rgba(14,157,114,.3)}
.ecl-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;width:78%}
.ecl-label .big{font-family:var(--disp);font-size:clamp(19px,2.6vmin,26px);font-weight:800;letter-spacing:-.01em;line-height:1.25}
.ecl-label .small{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-top:10px}
.ecl-cap{margin-top:42px;text-align:center;max-width:560px;padding:0 24px}
.ecl-cap p{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}

/* receipt */
.receipt-sec{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:start}
.receipt-sticky{position:sticky;top:104px}
.receipt{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:30px 28px;font-family:var(--mono);max-width:440px;position:relative;overflow:hidden;box-shadow:0 0 46px -6px rgba(14,157,114,.25),0 26px 60px -26px rgba(24,22,17,.45)}
.receipt::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--grad)}
.receipt::after{content:'';position:absolute;top:-70%;left:-40%;width:55%;height:240%;background:linear-gradient(100deg,transparent,rgba(232,163,61,.1),transparent);transform:rotate(10deg);animation:sweepLight 5.4s ease-in-out infinite}
.receipt h4{font-size:12.5px;letter-spacing:.16em;text-align:center;margin:8px 0 4px;font-weight:600}
.receipt .sub{font-size:10.5px;color:var(--ink-faint);text-align:center;margin-bottom:18px}
.r-line{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;padding:10px 4px;border-bottom:1px solid #F2F0EA;opacity:0;transform:translateX(-14px);transition:all .5s ease}
.r-line.show{opacity:1;transform:none}
.r-line .verdict{font-size:9.5px;letter-spacing:.08em;padding:3px 9px;border-radius:99px;margin-left:8px;font-family:var(--sans);font-weight:700}
.v-cut{background:var(--red-soft);color:var(--red)}
.v-keep{background:var(--green-soft);color:var(--green)}
.v-watch{background:var(--amber-soft);color:var(--amber)}
.r-line .amt{font-weight:600}
.r-total{display:flex;justify-content:space-between;padding-top:16px;font-size:14px;font-weight:600}
.r-total .amt{color:var(--green);font-size:22px}
.r-foot{font-size:9.5px;color:var(--ink-faint);text-align:center;margin-top:18px;letter-spacing:.08em}
.receipt-steps .step{min-height:46vh;display:flex;align-items:center}
.rs-card{opacity:.3;transform:translateY(10px);transition:all .5s;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 28px;box-shadow:0 16px 40px -20px rgba(24,22,17,.35)}
.step.active .rs-card{opacity:1;transform:none;box-shadow:0 0 36px -4px rgba(232,163,61,.3),0 16px 40px -20px rgba(24,22,17,.35)}
.rs-card h3{font-size:20px;font-weight:800;margin-bottom:8px}
.rs-card p{font-size:14.5px;color:var(--ink-soft)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:34px 30px;text-align:center;box-shadow:0 18px 44px -24px rgba(24,22,17,.35)}
.stat .v{font-family:var(--disp);font-size:42px;font-weight:800;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat .l{font-size:13.5px;color:var(--ink-soft);margin-top:8px}

/* CTA band */
.cta-band{position:relative;background:var(--ink);color:#fff;border-radius:26px;padding:58px;display:grid;grid-template-columns:1.1fr 1fr;gap:54px;align-items:center;overflow:hidden;box-shadow:0 0 80px -10px rgba(232,163,61,.4),0 40px 90px -30px rgba(24,22,17,.6)}
.cta-corona{position:absolute;right:-170px;top:50%;width:460px;height:460px;margin-top:-230px;border-radius:50%;background:conic-gradient(#6D5BF6,#16B89C,#E8A33D,#6D5BF6);filter:blur(60px);opacity:.4;animation:coronaSpin 16s linear infinite}
.cta-band>*{position:relative}
.cta-band h2{color:#fff}
.cta-band .k{background:linear-gradient(120deg,#9D8FFF,#5FE3C0,#FFD089);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta-band p{color:#B6B2A8;font-size:16.5px;margin-top:16px}

/* form */
.c-form{background:#fff;border-radius:18px;padding:30px;color:var(--ink)}
.c-form h4{font-family:var(--disp);font-size:17px;font-weight:700;margin-bottom:14px}
.c-form label{font-size:12.5px;font-weight:600;color:var(--ink-soft);display:block;margin:12px 0 5px}
.c-form input,.c-form select{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px 14px;font-size:14.5px;font-family:inherit;background:var(--bg);color:var(--ink)}
.c-form input:focus,.c-form select:focus{outline:2px solid var(--gold);border-color:transparent;background:#fff}
.c-form .btn{width:100%;margin-top:20px;text-align:center;font-size:15px;padding:14px}
.c-form .fine{font-size:11.5px;color:var(--ink-faint);margin-top:12px;text-align:center}

/* ============ SUBPAGES ============ */
.page-hero{padding:150px 0 50px;position:relative;z-index:2;overflow:hidden}
.page-hero .halo-bg{position:absolute;top:-340px;left:50%;transform:translateX(-50%);width:720px;height:720px;border-radius:50%;background:radial-gradient(circle,rgba(232,163,61,.2),rgba(109,91,246,.08) 50%,transparent 70%);pointer-events:none}
.page-hero h1{font-size:clamp(36px,4.8vw,58px)}
.page-hero h1 em{font-style:normal;background:linear-gradient(120deg,#6D5BF6,#16B89C 55%,#E8A33D);-webkit-background-clip:text;background-clip:text;color:transparent}
.page-hero .lead{font-size:18px}
section.sub{padding:70px 0;position:relative;z-index:2}

/* feature blocks */
.feat{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:54px 0;border-bottom:1px solid var(--line)}
.feat:last-of-type{border-bottom:none}
.feat h3{font-size:23px;font-weight:800;margin-bottom:12px}
.feat p{font-size:15.5px;color:var(--ink-soft)}
.feat ul{margin-top:16px;list-style:none}
.feat li{font-size:14.5px;color:var(--ink-soft);padding-left:26px;position:relative;margin-bottom:9px}
.feat li::before{content:'→';position:absolute;left:0;color:var(--gold);font-weight:700}
.feat-visual{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 0 40px -8px rgba(232,163,61,.25),0 18px 44px -22px rgba(24,22,17,.35)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:46px;counter-reset:step}
.stepc{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px 24px;position:relative;box-shadow:0 16px 40px -22px rgba(24,22,17,.35)}
.stepc::before{counter-increment:step;content:counter(step);position:absolute;top:-15px;left:22px;width:32px;height:32px;border-radius:50%;background:linear-gradient(120deg,#E8A33D,#D8862B);color:#231C0E;font-family:var(--disp);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px -4px rgba(232,163,61,.6)}
.stepc h3{font-size:16.5px;font-weight:800;margin:8px 0 8px}
.stepc p{font-size:13.5px;color:var(--ink-soft)}

/* trust / never list */
.never{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.nev{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 14px 36px -22px rgba(24,22,17,.35)}
.nev .x-ic{width:34px;height:34px;border-radius:50%;background:var(--red-soft);color:var(--red);display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:13px}
.nev .c-ic{background:var(--green-soft);color:var(--green)}
.nev h3{font-size:15.5px;font-weight:800;margin-bottom:6px}
.nev p{font-size:13.5px;color:var(--ink-soft)}

/* FAQ accordion */
.faq-list{margin-top:40px;border-top:1px solid var(--line)}
.qa{border-bottom:1px solid var(--line)}
.qa button{width:100%;background:none;border:none;text-align:left;font-family:var(--disp);font-size:17.5px;font-weight:700;color:var(--ink);padding:22px 44px 22px 2px;cursor:pointer;position:relative;letter-spacing:-.01em}
.qa button::after{content:'+';position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:400;color:var(--gold);transition:transform .3s}
.qa.open button::after{transform:translateY(-50%) rotate(45deg)}
.qa .a{max-height:0;overflow:hidden;transition:max-height .45s ease}
.qa .a-inner{padding:0 2px 24px;font-size:15px;color:var(--ink-soft);max-width:720px}
.qa .a-inner a{color:var(--ink);border-bottom:1.5px solid var(--gold)}

/* prose (legal pages) */
.prose{max-width:760px;font-size:15.5px;color:var(--ink-soft)}
.prose h2{font-size:24px;margin:44px 0 14px;max-width:none}
.prose h3{font-size:17px;font-weight:800;color:var(--ink);margin:28px 0 10px}
.prose p{margin-bottom:14px}
.prose ul{margin:0 0 14px 22px}
.prose li{margin-bottom:8px}
.prose a{color:var(--ink);border-bottom:1.5px solid var(--gold)}
.prose .updated{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.notice{background:var(--amber-soft);border:1px solid #EBD9A8;border-radius:12px;padding:16px 20px;font-size:13.5px;color:#6B5618;margin:24px 0}

/* footer */
footer{padding:44px 0 60px;font-size:13.5px;color:var(--ink-faint);position:relative;z-index:2;border-top:1px solid var(--line);margin-top:60px}
.foot{max-width:1040px;margin:0 auto;padding:0 28px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;align-items:center}
.foot-links{display:flex;gap:24px;flex-wrap:wrap}
.foot-links a:hover{color:var(--gold)}
.foot .logo{font-size:15px}

/* responsive */
@media(max-width:900px){
  .nav-links{display:none}
  .mech-grid,.receipt-sec,.cta-band,.feat{grid-template-columns:1fr}
  .feat.rev .feat-visual{order:-1}
  .drip-cards,.stats,.never{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr;gap:24px 16px}
  .receipt-sticky{position:static}
  .receipt-steps .step{min-height:auto;padding:26px 0}
  .cta-band{padding:36px 26px}
  .cta-corona{display:none}
  #meter{bottom:14px}
  .donut-row{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01s !important;transition-duration:.2s !important}
}
