:root,[data-theme="dark"]{
  --bg:#020706;--text:#f3fffb;--muted:#9ab5ac;--green:#22e8aa;--green-strong:#09a879;
  --line:rgba(70,246,198,.24);--line-strong:rgba(70,246,198,.5);--surface:rgba(4,25,20,.82);
  --surface-strong:rgba(2,15,12,.94);--surface-soft:rgba(255,255,255,.045);--surface-hover:rgba(255,255,255,.075);
  --nav:rgba(2,12,10,.86);--shadow:rgba(0,0,0,.42);--glow:rgba(31,236,174,.18);--code:#071b16;
  --on-accent:#032016;--trail:rgba(2,7,6,.13);--glyph:rgba(27,240,177,.23)
}
[data-theme="light"]{
  --bg:#edf8f4;--text:#10231d;--muted:#567269;--green:#008f68;--green-strong:#00b481;
  --line:rgba(0,130,95,.22);--line-strong:rgba(0,130,95,.48);--surface:rgba(255,255,255,.82);
  --surface-strong:rgba(249,255,252,.96);--surface-soft:rgba(5,104,77,.05);--surface-hover:rgba(5,104,77,.09);
  --nav:rgba(239,250,246,.9);--shadow:rgba(12,66,50,.14);--glow:rgba(0,169,123,.14);--code:#e2f3ed;
  --on-accent:#032016;--trail:rgba(237,248,244,.15);--glyph:rgba(0,143,104,.2)
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 50% -10%,var(--glow),transparent 34rem),var(--bg);color:var(--text);font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;line-height:1.65;transition:background-color 180ms ease,color 180ms ease}
a{color:inherit;text-decoration:none}button{font:inherit}:focus-visible{outline:3px solid var(--green);outline-offset:3px}
#matrix{position:fixed;z-index:0;inset:0;width:100%;height:100%;pointer-events:none}
.vignette{position:fixed;z-index:1;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 28%,transparent 25%,transparent 65%,rgba(0,0,0,.52) 100%)}
.nav{position:fixed;z-index:50;top:0;right:0;left:0;display:flex;align-items:center;gap:24px;min-height:72px;padding:12px max(22px,calc((100% - 1180px)/2));border-bottom:1px solid var(--line);background:var(--nav);box-shadow:0 12px 40px var(--shadow);backdrop-filter:blur(16px) saturate(1.15)}
.brand{display:inline-flex;align-items:center;flex:0 0 auto;font-size:1.35rem;font-weight:900;letter-spacing:.13em}.brand i{width:8px;height:8px;margin-right:9px;border-radius:50%;background:var(--green);box-shadow:0 0 18px var(--green)}
.links{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2vw,28px);margin-left:auto;color:var(--muted);font-size:.875rem}.links a{padding:8px 0;border-bottom:1px solid transparent;transition:color 160ms ease,border-color 160ms ease}.links a:hover,.links a.active{border-color:var(--green);color:var(--text)}
.nav-actions{display:flex;align-items:center;gap:8px}.theme,.menu-toggle{display:inline-grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface-soft);color:var(--text);cursor:pointer}.theme-icon::before{content:"☀"}[data-theme="light"] .theme-icon::before{content:"☾"}.menu-toggle{display:none}.menu-icon,.menu-icon::before,.menu-icon::after{width:18px;height:2px;border-radius:2px;background:currentColor}.menu-icon{position:relative}.menu-icon::before,.menu-icon::after{position:absolute;left:0;content:""}.menu-icon::before{top:-6px}.menu-icon::after{top:6px}
main{position:relative;z-index:2;width:min(100%,1180px);margin:0 auto;padding:92px 20px 30px}
.page-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);min-height:470px;overflow:hidden;isolation:isolate;border:1px solid var(--line);border-radius:32px;background:var(--surface-strong);box-shadow:0 30px 90px var(--shadow)}
.page-hero::before{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(90deg,var(--surface-strong) 0 36%,rgba(2,15,12,.84) 50%,transparent 82%)}
.hero-copy{align-self:end;padding:clamp(34px,6vw,68px);padding-right:16px}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.eyebrow::before{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 14px var(--green);content:""}
h1{max-width:650px;margin:18px 0 15px;font-size:clamp(2.75rem,5vw,4rem);font-weight:900;letter-spacing:-.055em;line-height:.98;text-wrap:balance}.lead{max-width:590px;margin:0;color:var(--muted);font-size:1.05rem}.hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.meta-pill{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.78rem;font-weight:700}
.hero-art{position:relative;z-index:-2;min-height:470px;background-position:center;background-size:cover}.hero-art::after{position:absolute;inset:0;background:linear-gradient(90deg,var(--surface-strong),transparent 42%);content:""}.hero-rules{background-image:url('/assets/iva-rules.png')}.hero-instructions{background-image:url('/assets/iva-instructions.png')}.hero-faq{background-image:url('/assets/iva-faq.png')}
.layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;margin-top:24px;align-items:start}.toc{position:sticky;top:94px;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 20px 65px var(--shadow);backdrop-filter:blur(16px)}.toc strong{display:block;margin-bottom:12px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.toc a{display:block;padding:8px 10px;border-radius:10px;color:var(--muted);font-size:.875rem}.toc a:hover{background:var(--surface-hover);color:var(--text)}
.content{display:grid;gap:16px}.panel{position:relative;padding:clamp(22px,4vw,34px);overflow:hidden;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,var(--surface),var(--surface-strong));box-shadow:0 24px 70px var(--shadow);backdrop-filter:blur(16px)}.panel::before{position:absolute;top:-150px;right:-140px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,var(--glow),transparent 68%);content:"";pointer-events:none}.panel>*{position:relative}.section-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.number,.icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border:1px solid var(--line-strong);border-radius:50%;box-shadow:0 0 24px var(--glow);color:var(--green);font-size:1rem;font-weight:900}.section-head h2{margin:0;font-size:clamp(1.35rem,3vw,2rem);letter-spacing:-.035em}.panel p{margin:8px 0;color:var(--muted)}
.checklist{display:grid;gap:10px;margin:0;padding:0;list-style:none}.checklist li{position:relative;padding:13px 15px 13px 44px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}.checklist li::before{position:absolute;top:14px;left:15px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--glow);color:var(--green);font-weight:900;content:"✓"}.danger li::before{content:"×"}
.step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.step-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft)}.step-card .number{margin-bottom:14px}.step-card h2{margin:0 0 8px;font-size:1.1rem}.step-card p{margin:0;color:var(--muted)}
code{display:inline-block;padding:2px 7px;border:1px solid var(--line);border-radius:7px;background:var(--code);color:var(--green);font-family:"Cascadia Code","SFMono-Regular",Consolas,monospace;font-size:.88em;overflow-wrap:anywhere}.text-link{color:var(--green);font-weight:800;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px}table{width:100%;border-collapse:collapse;min-width:650px;background:var(--surface-soft)}th,td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--green);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}tr:last-child td{border-bottom:0}
.faq-list{display:grid;gap:10px}.faq-item{border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);overflow:hidden}.faq-item[open]{border-color:var(--line-strong);background:var(--surface-hover)}.faq-item summary{position:relative;padding:19px 54px 19px 20px;font-size:1rem;font-weight:850;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{position:absolute;top:50%;right:19px;display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;color:var(--green);content:"+";transform:translateY(-50%)}.faq-item[open] summary::after{content:"−"}.answer{padding:0 20px 19px;color:var(--muted)}.answer p{margin:0}
.cta{display:flex;align-items:center;justify-content:space-between;gap:22px}.cta h2{margin:0 0 5px;font-size:clamp(1.35rem,3vw,2rem)}.cta p{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 21px;border-radius:14px;background:linear-gradient(135deg,#2af0b6,var(--green-strong));box-shadow:0 14px 45px var(--glow);color:var(--on-accent);font-weight:900;white-space:nowrap;transition:transform 180ms ease}.btn:hover{transform:translateY(-3px)}
.footer{padding:28px 6px 10px;color:var(--muted);font-size:.8rem;line-height:1.9;text-align:center}
@media(max-width:920px){.nav{padding-inline:16px}.menu-toggle{display:inline-grid}.links{position:absolute;top:calc(100% + 8px);right:12px;left:12px;display:none;flex-direction:column;gap:3px;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--surface-strong)}.links.open{display:flex}.page-hero{grid-template-columns:1fr}.hero-copy{grid-row:2;padding:30px}.hero-art{grid-row:1;min-height:0;aspect-ratio:16/8}.page-hero::before{z-index:0;background:linear-gradient(0deg,var(--surface-strong) 0,transparent 50%)}.hero-art::after{background:linear-gradient(0deg,var(--surface-strong),transparent 38%)}.layout{grid-template-columns:1fr}.toc{position:static;display:flex;flex-wrap:wrap;gap:4px}.toc strong{width:100%;margin-bottom:4px}.toc a{display:inline-block}.step-grid{grid-template-columns:1fr}}
@media(max-width:620px){.nav{min-height:64px}main{padding:76px 12px 20px}.page-hero{border-radius:24px}.hero-copy{padding:24px 20px 30px}.hero-art{aspect-ratio:4/3}h1{font-size:clamp(2.55rem,14vw,3.8rem)}.panel{padding:20px;border-radius:20px}.toc{padding:15px}.cta{align-items:stretch;flex-direction:column}.btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
