
.site-header { position: sticky; top: 0; z-index: 1000; width: 100%; background: color-mix(in srgb, var(--color-surface) 94%, transparent); border-bottom: 1px solid var(--color-outline); backdrop-filter: blur(14px); }
.site-header__inner { width: min(100% - 2rem, var(--content-max-width)); min-height: 5rem; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: var(--spacing-xl); }
.site-logo { font-family: var(--font-family-heading); font-size: var(--font-size-2xl); font-weight: 600; color: var(--color-primary); }
.site-menu { display: flex; align-items: center; gap: var(--spacing-xl); }
.site-menu ul { display: flex; align-items: center; gap: var(--spacing-lg); margin: 0; padding: 0 0 0 0; list-style: none; }
.site-menu a[aria-current="page"] { color: var(--color-primary); font-weight: 700; }
.site-menu-toggle { display: none; width: 2.8rem; height: 2.8rem; padding: .65rem; border: 1px solid var(--color-outline); border-radius: var(--border-radius-control); }
.site-menu-toggle span { display: block; height: 2px; margin: 4px 0; background: currentColor; }
.legal-page { min-height: 65vh; }
.legal-hero { padding: 5rem 1rem 3rem 1rem; background: linear-gradient(135deg, var(--color-surface-elevated), var(--color-surface)); border-bottom: 1px solid var(--color-outline); }
.legal-container { width: min(100%, 64rem); margin-inline: auto; }
.legal-hero h1 { margin: .5rem 0 1rem; font-family: var(--font-family-heading); font-size: var(--font-size-4xl); line-height: 1.15; color: var(--color-primary); }
.legal-hero p { max-width: 46rem; }
.legal-updated { margin-top: 1rem; font-size: .9rem; color: var(--color-on-surface-secondary); }
.eyebrow { font-size: .82rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--color-secondary); }
.legal-layout { padding: 3rem 1rem 5rem 1rem; }
.legal-company { margin-bottom: 2.5rem; padding: 1.5rem 1.5rem 1.5rem 1.5rem; border: 1px solid var(--color-outline); border-radius: var(--border-radius-lg); background: var(--color-surface-elevated); }
.legal-company h2 { margin: 0 0 1rem; font-family: var(--font-family-heading); font-size: var(--font-size-2xl); }
.legal-company dl { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem 2rem; margin: 0; }
.legal-company dl div { min-width: 0; }
.legal-company dt { font-weight: 700; color: var(--color-primary); }
.legal-company dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.legal-content { display: grid; gap: 1.25rem; }
.legal-content section { padding: 1.5rem 1.5rem 1.5rem 1.5rem; border: 1px solid color-mix(in srgb, var(--color-outline) 70%, transparent); border-radius: var(--border-radius-md); background: color-mix(in srgb, white 30%, transparent); }
.legal-content h2 { margin: 0 0 .65rem; font-family: var(--font-family-heading); font-size: var(--font-size-2xl); color: var(--color-primary); }
.legal-content p { margin: 0; }
.legal-content a { color: var(--color-primary); font-weight: 650; border-bottom: 1px solid currentColor; }
.site-footer { width: 100%; padding: 3rem 1rem 1.25rem 1rem; background: #24191a; color: #fff8f1; }
.site-footer__inner { width: min(100%, var(--content-max-width)); margin: 0 auto; display: grid; grid-template-columns: 1.3fr 1fr; gap: 2rem; }
.site-footer .site-logo { color: #fff8f1; }
.site-footer__brand p { max-width: 34rem; margin-top: .75rem; opacity: .84; }
.site-footer nav { display: grid; align-content: start; gap: .65rem; }
.site-footer a:hover { color: #e2c79f; }
.site-footer .footer-legal-info { color: #fff8f1; border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.05); }
.site-footer__bottom { width: min(100%, var(--content-max-width)); margin: 1.5rem auto 0; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.15); font-size: .9rem; opacity: .72; }
@media (max-width: 900px) {
  .site-menu { gap: .75rem; }
  .site-menu ul { gap: .8rem; }
  .site-menu .btn { display: none; }
}
@media (max-width: 767px) {
  .site-header__inner { width: min(100% - 1.25rem, var(--content-max-width)); min-height: 4.5rem; }
  .site-menu-toggle { display: block; }
  .site-menu { position: fixed; inset: 4.5rem 0 auto 0; display: none; max-height: calc(100vh - 4.5rem); overflow-y: auto; padding: 1rem 1rem 1rem 1rem; background: var(--color-surface); border-bottom: 1px solid var(--color-outline); box-shadow: var(--shadow-level-2); }
  .site-menu.is-active { display: block; }
  .site-menu ul { flex-direction: column; align-items: stretch; gap: .25rem; }
  .site-menu li a { display: block; padding: .8rem .5rem; }
  .legal-hero { padding: 3.5rem .75rem 2.25rem .75rem; }
  .legal-layout { padding: 2rem .75rem 3rem .75rem; }
  .legal-company { padding: 1rem 1rem 1rem 1rem; }
  .legal-company dl { grid-template-columns: 1fr; }
  .legal-content section { padding: 1rem 1rem 1rem 1rem; }
  .site-footer { padding: 2.25rem .75rem 1rem .75rem; }
  .site-footer__inner { grid-template-columns: 1fr; }
}
