/* hype.css - "Every coin is somewhere on the curve. Most are in the trough." theme (Hype Cycle): an analyst-report / research-firm parody with startup polish.
   Light paper #f6f6f1 with a fine grid, ink #0d0d0d, electric lime #c8ff2e marker highlights, a blue #2f5bff -> red #ff4f3a -> ink curve, bordered panels with hard
   offset ink shadows. Manrope 800 headlines, IBM Plex Mono labels. Motion: the curve wipes in, dots ride it (JS), the YOU ARE HERE pin drops, stamps slam, counters
   tick (JS). Per-site tokens set inline by the framework: --a --b --fh --fb --r. Text stays >= 4.5:1 on paper; all motion dies under reduced-motion. */
:root{
  --bg:#f6f6f1;--card:#ffffff;--ink:#0d0d0d;--mut:#5f5f5a;--soft:#3a3a36;--line:#e2e2da;--line2:#d6d6cc;--lime:#c8ff2e;--blue:#2f5bff;--red:#ff4f3a;--redt:#d93a26;--grey:#6b6b66;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--head:"Manrope",var(--fh),system-ui,sans-serif;--sh:8px 8px 0 var(--ink);--sh2:14px 14px 0 var(--ink);color-scheme:light}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--bg)}
body{font-family:"Manrope",var(--fb),system-ui,sans-serif;color:var(--ink);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;font-size:16.5px;background:var(--bg);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;background-position:-1px -1px}
.paper-grain{display:none}
a{color:inherit}
img{display:block;max-width:100%}
button,input{font:inherit;color:inherit}
::selection{background:var(--lime);color:var(--ink)}
h1,h2,h3,h4{font-family:var(--head);font-weight:800;letter-spacing:-.045em;line-height:1.04}
mark{background:var(--lime);color:var(--ink);padding:0 .1em;border-radius:8px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.mut{color:var(--mut)}
.mono,.lbl{font-family:var(--mono)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
.skip{position:fixed;left:16px;top:-60px;z-index:90;background:var(--ink);color:var(--lime);padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
[data-reveal].in{opacity:1;transform:none}
.static [data-reveal]{transition:none}
html.static{scroll-behavior:auto}
[data-reveal][data-d="1"]{transition-delay:.07s}[data-reveal][data-d="2"]{transition-delay:.14s}[data-reveal][data-d="3"]{transition-delay:.21s}

/* CA bar + header */
.cabar{background:var(--ink);color:#e9e9e2;font-size:13px}
.cabar .wrap{display:flex;align-items:center;justify-content:center;gap:10px;min-height:34px;flex-wrap:wrap;padding-top:4px;padding-bottom:4px}
.cabar b{color:var(--lime);font-weight:800}
.cabar code{font:500 12.5px var(--mono)}
.cabar .short{display:none}.cabar .sep{opacity:.5}
.cabar .btn{background:transparent;color:var(--lime);border-color:var(--lime);box-shadow:none}
.top{position:sticky;top:0;z-index:30;background:rgba(246,246,241,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1.5px solid var(--ink)}
.top .wrap{display:flex;align-items:center;gap:28px;height:66px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 20px var(--head);letter-spacing:-.03em;white-space:nowrap}
.brand img{width:32px;height:32px;border-radius:9px}
.nav{display:flex;gap:24px;font-size:15px;font-weight:600;color:var(--mut)}
.nav a{text-decoration:none}.nav a:hover{color:var(--ink)}
.top-r{margin-left:auto;display:flex;align-items:center;gap:10px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font:700 15.5px var(--head);padding:13px 22px;border-radius:12px;border:1.5px solid var(--ink);background:var(--card);color:var(--ink);cursor:pointer;box-shadow:3px 3px 0 var(--ink);transition:transform .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s;white-space:nowrap}
.btn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.btn.pri{background:var(--ink);color:var(--lime)}
.btn.sm{font-size:14px;padding:8px 14px}
.btn.xs{font-size:12px;padding:3px 10px;box-shadow:none;border-radius:8px}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.pill{display:inline-flex;align-items:center;padding:7px 13px;border-radius:999px;background:var(--card);border:1.5px solid var(--ink);font:700 14px var(--head);text-decoration:none}
.status{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1.5px solid var(--ink);border-radius:999px;padding:6px 14px;font:500 13px var(--mono);color:var(--mut)}
.status b{color:var(--ink)}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);flex:none}
.hint{margin-top:10px;min-height:1.5em;font-size:14.5px;color:var(--soft)}
.hint.wait{color:#9a5b00}
.tiny{font-size:13px;color:var(--mut);margin-top:14px}

/* hero (load animations, not scroll reveals: visible within ~1 s) */
.hero{padding:56px 0 10px}
.hin{animation:hin .8s cubic-bezier(.2,.7,.2,1) both}
.hin.d1{animation-delay:.06s}.hin.d2{animation-delay:.14s}.hin.d3{animation-delay:.22s}
@keyframes hin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.kick{display:inline-flex;gap:10px;align-items:center;font:500 13px var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1.5px solid var(--ink);padding:5px 13px;border-radius:999px;background:var(--card)}
.kick i{width:8px;height:8px;border-radius:50%;background:var(--red);font-style:normal;animation:blink 1.2s infinite}
@keyframes blink{50%{opacity:.25}}
.hero h1{font-size:clamp(38px,4.9vw,66px);line-height:1.16;letter-spacing:-.055em;margin:20px 0 16px;max-width:1140px}
.lead{font-size:19px;color:var(--soft);max-width:660px}
.ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.panel{background:var(--card);border:1.5px solid var(--ink);border-radius:20px;box-shadow:var(--sh);overflow:hidden}
.chart{margin-top:36px;position:relative;box-shadow:var(--sh2);border-width:2px;border-radius:24px}
.ph{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 22px;border-bottom:1.5px solid var(--ink);font:500 13px var(--mono)}
.ph b{font-weight:600;letter-spacing:.02em}
.live{display:inline-flex;gap:8px;align-items:center;color:var(--mut)}
.live>i{width:8px;height:8px;border-radius:50%;background:#16a34a;font-style:normal;animation:blink 1.6s infinite}
#hc-src.wait{color:#9a5b00}
.hstamp{margin-left:auto;font:700 12px var(--mono);letter-spacing:.06em;color:var(--redt);border:2.5px solid var(--red);padding:2px 9px;border-radius:4px;transform:rotate(-4deg);animation:slam .5s cubic-bezier(.3,1.6,.5,1) both}
.legend{display:flex;gap:8px 20px;flex-wrap:wrap;padding:12px 22px;border-top:1.5px solid var(--ink);font:500 12.5px var(--mono);color:var(--mut)}
.chart .note{padding:0 22px 16px;font-size:13.5px;color:var(--mut)}
.chart .note a{color:var(--ink);font-weight:700}

/* the curve figure */
.hc-fig{position:relative}
.hc-plot{position:relative;aspect-ratio:1100/480;width:100%}
.hc-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hc-curve{position:absolute;inset:0;clip-path:inset(0 0 0 0);animation:wipe 1.7s cubic-bezier(.65,0,.35,1) .3s both}
@keyframes wipe{from{clip-path:inset(-10% 100% -10% 0)}to{clip-path:inset(-10% -2% -10% 0)}}
.hc-ax{position:absolute;font:600 11px var(--mono);letter-spacing:.06em;color:var(--grey)}
.hc-ax.y{left:.4%;top:50%;transform:translate(-30%,-50%) rotate(-90deg);transform-origin:50% 50%}
.hc-ax.x{right:3%;bottom:3%}
.hc-dots{position:absolute;inset:0}
.hc-dot{position:absolute;width:max(26px,calc(var(--r,8px)*2 + 6px));height:max(26px,calc(var(--r,8px)*2 + 6px));transform:translate(-50%,-50%);border:0;background:none;padding:0;cursor:pointer;display:grid;place-items:center;z-index:2}
.hc-dot i{display:block;width:calc(var(--r,8px)*2);height:calc(var(--r,8px)*2);border-radius:50%;background:var(--c,var(--ink));border:2px solid #fff;box-shadow:0 0 0 1.5px rgba(13,13,13,.22),0 2px 6px rgba(13,13,13,.18);transition:transform .2s cubic-bezier(.2,1.6,.4,1)}
.hc-dot:hover i,.hc-dot:focus-visible i,.hc-dot.on i{transform:scale(1.3);box-shadow:0 0 0 2.5px var(--ink),0 2px 6px rgba(13,13,13,.25)}
.hc-dot:focus-visible{outline:none}
.hc-dot b{position:absolute;left:calc(50% + var(--r,8px) + 4px);bottom:calc(50% + var(--r,8px) - 2px);font:600 12px var(--mono);white-space:nowrap;background:rgba(255,255,255,.85);padding:0 4px;border-radius:4px;pointer-events:none}
.hc-dot.trigger{--c:var(--blue)}.hc-dot.peak{--c:var(--lime)}.hc-dot.peak i{border-color:var(--ink);border-width:2px}.hc-dot.trough{--c:var(--red)}.hc-dot.slope{--c:var(--ink)}.hc-dot.plateau{--c:var(--grey)}
.hc-dot.faint{pointer-events:none;opacity:.32;width:auto;height:auto}
.hc-dot.faint i{border-width:1px;box-shadow:none}
.hc-pin{position:absolute;z-index:3;width:0;height:0;pointer-events:none}
.hc-pin i{position:absolute;left:-12px;top:-12px;width:24px;height:24px;border-radius:50%;background:var(--lime);border:4px solid var(--ink);box-shadow:0 0 0 6px rgba(200,255,46,.35)}
.hc-pin span{position:absolute;left:0;bottom:16px;transform:translateX(-50%);background:var(--ink);color:var(--lime);font:600 13px var(--mono);letter-spacing:.04em;padding:6px 10px;border-radius:7px;white-space:nowrap}
.hc-pin span:after{content:"";position:absolute;left:50%;top:100%;width:2.5px;height:16px;margin-left:-1.25px;background:var(--ink)}
.hc-pin.slam span{animation:drop .7s cubic-bezier(.3,1.5,.5,1) both}
.hc-pin.slam i{animation:pinpop .5s cubic-bezier(.3,1.8,.5,1) .35s both,ring 1.8s ease-out 1s 2}
@keyframes drop{from{transform:translate(-50%,-90px);opacity:0}60%{opacity:1}to{transform:translate(-50%,0)}}
@keyframes pinpop{from{transform:scale(0)}to{transform:none}}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(200,255,46,.9)}100%{box-shadow:0 0 0 22px rgba(200,255,46,0)}}
.hc-labs{position:relative;height:40px;margin:0 0 6px;font-family:var(--mono)}
.hc-lab{position:absolute;top:0;transform:translateX(-50%);text-align:center;line-height:1.25;white-space:nowrap}
.hc-lab b{display:block;font-weight:600;font-size:13px;letter-spacing:.04em;color:var(--grey)}
.hc-lab.trough b{color:var(--redt)}
.hc-lab i{font-style:normal;font-size:12px;font-weight:600;color:var(--ink)}
.hc-lab .sm{display:none}
.mini .hc-lab i{display:none}.mini .hc-labs{height:22px}.mini .hc-lab b{font-size:11px}
.hc-tip{position:absolute;z-index:6;width:300px;background:var(--card);border:1.5px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--ink);padding:14px 16px;font-size:14px;animation:tipin .22s cubic-bezier(.2,1.4,.4,1)}
@keyframes tipin{from{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:none}}
.hc-tip.dock{position:relative;width:auto;margin:6px 12px 12px;left:auto!important;top:auto!important}
.hc-tip .tt{display:flex;align-items:baseline;gap:8px;padding-right:26px;position:relative}
.hc-tip .tt b{font:800 20px var(--head);letter-spacing:-.03em;word-break:break-word}
.hc-tip .tt span{color:var(--mut);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.hc-tip .x{position:absolute;right:-6px;top:-6px;width:28px;height:28px;border-radius:8px;border:1.5px solid var(--ink);background:var(--bg);cursor:pointer;font-size:17px;line-height:1}
.pill2{display:inline-block;margin:8px 0 4px;font:600 11.5px var(--mono);letter-spacing:.03em;padding:3px 8px;border-radius:6px;background:var(--ink);color:#fff}
.pill2.trigger{background:var(--blue)}.pill2.peak{background:var(--lime);color:var(--ink)}.pill2.trough{background:var(--red)}.pill2.plateau{background:var(--grey)}
.hc-tip .why{font:500 12.5px/1.5 var(--mono);color:var(--soft);margin-bottom:8px}
.tg{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;border-top:1px dashed var(--line2);padding-top:8px}
.tg dt{font:500 11px var(--mono);color:var(--mut)}
.tg dd{font:800 15px var(--head);letter-spacing:-.02em}
.hc-tip small{display:block;margin-top:8px;font:500 11px var(--mono);color:var(--mut)}
.lnk{display:inline-block;margin-top:10px;background:none;border:0;padding:0;font:700 13.5px var(--head);color:var(--ink);text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:3px;text-underline-offset:3px;cursor:pointer}

/* sections */
.sec{padding:96px 0 0}
.sh{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}
.sh h2{font-size:clamp(34px,4.6vw,52px);letter-spacing:-.05em}
.sh p{color:var(--mut);max-width:440px}
.sh.col{flex-direction:column;align-items:start}
.sh.col p{margin-top:8px}
.sh a{font-weight:700}

/* phase cards */
.phases{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.ph5{background:var(--card);border:1.5px solid var(--ink);border-radius:16px;padding:18px;position:relative;box-shadow:4px 4px 0 var(--ink);display:flex;flex-direction:column}
.ph5 .n{display:flex;justify-content:space-between;align-items:center;font:600 12px var(--mono);color:var(--mut)}
.ph5 .cnt{font:800 30px var(--head);color:var(--ink);letter-spacing:-.04em;line-height:1}
.ph5 h3{margin:8px 0 8px;font-size:20px;line-height:1.1;letter-spacing:-.03em}
.ph5 p{font-size:14px;color:var(--soft)}
.ph5 .r{margin-top:10px;font:500 12px/1.5 var(--mono);color:var(--mut);border-top:1px dashed var(--line2);padding-top:8px}
.ph5 .who{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:12px}
.ph5 .who .tk{font:600 11.5px var(--mono);border:1.5px solid var(--ink);background:var(--bg);border-radius:6px;padding:2px 6px;cursor:pointer}
.ph5 .who .tk:hover{background:var(--lime)}
.ph5 .who .none,.ph5 .who .more{font:500 11.5px var(--mono);color:var(--mut);padding:3px 0}
.ph5.trigger{border-top:6px solid var(--blue)}.ph5.peak{border-top:6px solid var(--ink)}.ph5.slope{border-top:6px solid var(--ink)}.ph5.plateau{border-top:6px solid var(--grey)}
.ph5.home{background:var(--lime);border-top:6px solid var(--red)}
.ph5.home:after{content:"$TROUGH lives here";position:absolute;top:-14px;right:12px;background:var(--ink);color:var(--lime);font:600 11px var(--mono);padding:3px 8px;border-radius:6px}
.ph5.home p,.ph5.home .r,.ph5.home .n{color:var(--ink)}
.ph5.home .who .tk{background:#fff}

/* where's my coin */
.check{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.box{background:var(--card);border:1.5px solid var(--ink);border-radius:20px;padding:24px;box-shadow:var(--sh);min-width:0}
.lbl{font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--mut)}
.hc-form{display:flex;gap:10px;margin:14px 0 4px}
.hc-form input{flex:1;min-width:0;border:1.5px solid var(--ink);border-radius:12px;padding:13px 14px;font:14px var(--mono);background:var(--bg)}
.hc-form input:focus{outline:none;box-shadow:0 0 0 3px var(--lime)}
.report{margin-top:16px;border-top:1.5px solid var(--ink);padding-top:16px;font-family:var(--mono)}
.rtop{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tag{display:inline-block;background:var(--ink);color:#fff;font:600 12.5px var(--mono);padding:4px 10px;border-radius:6px}
.tag.trigger{background:var(--blue)}.tag.peak{background:var(--lime);color:var(--ink)}.tag.trough{background:var(--red)}.tag.plateau{background:var(--grey)}
.stamp{display:inline-block;font:700 13px var(--mono);letter-spacing:.06em;color:var(--redt);border:3px solid var(--red);padding:3px 10px;border-radius:4px;transform:rotate(-6deg);background:rgba(255,255,255,.8)}
.stamp.slam{animation:slam .55s cubic-bezier(.3,1.6,.5,1) both}
@keyframes slam{0%{transform:rotate(-6deg) scale(2.4);opacity:0}60%{opacity:1}100%{transform:rotate(-6deg) scale(1);opacity:1}}
.report h3{font:800 21px var(--head);letter-spacing:-.03em;margin:12px 0 10px;word-break:break-word}
.rgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.rgrid dt{font-size:11.5px;color:var(--mut)}
.rgrid dd{font:800 17px var(--head);letter-spacing:-.02em;word-break:break-word}
.rrule{margin-top:12px;font-size:12.5px;color:var(--soft);border-top:1px dashed var(--line2);padding-top:10px}
.take{margin-top:12px;border-left:5px solid var(--lime);padding:2px 0 2px 12px}
.take b{display:block;font:600 12px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.take p{font:700 16px/1.45 var(--head);letter-spacing:-.01em;margin:2px 0}
.take em{font-size:12.5px;color:var(--mut);font-style:italic}
.fig2 .hc-fig{margin-top:12px;border:1.5px solid var(--ink);border-radius:14px;overflow:visible;background:#fff}
.share{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:32px;align-items:center;margin-top:40px}
.cardwrap{border:2px solid var(--ink);border-radius:18px;box-shadow:var(--sh2);overflow:hidden;background:#fff;transform:rotate(-1deg);transition:transform .4s cubic-bezier(.2,.9,.25,1.1)}
.cardwrap:hover{transform:none}
#hc-card{display:block;width:100%;height:auto}
.sharer h3{font-size:clamp(28px,3.4vw,40px);margin:8px 0 8px}
.sharer p{color:var(--soft)}

/* cope quadrant */
.quad{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.qpanel{position:relative;overflow:visible;box-shadow:var(--sh2);border-width:2px;border-radius:24px}
.qplot{position:relative;margin:26px 26px 44px 52px;aspect-ratio:1/0.8;border:2px solid var(--ink)}
.qgrid{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.ql{padding:12px 14px;font-family:var(--mono)}
.ql b{display:block;font-weight:600;font-size:13px;letter-spacing:.05em;color:var(--grey)}
.ql small{font-size:11.5px;color:var(--mut)}
.ql.tl,.ql.bl{border-right:2px solid var(--ink)}.ql.tl,.ql.tr{border-bottom:2px solid var(--ink)}
.ql.tr{background:rgba(200,255,46,.22)}.ql.tr b{color:var(--ink)}
.ql.bl,.ql.br{display:flex;flex-direction:column;justify-content:flex-end}
.qax{position:absolute;font:600 12px var(--mono);letter-spacing:.06em;color:var(--grey);white-space:nowrap}
.qax.y{left:-32px;top:50%;transform:translate(-50%,-50%) rotate(-90deg)}
.qax.x{left:50%;bottom:-32px;transform:translateX(-50%)}
.hc-dot.qd{animation:qin .6s cubic-bezier(.2,1.5,.4,1) both;animation-delay:var(--d,0ms)}
@keyframes qin{from{opacity:0;transform:translate(-50%,-50%) scale(0)}to{opacity:1;transform:translate(-50%,-50%)}}
.qpanel .hc-tip{left:auto;right:16px;top:60px}
.qpanel .hc-tip.dock{right:auto}
.qnote p{color:var(--soft);margin:0 0 12px}
.qnote small{color:var(--mut)}

/* quotes */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.q{background:var(--ink);color:#f1f1ea;border-radius:18px;padding:24px;box-shadow:6px 6px 0 var(--lime)}
.q blockquote{font:700 19px/1.35 var(--head);letter-spacing:-.02em;margin:0 0 14px}
.q figcaption{font:500 12.5px var(--mono);color:var(--lime)}

/* how */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.step{background:var(--card);border:1.5px solid var(--ink);border-radius:16px;padding:20px;box-shadow:4px 4px 0 var(--ink)}
.step .n{display:inline-block;font:600 13px var(--mono);background:var(--lime);border:1.5px solid var(--ink);border-radius:6px;padding:1px 8px}
.step h3{margin:12px 0 6px;font-size:20px;letter-spacing:-.03em}
.step p{color:var(--soft);font-size:15px}

/* policy */
.policygrid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:start}
.factcard{background:var(--card);border:1.5px solid var(--ink);border-radius:20px;box-shadow:var(--sh);padding:24px 26px}
.factcard>b{display:block;font:800 23px var(--head);letter-spacing:-.03em}
.factcard>span{display:block;font:500 12.5px var(--mono);color:var(--mut);margin-bottom:12px}
.factsheet div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;padding:10px 0;border-top:1px dashed var(--line2)}
.factsheet dt{font:600 13px var(--mono)}
.factsheet dd{font-size:14.5px;color:var(--soft)}

/* faq */
.faqgrid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:start}
.faqgrid .sh{position:sticky;top:96px}
.faq details{background:var(--card);border:1.5px solid var(--ink);border-radius:14px;margin-bottom:10px;overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:16px 54px 16px 20px;font-weight:700;font-size:16.5px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:16px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:8px;background:var(--lime);border:1.5px solid var(--ink);display:grid;place-items:center;font:700 18px/26px var(--mono);text-align:center;transition:transform .25s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{padding:0 20px 18px;color:var(--soft)}
.faq code{font:500 13px var(--mono);background:var(--lime);padding:1px 5px;border-radius:5px;word-break:break-all}

/* final */
.final{padding:100px 0 96px}
.finalcard{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;padding:34px 38px;background:var(--lime);border:2px solid var(--ink);border-radius:26px;box-shadow:var(--sh2)}
.finalcard img{width:96px;height:96px;border-radius:22px}
.finalcard h2{font-size:clamp(28px,3.4vw,42px)}
.finalcard p{margin-top:8px;color:var(--ink);max-width:520px}
.finalcard .ctas{margin-top:0}

/* footer */
.foot{border-top:1.5px solid var(--ink);background:var(--bg);padding:52px 0 0;position:relative;overflow:hidden}
.foot .grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,.6fr));gap:36px}
.foot h4{font:600 13px var(--mono);letter-spacing:.04em;color:var(--mut);margin-bottom:12px}
.foot ul{list-style:none;display:grid;gap:8px;font-size:15px}
.foot ul a{text-decoration:none;color:var(--soft)}.foot ul a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:3px}
.foot .about{margin-top:12px;font-size:15px;max-width:440px}
.foot .fine{margin-top:34px;padding:22px 0 30px;border-top:1px dashed var(--line2);font-size:13px;color:var(--mut);max-width:980px}
.wordmark{font:800 clamp(52px,12vw,176px)/.82 var(--head);letter-spacing:-.07em;text-align:center;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px rgba(13,13,13,.16);user-select:none;margin-bottom:-.08em}

/* coin page */
.coin{max-width:820px;margin:0 auto;padding:56px 28px 80px}
.coin .chero{display:flex;align-items:center;gap:18px;margin:18px 0 16px}
.coin .chero img{width:88px;height:88px;border-radius:22px;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}
.coin h1{font-size:clamp(48px,8vw,80px);word-break:break-word}
.coin .lead{margin-bottom:10px;font-size:18px}
.coin h2{font-size:26px;margin-top:30px}
.glass{background:var(--card);border:1.5px solid var(--ink);border-radius:16px;box-shadow:5px 5px 0 var(--ink)}
.cabox{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-top:12px}
.cabox code{flex:1;font:500 14px var(--mono);word-break:break-all}
.coinlive{display:flex;gap:22px;flex-wrap:wrap;padding:16px 20px;margin:14px 0;font:500 13px var(--mono);color:var(--mut)}
.coinlive div{display:flex;flex-direction:column}
.coinlive b{font:800 22px var(--head);color:var(--ink)}
.coinlive .up{color:#15803d}.coinlive .dn{color:var(--redt)}
.links{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.links svg{fill:currentColor}
.coin .warn{margin-top:28px;padding:18px 20px;border-radius:14px;background:#fff;border:2px solid var(--red);font-size:15px}
.back{display:inline-block;margin-top:26px;font-weight:700}

/* toast */
.toast{position:fixed;left:50%;bottom:26px;z-index:95;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:var(--ink);color:var(--lime);padding:12px 20px;border-radius:12px;font:600 14px var(--mono);transition:transform .35s cubic-bezier(.2,1.4,.4,1),opacity .3s}
.toast.on{transform:translate(-50%,0);opacity:1}

@media (max-width:1100px){
  .phases{grid-template-columns:repeat(3,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .check,.share,.quad,.policygrid,.faqgrid{grid-template-columns:1fr}
  .faqgrid .sh{position:static}
}
@media (max-width:900px){
  .nav{display:none}
  .quotes{grid-template-columns:1fr}
  .finalcard{grid-template-columns:1fr}
  .sh{flex-direction:column;align-items:start}
}
@media (max-width:720px){
  .wrap{padding:0 16px}
  .top .wrap{gap:12px;height:58px}
  .brand{font-size:18px}.brand img{width:28px;height:28px}
  .top-r .pill{display:none}
  .top-r .btn{padding:7px 11px;font-size:13px}
  .cabar .full{display:none}.cabar .short{display:inline}
  .hero{padding-top:34px}
  .lead{font-size:16.5px}
  .chart{margin-top:28px;box-shadow:7px 7px 0 var(--ink);border-radius:18px}
  .ph{padding:11px 14px;font-size:11.5px}
  .hc-plot{aspect-ratio:1100/760}
  .hc-lab .lg{display:none}.hc-lab .sm{display:inline}.hc-lab b{font-size:10.5px;letter-spacing:0}
  .hc-dot b{display:none}
  .hc-ax{font-size:9.5px}
  .legend{padding:10px 14px;font-size:11.5px}
  .chart .note{padding:0 14px 14px}
  .sec{padding-top:72px}
  .phases,.steps{grid-template-columns:1fr}
  .box{padding:18px}
  .hc-form{flex-direction:column}
  .rgrid{grid-template-columns:1fr 1fr}
  .qplot{margin:18px 14px 40px 40px}
  .ql{padding:8px}.ql b{font-size:11px}.ql small{display:none}
  .qax{font-size:10px}.qax.y{left:-24px}.qax.x{bottom:-28px}
  .factsheet div{grid-template-columns:1fr;gap:2px}
  .finalcard{padding:26px 20px}
  .foot .grid{grid-template-columns:1fr 1fr}.foot .grid>div:first-child{grid-column:1/-1}
  .cardwrap{transform:none}
}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  [data-reveal]{opacity:1;transform:none}
  .hc-curve{clip-path:none}
}
