
.legal-page-shell { min-height: 100vh; background: var(--color-surface); color: var(--color-on-surface); }
.legal-main { padding-top: 72px; }
.legal-container { width: min(1120px, calc(100% - 32px)); margin-inline: auto; }
.legal-hero { padding: 96px 0 64px; background: linear-gradient(135deg, color-mix(in srgb, var(--color-primary, #d4af37) 18%, transparent), transparent 65%); border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent); }
.legal-kicker { text-transform: uppercase; letter-spacing: .16em; font-weight: 700; color: var(--color-primary, #d4af37); }
.legal-hero h1 { max-width: 850px; margin: .5rem 0 1rem; font-family: 'Playfair Display', serif; font-size: clamp(2.2rem, 5vw, 4.5rem); line-height: 1.05; }
.legal-hero > .legal-container > p:not(.legal-kicker):not(.legal-updated) { max-width: 780px; font-size: 1.08rem; opacity: .88; }
.legal-updated { margin-top: 1rem; font-size: .9rem; opacity: .7; }
.legal-content { padding: 56px 0 88px; }
.legal-company-card, .legal-section { padding: clamp(1.25rem, 3vw, 2.25rem); margin-bottom: 1.25rem; border: 1px solid color-mix(in srgb, currentColor 14%, transparent); border-radius: 18px; background: color-mix(in srgb, var(--color-surface, #111827) 93%, white 7%); box-shadow: 0 18px 50px rgb(0 0 0 / .12); }
.legal-company-card h2, .legal-section h2 { margin: 0 0 1rem; font-size: clamp(1.4rem, 3vw, 2rem); }
.legal-company-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1.5rem; }
.legal-company-grid p, .legal-section p { margin: 0 0 .85rem; }
.legal-section ul { margin: .5rem 0 0 1.25rem; padding: 0; }
.legal-section li { margin-bottom: .5rem; }
.legal-demo-note { margin-top: 1rem !important; padding-top: 1rem; border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent); font-size: .88rem; opacity: .76; }
.legal-main a { color: var(--color-primary, #d4af37); text-decoration: underline; text-underline-offset: .18em; }
@media (max-width: 767px) {
  .legal-main { padding-top: 64px; }
  .legal-hero { padding: 72px 0 44px; }
  .legal-company-grid { grid-template-columns: 1fr; }
  .legal-content { padding-top: 36px; }
}
