.legal-page { background:#ecefeb; color:#1b211d; padding:80px max(24px,calc((100% - 1320px)/2)) 120px; }
.legal-page .legal-heading { margin:0 0 64px; padding-bottom:48px; border-bottom:1px solid #bdc9c0; }
.legal-heading .wp-block-post-title { font-size:64px; line-height:1.08; font-weight:400; margin:0; letter-spacing:0; }
.legal-heading > p { font:11px/1.6 monospace; color:#45614e; margin:0 0 24px; }
.legal-page .wp-block-post-content { max-width:none; }
.legal-layout { display:grid; grid-template-columns:240px minmax(0,760px); gap:80px; }
.legal-index { position:sticky; top:120px; align-self:start; }
.legal-index p { font:11px/1.6 monospace; color:#45614e; margin:0 0 24px; }
.legal-index a { display:block; padding:12px 0; border-bottom:1px solid #bdc9c0; font-size:13px; text-decoration:none; }
.legal-page a { color:inherit; text-underline-offset:4px; overflow-wrap:anywhere; }
.legal-page a:hover { color:#375743; }
.legal-page a:focus-visible { outline:2px solid #375743; outline-offset:4px; }
.legal-copy { min-width:0; }
.legal-copy .legal-intro { font-size:21px; line-height:1.55; margin:0 0 32px; }
.legal-copy .legal-draft { border-left:2px solid #57765f; padding:4px 0 4px 20px; margin:0 0 56px; font-size:14px; color:#405749; }
.legal-copy section { padding:0 0 40px; margin:0 0 40px; border-bottom:1px solid #bdc9c0; scroll-margin-top:128px; }
.legal-copy h2 { font-size:28px; line-height:1.25; font-weight:400; margin:0 0 24px; }
.legal-copy h3 { font-size:19px; font-weight:500; margin:30px 0 12px; }
.legal-copy p, .legal-copy li { font-size:15px; line-height:1.85; color:#405749; }
.legal-copy li + li { margin-top:12px; }
.legal-copy ul { padding-left:20px; }
.legal-copy code { font-size:13px; overflow-wrap:anywhere; }
.legal-copy .legal-date { font:11px/1.6 monospace; color:#45614e; }
.legal-storage { margin:28px 0; }
.legal-storage > div { display:grid; grid-template-columns:140px minmax(0,1fr); gap:24px; border-top:1px solid #bdc9c0; padding:16px 0; }
.legal-storage dt { font-size:13px; font-weight:600; }
.legal-storage dd { margin:0; font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
.footer-colophon .footer-legal { display:flex; flex-wrap:wrap; gap:8px 16px; max-width:540px; font-size:12px; color:#b8c0ba; }
.footer-legal a { white-space:normal; }
.cookie-notice[hidden] { display:none!important; }
.cookie-notice { position:fixed; z-index:1100; right:24px; bottom:24px; width:min(540px,calc(100% - 48px)); box-sizing:border-box; padding:24px 28px; background:#ecefeb; color:#1b211d; border:1px solid #a4b5aa; border-radius:4px; box-shadow:0 12px 48px #0003; max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain; animation:cookie-arrive 250ms ease-out both; }
.cookie-notice__heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.cookie-notice__eyebrow { font:10px/1.6 monospace; color:#45614e; }
.cookie-notice h2 { font:400 26px/1.2 var(--wp--preset--font-family--space-grotesk, 'Space Grotesk'),sans-serif; letter-spacing:0; margin:8px 0 16px; }
.cookie-notice p { font-size:13px; line-height:1.7; margin:0; }
.cookie-notice .ateam-button { display:inline-flex; align-items:center; justify-content:center; border:0; font-family:inherit; cursor:pointer; color:#f3f4f1; --button-fill:#1b2a20; --ateam-button-focus:#375743; }
.cookie-notice .ateam-button:hover:not(:disabled):not([aria-disabled="true"]) { --button-fill:#395642; }
.cookie-notice .cookie-notice__close { width:40px; height:40px; flex:0 0 40px; --button-fill:transparent; --button-line:#809386; color:#1b211d; }
.cookie-notice .cookie-notice__close:hover:not(:disabled):not([aria-disabled="true"]) { --button-fill:#d3e0d7; }
.cookie-notice svg { width:16px; height:16px; }
.cookie-notice__choices { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:24px; }
.cookie-notice__choices .ateam-button, .cookie-notice__save { min-height:48px; padding:12px 16px; font-size:13px; font-weight:600; }
.cookie-notice__preferences { width:100%; display:flex; justify-content:space-between; align-items:center; gap:16px; background:transparent; color:inherit; border:0; border-bottom:1px solid #bdc9c0; padding:16px 0; min-height:48px; text-align:left; font-family:inherit; font-size:13px; font-weight:500; line-height:1.5; cursor:pointer; }
.cookie-notice__preferences:focus-visible, .cookie-notice__settings input:focus-visible { outline:2px solid #375743; outline-offset:4px; }
.cookie-notice__settings[hidden] { display:none; }
.cookie-notice__category { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:20px 0; border-bottom:1px solid #bdc9c0; }
.cookie-notice__category h3, .cookie-notice__category strong { display:block; margin:0 0 8px; font-size:14px; font-weight:600; }
.cookie-notice__category > span:last-child { font-size:11px; flex-shrink:0; }
.cookie-notice__category > span:first-child > span { display:block; font-size:12px; line-height:1.6; }
.cookie-notice__settings input { appearance:none; width:44px; height:28px; flex:0 0 44px; margin:0; border:1px solid #647c6b; border-radius:20px; background:#d2dcd4; position:relative; cursor:pointer; }
.cookie-notice__settings input::before { content:''; position:absolute; width:18px; height:18px; top:4px; left:4px; border-radius:50%; background:#405749; }
.cookie-notice__settings input:checked { background:#1b2a20; }
.cookie-notice__settings input:checked::before { left:20px; background:#f3f4f1; }
.cookie-notice__save { width:100%; margin-top:20px; }
.cookie-notice__actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:24px; }
.cookie-notice__actions a { display:inline-flex; align-items:center; gap:6px; color:inherit; text-underline-offset:4px; font-size:12px; }
.cookie-notice__actions a:focus-visible { outline:2px solid #375743; outline-offset:4px; }
.cookie-notice .cookie-notice__confirm { margin-left:auto; min-height:44px; padding:12px 24px; font-size:13px; font-weight:600; }
.cookie-notice .cookie-notice__note { margin-top:16px; padding-top:16px; border-top:1px solid #bdc9c0; color:#405749; font-size:11px; }
@keyframes cookie-arrive { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:900px) { .legal-layout { gap:40px; grid-template-columns:180px minmax(0,1fr); } .legal-heading .wp-block-post-title { font-size:52px; } }
@media(max-width:600px) {
  .legal-page { padding:48px 24px 72px; } .legal-page .legal-heading { margin-bottom:32px; padding-bottom:32px; }
  .legal-heading .wp-block-post-title { font-size:40px; } .legal-layout { grid-template-columns:1fr; gap:40px; }
  .legal-index { position:static; } .legal-copy h2 { font-size:25px; } .legal-copy .legal-intro { font-size:18px; }
  .legal-storage > div { grid-template-columns:1fr; gap:8px; }
  .cookie-notice { right:12px; bottom:12px; width:calc(100% - 24px); padding:16px 20px; }
  .cookie-notice__actions { gap:16px; } .cookie-notice .cookie-notice__confirm { flex-basis:100%; margin:0; }
}
@media(max-width:480px) { .footer-colophon > .footer-legal { grid-column:1/-1; } }
@media(prefers-reduced-motion:reduce) { .cookie-notice { animation:none; } }
@media(forced-colors:active) {
  .cookie-notice { border:1px solid CanvasText; }
  .cookie-notice .ateam-button { --button-fill:ButtonFace; --button-line:ButtonText; color:ButtonText; }
  .cookie-notice__settings input { appearance:auto; }
  .cookie-notice__settings input::before { content:none; }
}
