/* Forever Translated: night, gilt and parchment (the approved canvas design, D-064). One file, no inline styles
   (CSP style-src 'self'). Fonts are self-hosted subsets (SIL OFL, licences beside them). */

@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600 700;font-display:swap;src:url(/static/fonts/cormorant-garamond-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600 700;font-display:swap;src:url(/static/fonts/cormorant-garamond-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/alegreya-sans-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/alegreya-sans-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/alegreya-sans-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/alegreya-sans-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:800;font-display:swap;src:url(/static/fonts/alegreya-sans-800-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:800;font-display:swap;src:url(/static/fonts/alegreya-sans-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--gold:#e0b35a;--gold-l:#f4dfae;--ember:#e8793a;--night:#0d0a12;--night2:#15101b;--ink:#efe4c9;--cream:#fbf1da;--soft:#cdbf9f;--muted:#b9aa8c;--dim:#948570;--ok:#7fcf9a;--line:rgba(224,179,90,.16);--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:'Alegreya Sans','Segoe UI',system-ui,sans-serif;--mono:Consolas,'Cascadia Mono','DejaVu Sans Mono',monospace}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--night);color-scheme:dark;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;min-height:100vh;background:var(--night);color:var(--ink);font:400 1.125rem/1.6 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg{display:block}
img{max-width:100%;height:auto}
a{color:var(--gold);text-underline-offset:.18em}
a:hover{color:#fff0c8}
h1,h2,h3{margin:0;font-family:var(--serif);font-weight:600;line-height:1.05;letter-spacing:.005em;color:var(--cream);text-wrap:balance}
p,ul,ol,figure,dl{margin:0}
b,strong{font-weight:700}
code{font-family:var(--mono);font-size:.86em;color:var(--gold-l);background:rgba(224,179,90,.1);border:1px solid rgba(224,179,90,.2);border-radius:5px;padding:.05em .35em;overflow-wrap:anywhere}
:focus-visible{outline:2px solid var(--gold-l);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:16px;top:-80px;z-index:100;padding:12px 18px;border-radius:10px;background:var(--gold);color:#1a1208;font-weight:700;text-decoration:none}
.skip:focus{top:12px;color:#1a1208}
.sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding-inline:clamp(20px,4vw,40px)}
.muted{color:var(--muted)}
.soft{color:var(--soft)}
.small{font-size:.9rem}
.lead{font-size:clamp(1.1rem,1rem + .45vw,1.32rem);line-height:1.6;color:#e6d9bb}
.h1{font-size:clamp(2.7rem,1.1rem + 5.4vw,5.6rem);line-height:.98;color:var(--cream)}
.h1p{font-size:clamp(2.4rem,1.3rem + 3.4vw,4.25rem);line-height:1.02}
.h2{font-size:clamp(2.1rem,1.3rem + 2.5vw,3.5rem);line-height:1.05}
.h2s{font-size:clamp(1.9rem,1.3rem + 1.8vw,3rem);line-height:1.08}
.h3{font-size:clamp(1.4rem,1.2rem + .5vw,1.7rem);line-height:1.15}
.stack{display:flex;flex-direction:column;gap:var(--g,24px)}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--g,14px)}
.g8{--g:8px}.g12{--g:12px}.g16{--g:16px}.g20{--g:20px}.g28{--g:28px}.g40{--g:40px}.g56{--g:56px}
.center{text-align:center;align-items:center}
.sec{padding-block:clamp(80px,9vw,140px)}
.sec-t{padding-block:clamp(56px,6vw,80px)}
.bt{border-top:1px solid rgba(224,179,90,.1)}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,72px);align-items:center}
.split-47{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(40px,6vw,72px);align-items:start}
.split-84{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(40px,5vw,64px);align-items:start}
.split-48{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(40px,5vw,64px);align-items:start}
.split-11{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,80px);align-items:center}
.cv{content-visibility:auto;contain-intrinsic-size:auto 900px}
.head-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.grow{flex:1 1 440px;max-width:760px}
.kenburns{animation:kenburns 30s ease-in-out infinite alternate;transform-origin:70% 60%}
.hero-art picture,.band-art picture,.pagehero-art picture,.orb picture{display:contents}

/* header */
.hd{position:sticky;top:0;z-index:50;background:rgba(13,10,18,.92);border-bottom:1px solid var(--line)}
.hd-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.hd-l,.hd-r{display:flex;align-items:center;gap:12px;min-width:0}
.brand{display:inline-flex;align-items:center;gap:12px;min-width:0;color:#f4ead3;text-decoration:none}
.brand:hover{color:#fff}
.brand svg{flex:none;color:var(--gold)}
.brand b{display:block;font:700 1.5rem/1.05 var(--serif);letter-spacing:.02em;white-space:nowrap}
.brand small{display:block;margin-top:3px;font-size:.69rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.ver{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 13px;border-radius:999px;border:1px solid rgba(224,179,90,.35);background:rgba(224,179,90,.06);color:var(--ink);font:700 .8rem/1 var(--sans);letter-spacing:.04em;text-decoration:none;white-space:nowrap;transition:border-color .25s,background-color .25s}
.ver:hover{border-color:var(--gold);background:rgba(224,179,90,.12);color:#fff4dc}
.ver small{font-weight:800;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ember)}
.ver-dot{position:relative;width:7px;height:7px;border-radius:50%;background:var(--ok)}
.ver-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(127,207,154,.55);animation:ring 2.8s ease-out infinite;--ring:3.3}
.navlinks{display:flex;align-items:center;gap:30px;font-size:1rem}
.navlink{position:relative;padding:6px 0;color:var(--ink);text-decoration:none;opacity:.82;transition:opacity .2s}
.navlink::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.navlink:hover,.navlink[aria-current=page]{opacity:1;color:var(--ink)}
.navlink:hover::after,.navlink[aria-current=page]::after{transform:scaleX(1)}
.pop{position:relative}
.pop>summary{list-style:none;cursor:pointer}
.pop>summary::-webkit-details-marker{display:none}
.pill-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid rgba(224,179,90,.35);background:rgba(255,255,255,.03);color:var(--ink);font:600 .95rem var(--sans);transition:border-color .25s,background-color .25s}
.pill-btn:hover,.pop[open]>.pill-btn{border-color:var(--gold);background:rgba(255,255,255,.07)}
.pill-btn svg{color:var(--gold)}
.pop[open] .chev{transform:rotate(180deg)}
.chev{transition:transform .25s}
.pop-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:60;width:min(280px,calc(100vw - 32px));padding:8px;border-radius:16px;background:var(--night2);border:1px solid rgba(224,179,90,.3);box-shadow:0 30px 60px -20px rgba(0,0,0,.9);animation:pop .22s cubic-bezier(.2,.8,.2,1)}
.pop-panel p{margin:6px 14px 8px;font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.pop-item{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;padding:0 14px;border-radius:10px;color:var(--ink);text-decoration:none}
a.pop-item:hover{background:rgba(224,179,90,.12);color:#fff4dc}
.pop-item.cur,.pop-item[aria-current=page]{background:rgba(224,179,90,.1)}
.pop-item[aria-current=page]{color:var(--gold-l)}
.pop-item.cur svg{color:var(--gold)}
.pop-item em{font-style:normal;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ember)}
.pop-item .code{font-size:.8rem;color:var(--muted)}
.pop-item.soon{color:var(--muted);min-height:38px}
.pop-sep{height:1px;margin:8px 6px;background:rgba(224,179,90,.18)}
.menu{display:none}
.menu .pop-panel{width:min(320px,calc(100vw - 32px))}
.menu .btn{width:100%;margin-top:8px}

/* buttons, chips */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:999px;border:0;font:700 1.06rem var(--sans);text-decoration:none;cursor:pointer;transition:transform .25s ease,box-shadow .35s ease,border-color .3s,background-color .3s,opacity .3s}
.btn-gold{background:var(--gold);color:#1a1208;box-shadow:inset 0 0 0 1px rgba(255,240,200,.45),0 12px 34px -12px rgba(224,179,90,.8)}
.btn-gold:hover{transform:translateY(-2px);color:#1a1208;box-shadow:inset 0 0 0 1px rgba(255,240,200,.7),0 18px 44px -10px rgba(224,179,90,.95)}
.btn-ghost{color:var(--ink);border:1px solid rgba(224,179,90,.45);background:rgba(13,10,18,.55)}
.btn-ghost:hover{border-color:var(--gold);transform:translateY(-2px);color:#fff4d6}
.btn-sm{min-height:44px;padding:0 20px;font-size:.95rem}
.btn-lg{min-height:60px;padding:0 34px;font-size:1.19rem}
.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.btn .tag{padding:2px 10px;border-radius:999px;background:rgba(26,18,8,.14);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.chip{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;border:1px solid rgba(224,179,90,.4);background:rgba(13,10,18,.7);font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.chip svg{color:var(--gold)}
.chip-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chip-list .chip{letter-spacing:.08em}
.dot{position:relative;flex:none;width:8px;height:8px;border-radius:50%;background:var(--ember)}
.dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(232,121,58,.7);animation:ring 2.4s ease-out infinite;--ring:4}
.gilt{background:linear-gradient(100deg,#a8792a 0%,#f7dd9b 20%,var(--gold) 38%,#fff3cf 50%,#c8953a 62%,var(--gold) 80%,#f7dd9b 100%);background-size:250% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone;animation:shimmer 7s linear infinite}
.eyebrow{display:flex;align-items:center;gap:14px;font-size:.8rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.eyebrow::before{content:"";width:40px;height:1px;background:currentColor}
.center .eyebrow{justify-content:center}
.more{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;transition:gap .25s}
.more:hover{gap:12px}
.step-n{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(224,179,90,.6);color:var(--gold);font:700 1.25rem var(--serif);background:radial-gradient(circle,rgba(224,179,90,.16),transparent 70%)}
.steps{list-style:none;padding:0;display:flex;flex-direction:column;gap:24px}
.steps li{display:flex;gap:18px}
.steps h3{font-size:1.56rem;margin-bottom:4px}
.steps p{color:var(--soft)}
.steps.tight{gap:16px}
.steps.tight li{align-items:center}
.steps.tight strong{color:var(--cream)}

/* home hero */
.hero{position:relative;display:flex;align-items:center;overflow:hidden;isolation:isolate;min-height:clamp(640px,92vh,900px)}
.hero-art{position:absolute;inset:0;z-index:-3;will-change:transform;container-type:size;--ox:.5;--oy:.5;--iw:max(100cqw,177.68cqh);--ih:max(100cqh,56.28cqw)}
.hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:calc(var(--ox) * 100%) calc(var(--oy) * 100%)}
.hero-scrim{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(13,10,18,.94) 0%,rgba(13,10,18,.78) 32%,rgba(13,10,18,.18) 62%,rgba(13,10,18,0) 100%),linear-gradient(0deg,var(--night) 0%,rgba(13,10,18,0) 28%)}
.embers{position:absolute;inset:0;z-index:-1;pointer-events:none}
.embers span{position:absolute;bottom:-12px;border-radius:50%;background:#ffd79a;box-shadow:0 0 12px 3px rgba(255,176,90,.55);opacity:0;animation:rise linear infinite}
.embers span:nth-child(1){left:6%;width:3px;height:3px;animation-duration:15s;animation-delay:-1s;--dx:40px}
.embers span:nth-child(2){left:14%;width:4px;height:4px;animation-duration:19s;animation-delay:-7s;--dx:-30px}
.embers span:nth-child(3){left:22%;width:2px;height:2px;animation-duration:13s;animation-delay:-3s;--dx:24px}
.embers span:nth-child(4){left:31%;width:3px;height:3px;animation-duration:17s;animation-delay:-11s;--dx:60px}
.embers span:nth-child(5){left:39%;width:5px;height:5px;animation-duration:22s;animation-delay:-5s;--dx:-50px}
.embers span:nth-child(6){left:47%;width:2px;height:2px;animation-duration:12s;animation-delay:-9s;--dx:20px}
.embers span:nth-child(7){left:54%;width:3px;height:3px;animation-duration:16s;animation-delay:-2s;--dx:-24px}
.embers span:nth-child(8){left:61%;width:4px;height:4px;animation-duration:20s;animation-delay:-13s;--dx:44px}
.embers span:nth-child(9){left:67%;width:2px;height:2px;animation-duration:14s;animation-delay:-6s;--dx:-36px}
.embers span:nth-child(10){left:73%;width:3px;height:3px;animation-duration:18s;animation-delay:-4s;--dx:30px}
.embers span:nth-child(11){left:79%;width:5px;height:5px;animation-duration:24s;animation-delay:-15s;--dx:-60px}
.embers span:nth-child(12){left:85%;width:2px;height:2px;animation-duration:13s;animation-delay:-8s;--dx:26px}
.embers span:nth-child(13){left:90%;width:3px;height:3px;animation-duration:17s;animation-delay:-10s;--dx:-20px}
.embers span:nth-child(14){left:95%;width:4px;height:4px;animation-duration:21s;animation-delay:-12s;--dx:36px}
.hero-body{padding-block:80px 130px;max-width:780px}
.hero-body .lead{max-width:600px}
.hero-body .h1{text-shadow:0 4px 30px rgba(0,0,0,.6)}
.hero-body .h1 .gilt{text-shadow:none}
.count-label{font-size:.85rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ticks{display:flex;gap:12px}
.tick{min-width:86px;padding:14px 12px 12px;border-radius:14px;border:1px solid rgba(224,179,90,.28);background:rgba(13,10,18,.72);text-align:center}
.tick b{display:block;font:600 2.5rem/1 var(--serif);color:#fff1cf;font-variant-numeric:tabular-nums}
.tick span{display:block;margin-top:6px;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.cue{position:absolute;left:50%;bottom:28px;margin-left:-22px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(224,179,90,.4);color:var(--gold);animation:bob 2.6s ease-in-out infinite}

/* the magic light over the open book: fractions of the hero painting (1672x941) placed like object-fit: cover */
.hm{position:absolute;left:calc((100cqw - var(--iw)) * var(--ox) + var(--iw) * var(--x));top:calc((100cqh - var(--ih)) * var(--oy) + var(--ih) * var(--y));translate:-50% -50%;pointer-events:none;border-radius:50%}
.hm-halo{--x:.79;--y:.72;width:calc(var(--iw) * .36);height:calc(var(--iw) * .24);background:radial-gradient(closest-side,rgba(255,226,160,.55),rgba(255,190,100,.22) 45%,rgba(255,170,80,0) 100%);opacity:.75;animation:hmBreathe 8s ease-in-out infinite}
.hm-core{--x:.795;--y:.735;width:calc(var(--iw) * .12);height:calc(var(--iw) * .09);background:radial-gradient(closest-side,rgba(255,252,236,.95),rgba(255,228,170,.45) 45%,rgba(255,210,140,0) 100%);opacity:.8;animation:hmFlicker 3.6s ease-in-out infinite alternate}
.hm-rays{--x:.795;--y:.73;width:calc(var(--iw) * .42);height:calc(var(--iw) * .42);background:repeating-conic-gradient(from 0deg,rgba(255,230,170,0) 0deg,rgba(255,230,170,.24) 6deg,rgba(255,230,170,0) 14deg);-webkit-mask:radial-gradient(closest-side,#000 8%,rgba(0,0,0,.5) 35%,transparent 72%);mask:radial-gradient(closest-side,#000 8%,rgba(0,0,0,.5) 35%,transparent 72%);opacity:.3;animation:spin 70s linear infinite,hmRays 11s ease-in-out infinite}
.hm-flare{--x:.795;--y:.72;width:calc(var(--iw) * .5);height:calc(var(--iw) * .5);background:radial-gradient(closest-side,rgba(255,255,245,.9),rgba(255,225,160,.45) 25%,rgba(255,200,120,.12) 55%,rgba(255,190,110,0) 100%);opacity:0;animation:hmFlare 14s ease-in-out infinite}
.hm-pillar{--x:.8;--y:.74;border-radius:40% 40% 0 0;width:calc(var(--iw) * .05);height:calc(var(--ih) * .55);translate:-50% -100%;transform-origin:50% 100%;background:radial-gradient(ellipse 50% 100% at 50% 100%,rgba(255,240,200,.8),rgba(255,215,140,.3) 45%,rgba(255,200,120,0) 100%);opacity:0;animation:hmPillar 14s ease-in-out infinite}
.hm-mote{width:max(3px,calc(var(--iw) * .0045));height:max(3px,calc(var(--iw) * .0045));background:#fff2c8;box-shadow:0 0 10px 3px rgba(255,200,110,.75);opacity:0;animation:hmMote var(--t) linear infinite;animation-delay:var(--d)}
.m1{--x:.79;--y:.70;--x1:.02;--y1:-.16;--x2:.07;--y2:-.36;--t:9s;--d:-1s}
.m2{--x:.81;--y:.69;--x1:.04;--y1:-.12;--x2:.10;--y2:-.30;--t:11s;--d:-4s}
.m3{--x:.77;--y:.71;--x1:-.01;--y1:-.18;--x2:.03;--y2:-.40;--t:10s;--d:-7s}
.m4{--x:.80;--y:.70;--x1:.05;--y1:-.20;--x2:.06;--y2:-.42;--t:12s;--d:-2.5s}
.m5{--x:.78;--y:.70;--x1:-.03;--y1:-.14;--x2:-.06;--y2:-.33;--t:9.5s;--d:-6s}
.m6{--x:.83;--y:.71;--x1:.03;--y1:-.10;--x2:.09;--y2:-.25;--t:8s;--d:-3s}
.m7{--x:.79;--y:.69;--x1:0;--y1:-.22;--x2:.04;--y2:-.45;--t:13s;--d:-9s}
.m8{--x:.76;--y:.72;--x1:-.02;--y1:-.12;--x2:-.02;--y2:-.30;--t:10.5s;--d:-5s}
.m9{--x:.82;--y:.70;--x1:.06;--y1:-.18;--x2:.12;--y2:-.34;--t:11.5s;--d:-8s}
.m10{--x:.80;--y:.71;--x1:.01;--y1:-.10;--x2:.05;--y2:-.28;--t:7.5s;--d:-1.5s}
.hm-glint{width:calc(var(--iw) * .03);height:calc(var(--iw) * .03);background:radial-gradient(closest-side,rgba(255,250,230,1),rgba(255,220,150,.6) 20%,rgba(255,210,140,0) 70%);opacity:0;animation:hmGlint var(--t) ease-in-out infinite;animation-delay:var(--d)}
.hm-glint::before,.hm-glint::after{content:"";position:absolute;left:50%;top:50%;width:170%;height:2px;margin:-1px 0 0 -85%;background:linear-gradient(90deg,rgba(255,240,200,0),rgba(255,248,225,.95),rgba(255,240,200,0))}
.hm-glint::after{rotate:90deg}
.g1{--x:.727;--y:.313;--t:11s;--d:-2s}.g2{--x:.778;--y:.372;--t:9s;--d:-6s}.g3{--x:.84;--y:.399;--t:13s;--d:-1s}
.g4{--x:.912;--y:.42;--t:10s;--d:-8s}.g5{--x:.816;--y:.468;--t:12s;--d:-4s}.g6{--x:.745;--y:.484;--t:8.5s;--d:-3s}
.g7{--x:.861;--y:.547;--t:14s;--d:-10s}.g8{--x:.706;--y:.579;--t:9.5s;--d:-7s}.g9{--x:.646;--y:.68;--t:12.5s;--d:-5s}
.g10{--x:.933;--y:.585;--t:10.5s;--d:-9s}

/* home: how it works, the demo */
.how{background:radial-gradient(ellipse at 80% 30%,rgba(232,121,58,.08),rgba(13,10,18,0) 55%)}
.stage{position:relative;overflow:hidden;min-height:560px;border-radius:24px;border:1px solid rgba(224,179,90,.26);box-shadow:0 50px 90px -40px rgba(0,0,0,.95);background:#120d17}
.stage-bg{position:absolute;inset:-6px;width:calc(100% + 12px);max-width:none;height:calc(100% + 12px);object-fit:cover;filter:brightness(.42) saturate(1.15)}
.stage-in{position:relative;display:flex;align-items:flex-start;gap:22px;padding:44px 36px}
.qcard{flex:0 0 44%;padding:22px 22px 18px;border-radius:10px;background:linear-gradient(180deg,#2a2530,#1b1720);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px -20px rgba(0,0,0,.9);color:#d9d2c3;font-size:.94rem;line-height:1.5;animation:fadeUp 12s ease infinite}
.qcard .k{margin-bottom:8px;font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#9d8f76}
.qcard .t{margin-bottom:12px;font:700 1.3rem/1.2 var(--serif);color:#f1e6cc}
.qcard .h{margin-bottom:6px;font-weight:700;color:#f1e6cc}
.qcard p{margin-bottom:14px}
.qbtns{display:flex;gap:10px}
.qbtns span{flex:1;padding:8px 0;border-radius:6px;background:rgba(255,255,255,.08);text-align:center;font-weight:700}
.qbtns span:first-child{background:#5a1e14;color:#f6e2c0}
.panel{position:relative;flex:1;padding:18px 22px 22px;border-radius:8px;background:radial-gradient(ellipse at 50% 0%,#fbf4e2,#f1e3c3 60%,#e8d4a8);border:4px double #b58a2a;color:#2e2013;font-size:1rem;line-height:1.55;box-shadow:0 24px 60px -18px rgba(0,0,0,.9),inset 0 0 40px rgba(120,85,30,.18);animation:panelIn 12s cubic-bezier(.2,.7,.2,1) infinite}
.panel-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(181,138,42,.5)}
.panel-hd span:first-child{font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#6b4a1a}
.plen{display:inline-flex;overflow:hidden;border-radius:999px;border:1px solid rgba(107,74,26,.5);font-size:.7rem;font-weight:800}
.plen span{padding:2px 8px;color:#6b4a1a}
.plen span:first-child{background:#7a4a12;color:#fbf1da}
.panel .pt{margin-bottom:12px;font:700 1.45rem/1.15 var(--serif);color:#5b3510}
.panel .ps{margin-bottom:4px;font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#8a6a3a}
.panel .pp{margin-bottom:14px}
.ln{animation:lineIn 12s ease infinite both}
.ln1{animation-delay:.45s}.ln2{animation-delay:.9s}.ln3{animation-delay:1.35s}.ln4{animation-delay:1.8s}
.term{position:relative;border-bottom:2px dotted #8a3b0c;border-radius:2px;animation:termGlow 12s ease infinite}
.dotted{border-bottom:2px dotted #8a3b0c}
.tip{position:absolute;left:50%;bottom:calc(100% + 12px);z-index:2;white-space:nowrap;padding:10px 14px;border-radius:6px;background:var(--night2);border:1px solid #6d5320;box-shadow:0 12px 30px -8px rgba(0,0,0,.8);color:var(--ink);font:500 .88rem/1.3 var(--sans);animation:tipIn 12s ease infinite both}
.tip b{display:block;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.pointer{position:absolute;left:52%;top:58%;animation:pointer 12s ease-in-out infinite both}
.cap{font-size:.88rem;color:#9d8f76}

/* cards */
.card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:16px;padding:34px 30px 30px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.012));border:1px solid var(--line);transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .45s}
.card::after{content:"";position:absolute;left:-40%;top:0;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,236,190,.09),transparent);transform:skewX(-18deg);transition:left .9s ease;pointer-events:none}
@media (hover:hover){.card:hover{transform:translateY(-8px);border-color:rgba(224,179,90,.6);box-shadow:0 34px 70px -34px rgba(0,0,0,.95),0 0 40px -18px rgba(224,179,90,.6)}
.card:hover::after{left:120%}}
.card h3{font-size:1.7rem}
.card p{color:var(--soft)}
.card.flat{padding:26px;gap:10px}
.card b{color:var(--cream)}
.plainul{list-style:none;padding:0;row-gap:0;column-gap:48px}
.card.flat:hover{transform:none}
.card.link{text-decoration:none;color:inherit}
.card.link h3{font-size:1.6rem}
.icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:var(--gold);border:1px solid rgba(224,179,90,.45);background:radial-gradient(circle,rgba(224,179,90,.2),transparent 70%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){.card:hover .icon{transform:rotate(-8deg) scale(1.08)}}

/* parchment band */
.parch{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% -20%,#fffaf0 0%,#f4e8cc 40%,#ead8b2 100%);color:#2b1d10}
.parch::before{content:"";position:absolute;left:0;right:0;top:0;height:10px;background:linear-gradient(90deg,#7a4a12,#e0b35a,#7a4a12)}
.parch a{color:#8a3b0c}
.parch a:hover{color:#5b2305}
.parch .eyebrow{color:#8a5a14}
.parch h2,.parch h3{color:#4a2c0c}
.parch .lead,.parch p{color:#5b3a18}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.stats.line{padding-bottom:48px;border-bottom:1px solid rgba(91,53,16,.2)}
.stat b{display:block;font:600 clamp(4.2rem,3rem + 3vw,5.75rem)/.9 var(--serif);color:#7a4a12}
.stat p{margin-top:10px;font-size:1.19rem}
.zone{display:flex;flex-direction:column;gap:14px;padding:30px;border-radius:18px;border:1px solid rgba(91,53,16,.22);background:rgba(255,253,245,.55);box-shadow:0 20px 40px -30px rgba(91,53,16,.6)}
.zone-hd{display:flex;align-items:center;justify-content:space-between;gap:16px}
.zone h3{font-size:1.85rem}
.pill{display:inline-flex;align-items:center;flex:none;gap:8px;padding:5px 12px;border-radius:999px;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.pill.next{background:rgba(232,121,58,.16);color:#8a3b0c}
.pill.work{background:rgba(122,74,18,.14);color:#5b3510}
.qt{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:10px 0;border-bottom:1px solid rgba(91,53,16,.15)}
.qt-t{font:600 1.35rem/1.25 var(--serif);color:#3b240c}
.qt-t small{display:block;font:400 .88rem var(--sans);color:#8a6a3a}
.qt-z{flex:none;font-size:.92rem;color:#8a6a3a}
.link-term{border-bottom:2px dotted #8a3b0c;cursor:help}
.note{font-size:.92rem;color:#8a6a3a}

/* contribute band */
.band{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;min-height:780px}
.band-art{position:absolute;inset:0;z-index:-2;animation:drift 40s ease-in-out infinite alternate}
.band-art img{width:100%;height:100%;object-fit:cover}
.band-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(270deg,rgba(13,10,18,.96) 0%,rgba(13,10,18,.84) 36%,rgba(13,10,18,.15) 68%,rgba(13,10,18,0) 100%),linear-gradient(180deg,var(--night) 0%,rgba(13,10,18,0) 16%,rgba(13,10,18,0) 84%,var(--night) 100%)}
.band-body{margin-left:auto;max-width:540px;padding-block:120px}

/* languages */
.orb{position:relative;overflow:hidden;aspect-ratio:1/1;max-width:560px;width:100%;margin-inline:auto;border-radius:50%;box-shadow:0 0 120px -30px rgba(224,179,90,.6)}
.orb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kenburns 30s ease-in-out infinite alternate}
.orb::after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(13,10,18,0) 45%,rgba(13,10,18,.85) 72%,var(--night) 100%)}
.ring{position:absolute;z-index:1;left:50%;top:50%;border-radius:50%;border:1px solid rgba(224,179,90,.35);animation:spin 60s linear infinite}
.ring.r1{width:44%;height:44%;margin:-22% 0 0 -22%}
.ring.r2{width:64%;height:64%;margin:-32% 0 0 -32%;animation-duration:90s;animation-direction:reverse;border-style:dashed;border-color:rgba(224,179,90,.25)}
.ring.r3{width:84%;height:84%;margin:-42% 0 0 -42%;animation-duration:120s}
.node{position:absolute;top:-11px;left:calc(50% - 11px);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:800 .62rem var(--sans)}
.node.lit{background:var(--gold);color:#1a1208;box-shadow:0 0 24px 6px rgba(224,179,90,.55)}
.node.dim{background:rgba(13,10,18,.8);border:1px dashed rgba(224,179,90,.6);color:var(--gold)}
.node i{font-style:normal;animation:spin 60s linear infinite reverse}
.r2 .node i{animation-duration:90s;animation-direction:normal}
.r3 .node i{animation-duration:120s}
.langs{display:flex;flex-wrap:wrap;gap:12px}
.lang{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px;border-radius:999px;font-weight:700;text-decoration:none}
.lang small{font-weight:400;opacity:.85;font-size:.88rem}
.lang.on{background:var(--gold);color:#1a1208}
.lang.soon{border:1px solid rgba(224,179,90,.35);color:var(--ink)}
.lang.add{border:1px dashed var(--gold);color:var(--gold);transition:background-color .25s}
.lang.add:hover{background:rgba(224,179,90,.12)}

/* FAQ */
.faq{border-bottom:1px solid rgba(224,179,90,.18)}
.faq>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding-block:10px;font:600 clamp(1.3rem,1.15rem + .5vw,1.6rem)/1.2 var(--serif);color:#f4ead3}
.faq>summary::-webkit-details-marker{display:none}
.faq>summary:hover{color:#fff}
.plus{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(224,179,90,.45);color:var(--gold);transition:transform .35s ease}
.faq[open] .plus{transform:rotate(45deg)}
.ans{display:flex;flex-direction:column;gap:10px;max-width:680px;padding-bottom:26px;color:var(--soft);animation:fadeIn .4s ease both}
.ans p:first-child{font-size:1.19rem;color:var(--ink)}
.cat{scroll-margin-top:100px}
.cat h2{margin-bottom:10px;font-size:clamp(2rem,1.6rem + 1vw,2.5rem)}
.jump{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(224,179,90,.3);color:var(--ink);text-decoration:none;font-weight:700;transition:background-color .25s,border-color .25s}
.jump:hover{border-color:var(--gold);background:rgba(224,179,90,.1);color:#fff4dc}

/* page header of the inner pages */
.pagehero{position:relative;overflow:hidden;isolation:isolate;border-bottom:1px solid rgba(224,179,90,.14)}
.pagehero-art{position:absolute;inset:0;z-index:-2;animation:kenburns 30s ease-in-out infinite alternate;transform-origin:70% 60%}
.pagehero-art img{width:100%;height:100%;object-fit:cover}
.pagehero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,10,18,.95) 0%,rgba(13,10,18,.82) 45%,rgba(13,10,18,.45) 100%),linear-gradient(0deg,var(--night) 0%,rgba(13,10,18,0) 50%)}
.pagehero.plain{background:radial-gradient(ellipse at 15% 0%,rgba(224,179,90,.1),rgba(13,10,18,0) 55%)}
.pagehero.plain::after{display:none}
.pagehero-in{padding-block:56px 64px}
.pagehero .lead{max-width:680px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:0;list-style:none;font-size:.9rem;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:#fff0c8}
.crumbs li+li::before{content:"›";margin-right:10px;color:var(--gold)}
.updated{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--muted)}
.updated svg{color:var(--gold)}
.sticky{position:sticky;top:110px}

/* install */
.reqs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border-radius:18px;border:1px solid rgba(224,179,90,.2);background:rgba(224,179,90,.2)}
.reqs div{padding:22px;background:#120e17}
.reqs dt{font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.reqs dd{margin:6px 0 0;font:600 1.38rem/1.2 var(--serif);color:var(--cream)}
.isteps{list-style:none;padding:0}
.istep{display:grid;grid-template-columns:72px minmax(0,1fr);gap:28px;padding:36px 0;border-bottom:1px solid rgba(224,179,90,.14);scroll-margin-top:100px}
.istep .num{font:600 4rem/.9 var(--serif);color:var(--gold);text-shadow:0 0 30px rgba(224,179,90,.45)}
.istep h3{font-size:clamp(1.6rem,1.4rem + .6vw,1.9rem)}
.istep p{color:var(--soft)}
.tree-fig{margin:0}
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.tree{margin:0;padding:22px 24px;overflow-x:auto;border-radius:14px;background:#0a080e;border:1px solid rgba(224,179,90,.2);font:.94rem/1.9 var(--mono);color:var(--muted);white-space:pre}
.tree b{font-weight:600;color:var(--gold-l)}
.tree em{font-style:normal;color:var(--gold)}
.tipbox{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:14px;background:rgba(232,121,58,.08);border:1px solid rgba(232,121,58,.35);color:#f0d9c6;font-size:1rem}
.tipbox svg{flex:none;color:var(--ember)}
.badge{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 20px;border-radius:14px;border:1px solid rgba(224,179,90,.3);background:rgba(255,255,255,.03);color:var(--ink);font-weight:700}
.badge small{font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ember)}
.toc{display:flex;flex-direction:column;gap:4px;padding:22px;border-radius:18px;border:1px solid rgba(224,179,90,.18);background:rgba(255,255,255,.02)}
.toc>span{padding:0 12px 8px;font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.toc a{display:flex;align-items:center;min-height:40px;padding:0 12px;border-radius:10px;color:var(--soft);text-decoration:none;font-size:1rem}
.toc a:hover{background:rgba(224,179,90,.1);color:#fff0c8}
.plain-list{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px;color:var(--soft)}
.plain-list li::marker{color:var(--gold)}
.plain-list b{color:var(--ink)}

/* privacy */
.summary-box{padding:34px 36px;border-radius:20px;border:1px solid rgba(224,179,90,.3);background:radial-gradient(ellipse at 0% 0%,rgba(224,179,90,.12),rgba(224,179,90,.02) 60%)}
.checks{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 36px}
.checks li{display:flex;gap:12px}
.checks svg{flex:none;margin-top:3px;color:var(--gold)}
.prose{max-width:720px;color:var(--soft)}
.prose h2{margin:56px 0 14px;font-size:clamp(1.9rem,1.5rem + 1vw,2.25rem);scroll-margin-top:100px}
.prose h2:first-child{margin-top:0}
.prose p{margin:0 0 14px}
.prose ul{margin:0 0 16px;padding-left:22px}
.prose li{margin-bottom:8px}
.prose li::marker{color:var(--gold)}
.prose strong{color:var(--ink)}
.table-wrap{overflow-x:auto;margin-bottom:16px}
.dtable{width:100%;min-width:520px;border-collapse:collapse;font-size:1rem}
.dtable th,.dtable td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(224,179,90,.14)}
.dtable th{font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.dtable td{color:var(--soft)}
.dtable tbody th{font-size:1rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--ink)}

/* submit */
.rail{list-style:none;padding:0}
.rail li{position:relative;display:flex;gap:18px;padding-bottom:30px}
.rail li:not(:last-child)::after{content:"";position:absolute;left:21px;top:48px;bottom:4px;width:2px;background:linear-gradient(180deg,rgba(224,179,90,.6),rgba(224,179,90,.1))}
.rail li.done .step-n{background:var(--gold);color:#1a1208;border-color:var(--gold)}
.rail li.now .step-n,.mbtn.hl{position:relative}
.rail li.now .step-n::after,.mbtn.hl::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 9px rgba(224,179,90,.26);pointer-events:none;animation:glow 2.4s ease-in-out infinite}
.rail strong{color:var(--cream)}
.rail .soft{font-size:1rem}
.mini-win{margin-top:4px;padding:14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#26212c,#1a161f);font-size:.82rem;color:#cfc6b4}
.mini-win .mw-hd{display:flex;justify-content:space-between;margin-bottom:10px;font-weight:700;color:#f1e6cc}
.mini-win .mw-row{display:flex;gap:6px;margin-bottom:10px}
.mini-win .mw-txt{height:42px;padding:6px 8px;overflow:hidden;border-radius:6px;background:rgba(0,0,0,.35);font:.7rem var(--mono);color:#9d8f76}
.mini-win .mw-ft{display:flex;justify-content:space-between;margin-top:8px;font-size:.75rem}
.mini-win .mw-ft b{color:#f1e6cc}
.mbtn{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:6px;background:rgba(255,255,255,.08);font-weight:700;font-size:.75rem}
.mbtn.hl{background:#5a1e14;color:#f6e2c0;box-shadow:0 0 0 2px var(--gold)}
.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:1px 8px;border-radius:6px;border:1px solid rgba(224,179,90,.4);border-bottom-width:3px;background:#1a1420;color:var(--gold-l);font:700 .8rem/1.6 var(--sans)}
.scroll-card{position:relative;border-radius:26px;padding:4px;background:linear-gradient(160deg,rgba(224,179,90,.65),rgba(224,179,90,.12) 40%,rgba(224,179,90,.5));box-shadow:0 60px 120px -50px rgba(0,0,0,1),0 0 80px -40px rgba(224,179,90,.6)}
.scroll-inner{display:flex;flex-direction:column;gap:22px;padding:clamp(20px,3vw,32px);border-radius:23px;background:linear-gradient(180deg,#16111c,#110d16)}
.sc-hd{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.sc-hd label{font:600 1.9rem/1.1 var(--serif);color:var(--cream)}
.sc-hd span{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;color:var(--muted)}
.sc-hd svg{color:var(--gold)}
.drop{position:relative;border-radius:18px;border:2px dashed rgba(224,179,90,.45);background:radial-gradient(ellipse at 50% 0%,rgba(224,179,90,.07),rgba(224,179,90,0) 60%),var(--night);transition:border-color .3s,box-shadow .3s,background-color .3s}
.drop:hover{border-color:var(--gold)}
.drop:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(224,179,90,.22)}
.drop.filled{border-style:solid;border-color:rgba(224,179,90,.55)}
.drop.drag{border-style:solid;border-color:var(--gold);background-color:rgba(224,179,90,.08);box-shadow:0 0 0 6px rgba(224,179,90,.22),0 0 60px -10px rgba(224,179,90,.7)}
.drop{--ta:240px}
.drop textarea{display:block;width:100%;min-height:var(--ta);padding:24px 26px;border:0;outline:0;resize:vertical;background:transparent;color:#e9ddc0;font:.94rem/1.65 var(--mono)}
.drop-empty{position:absolute;top:0;left:0;right:0;height:var(--ta);display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;pointer-events:none}
.js .drop-empty{display:flex}
.js .drop.filled .drop-empty{display:none}
.drop-empty .orbi{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;color:var(--gold);border:1px solid rgba(224,179,90,.5);background:radial-gradient(circle,rgba(224,179,90,.22),transparent 70%);animation:float 4s ease-in-out infinite}
.drop-empty b{font:600 1.6rem/1.2 var(--serif);color:var(--cream)}
.drop-empty span{color:var(--muted)}
.drop-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-top:1px solid var(--line)}
.drop-foot p{font-size:.88rem;color:var(--muted)}
.filebtn{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid rgba(224,179,90,.35);color:var(--ink);font-weight:700;cursor:pointer;transition:border-color .25s,background-color .25s}
.filebtn:hover,.filebtn:focus-within{border-color:var(--gold);background:rgba(224,179,90,.08)}
.filebtn svg{color:var(--gold)}
.filebtn input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.linkbtn{min-height:44px;padding:0 6px;border:0;background:none;color:var(--gold);font:700 .94rem var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.linkbtn:hover{color:#fff0c8}
.found{display:flex;flex-direction:column;gap:12px}
.found-hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:.88rem;color:var(--muted)}
.found-hd strong{font-size:.94rem;letter-spacing:.14em;text-transform:uppercase}
.parts{display:flex;flex-wrap:wrap;gap:10px;padding:0;list-style:none}
.part{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px 0 10px;border-radius:12px;font-weight:700;font-size:.94rem;animation:partIn .45s cubic-bezier(.2,.8,.2,1) both}
.part svg{flex:none}
.part small{font-weight:400;font-size:.88rem;opacity:.85}
.part.ok{background:rgba(127,207,154,.1);border:1px solid rgba(127,207,154,.45);color:#cdeed7}
.part.miss{background:rgba(232,121,58,.08);border:1px dashed rgba(232,121,58,.7);color:#f6c9a8}
.part.bad{background:rgba(255,120,90,.1);border:1px solid rgba(255,140,110,.6);color:#ffd2c4}
.part.fb{background:rgba(224,179,90,.1);border:1px solid rgba(224,179,90,.45);color:var(--gold-l)}
.meter{height:8px;overflow:hidden;border-radius:999px;background:rgba(224,179,90,.14)}
.meter i{display:block;width:0;height:100%;border-radius:999px;background:linear-gradient(90deg,#b58a2a,#e0b35a);transition:width .8s cubic-bezier(.2,.7,.2,1)}
.status{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:16px;font-size:1rem}
.status svg{flex:none;margin-top:2px}
.status b{display:block;color:#fff4dc}
.status.ok{background:rgba(127,207,154,.08);border:1px solid rgba(127,207,154,.4);color:#d4f0dc}
.status.ok svg{color:var(--ok)}
.status.warn{background:rgba(232,121,58,.08);border:1px solid rgba(232,121,58,.5);color:#f6d6bf}
.status.bad{background:rgba(255,120,90,.08);border:1px solid rgba(255,140,110,.55);color:#ffd9cc}
.status.warn svg,.status.bad svg{color:var(--ember)}
.status.info{background:rgba(224,179,90,.07);border:1px solid rgba(224,179,90,.35);color:#f0e2c2}
.status.info svg{color:var(--gold)}
.opt>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--ink);font-weight:700}
.opt>summary::-webkit-details-marker{display:none}
.opt>summary svg{color:var(--gold);transition:transform .3s}
.opt[open]>summary svg{transform:rotate(90deg)}
.opt>summary small{font-weight:400;color:var(--muted)}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:12px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-weight:700;color:var(--ink)}
.field input{min-height:52px;padding:0 16px;border-radius:12px;border:1px solid rgba(224,179,90,.3);background:var(--night);color:var(--ink);font:1.06rem var(--sans);transition:border-color .25s,box-shadow .25s}
.field input:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 4px rgba(224,179,90,.2)}
.field input:disabled{opacity:.6}
.field .hint{font-size:.88rem;color:var(--muted)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.send-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.send-row p{font-size:.94rem;color:var(--muted)}

/* footer */
.ft{border-top:1px solid var(--line);background:#09070d;font-size:1rem}
.ft-in{display:flex;flex-direction:column;gap:40px;padding-block:64px 40px}
.ft-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:40px}
.ft-brand{font:700 1.75rem var(--serif);color:#f4ead3}
.ft p{color:var(--muted)}
.ft .fine{font-size:.88rem;color:var(--dim)}
.ft nav{display:flex;flex-direction:column;gap:10px}
.ft nav>span{font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.ft nav a{color:var(--muted);text-decoration:none}
.ft nav a:hover{color:#fff0c8}
.ft-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid rgba(224,179,90,.1);font-size:.82rem;color:var(--dim)}
.ft-bottom p{max-width:780px;color:var(--dim)}

/* 404 */
.nf{min-height:60vh;display:flex;align-items:center}

/* scroll reveal where supported */
@supports (animation-timeline: view()){
.reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% cover 26%}
.reveal-l{animation:revealL linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
}

@keyframes reveal{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}
@keyframes revealL{from{opacity:0;transform:translateX(-48px)}to{opacity:1;transform:none}}
@keyframes kenburns{from{transform:scale(1.04)}to{transform:scale(1.16) translate3d(-1.5%,-1%,0)}}
@keyframes drift{from{transform:scale(1.06) translate3d(0,0,0)}to{transform:scale(1.12) translate3d(1.5%,-1.5%,0)}}
@keyframes rise{0%{transform:translate3d(0,0,0);opacity:0}8%{opacity:.95}75%{opacity:.55}100%{transform:translate3d(var(--dx),-780px,0);opacity:0}}
@keyframes shimmer{to{background-position:250% center}}
@keyframes ring{0%{transform:scale(1);opacity:1}70%,100%{transform:scale(var(--ring));opacity:0}}
@keyframes glow{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes bob{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(8px);opacity:1}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes pop{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes fadeUp{0%,2%{opacity:0;transform:translateY(10px)}9%,92%{opacity:1;transform:none}100%{opacity:0}}
@keyframes panelIn{0%,10%{opacity:0;transform:translateX(40px)}18%,92%{opacity:1;transform:none}100%{opacity:0}}
@keyframes lineIn{0%,18%{opacity:0;transform:translateY(8px)}26%,92%{opacity:1;transform:none}100%{opacity:0}}
@keyframes termGlow{0%,44%{background-color:rgba(181,138,42,0)}50%,78%{background-color:rgba(181,138,42,.28)}86%,100%{background-color:rgba(181,138,42,0)}}
@keyframes tipIn{0%,48%{opacity:0;transform:translate(-50%,6px)}54%,78%{opacity:1;transform:translate(-50%,0)}84%,100%{opacity:0;transform:translate(-50%,0)}}
@keyframes pointer{0%,34%{opacity:0;transform:translate(90px,110px)}40%{opacity:1;transform:translate(90px,110px)}50%,80%{opacity:1;transform:translate(0,0)}88%,100%{opacity:0;transform:translate(0,0)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes partIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
@keyframes hmBreathe{0%,100%{opacity:.6;scale:.94}50%{opacity:.95;scale:1.06}}
@keyframes hmFlicker{0%{opacity:.65;scale:.96}40%{opacity:.9}60%{opacity:.75;scale:1.04}100%{opacity:.95;scale:1}}
@keyframes hmRays{0%,100%{opacity:.16}50%{opacity:.38}}
@keyframes hmFlare{0%,74%{opacity:0;scale:.5}80%{opacity:.95;scale:1.05}86%{opacity:.35;scale:1.2}94%,100%{opacity:0;scale:1.3}}
@keyframes hmPillar{0%,74%{opacity:0;scale:1 0}80%{opacity:.8;scale:1 1}90%{opacity:.25;scale:1.2 1.05}100%{opacity:0;scale:1.4 1.1}}
@keyframes hmMote{0%{opacity:0;translate:-50% -50%}12%{opacity:1}55%{opacity:.85;translate:calc(-50% + var(--iw) * var(--x1)) calc(-50% + var(--ih) * var(--y1))}100%{opacity:0;translate:calc(-50% + var(--iw) * var(--x2)) calc(-50% + var(--ih) * var(--y2))}}
@keyframes hmGlint{0%,82%{opacity:0;scale:.2;rotate:0deg}88%{opacity:1;scale:1;rotate:45deg}96%,100%{opacity:0;scale:.3;rotate:90deg}}

/* responsive: the canvas is desktop; these rules make every page work down to 320 px */
@media (max-width:1080px){.navlinks{display:none}.menu{display:block}.hd .send{display:none}}
@media (max-width:960px){
.split,.split-47,.split-84,.split-48,.split-11,.grid-2{grid-template-columns:minmax(0,1fr)}
.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
.reqs{grid-template-columns:repeat(2,minmax(0,1fr))}
.sticky{position:static}
.istep{grid-template-columns:minmax(0,1fr);gap:8px}
.istep .num{font-size:3rem}
.band{min-height:0}
.band-scrim{background:linear-gradient(0deg,rgba(13,10,18,.97) 30%,rgba(13,10,18,.72) 100%)}
.band-body{margin-left:0;padding-block:96px}
.checks,.fields{grid-template-columns:minmax(0,1fr)}
.hero-art{--ox:.78}
.orb{max-width:440px}
}
@media (max-width:760px){
.hero{min-height:0}
.hero-art{--ox:.86}
.hero-body{padding-block:56px 110px}
.hero-scrim{background:linear-gradient(180deg,rgba(13,10,18,.55) 0%,rgba(13,10,18,.82) 45%,rgba(13,10,18,.96) 100%)}
.hm-rays,.hm-pillar,.m6,.m7,.m8,.m9,.m10{display:none}
.stage{min-height:0}
.stage-in{flex-direction:column;padding:20px 16px;gap:16px}
.qcard{flex:none;width:100%}
.panel{width:100%}
.tip{white-space:normal;width:max-content;max-width:220px}
.summary-box{padding:24px 22px}
.zone-hd{flex-wrap:wrap}
.qt{flex-direction:column;align-items:flex-start;gap:2px}
.ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}
.ft-grid>:first-child{grid-column:1/-1}
.ft nav{gap:2px}
.ft nav>span{margin-bottom:6px}
.ft nav a{padding-block:7px}
}
@media (max-width:560px){
.brand small{display:none}
.brand{gap:9px}
.brand b{font-size:1.14rem}
.brand svg{width:28px;height:28px}
.hd-in{min-height:64px;gap:10px}
.hd-r{gap:8px}
/* the version badge becomes a line under the brand: still visible, no extra width */
.hd-l{display:grid;row-gap:0}
.ver{min-height:24px;padding:0 0 0 37px;gap:6px;border:0;border-radius:0;background:none;font-size:.72rem;color:var(--muted)}
.ver:hover{background:none}
.ver small{font-size:.62rem}
/* 16 px keeps iOS from zooming into the field; the empty state fits the taller box */
.drop{--ta:280px}
.tree{padding:18px 16px;font-size:.78rem}
/* the data table becomes one block per row: name and requirement on top, the purpose below */
.dtable{min-width:0}
.dtable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.dtable tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:14px 0;border-bottom:1px solid rgba(224,179,90,.14)}
.dtable th,.dtable td{display:block;padding:0;border:0}
.dtable td[data-label]{grid-column:2;grid-row:1;font-size:.88rem;color:var(--muted);text-align:right}
.dtable td[data-label]::before{content:attr(data-label) ": "}
.dtable td:not([data-label]){grid-column:1/-1}
.drop textarea{padding:20px 18px;font-size:1rem}
.drop-empty{gap:10px;padding:20px 16px}
.drop-empty .orbi{width:64px;height:64px}
.drop-empty b{font-size:1.4rem}
.ver-dot{width:6px;height:6px}
/* icon cards: the icon sits beside the heading, so six cards take half the scroll */
.card:has(>.icon){display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px 16px;padding:24px 22px}
.card>.icon{width:48px;height:48px}
.card:has(>.icon) h3{font-size:1.45rem}
.card:has(>.icon) p{grid-column:1/-1}
.stats{gap:14px}
.stat b{font-size:clamp(2.6rem,13vw,3.6rem)}
.stat p{margin-top:8px;font-size:.95rem;line-height:1.35}
.pill-btn{padding:0 11px;min-width:44px;justify-content:center}
.menu .pill-btn span,.pop .chev{display:none}
/* header popovers hang from the header's right edge, so they never leave a narrow screen */
.hd-in{position:relative}
.hd .pop{position:static}
.hd .pop-panel{right:16px;top:calc(100% - 4px)}
.ticks{gap:8px}
.tick{flex:1;min-width:0;padding:12px 6px 10px}
.tick b{font-size:1.9rem}
.reqs,.grid-3{grid-template-columns:minmax(0,1fr)}
.cta .btn{flex:1 1 auto}
.btn-lg{min-height:56px;padding:0 24px;font-size:1.06rem}
}

/* motion: every animation stops for visitors who ask for less motion */
@media (max-width:360px){.stats{gap:10px}.stat p{font-size:.84rem;hyphens:auto}.brand b{font-size:1.02rem}.brand svg{width:24px;height:24px}.ver{padding-left:33px}.hd-r{gap:6px}.pill-btn{padding:0 10px}}

/* touch screens: no keyboard shortcut or file dragging to explain, the file button stays */
@media (pointer:coarse){.drop-empty b+span{display:none}}

@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
.reveal,.reveal-l{opacity:1;transform:none}
}
