/* Legal documents (page-templates/legal.php): dark title band, paper reading column with numbered sections and a sticky contents list. */
@keyframes legal-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes legal-aurora{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-7%,5%) scale(1.18)}100%{transform:translate(5%,-4%) scale(1.06)}}
.legal-page .btn-ink{background:var(--ink);color:#fff}.legal-page .btn-ink:hover{transform:translateY(-2px);background:#1a2a26}

.legal-hero{position:relative;padding-block:72px 64px;isolation:isolate;overflow:clip;border-bottom:1px solid var(--edge)}
.legal-hero .aurora{position:absolute;inset:-10%;z-index:-2;pointer-events:none;filter:blur(70px);opacity:.6}
.legal-hero .aurora b{position:absolute;border-radius:50%;display:block}
.legal-hero .aurora .a1{width:50vw;height:50vw;max-width:800px;max-height:800px;right:-10%;top:-30%;background:radial-gradient(circle,rgba(0,150,136,.55),transparent 62%);animation:legal-aurora 16s ease-in-out infinite alternate}
.legal-hero .grain{z-index:-1}
.legal-hero .eyebrow{animation:legal-rise .8s var(--ease) both}
.legal-hero h1{max-width:20ch;margin-top:18px;color:#fff;animation:legal-rise .9s var(--ease) .1s both}
.legal-hero .dek{margin-top:20px;max-width:58ch;font-size:var(--fs-lead);color:var(--text-2);line-height:1.5;animation:legal-rise .9s var(--ease) .25s both}
.legal-hero .meta{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:26px;font-size:var(--fs-sm);color:var(--text-2);animation:legal-rise .9s var(--ease) .4s both}
.legal-hero .meta span{display:inline-flex;align-items:center;gap:8px}.legal-hero .meta svg{width:16px;height:16px;color:var(--accent-2)}
.legal-hero .switch{display:inline-flex;gap:6px;margin-top:28px;padding:5px;border-radius:999px;background:var(--glass);border:1px solid var(--edge);animation:legal-rise .9s var(--ease) .5s both}
.legal-hero .switch a{padding:9px 16px;border-radius:999px;font-size:var(--fs-sm);font-weight:600;color:var(--text-2);text-decoration:none;transition:background .2s,color .2s}
.legal-hero .switch a:hover{color:#fff}.legal-hero .switch a.on{background:var(--accent-2);color:#04120f}

.legal-body{background:var(--paper);color:var(--ink)}
.legal-body .wrap{display:grid;grid-template-columns:280px minmax(0,1fr);gap:72px;padding-block:64px 96px;align-items:start}
.legal-aside .sticky{position:sticky;top:calc(env(safe-area-inset-top,0px) + 96px)}
.legal-aside .fh{font-size:var(--fs-cap);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin:0 0 12px}
.toc{list-style:none;margin:0;padding:0;border-left:1px solid var(--line);counter-reset:toc}
.toc li.h2{counter-increment:toc}
.toc a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;font-size:var(--fs-sm);color:var(--ink-2);text-decoration:none;line-height:1.35;transition:color .2s,border-color .2s}
.toc li.h2>a::before{content:counter(toc,decimal-leading-zero) "  ";font-variant-numeric:tabular-nums;color:var(--ink-3);font-weight:600;font-size:var(--fs-cap);letter-spacing:.04em}
.toc li.h3>a{padding-left:38px;font-size:var(--fs-xs);color:var(--ink-3)}
.toc a:hover{color:var(--ink)}.toc a.on{color:var(--accent-deep);border-left-color:var(--accent-deep);font-weight:600}
.legal-aside .ask{margin-top:26px;padding:16px 18px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:var(--fs-sm)}
.legal-aside .ask b{display:block;color:var(--ink);margin-bottom:4px}.legal-aside .ask a{color:var(--accent-deep);text-decoration:none}.legal-aside .ask a:hover{text-decoration:underline}

.legal{max-width:68ch;font-size:var(--fs-read);line-height:1.75;color:var(--ink-2);counter-reset:sec}
.legal>*+*{margin-top:1.1em}
.legal p{margin:0}
.legal a{color:var(--accent-deep)}
.legal b,.legal strong{color:var(--ink);font-weight:600}
.legal h2{counter-increment:sec;position:relative;margin-top:2.6em;padding-top:1.6em;border-top:1px solid var(--line);font-size:var(--fs-h3);letter-spacing:-.02em;color:var(--ink);scroll-margin-top:100px;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:baseline}
.legal h2::before{content:counter(sec,decimal-leading-zero);font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.35em;color:var(--accent-deep);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.legal h2:first-child{margin-top:0;padding-top:0;border-top:0}
.legal h3{margin-top:1.9em;font-size:var(--fs-h4);letter-spacing:-.015em;color:var(--ink);scroll-margin-top:100px}
.legal h2+p,.legal h3+p{margin-top:.8em}
.legal ul,.legal ol{padding-left:1.3em;display:grid;gap:8px}
.legal li::marker{color:var(--accent-deep)}
.legal .contact{margin-top:64px;padding:28px 30px;border-radius:22px;background:var(--ink);color:var(--text-2);display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center}
.legal .contact .eyebrow{color:var(--accent-2)}.legal .contact .ct{margin:10px 0 0;padding:0;border:0;display:block;color:#fff;font-size:var(--fs-h3);counter-increment:none}.legal .contact .ct::before{content:none}
.legal .contact p{margin-top:10px;font-size:var(--fs-sm)}
.legal .contact .ways{display:grid;gap:10px;justify-items:start}
.legal .contact .way{color:var(--text-2);text-decoration:none;font-size:var(--fs-sm)}.legal .contact a.way:hover{color:#fff}
.legal .contact .btn{padding:13px 22px;font-size:var(--fs-sm);background:var(--accent-2);color:#04120f}
.legal .also{margin-top:26px;font-size:var(--fs-sm);color:var(--ink-3)}
@media (max-width:1040px){.legal-body .wrap{grid-template-columns:1fr;gap:36px}.legal-aside .sticky{position:static}.toc{display:grid;grid-template-columns:1fr 1fr;border-left:0;gap:0 20px}.toc li.h3{display:none}.toc a{border-left:0;padding-left:0}.legal-aside .ask{display:none}}
@media (max-width:640px){.toc{grid-template-columns:1fr}.legal .contact{grid-template-columns:1fr}.legal-hero{padding-block:52px 44px}}
@media print{.topbar,header.nav,.mnav,footer.site,.legal-aside,.legal-hero .switch,.legal .contact .btn{display:none!important}.legal-hero{background:#fff;color:#000;border:0;padding:0 0 12px}.legal-hero h1,.legal-hero .dek,.legal-hero .meta{color:#000!important;animation:none}.legal-body{background:#fff}.legal-body .wrap{display:block;padding:0}.legal{max-width:none;color:#000;font-size:12pt}.legal h2,.legal h3{color:#000;break-after:avoid}.legal .contact{background:none;color:#000;border:1px solid #999;padding:12px}.legal .contact .ct,.legal .contact .way{color:#000}}
@media (prefers-reduced-motion:reduce){.legal-page *,.legal-page *::before{animation:none!important}}
