:root { --footer: #17181a; --footer-ink: #eceae5; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --footer: #191b1e; } }
:root[data-theme="dark"] { --footer: #191b1e; }

/* Floating navigation (from E): transparent over the hero, a compact card once scrolled */
:root { --card: #ffffff; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --card: #1d1f23; } }
:root[data-theme="dark"] { --card: #1d1f23; }
.navigation { position: fixed; top: 22px; left: 50%; transform: translateX(-50%); width: min(1137px, 92%); height: 48px; display: flex; align-items: center; justify-content: space-between; z-index: 20; border-radius: 40px; font-size: 15px; transition: width .35s, top .35s, background .35s, box-shadow .35s, padding .35s; }
.navigation.compact { width: min(853px, 94%); top: 14px; height: 56px; padding: 0 8px 0 20px; background: color-mix(in srgb, var(--card) 92%, transparent); box-shadow: 0 4px 20px rgba(23,24,26,.08), 0 0 0 1px var(--hairline); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.navigation .wordmark img { height: 24px; }
.navigation .btn { box-shadow: 0 0 0 4px color-mix(in srgb, var(--card) 55%, transparent); }
.navigation:not(.compact) .wordmark .on-light { display: none; }
.navigation:not(.compact) .wordmark .on-dark { display: block; }
.navigation:not(.compact) .btn { box-shadow: 0 0 0 4px rgba(255,255,255,.18); }

.closing { padding: 0 16px 16px; display: grid; gap: 10px; }

.site-footer { border-radius: 32px; background: var(--footer); color: var(--footer-ink); padding: 56px clamp(24px, 6vw, 96px); display: flex; justify-content: space-between; gap: 40px; flex-wrap: wrap; font-size: 15px; }
.site-footer .wordmark img { height: 26px; }
.site-footer .wordmark .on-light { display: none; }
.site-footer .wordmark .on-dark { display: block; }
.site-footer small { display: block; margin-top: 18px; font-size: 14px; color: rgba(236, 234, 229, .6); }
.site-footer nav { display: grid; grid-template-columns: auto auto; gap: 12px 56px; align-content: start; }
.site-footer a { color: inherit; text-decoration: none; }
.site-footer nav a:hover { color: #fff; text-decoration: underline; }

@media (max-width: 760px) {
  .navigation, .navigation.compact { width: 92%; top: 16px; height: 54px; padding: 0 8px 0 16px; }
  .navigation.compact { background: color-mix(in srgb, var(--card) 94%, transparent); box-shadow: 0 4px 20px rgba(23,24,26,.08), 0 0 0 1px var(--hairline); }
}
@media (max-width: 820px) {
  .site-footer { border-radius: 28px; padding: 40px 24px; }
}
@media (prefers-reduced-motion: reduce) { .navigation { transition: none; } }

.legal { min-height: 100vh; display: flex; flex-direction: column; }
.legal main { width: 100%; max-width: 720px; padding-top: 128px; padding-bottom: 64px; flex: 1; }
.legal h1 { font-size: 36px; margin-bottom: 32px; }
.legal p + p { margin-top: 24px; }
