/* Lead with the mechanism and two verifiable outcomes; detail stays available on demand. */
.hero { padding:38px 0 48px; }
.hero-grid { grid-template-columns:1.1fr 1fr; gap:52px; }
.hero-copy { padding:0; }
.hero-eyebrow { margin-bottom:20px; }
.hero h1 { font-size:clamp(48px,5.1vw,70px); }
.hero .sub { max-width:40ch; margin:24px 0 25px; font-size:18px; line-height:1.6; }
.hero .sub strong { font-weight:500; color:var(--ink); }
.hero-proof { display:grid; grid-template-columns:1fr 1fr; margin:0 0 27px; padding-block:20px; border-block:1px solid var(--line); max-width:510px; }
.hero-proof>div { display:flex; flex-direction:column; min-width:0; padding-right:16px; }
.hero-proof>div+div { border-left:1px solid var(--line); padding-left:26px; padding-right:0; }
.hero-proof dt { order:2; font-size:13px; font-weight:600; margin-top:5px; }
.hero-proof dd { order:1; margin:0; font:600 clamp(34px,3.7vw,49px)/1.1 var(--display); letter-spacing:-.04em; font-variant-numeric:tabular-nums; color:var(--lime); overflow-wrap:anywhere; }
.hero-proof>div>span { order:3; font-size:10px; color:var(--muted); margin-top:6px; min-height:1.5em; }
.hero-proof dd.hero-supply-total { display:flex; align-items:center; gap:10px; }
.hero-supply-total strong { font:inherit; }
.hero-proof .hero-supply-parts { display:flex; flex-direction:column; gap:3px; font:500 11px/1.25 "Hanken Grotesk",sans-serif; letter-spacing:0; color:var(--ink); white-space:nowrap; }
.hero-supply-parts b { font-weight:700; }
.hero .cta { gap:22px; align-items:center; }
.hero-verify { font-size:13px; color:var(--ink); text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:5px; padding-block:12px; }
.hero-verify:hover { text-decoration-color:var(--ink); }
.hero-verify span { margin-left:7px; }
.hero-ca { max-width:510px; margin-top:18px; border:0; border-radius:0; background:transparent; padding:0; gap:9px; }
.hero-ca code { font-size:10px; color:var(--muted); }
.hero-ca .copy { font-size:11px; min-width:52px; min-height:44px; }
.hero .stage { max-height:565px; aspect-ratio:1/1.1; }
.mechanism-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; }
.mechanism-intro .h2 { margin:12px 0 0; font-size:clamp(32px,4vw,49px); line-height:1.12; }
.mechanism-intro .lead { max-width:28ch; font-size:17px; margin:0 0 4px; }
.fee-allocation { display:grid; grid-template-columns:1.3fr 1.1fr .8fr; margin-top:40px; border-bottom:1px solid var(--line); }
.fee-allocation article { padding:25px 30px 27px 0; border-top:5px solid var(--accent); }
.fee-allocation article+article { padding-left:30px; border-left:1px solid var(--line); }
.fee-allocation .fee-burn { border-top-color:#c3a368; }
.fee-allocation .fee-ops { border-top-color:var(--muted); }
.fee-number { font:600 clamp(44px,5vw,65px)/1 var(--display); letter-spacing:-.04em; display:block; }
.fee-holders .fee-number { color:var(--lime); }
.fee-number small { font:500 .4em/1 "Hanken Grotesk",sans-serif; letter-spacing:0; margin-left:2px; }
.fee-allocation h3 { font-size:23px; font-weight:500; margin:21px 0 11px; }
.fee-allocation p { font-size:15px; color:var(--muted); line-height:1.65; max-width:30ch; margin:0; min-height:5em; }
.fee-allocation a { display:inline-flex; gap:12px; margin-top:20px; font-size:12px; text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:5px; }
.mechanism-note { margin:19px 0 25px; font-size:12px; line-height:1.7; color:var(--muted); max-width:92ch; }
.home-disclosure { margin-top:18px; border-block:1px solid var(--line); }
.home-disclosure + .home-disclosure { margin-top:0; border-top:0; }
.home-disclosure>summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0; cursor:pointer; }
.home-disclosure>summary::-webkit-details-marker { display:none; }
.home-disclosure>summary>span:first-child { display:flex; flex-direction:column; gap:6px; }
.home-disclosure>summary strong { font-family:var(--display); font-size:23px; font-weight:500; line-height:1.2; }
.home-disclosure>summary span span { font-size:13px; color:var(--muted); line-height:1.5; }
.home-disclosure>summary .disclosure-icon { flex:none; width:38px; height:38px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; color:var(--ink); font:400 24px/1 sans-serif; transition:transform .2s ease,background .2s ease; }
.home-disclosure>summary:hover .disclosure-icon { background:var(--surface-2); }
.home-disclosure[open]>summary .disclosure-icon { transform:rotate(45deg); }
.home-disclosure>summary:focus-visible { outline:2px solid var(--lime); outline-offset:5px; border-radius:5px; }
.home-disclosure-body { padding:0 0 28px; }
.home-disclosure-body>.reward-flow { margin-top:10px; }
.home-dashboard { padding:8px 0 38px; }
.onchain-proof-heading { padding:24px 0; }
.onchain-proof-heading h2 { margin:0; font:500 23px/1.2 var(--display); }
.onchain-proof-heading p { margin:6px 0 0; font-size:13px; line-height:1.5; color:var(--muted); }
#rewards { padding-top:52px; }
#rewards .lead { max-width:55ch; }
#rewards .deco { display:none; }
#rewards>.wrap>.panel { margin-bottom:30px; }
#rewards .home-disclosure-body>.panel:first-child { margin-top:4px; }
#rewards .home-disclosure .compound { margin-top:4px; }
#tokenomics { padding-block:46px; }
#tokenomics .h2 { font-size:35px; }
#tokenomics .spec { margin-top:0; }
#tokenomics .deco { display:none; }
@media(min-width:921px) and (max-width:1100px) {
  .hero-grid { gap:30px; }
  .hero .sub { font-size:16px; }
  .hero-proof dt { font-size:12px; }
  .hero-proof>div+div { padding-left:18px; }
  .hero-ca code { font-size:9px; }
}
@media(max-width:920px) {
  .navlinks { scrollbar-width:none; }
  .navlinks::-webkit-scrollbar { display:none; }
  .hero-grid { grid-template-columns:1fr; gap:30px; }
  .hero .stage { max-height:480px; aspect-ratio:1.3; }
  .hero .sub { margin-inline:0; }
  .hero-ca { margin-inline:0; }
  .hero-proof { max-width:580px; }
  .hero-proof dd { font-size:44px; }
  .hero h1 { font-size:clamp(44px,7.8vw,65px); }
  .mechanism-intro { gap:20px; align-items:flex-start; }
  .mechanism-intro .lead { font-size:15px; padding-top:36px; }
  .fee-allocation article { padding-right:20px; }
  .fee-allocation article+article { padding-left:20px; }
  .fee-allocation h3 { font-size:20px; }
  .fee-allocation p { font-size:14px; }
}
@media(max-width:640px) {
  .hero { padding:28px 0 36px; }
  .hero-eyebrow { font-size:9px; margin-bottom:18px; }
  .hero h1 { font-size:clamp(37px,10.6vw,61px); }
  .hero .sub { font-size:16px; line-height:1.6; margin-block:20px; }
  .hero-proof { padding-block:17px; margin-bottom:22px; }
  .hero-proof dd { font-size:clamp(33px,9.5vw,44px); }
  .hero-proof dt { font-size:11px; }
  .hero-proof>div>span { font-size:9px; }
  .hero-proof>div+div { padding-left:18px; }
  .hero-proof dd.hero-supply-total { align-items:flex-start; flex-direction:column; gap:3px; }
  .hero-proof .hero-supply-parts { flex-direction:row; flex-wrap:wrap; gap:2px 8px; font-size:9px; }
  .hero .cta { gap:16px; }
  .hero-verify { font-size:11px; }
  .hero-ca code { font-size:9px; }
  .hero .stage { aspect-ratio:1.08; }
  .mechanism-intro { display:block; }
  .mechanism-intro .h2 { font-size:35px; }
  .mechanism-intro .lead { padding-top:20px; font-size:16px; max-width:none; }
  .mechanism-intro .lead br { display:none; }
  .fee-allocation { grid-template-columns:1fr; margin-top:28px; border-bottom:0; }
  .fee-allocation article,.fee-allocation article+article { border-left:0; border-top-width:3px; padding:22px 0; display:grid; grid-template-columns:90px 1fr; gap:0 16px; }
  .fee-number { grid-column:1; grid-row:1/4; font-size:45px; }
  .fee-allocation h3 { grid-column:2; font-size:23px; margin:0 0 9px; }
  .fee-allocation p { grid-column:2; min-height:0; font-size:14px; max-width:none; }
  .fee-allocation a { grid-column:2; margin-top:12px; }
  .mechanism-note { margin-top:0; font-size:11px; }
  .home-disclosure>summary { padding:21px 0; gap:18px; }
  .home-disclosure>summary strong { font-size:21px; }
  .home-disclosure>summary span span { font-size:12px; }
  .home-disclosure>summary .disclosure-icon { width:32px; height:32px; font-size:21px; }
  .onchain-proof-heading { padding:21px 0; }
  .onchain-proof-heading h2 { font-size:21px; }
  .onchain-proof-heading p { font-size:12px; }
  .home-dashboard { padding-bottom:22px; }
  #rewards { padding-top:34px; }
}
@media(prefers-reduced-motion:reduce) { .home-disclosure>summary .disclosure-icon { transition:none; } }

/* Deep links also target headings and disclosures below the sticky navigation. */
:target { scroll-margin-top:110px; }
@media(max-width:920px) { :target { scroll-margin-top:140px; } }
@media(max-width:360px) { :target { scroll-margin-top:180px; } }

/* Public Engine launch: a compact announcement and an ecosystem introduction. */
.engine-announcement { background:var(--accent); color:#172b0b; }
.engine-announcement>a { display:flex; align-items:center; justify-content:center; gap:14px; min-height:44px; padding:9px 20px; font-size:13px; line-height:1.4; }
.engine-live { font:700 9px/1.4 "Space Mono",monospace; letter-spacing:.08em; border:1px solid #172b0b55; border-radius:4px; padding:3px 6px; flex:none; }
.engine-announcement strong { font-size:12px; white-space:nowrap; }
.engine-announcement>a:hover strong { text-decoration:underline; text-underline-offset:3px; }
nav .nav-engine { border:1px solid var(--line); color:var(--ink); background:var(--surface-2); font-size:14px; padding:12px 17px; white-space:nowrap; gap:5px; }
nav .nav-engine:hover { border-color:var(--lime); }
.engine-intro { padding:32px 0 24px; }
.engine-intro-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:64px; padding:40px 0; border-block:1px solid var(--line); align-items:center; }
.engine-kicker { display:flex; align-items:center; gap:9px; font:700 10px/1.4 "Space Mono",monospace; letter-spacing:.09em; color:var(--muted); margin:0 0 18px; }
.engine-kicker>span { width:7px; height:7px; background:var(--lime); border-radius:50%; }
.engine-intro h2 { font:500 clamp(30px,3.4vw,44px)/1.1 var(--display); letter-spacing:-.025em; }
.engine-intro-copy>p:not(.engine-kicker) { font-size:16px; line-height:1.65; color:var(--muted); max-width:49ch; margin:19px 0 23px; }
.engine-intro .btn { font-size:14px; }
.engine-capabilities>div { display:flex; align-items:center; gap:18px; padding:22px 0; border-bottom:1px solid var(--line); }
.engine-capabilities>div:first-child { border-top:1px solid var(--line); }
.engine-step { color:var(--lime); font:700 11px "Space Mono",monospace; align-self:flex-start; padding-top:5px; }
.engine-capabilities h3 { font:600 21px/1.25 "Hanken Grotesk",sans-serif; letter-spacing:-.02em; }
.engine-capabilities p { color:var(--muted); font-size:14px; line-height:1.6; margin:6px 0 0; }
.engine-capabilities svg { margin-left:auto; width:28px; height:24px; flex:none; color:var(--lime); }
.engine-capabilities .engine-contribution { margin:18px 0 0; font-size:12px; max-width:56ch; }
@media(min-width:921px) and (max-width:1180px) {
  nav .navlinks { gap:13px; font-size:12px; }
  nav .nav-actions { gap:7px; }
  nav .nav-actions .btn { font-size:12px; padding:12px; }
  nav .engine-nav-full { display:none; }
}
@media(max-width:700px) {
  nav .engine-nav-full { display:none; }
  nav .nav-x { display:none; }
  nav .nav-actions { gap:7px; }
  nav .nav-actions .btn { font-size:12px; padding:10px 12px; }
  .engine-intro-layout { grid-template-columns:1fr; gap:30px; padding:30px 0; }
  .engine-intro { padding-top:8px; }
}
@media(max-width:400px) {
  .engine-announcement>a { gap:8px; padding-inline:12px; font-size:11px; }
  .engine-announcement strong { font-size:11px; }
  nav .brand { font-size:17px; gap:4px; }
  nav .brand .mark { width:28px; height:28px; }
  nav .nav-actions .btn { font-size:11px; padding:10px; }
  nav .theme-toggle { width:36px; height:36px; }
}
