/* The published site styles own the shell, typography, icons and both themes.
   These additions affect only the standalone legal documents. */
[hidden] { display: none !important; }
.legal-page .inner-hero__title { text-wrap: balance; overflow-wrap: anywhere; }
.legal-page .privacy-status__note a { overflow-wrap: anywhere; }
.legal-page .privacy-status { align-self: center; }
.legal-page .privacy-content { min-width: 0; }
.legal-page .privacy-section h2 { font-size: clamp(1.35rem, 2vw, 1.75rem); line-height: 1.3; }
.legal-page .privacy-section p { max-width: 72ch; }
.legal-page .privacy-section, .legal-page .privacy-source { scroll-margin-top: 7rem; }
.legal-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.legal-actions a, .legal-actions button { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; padding: .75rem 1rem; border: 1px solid var(--color-line); border-radius: 999px; background: transparent; color: var(--color-ink); font: inherit; font-size: .85rem; line-height: 1.4; text-decoration: none; cursor: pointer; }
.legal-actions a { background: var(--color-blue); color: white; border-color: transparent; }
.legal-actions svg { flex-shrink: 0; }
.legal-actions a:hover, .legal-actions button:hover { filter: brightness(.95); }
.legal-related { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; padding-top: 1.5rem; padding-bottom: 1.5rem; font-size: .85rem; }
.legal-related a { color: var(--color-copy); text-underline-offset: .25em; }
.legal-related a[aria-current=page] { color: var(--color-ink); font-weight: 650; }
.legal-page .privacy-source { margin-top: 2rem; }
.legal-page .privacy-source h2 { font-size: 1.25rem; }
.legal-page .privacy-source p { font-size: .875rem; }
.legal-page .privacy-source a { overflow-wrap: anywhere; }
.legal-appearance-menu { position: absolute; top: calc(100% + .6rem); right: 0; z-index: 60; min-width: 230px; }
.legal-appearance-menu .theme-switcher__choices { position: static; }
.mobile-menu-backdrop { opacity: 0; transition: opacity 240ms ease; }
.mobile-menu-backdrop .mobile-menu { transform: translateX(100%); transition: transform 240ms cubic-bezier(.32,.72,0,1); }
.mobile-menu-backdrop.is-open { opacity: 1; }
.mobile-menu-backdrop.is-open .mobile-menu { transform: translateX(0); }
.language-switcher__menu a:focus-visible, .theme-switcher__choices input:focus-visible + span { outline: 2px solid var(--color-blue); outline-offset: 3px; }
.legal-page a:focus-visible, .legal-page button:focus-visible, .legal-related a:focus-visible { outline: 2px solid var(--color-blue); outline-offset: 4px; }
:root[data-theme=space] .legal-actions a { background: var(--theme-accent-fill, #125bd8); color: #fff; }
:root[data-theme=space] .legal-actions button { color: var(--color-ink); }
.legal-page ::selection { color: var(--color-ink); background: var(--color-surface-blue); }
@media (max-width: 900px) { .legal-page .privacy-status { align-self: stretch; } }
@media (max-width: 640px) { .legal-page .inner-hero__title { font-size: clamp(2.25rem, 8.5vw, 3.3rem); line-height: 1.12; } .legal-actions { flex-direction: column; align-items: stretch; } .legal-actions a, .legal-actions button { justify-content: center; } .legal-related { display: grid; gap: 1rem; } }
@media (prefers-reduced-motion: reduce) { .mobile-menu-backdrop, .mobile-menu-backdrop .mobile-menu { transition: none; } }
@media print { html { color-scheme: light; } body { color: #111 !important; background: #fff !important; } body::before, body::after, .site-header, .site-footer, .mobile-menu-backdrop, .privacy-hero__back, .privacy-toc, .legal-actions, .legal-related, .skip-link { display: none !important; } .privacy-hero, .privacy-page, .privacy-status { background: #fff !important; box-shadow: none !important; } .privacy-hero { padding: 1rem 0 !important; } .privacy-hero .container, .privacy-layout { display: block !important; } .privacy-status { border: 0; padding: 0; } .legal-page h1 { font-size: 2rem !important; } .legal-page h1, .legal-page h2, .legal-page p, .privacy-section__number, .privacy-status * { color: #111 !important; } .privacy-section { break-inside: avoid; } }
