* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--color-ink); background: #fff; font-family: var(--font-body); line-height: 1.7; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
:focus-visible { outline: 3px solid var(--color-cyan); outline-offset: 4px; }
.legal-container { width: min(100% - (var(--gutter) * 2), 1160px); margin-inline: auto; }
.legal-header { border-bottom: var(--border); background: rgba(255,255,255,.97); }
.legal-nav { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); }
.legal-logo { width: 165px; }
.legal-logo img { width: 100%; height: 62px; object-fit: contain; }
.legal-nav__links { display: flex; align-items: center; gap: var(--space-5); color: var(--color-navy); font-size: var(--text-xs); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.legal-nav__links a:hover { color: var(--color-ocean); }
.legal-hero { position: relative; overflow: hidden; padding: clamp(4.5rem, 8vw, 7.5rem) 0; background: linear-gradient(rgba(19,142,208,.065) 1px, transparent 1px), linear-gradient(90deg, rgba(19,142,208,.065) 1px, transparent 1px), var(--color-light-blue); background-size: 48px 48px; }
.legal-hero::after { content: ""; position: absolute; right: -120px; top: -240px; width: 540px; aspect-ratio: 1; border: 1px solid rgba(19,142,208,.28); border-radius: 50%; box-shadow: 0 0 0 70px rgba(50,188,222,.055), 0 0 0 145px rgba(50,188,222,.028); }
.legal-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 340px; gap: var(--space-8); align-items: end; }
.legal-kicker { margin: 0 0 var(--space-3); color: var(--color-ocean); font-size: var(--text-xs); font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.legal-hero h1 { max-width: 760px; margin: 0; color: var(--color-navy); font-family: var(--font-display); font-size: clamp(3.5rem, 7vw, 6.5rem); line-height: .86; letter-spacing: -.035em; text-transform: uppercase; }
.legal-summary { margin: 0; padding-left: var(--space-5); border-left: 3px solid var(--color-cyan); color: var(--color-muted); font-size: var(--text-lg); }
.legal-summary strong { display: block; margin-bottom: .35rem; color: var(--color-navy); font-size: var(--text-sm); text-transform: uppercase; }
.legal-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: clamp(3rem, 7vw, 7rem); padding-block: clamp(4rem, 7vw, 7rem); }
.legal-toc { align-self: start; position: sticky; top: var(--space-5); padding: var(--space-5); border-top: 4px solid var(--color-ocean); background: var(--color-light-blue); }
.legal-toc strong { display: block; margin-bottom: var(--space-3); color: var(--color-navy); font-size: var(--text-xs); letter-spacing: .12em; text-transform: uppercase; }
.legal-toc a { display: block; padding: .45rem 0; border-bottom: 1px solid rgba(8,45,97,.12); color: var(--color-muted); font-size: var(--text-sm); }
.legal-toc a:hover { color: var(--color-ocean); }
.legal-content { max-width: 760px; }
.legal-intro { margin: 0 0 var(--space-7); color: var(--color-navy); font-family: var(--font-editorial); font-size: clamp(1.45rem, 2.5vw, 2rem); line-height: 1.4; }
.legal-section { scroll-margin-top: var(--space-5); padding: 0 0 var(--space-6); margin-bottom: var(--space-6); border-bottom: var(--border); }
.legal-section:last-child { margin-bottom: 0; border-bottom: 0; }
.legal-section h2 { margin: 0 0 var(--space-3); color: var(--color-navy); font-family: var(--font-display); font-size: clamp(1.65rem, 2.7vw, 2.25rem); line-height: 1; text-transform: uppercase; }
.legal-section p { margin: 0 0 var(--space-3); color: var(--color-muted); }
.legal-section ul { margin: var(--space-3) 0; padding-left: 1.2rem; color: var(--color-muted); }
.legal-section li { margin-bottom: .55rem; }
.legal-section a { color: var(--color-ocean); border-bottom: 1px solid currentColor; }
.legal-note { padding: var(--space-4); border-left: 3px solid var(--color-cyan); background: var(--color-light-blue); }
.legal-footer { padding: var(--space-5) 0; color: #bfd0dd; background: var(--color-dark-navy); }
.legal-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); font-size: var(--text-xs); }
.legal-footer__links { display: flex; gap: var(--space-4); }
.legal-footer a:hover { color: #fff; }
@media (max-width: 760px) {
  .legal-nav { min-height: 72px; }
  .legal-logo { width: 138px; }
  .legal-nav__links a:first-child { display: none; }
  .legal-hero__inner, .legal-layout { grid-template-columns: 1fr; }
  .legal-hero { padding: var(--space-8) 0; }
  .legal-hero h1 { font-size: clamp(3.2rem, 17vw, 5rem); }
  .legal-summary { padding-left: var(--space-4); }
  .legal-layout { gap: var(--space-6); }
  .legal-toc { position: static; }
  .legal-footer__inner { display: grid; justify-items: center; text-align: center; }
}
