/* Shared legal pages. The base design comes from site.css. */
.footer-legal{display:flex;align-items:center;justify-content:flex-end;gap:22px;max-width:none;text-align:right;font-size:11px;font-weight:700;letter-spacing:.03em;line-height:1.6;color:#aeb0bd}
.footer-legal a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;transition:color .2s,text-decoration-color .2s}
.footer-legal a:hover,.footer-legal a[aria-current="page"]{color:var(--lime);text-decoration-color:currentColor}
.legal-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 75% 40%,#282342 0,transparent 48%),var(--night);color:white;padding:200px 0 100px}
.legal-hero::before{content:"";pointer-events:none;position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.034) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.034) 1px,transparent 1px);background-size:78px 78px;mask-image:linear-gradient(90deg,transparent,black)}
.legal-hero-inner{position:relative;z-index:1}
.legal-breadcrumb{font-size:11px;font-weight:700;letter-spacing:.13em;color:#a7a5b9;margin-bottom:50px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.legal-breadcrumb a{color:var(--lime)}.legal-breadcrumb span[aria-hidden]{color:#605d7d}
.legal-hero-overline{color:var(--lime);font:700 11px var(--font-display);letter-spacing:.15em;margin-bottom:24px}
.legal-hero h1{color:white;font-family:var(--font-display);font-size:clamp(42px,7.7vw,105px);line-height:1.04;font-weight:700;letter-spacing:-.065em;overflow-wrap:anywhere;margin:0 0 25px}
.legal-hero h1 .legal-dot{color:var(--lime)}.legal-hero-lead{font-size:clamp(15px,1.6vw,20px);line-height:1.65;color:#c2c0cd;max-width:650px;margin:0 0 50px}
.legal-hero-meta{border-top:1px solid rgba(255,255,255,.17);padding-top:23px;display:flex;justify-content:space-between;gap:20px;font:700 10px var(--font-display);letter-spacing:.12em;color:#8f90a4}
.legal-main{padding:90px 0 125px;background:var(--light)}
.legal-layout{display:grid;grid-template-columns:minmax(0,230px) minmax(0,830px);gap:clamp(50px,7vw,105px);align-items:start}
.legal-aside{position:sticky;top:110px;max-height:calc(100vh - 140px);overflow:auto}
.legal-aside-label{display:block;font:700 11px var(--font-display);letter-spacing:.16em;color:#797a83;margin-bottom:18px}
.legal-toc{display:flex;flex-direction:column;gap:0;border-top:1px solid #d5d5d0}
.legal-toc a{display:flex;gap:13px;padding:14px 0;border-bottom:1px solid #d5d5d0;line-height:1.5;font-weight:600;font-size:12px;transition:color .2s}
.legal-toc a:hover{color:#7661d7}.legal-toc a span{min-width:22px;color:#9898a0;font-weight:700;font-size:11px}
.legal-aside-contact{border:1px solid #d7d7d1;padding:23px;margin-top:38px}
.legal-aside-contact small{display:block;font:700 10px var(--font-display);letter-spacing:.13em;color:#777984;margin-bottom:14px}
.legal-aside-contact p{font-size:13px;line-height:1.65;color:#4e4f55;margin:0 0 18px}
.legal-aside-contact a{font-size:14px;font-weight:700;text-decoration:underline;text-decoration-color:#9b8cff;text-underline-offset:4px;overflow-wrap:anywhere}
.legal-content{min-width:0}
.legal-intro{border-bottom:1px solid #cecec7;padding-bottom:39px;margin-bottom:49px}
.legal-kicker{display:block;font:700 11px var(--font-display);letter-spacing:.13em;color:#777785;margin-bottom:20px}
.legal-intro p{font-size:clamp(17px,2.1vw,23px);font-weight:500;line-height:1.55;max-width:680px;margin:0}
.legal-section{scroll-margin-top:120px;border-bottom:1px solid #d0d0ca;padding:0 0 45px;margin-bottom:48px}
.legal-section:last-child{margin-bottom:0;border-bottom:0;padding-bottom:0}
.legal-section-index{display:block;font:700 11px var(--font-display);letter-spacing:.12em;color:#85868c;margin-bottom:18px}
.legal-section h2{font-size:clamp(28px,3.3vw,43px);line-height:1.15;letter-spacing:-.045em;margin:0 0 26px;color:#15151b;overflow-wrap:anywhere}
.legal-section h3{font-size:18px;line-height:1.35;letter-spacing:-.025em;margin:30px 0 12px}
.legal-section p,.legal-section li{font-size:15px;line-height:1.78;color:#505159}
.legal-section p{margin:0 0 18px}.legal-section p:last-child{margin-bottom:0}
.legal-section ul{margin:6px 0 23px;padding-left:21px}.legal-section li{padding:0 0 9px 4px}
.legal-section strong{color:#252530;font-weight:700}.legal-section a{color:#5041b6;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-section a:hover{color:#2e236f}.legal-address{font-size:17px!important;line-height:1.9!important;color:#262734!important}
.legal-address strong{font-size:19px}.legal-placeholder{padding:18px 20px;border-left:3px solid #8d76f6;background:#e7e5dc;color:#474555!important}
.legal-note{background:#ebe9e2;border:1px solid #d1d0cb;padding:24px 25px;margin:22px 0 0}
.legal-note p{margin:0}.legal-end{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:65px}
.legal-back{display:inline-flex;gap:16px;align-items:center;font:700 12px var(--font-display);letter-spacing:.09em;text-transform:uppercase}
.legal-back span{width:42px;height:42px;border:1px solid #a8a8a4;border-radius:50%;display:grid;place-items:center;transition:background .2s}
.legal-back:hover span{background:var(--lime);border-color:var(--lime)}
@media(max-width:1280px){.legal-hero h1 .legal-title-part{display:block}}
@media(max-width:990px){.legal-layout{grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:35px}}
@media(max-width:760px){.legal-hero{padding:159px 0 65px}.legal-hero h1{font-size:clamp(39px,9.1vw,65px)}.legal-breadcrumb{margin-bottom:36px}.legal-hero-lead{margin-bottom:38px}.legal-main{padding:52px 0 83px}.legal-layout{display:flex;flex-direction:column;gap:46px}.legal-aside{position:static;max-height:none;width:100%;overflow:visible}.legal-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:25px}.legal-aside-contact{display:none}.legal-section{padding-bottom:32px;margin-bottom:36px}.legal-intro{padding-bottom:30px;margin-bottom:37px}.footer-legal{justify-content:flex-start;text-align:left}}
@media(max-width:460px){.legal-hero h1{font-size:clamp(31px,8.7vw,42px)}.legal-toc{grid-template-columns:1fr}.legal-hero-meta{font-size:8px}.legal-section p,.legal-section li{font-size:14px}.legal-end{align-items:flex-start;flex-direction:column}}
