
.page-hero{position:relative;padding-block:clamp(70px,12vh,140px) clamp(40px,7vw,80px)}
.page-hero h1{font-size:var(--fs-display);max-width:18ch;margin:26px 0 24px}
.page-hero .lead{margin-bottom:34px}

.page-hero h1 .sw{--k:clamp(0,calc(1 - ((var(--hero,0) - .1) * 3 * (var(--words,1) + 2) - var(--w,0)) / 3),1)}
.page-hero>.wrap{
  opacity:calc(1 - var(--hero,0) * 1.2);
  transform:translate3d(0,calc(var(--hero,0) * -70px),0);
}

.page-hero>.wrap:has(:focus-visible){opacity:1!important;transform:none!important}


.legal-sec{padding-block:clamp(48px,8vw,90px)}
.legal{max-width:780px;margin-inline:auto;padding:clamp(28px,4vw,56px);border-radius:var(--radius-l)}
.legal h1{font-size:clamp(2rem,4.4vw,3.2rem);margin:22px 0 10px}
.legal h3{font-size:1.02rem;letter-spacing:-.01em;margin:26px 0 8px}
.legal .updated{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.08em;color:var(--dim);margin-bottom:36px}
.legal h2{font-size:1.25rem;letter-spacing:-.015em;margin:44px 0 14px;padding-top:26px;border-top:1px solid var(--line)}
.legal p,.legal li{color:var(--muted);line-height:1.7}
.legal p+p{margin-top:12px}
.legal ul{display:grid;gap:10px;margin:12px 0;padding-inline-start:4px}
.legal li{position:relative;padding-inline-start:22px}
.legal li::before{content:"";position:absolute;inset-inline-start:0;top:.72em;width:8px;height:1px;background:var(--iris)}
.legal strong{color:var(--text);font-weight:600}
.legal a:not(.btn){color:#F0ABFC;text-decoration:underline;text-underline-offset:3px}
.legal-back{margin-top:40px}
.legal table{display:block;max-width:100%;overflow-x:auto;margin-top:12px;border-collapse:collapse;font-size:.92rem}
.legal th,.legal td{padding:10px 14px 10px 0;text-align:start;vertical-align:top;border-bottom:1px solid var(--line);color:var(--muted);min-width:9em}
.legal th{color:var(--text);font-weight:600}

@media (max-width:760px){
  .legal table,.legal tbody,.legal tr,.legal th,.legal td{display:block;min-width:0}
  .legal thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .legal tr{padding:16px 0;border-bottom:1px solid var(--line)}
  .legal th,.legal td{padding:0;border:0}
  .legal td{margin-top:10px}
  .legal td::before{
    content:attr(data-label);content:attr(data-label) / "";display:block;margin-bottom:2px;
    font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);
  }
}

@media (prefers-reduced-motion:reduce){.page-hero>.wrap{opacity:1;transform:none}}


.nf{min-height:calc(100svh - var(--header-h) - 12px);display:flex;align-items:center;padding-block:clamp(40px,8vh,96px)}
.nf-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:center}
.nf h1{max-width:14ch;margin:0 0 22px}
.nf .lead{margin-bottom:0}
.nf .chapter{margin-bottom:22px}
.nf-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.nf-wa{margin-top:14px}
.nf-wa svg{width:18px;height:18px;flex:none}
.nf-prism{--k:clamp(0,1 - var(--hero,0) * 2.5,1);position:relative;width:min(100%,380px);aspect-ratio:1;justify-self:center}
.nf-prism::before{content:"";position:absolute;inset:14%;border-radius:50%;background:radial-gradient(closest-side,rgba(192,132,252,.26),transparent);filter:blur(24px)}
.nf-prism svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.nf-gap{stroke:rgba(255,255,255,.3);stroke-width:.3;stroke-dasharray:1 1.2}
.nf-facet{transform:translate3d(calc(var(--k) * 8px),calc(var(--k) * -8px),0)}
@media (max-width:760px){
  .nf{min-height:0;padding-block:24px 56px}
  .nf-in{grid-template-columns:minmax(0,1fr);gap:20px}
  .nf-prism{order:-1;width:112px;justify-self:start}
  .nf-actions{margin-top:26px}
  .nf-actions .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){ .nf-facet{transform:translate3d(8px,-8px,0)} }


.sfx-ready .legal [data-sfx="rise"]{
  opacity:clamp(.35,calc(1 - var(--e) * 1.3),1);
  transform:translate3d(0,calc(var(--e) * 18px),0);
}
.sfx-ready .legal .sfx-rest[data-sfx="rise"]{opacity:1;transform:none}
