.legal-page { min-height: 100vh; background: radial-gradient(circle at 90% 8%, rgba(0,181,221,.09), transparent 26rem), var(--paper); }
.legal-page .loader, .legal-page .scroll-progress { display: none; }

.legal-main { width: var(--container); margin: 0 auto; padding: clamp(10rem, 16vw, 14rem) 0 clamp(6rem, 10vw, 10rem); }
.legal-hero { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr); gap: 3rem; align-items: end; padding-bottom: clamp(4rem,7vw,7rem); border-bottom: 1px solid var(--line); }
.legal-kicker, .legal-index { color: var(--teal); font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.legal-title { margin-top: 1rem; max-width: 10ch; font-size: clamp(4.5rem,10vw,9rem); font-weight: 540; line-height: .82; letter-spacing: -.07em; }
.legal-title em { color: var(--teal); font-style: normal; }
.legal-intro { max-width: 30rem; color: var(--muted); font-size: clamp(1rem,1.35vw,1.2rem); }
.legal-layout { display: grid; grid-template-columns: minmax(150px,.35fr) minmax(0,1.65fr); gap: clamp(3rem,9vw,9rem); padding-top: clamp(4rem,7vw,7rem); }
.legal-aside { position: sticky; top: 8rem; align-self: start; }
.legal-aside p { color: var(--muted); font-size: 9px; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.legal-aside strong { display: block; margin-top: .65rem; color: var(--ink); font-size: 1rem; letter-spacing: 0; text-transform: none; }
.legal-content { max-width: 850px; }
.legal-section { padding-bottom: clamp(3rem,5vw,5rem); }
.legal-section + .legal-section { padding-top: clamp(3rem,5vw,5rem); border-top: 1px solid var(--line); }
.legal-index { display: inline-block; margin-bottom: 1.1rem; }
.legal-section h2 { margin: 0 0 1.4rem; font-size: clamp(1.8rem,3.2vw,3.3rem); font-weight: 560; line-height: 1; letter-spacing: -.045em; }
.legal-section h3 { margin: 2rem 0 .7rem; font-size: 1.05rem; }
.legal-section p, .legal-section li, .legal-address { color: var(--muted); font-size: clamp(.98rem,1.15vw,1.08rem); line-height: 1.8; }
.legal-section p + p { margin-top: 1rem; }
.legal-section ul { margin: 1.2rem 0 0; padding-left: 1.25rem; }
.legal-section li + li { margin-top: .45rem; }
.legal-address { padding: clamp(1.5rem,3vw,2.3rem); border: 1px solid var(--line); border-radius: 24px; background: var(--white); font-style: normal; }
.legal-address strong { color: var(--ink); }
.legal-content a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--teal); text-underline-offset: .24em; }
.legal-content a:hover { color: var(--teal); }

.legal-page .footer { width: var(--container); margin: 0 auto; padding: 3rem 0; display: block; border-top: 1px solid var(--line); }
.footer__top, .footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.footer__top > p, .footer__bottom { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.footer__up { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid var(--line); border-radius: 50%; }
.footer__bottom { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.footer__bottom > div { display: flex; gap: 1rem; }

@media (max-width: 800px) {
  .legal-hero, .legal-layout { grid-template-columns: 1fr; }
  .legal-hero { gap: 2rem; }
  .legal-aside { position: static; }
  .footer__top, .footer__bottom { flex-direction: column; align-items: center; justify-content: center; flex-wrap: wrap; text-align: center; }
  .footer__bottom > div { justify-content: center; flex-wrap: wrap; }
}

@media (max-width: 520px) {
  .legal-title { font-size: clamp(3.7rem,19vw,6rem); }
  .footer__top > p, .footer__bottom > span:last-child { display: none; }
}
