/* echoesofaincrad.co — design-source v1 tokens */
:root{
  --eoa-canvas:#070b14; --eoa-surface:#0d1424; --eoa-surface-2:#131c31;
  --eoa-line:#22304d; --eoa-text:#e8eaf2; --eoa-text-dim:#9aa4bb; --eoa-text-faint:#5d687f;
  --eoa-gold:#d3a94f; --eoa-gold-bright:#f0c96f; --eoa-gold-dim:#8a6f35;
  --eoa-cyan:#4fc3d4; --eoa-cyan-dim:#2a7d8a;
  --eoa-ok:#5fb878; --eoa-warn:#d98a4b; --eoa-neg:#d4564f; --eoa-neg-dim:#5a2a28;
  --eoa-neg-text:#f0b7b4;
  --fs-display:clamp(2rem,5vw,3.6rem); --fs-h1:clamp(1.65rem,3.5vw,2.47rem);
  --fs-h2:1.71rem; --fs-h3:1.35rem; --fs-lead:1.18rem; --fs-body:1rem;
  --fs-small:.82rem; --fs-mono:.76rem; --fs-micro:.65rem;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px;
  --sp-7:48px; --sp-8:64px; --sp-9:96px; --sp-10:128px;
  --r-1:2px; --r-2:6px; --r-3:12px; --r-pill:9999px;
  --border-1:1px solid var(--eoa-line);
  --shadow-1:0 2px 8px rgba(0,0,0,.4);
  --shadow-glow:0 0 0 1px rgba(79,195,212,.35),0 0 24px rgba(79,195,212,.12);
  --container:1120px; --prose:680px;
  --dur-1:120ms; --dur-2:200ms; --dur-3:320ms;
  --ease-in:cubic-bezier(.22,1,.36,1);
  --font-display:"Marcellus","Iowan Old Style",Georgia,serif;
  --font-body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Consolas,monospace;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{font-size:17px;scroll-behavior:smooth}
body{margin:0;background:var(--eoa-canvas);color:var(--eoa-text);font-family:var(--font-body);
  font-size:var(--fs-body);line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
h1,h2,h3{font-family:var(--font-display);font-weight:400;color:var(--eoa-gold)}
h1{font-size:var(--fs-h1);line-height:1.1;letter-spacing:-.015em;margin:0 0 var(--sp-4)}
h2{font-size:var(--fs-h2);line-height:1.15;letter-spacing:-.01em;margin:var(--sp-7) 0 var(--sp-4)}
h3{font-size:var(--fs-h3);line-height:1.25;letter-spacing:-.005em;margin:var(--sp-5) 0 var(--sp-3)}
p{margin:0 0 var(--sp-4)}
a{color:var(--eoa-cyan);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--eoa-gold)}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--eoa-cyan);outline-offset:2px;border-radius:var(--r-1)}
ul,ol{padding-left:var(--sp-5);margin:0 0 var(--sp-4)}
li{margin-bottom:var(--sp-2)}
hr{border:0;border-top:1px solid var(--eoa-gold-dim);opacity:.5;margin:var(--sp-8) 0}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--sp-4)}
.prose{max-width:var(--prose)}
.section{padding:var(--sp-7) 0}
@media(min-width:1024px){.section{padding:var(--sp-9) 0}}

/* mono labels / stamps / badges (C6) */
.mono{font-family:var(--font-mono)}
.micro-label{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;color:var(--eoa-text-dim)}
.src-stamp{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.02em;
  color:var(--eoa-text-dim)}
.badge{display:inline-block;font-family:var(--font-mono);font-size:var(--fs-mono);
  letter-spacing:.02em;padding:1px 7px;border-radius:var(--r-1);white-space:nowrap;vertical-align:baseline}
.badge-warn{color:var(--eoa-warn);border:1px solid var(--eoa-warn);background:rgba(217,138,75,.08)}
.badge-neg{color:var(--eoa-neg-text);border:1px solid var(--eoa-neg);background:var(--eoa-neg-dim)}
.badge-ok{color:var(--eoa-ok);border:1px solid var(--eoa-ok);background:rgba(95,184,120,.08)}
.badge-cyan{color:var(--eoa-cyan);border:1px solid var(--eoa-cyan);background:rgba(79,195,212,.06)}
.pill{display:inline-block;font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;color:var(--eoa-cyan);
  border:1px solid var(--eoa-cyan);border-radius:var(--r-pill);padding:5px 14px;text-decoration:none}

/* C1 header */
.site-header{position:sticky;top:0;z-index:50;background:transparent;
  border-bottom:1px solid transparent;transition:background var(--dur-2) ease-out,border-color var(--dur-2) ease-out}
.site-header.scrolled{background:rgba(7,11,20,.88);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--eoa-line);box-shadow:var(--shadow-1)}
.header-inner{display:flex;align-items:center;gap:var(--sp-5);max-width:var(--container);
  margin:0 auto;padding:var(--sp-3) var(--sp-4)}
.brand{font-family:var(--font-display);font-size:1.15rem;color:var(--eoa-text);
  text-decoration:none;letter-spacing:-.01em;white-space:nowrap}
.brand .tld{font-family:var(--font-mono);font-size:.75rem;color:var(--eoa-cyan);margin-left:2px}
.brand:hover{color:var(--eoa-gold-bright)}
.main-nav{display:flex;align-items:center;gap:var(--sp-4);margin-left:auto}
.nav-item{position:relative}
.nav-link{color:var(--eoa-text-dim);text-decoration:none;font-size:var(--fs-small);
  padding:var(--sp-2) var(--sp-1);display:inline-block;border-bottom:2px solid transparent}
.nav-link:hover{color:var(--eoa-cyan);border-bottom-color:var(--eoa-cyan)}
.nav-link[aria-current="page"]{color:var(--eoa-gold);border-bottom-color:var(--eoa-gold)}
details.nav-drop{position:relative}
details.nav-drop>summary{list-style:none;cursor:pointer;color:var(--eoa-text-dim);
  font-size:var(--fs-small);padding:var(--sp-2) var(--sp-1);border-bottom:2px solid transparent;user-select:none}
details.nav-drop>summary::-webkit-details-marker{display:none}
details.nav-drop>summary::after{content:"▾";font-size:.6rem;margin-left:4px;color:var(--eoa-text-faint)}
details.nav-drop>summary:hover, details.nav-drop[open]>summary{color:var(--eoa-cyan);border-bottom-color:var(--eoa-cyan)}
.nav-menu{position:absolute;top:100%;left:0;min-width:220px;background:var(--eoa-surface);
  border:var(--border-1);border-radius:var(--r-2);box-shadow:var(--shadow-1);padding:var(--sp-2);z-index:60}
.nav-menu a{display:block;padding:var(--sp-2) var(--sp-3);color:var(--eoa-text-dim);
  text-decoration:none;font-size:var(--fs-small);border-radius:var(--r-1)}
.nav-menu a:hover{background:var(--eoa-surface-2);color:var(--eoa-cyan)}
.patch-badge{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.06em;
  color:var(--eoa-gold);border:1px solid var(--eoa-gold-dim);border-radius:var(--r-pill);
  padding:4px 12px;text-decoration:none;white-space:nowrap}
.patch-badge:hover{color:var(--eoa-gold-bright);border-color:var(--eoa-gold)}
.nav-toggle{display:none;background:none;border:1px solid var(--eoa-line);border-radius:var(--r-2);
  color:var(--eoa-text);font-family:var(--font-mono);font-size:var(--fs-small);
  padding:8px 12px;cursor:pointer;margin-left:auto}
@media(max-width:767px){
  .main-nav,.patch-badge{display:none}
  .nav-toggle{display:block}
}
.mobile-nav{position:fixed;inset:0;z-index:100;background:var(--eoa-canvas);
  display:flex;flex-direction:column;padding:var(--sp-6) var(--sp-5);box-shadow:var(--shadow-1)}
.mobile-nav[hidden]{display:none}
.mobile-nav a{font-family:var(--font-display);font-size:1.6rem;color:var(--eoa-text);
  text-decoration:none;padding:var(--sp-3) 0;border-bottom:1px solid var(--eoa-line)}
.mobile-nav a:hover{color:var(--eoa-gold)}
.mobile-nav .m-legal{margin-top:auto;display:flex;gap:var(--sp-4);flex-wrap:wrap}
.mobile-nav .m-legal a{font-family:var(--font-body);font-size:var(--fs-small);color:var(--eoa-text-dim);border:0;padding:var(--sp-1) 0}
.mobile-nav .m-close{align-self:flex-end;background:none;border:1px solid var(--eoa-line);
  color:var(--eoa-text);border-radius:var(--r-2);padding:8px 14px;font-family:var(--font-mono);cursor:pointer}

/* C2 hero */
.hero{position:relative;overflow:hidden;padding:var(--sp-8) 0 var(--sp-7)}
@media(min-width:1024px){.hero{padding:var(--sp-10) 0 var(--sp-8)}}
.hero .castle{position:absolute;right:-4%;bottom:-6%;width:min(60vw,620px);opacity:.14;pointer-events:none}
@media(max-width:639px){.hero .castle{opacity:.08}}
.hero-stack{position:relative;max-width:760px}
.hero h1.display{font-size:var(--fs-display);line-height:1.05;letter-spacing:-.02em;margin:var(--sp-4) 0}
.hero .lead{font-size:var(--fs-lead);line-height:1.5;color:var(--eoa-text-dim);max-width:var(--prose)}
.hero-compact{padding:var(--sp-6) 0 var(--sp-5)}
.breadcrumb{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--eoa-text-dim);margin-bottom:var(--sp-3)}
.breadcrumb a{color:var(--eoa-text-dim)}
.date-stamp{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.02em;color:var(--eoa-text-dim)}

/* hero entrance stagger */
.hero-stack>*{opacity:1}
html.io-ready .hero-stack>*{opacity:0;animation:rise var(--dur-3) var(--ease-in) forwards}
html.io-ready .hero-stack>*:nth-child(1){animation-delay:0ms}
html.io-ready .hero-stack>*:nth-child(2){animation-delay:80ms}
html.io-ready .hero-stack>*:nth-child(3){animation-delay:160ms}
html.io-ready .hero-stack>*:nth-child(4){animation-delay:240ms}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* C3 fact strip */
.fact-strip{display:grid;grid-template-columns:repeat(2,1fr);border:var(--border-1);border-radius:var(--r-2);
  overflow:hidden;margin-top:var(--sp-6)}
@media(min-width:640px){.fact-strip{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.fact-strip{grid-template-columns:repeat(6,1fr)}}
.fact-cell{padding:var(--sp-4);border-right:1px solid var(--eoa-line);border-bottom:1px solid var(--eoa-line);background:var(--eoa-surface)}
.fact-cell .f-label{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;color:var(--eoa-text-dim);margin-bottom:var(--sp-1)}
.fact-cell .f-value{font-weight:500;margin-bottom:var(--sp-1)}
.fact-cell .f-value.neg{color:var(--eoa-neg)}
.fact-cell .f-src{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--eoa-text-dim);line-height:1.4}

/* C4 nav cards */
.nav-cards{display:grid;grid-template-columns:1fr;gap:var(--sp-4)}
@media(min-width:640px){.nav-cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.nav-cards{grid-template-columns:repeat(3,1fr)}}
.nav-card{background:var(--eoa-surface);border:var(--border-1);border-radius:var(--r-3);
  padding:var(--sp-4);transition:background var(--dur-2) ease-out,border-color var(--dur-2) ease-out,transform var(--dur-1) ease-out}
.nav-card:hover{background:var(--eoa-surface-2);border-color:var(--eoa-gold-dim)}
.nav-card:active{transform:translateY(1px)}
.nav-card .nc-num{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--eoa-gold-dim);letter-spacing:.06em}
.nav-card .nc-title{font-family:var(--font-display);font-size:var(--fs-h3);color:var(--eoa-gold);margin:var(--sp-2) 0}
.nav-card .nc-desc{color:var(--eoa-text-dim);font-size:var(--fs-small);margin-bottom:var(--sp-3)}
.nav-card .nc-link{font-size:var(--fs-small);font-weight:500}
.nav-card .nc-link .arr{display:inline-block;transition:transform var(--dur-2) ease-out}
.nav-card:hover .nc-link .arr{transform:translateX(4px)}
@media(min-width:1024px){.nav-card{padding:var(--sp-5)}}

/* reveal on scroll — only active once JS marks html.io-ready */
html.io-ready .reveal{opacity:0;transform:translateY(8px)}
html.io-ready .reveal.in{opacity:1;transform:none;transition:opacity var(--dur-3) var(--ease-in),transform var(--dur-3) var(--ease-in)}

/* C5 short answer */
.short-answer{background:var(--eoa-surface);border:var(--border-1);border-left:3px solid var(--eoa-gold);
  border-radius:var(--r-2);padding:var(--sp-5);font-size:var(--fs-lead);line-height:1.5;margin:var(--sp-5) 0}
.short-answer.neg{border-left-color:var(--eoa-neg)}
.short-answer p:last-child{margin-bottom:0}

/* C7 tables */
.table-wrap{border:var(--border-1);border-radius:var(--r-2);overflow:hidden;margin:var(--sp-4) 0}
table.compare{width:100%;border-collapse:collapse;background:var(--eoa-surface);font-size:var(--fs-small)}
.compare th{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:500;letter-spacing:.12em;
  text-transform:uppercase;color:var(--eoa-text-dim);text-align:left;padding:var(--sp-3) var(--sp-4);
  border-bottom:1px solid var(--eoa-line);background:var(--eoa-surface-2)}
.compare td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--eoa-line);vertical-align:top}
.compare tr:last-child td{border-bottom:0}
.compare tbody tr{transition:background var(--dur-2) ease-out}
.compare tbody tr:hover{background:var(--eoa-surface-2)}
.compare td.num{font-weight:500}
.compare td.src{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--eoa-text-dim)}
.table-note{font-size:var(--fs-small);color:var(--eoa-text-dim);border-top:1px solid var(--eoa-line);
  padding-top:var(--sp-3);margin-top:var(--sp-4)}
/* mobile card stacking */
@media(max-width:639px){
  table.compare.stack, table.compare.stack tbody, table.compare.stack tr, table.compare.stack td{display:block;width:100%}
  table.compare.stack thead{position:absolute;left:-9999px}
  table.compare.stack tr{border-bottom:1px solid var(--eoa-line);padding:var(--sp-2) 0}
  table.compare.stack td{border:0;padding:var(--sp-1) var(--sp-4)}
  table.compare.stack td::before{content:attr(data-th);display:block;font-family:var(--font-mono);
    font-size:var(--fs-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--eoa-text-dim)}
}

/* C8 FAQ accordion */
.faq{border:var(--border-1);border-radius:var(--r-2);margin-bottom:var(--sp-3);background:var(--eoa-surface)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;
  gap:var(--sp-4);padding:var(--sp-4);font-weight:500;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{flex:0 0 auto;width:16px;height:16px;color:var(--eoa-cyan);transition:transform var(--dur-2) ease-out}
.faq[open] summary .ic{transform:rotate(90deg)}
.faq:hover{border-color:var(--eoa-cyan-dim)}
.faq[open]{background:var(--eoa-surface-2)}
.faq .faq-a{padding:0 var(--sp-4) var(--sp-4);color:var(--eoa-text-dim)}
.faq .faq-a p:last-child{margin-bottom:0}

/* C9 picker */
.picker{background:var(--eoa-surface);border:var(--border-1);border-radius:var(--r-3);padding:var(--sp-5);margin:var(--sp-4) 0}
.picker .p-progress{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--eoa-text-dim);letter-spacing:.06em;margin-bottom:var(--sp-3)}
.picker .p-q{font-family:var(--font-display);font-size:var(--fs-h3);color:var(--eoa-gold);margin:0 0 var(--sp-4)}
.picker .p-opts{display:flex;flex-direction:column;gap:var(--sp-3)}
.picker .p-opt{background:var(--eoa-surface-2);border:1px solid var(--eoa-line);color:var(--eoa-text);
  font-family:var(--font-body);font-weight:500;font-size:var(--fs-body);text-align:left;
  padding:14px 18px;min-height:44px;border-radius:var(--r-2);cursor:pointer;transition:border-color var(--dur-2) ease-out,box-shadow var(--dur-2) ease-out}
.picker .p-opt:hover{border-color:var(--eoa-gold)}
.picker .p-opt:active{transform:translateY(1px)}
.picker .p-step{animation:pfade var(--dur-2) ease-out}
@keyframes pfade{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.picker-result{border:1px solid var(--eoa-gold);border-radius:var(--r-3);padding:var(--sp-5);background:var(--eoa-surface-2)}
.picker-result .r-pick{font-family:var(--font-display);font-size:var(--fs-h2);color:var(--eoa-gold);margin:0 0 var(--sp-3)}
.picker-static ol{padding-left:var(--sp-5)}

/* buttons (C11) */
.btn{display:inline-block;font-weight:500;text-decoration:none;padding:12px 24px;border-radius:var(--r-2);
  min-height:44px;cursor:pointer;font-size:var(--fs-body);transition:background var(--dur-1) ease-out,color var(--dur-1) ease-out}
.btn-gold{background:transparent;border:1px solid var(--eoa-gold);color:var(--eoa-gold)}
.btn-gold:hover{background:rgba(211,169,79,.12);color:var(--eoa-gold-bright)}
.btn-cyan{background:transparent;border:1px solid var(--eoa-cyan);color:var(--eoa-cyan)}
.btn-cyan:hover{background:rgba(79,195,212,.12)}
.btn .ext{font-size:.8em;margin-left:6px}
.btn-row{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin:var(--sp-4) 0}
.link-btn{background:none;border:0;color:var(--eoa-cyan);text-decoration:underline;cursor:pointer;
  font:inherit;padding:var(--sp-2) 0}

/* C10 timeline */
.timeline{position:relative;margin:var(--sp-5) 0;padding-left:var(--sp-6)}
.timeline::before{content:"";position:absolute;left:11px;top:4px;bottom:4px;width:2px;background:var(--eoa-line)}
.tl-item{position:relative;margin-bottom:var(--sp-6)}
.tl-item::before{content:"";position:absolute;left:-21px;top:7px;width:10px;height:10px;border-radius:50%;
  background:var(--eoa-cyan);border:2px solid var(--eoa-canvas)}
.tl-item.secondhand::before{background:transparent;border:2px solid var(--eoa-warn);width:8px;height:8px;left:-20px}
.tl-item.future::before{background:transparent;border:2px solid var(--eoa-gold);width:8px;height:8px;left:-20px}
.tl-item .tl-date{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--eoa-text-dim);letter-spacing:.02em}
.tl-item .tl-title{font-weight:700;margin:var(--sp-1) 0}
.headline-card{border:1px solid var(--eoa-gold-dim);border-radius:var(--r-3);background:var(--eoa-surface);
  padding:var(--sp-5);margin:var(--sp-4) 0}
.headline-card .hc-title{font-family:var(--font-display);font-size:var(--fs-h3);color:var(--eoa-gold);margin:0 0 var(--sp-2)}

/* C14 checklist / trust list */
.check-list{list-style:none;padding:0;margin:0 0 var(--sp-4)}
.check-list li{display:flex;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--eoa-line);align-items:flex-start}
.check-list li:last-child{border-bottom:0}
.check-list .ck{flex:0 0 auto;width:18px;height:18px;color:var(--eoa-cyan);margin-top:3px}
.check-list .ck.neg{color:var(--eoa-neg)}
.num-list{list-style:none;counter-reset:nl;padding:0}
.num-list li{counter-increment:nl;display:flex;gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--eoa-line)}
.num-list li::before{content:counter(nl,decimal-leading-zero);font-family:var(--font-mono);
  color:var(--eoa-gold-dim);font-size:var(--fs-mono);margin-top:4px;flex:0 0 auto}
.num-list li:last-child{border-bottom:0}
.warn-card{border-left:3px solid var(--eoa-warn);background:var(--eoa-surface);border-radius:var(--r-2);
  padding:var(--sp-4);margin-bottom:var(--sp-3)}
.mistake-card{border-left:3px solid var(--eoa-warn);background:var(--eoa-surface);border:1px solid var(--eoa-line);
  border-left:3px solid var(--eoa-warn);border-radius:var(--r-2);padding:var(--sp-4);margin-bottom:var(--sp-3)}

/* C12 footer */
.site-footer{border-top:1px solid var(--eoa-line);margin-top:var(--sp-8);background:var(--eoa-surface)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-6);padding:var(--sp-7) 0 var(--sp-5)}
@media(min-width:768px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.footer-grid .f-head{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:500;letter-spacing:.12em;
  text-transform:uppercase;color:var(--eoa-text-dim);margin:0 0 var(--sp-3)}
.footer-grid ul{list-style:none;padding:0;margin:0}
.footer-grid li{margin-bottom:var(--sp-2)}
.footer-grid a{color:var(--eoa-text-dim);text-decoration:none;font-size:var(--fs-small)}
.footer-grid a:hover{color:var(--eoa-cyan);text-decoration:underline}
.footer-brand p{color:var(--eoa-text-dim);font-size:var(--fs-small);margin-top:var(--sp-2);max-width:34ch}
.disclaimer-bar{border-top:1px solid var(--eoa-line);padding:var(--sp-4) 0 var(--sp-5)}
.disclaimer-bar p{font-size:var(--fs-small);color:var(--eoa-text-dim);margin:0 0 var(--sp-2);max-width:var(--prose)}
.disclaimer-bar .copy{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--eoa-text-dim)}

/* 404 */
.nf{text-align:left;padding:var(--sp-9) 0}
.nf .big{font-family:var(--font-display);font-size:clamp(6rem,20vw,12rem);color:var(--eoa-gold-dim);
  opacity:.4;line-height:1;letter-spacing:-.02em}

/* legal prose */
.legal h2{margin-top:var(--sp-6)}
.legal table{width:100%;border-collapse:collapse;font-size:var(--fs-small);margin:var(--sp-4) 0}
.legal th,.legal td{border:1px solid var(--eoa-line);padding:var(--sp-2) var(--sp-3);text-align:left;vertical-align:top}
.legal th{background:var(--eoa-surface-2);font-family:var(--font-mono);font-size:var(--fs-micro);
  letter-spacing:.12em;text-transform:uppercase;color:var(--eoa-text-dim)}
/* P1-1 fix: legal tables wider than the viewport scroll inside their own
   container instead of overflowing the page (375/390px) */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:var(--sp-4) 0}
.table-scroll>table{margin:0;min-width:100%}

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