/* Legal & privacy — public document register */
:root {
  --legal-green:#67e99a;
  --legal-blue:#6abff0;
  --legal-paper:#dbe4e6;
  --legal-warn:#e4b66f;
  --legal-ease:cubic-bezier(.16,1,.3,1);
}
.page-hd {
  position:relative;min-height:500px;display:flex;align-items:center;overflow:hidden;
  padding-top:calc(var(--nav-h) + 5rem);padding-bottom:5rem;
  background:linear-gradient(112deg,#090d0f 0%,#0d1116 56%,#091218 100%);
}
.page-hd::after { content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,13,15,.98) 4%,rgba(9,13,15,.82) 49%,rgba(9,13,15,.18) 82%,rgba(9,13,15,.58));pointer-events:none; }
.page-hd-inner { position:relative;z-index:2;width:100%;max-width:1160px;padding-right:min(41vw,500px); }
.page-label { color:var(--legal-blue); }
.page-title { font-size:clamp(2.6rem,5.7vw,5.4rem);line-height:.91;letter-spacing:-.04em; }
.page-sub { font-family:'Rajdhani',sans-serif;font-size:.94rem;line-height:1.8;letter-spacing:.02em;max-width:580px; }
.legal-status { display:inline-flex;align-items:center;gap:.6rem;margin-top:1.4rem;padding:.42rem .7rem;border:1px solid rgba(228,182,111,.22);color:var(--legal-warn);font:500 .56rem/1.4 'Share Tech Mono',monospace;letter-spacing:.12em;text-transform:uppercase;background:rgba(228,182,111,.025); }
.legal-status::before { content:'';width:6px;height:6px;border:1px solid currentColor;transform:rotate(45deg); }
.motion-ready .page-bc,.motion-ready .page-label,.motion-ready .page-title,.motion-ready .page-sub,.motion-ready .legal-status { animation:legalEnter .72s backwards var(--legal-ease); }
.motion-ready .page-label{animation-delay:.06s}.motion-ready .page-title{animation-delay:.12s}.motion-ready .page-sub{animation-delay:.2s}.motion-ready .legal-status{animation-delay:.28s}
@keyframes legalEnter { from{opacity:0;transform:translateY(22px)} }

.legal-register { position:absolute;z-index:2;right:clamp(2rem,8vw,8rem);top:50%;width:clamp(310px,35vw,490px);aspect-ratio:1;transform:translateY(-46%);pointer-events:none;opacity:.72;-webkit-mask-image:radial-gradient(circle,#000 58%,transparent 80%);mask-image:radial-gradient(circle,#000 58%,transparent 80%); }
.legal-register svg { width:100%;height:100%;overflow:visible; }
.register-grid,.register-sheet,.register-fold,.register-rule { fill:none;vector-effect:non-scaling-stroke; }
.register-grid { stroke:rgba(219,228,230,.05);stroke-width:.6; }
.register-sheet { fill:rgba(219,228,230,.018);stroke:rgba(219,228,230,.35);stroke-width:.9; }
.register-fold { stroke:rgba(106,191,240,.48);stroke-width:1; }
.register-rule { stroke:rgba(219,228,230,.18);stroke-width:.7; }
.register-seal { fill:rgba(103,233,154,.04);stroke:rgba(103,233,154,.55);stroke-width:1.1; }
.motion-ready .register-sheet,.motion-ready .register-fold,.motion-ready .register-rule { stroke-dasharray:1200;stroke-dashoffset:1200;animation:registerTrace 1.35s .35s var(--legal-ease) forwards; }
.motion-ready .register-rule { animation-delay:.7s;animation-duration:1s; }
.motion-ready .register-seal { animation:registerSeal .52s 1s backwards var(--legal-ease);transform-box:fill-box;transform-origin:center; }
@keyframes registerTrace { to{stroke-dashoffset:0} }
@keyframes registerSeal { from{opacity:0;transform:scale(.5) rotate(-30deg)} }

#legal-header-field,#legal-document-field { position:absolute;inset:0;width:100%;height:100%;pointer-events:none; }
.content { position:relative;max-width:none;margin:0;padding:5rem 3rem 7rem;overflow:hidden;background:linear-gradient(135deg,#0a0e11,var(--bg) 58%,#091014); }
.legal-layout { position:relative;z-index:2;max-width:1160px;margin:0 auto;display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(3rem,7vw,7rem);align-items:start; }
.toc { position:sticky;top:calc(var(--nav-h) + 2rem);margin:0;padding:1.25rem;border-color:rgba(219,228,230,.09);background:linear-gradient(145deg,rgba(19,24,27,.97),rgba(10,14,17,.95));clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%); }
.toc::before { content:'INDEX';position:absolute;right:.6rem;top:.65rem;font:800 2.7rem/1 'Exo 2',sans-serif;color:var(--legal-paper);opacity:.025; }
.toc-label { color:var(--legal-blue); }
.toc a { position:relative;padding:.55rem .45rem;border-bottom:1px solid rgba(219,228,230,.045);transition:color .25s,background-color .25s,padding-left .3s var(--legal-ease); }
.toc a:last-child { border-bottom:0; }
.toc a:hover,.toc a[aria-current="true"] { color:var(--white);background:rgba(106,191,240,.025);padding-left:.75rem; }
.toc a[aria-current="true"]::before { color:var(--legal-blue); }
.legal-document { min-width:0; }
.section { position:relative;margin:0 0 1rem;padding:2.4rem 2.6rem 2.7rem;border:1px solid rgba(219,228,230,.08);background:linear-gradient(145deg,rgba(17,22,25,.95),rgba(10,13,16,.94));overflow:hidden;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%); }
.section::before { content:attr(data-section);position:absolute;right:1rem;top:.45rem;font:800 6.5rem/1 'Exo 2',sans-serif;color:var(--legal-paper);opacity:.018;pointer-events:none; }
.section-num { color:var(--legal-blue); }
.section-title { font-size:clamp(1.3rem,2.2vw,1.75rem);margin-bottom:1.5rem; }
.legal-subsection { margin-top:1.7rem!important;margin-bottom:.55rem;color:var(--mid);font-weight:500; }
.body-text { max-width:72ch; }
.info-block { background:rgba(219,228,230,.018);border-color:rgba(219,228,230,.08);clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%); }
.info-row { transition:padding-left .28s var(--legal-ease),background-color .25s; }
.info-row:hover { padding-left:.45rem;background:rgba(106,191,240,.018); }
.anchor { top:calc(-1 * var(--nav-h) - 1.5rem); }
.nav-ctrl:disabled { opacity:.5;cursor:not-allowed; }

[data-theme="light"] .page-hd { background:linear-gradient(112deg,#e8efef,#e8edf1 56%,#dce9ef); }
[data-theme="light"] .page-hd::after { background:linear-gradient(90deg,rgba(240,243,245,.98) 4%,rgba(240,243,245,.78) 49%,rgba(240,243,245,.14) 82%,rgba(240,243,245,.48)); }
[data-theme="light"] .legal-register { opacity:.45; }
[data-theme="light"] .register-grid { stroke:rgba(28,69,76,.08); }
[data-theme="light"] .register-sheet,[data-theme="light"] .register-rule { stroke:rgba(28,69,76,.34); }
[data-theme="light"] .register-sheet { fill:rgba(28,69,76,.015); }
[data-theme="light"] .register-fold { stroke:rgba(0,100,158,.48); }
[data-theme="light"] .register-seal { fill:rgba(0,122,67,.035);stroke:rgba(0,122,67,.5); }
[data-theme="light"] .content { background:linear-gradient(135deg,#e6ecec,var(--bg) 58%,#dfe9ed); }
[data-theme="light"] .toc,[data-theme="light"] .section { background:linear-gradient(145deg,rgba(250,252,252,.98),rgba(220,229,231,.94));border-color:rgba(28,69,76,.12); }
[data-theme="light"] .info-block { background:rgba(28,69,76,.025);border-color:rgba(28,69,76,.1); }

@media(max-width:900px){.page-hd-inner{padding-right:0}.legal-register{right:-15%;width:62vw;opacity:.12}.legal-layout{grid-template-columns:1fr}.toc{position:relative;top:auto;display:grid;grid-template-columns:1fr 1fr}.toc-label{grid-column:1/-1}.content{padding:4rem 1.5rem 6rem}}
@media(max-width:600px){.legal-register{right:-45%;width:105vw;opacity:.075}.page-hd{min-height:470px}.toc{grid-template-columns:1fr}.section{padding:2rem 1.4rem}.info-row{display:grid;gap:.35rem}.info-key{width:auto}}
@media(prefers-reduced-motion:reduce){.motion-ready .page-bc,.motion-ready .page-label,.motion-ready .page-title,.motion-ready .page-sub,.motion-ready .legal-status,.motion-ready .register-sheet,.motion-ready .register-fold,.motion-ready .register-rule,.motion-ready .register-seal{animation:none;stroke-dashoffset:0}}
@media print{nav,#noise,#legal-header-field,#legal-document-field,.legal-register,.toc,footer{display:none!important}.page-hd{min-height:0;padding:1rem 0;background:#fff!important;color:#000}.page-hd::after{display:none}.page-hd-inner{max-width:none;padding:0}.page-title,.section-title,.body-text,.info-val{color:#000}.page-bc,.page-label,.page-sub,.legal-status,.section-num,.info-key{color:#333}.content{padding:1rem 0;background:#fff!important}.legal-layout{display:block;max-width:none}.section{break-inside:avoid;padding:1.2rem 0;border:0;border-bottom:1px solid #bbb;background:#fff!important;clip-path:none}.section::before{display:none}.reveal{opacity:1!important;visibility:visible!important;transform:none!important}}
