/* Only new handoff surfaces: footer, consent controls and legal/error pages. */
[hidden]{display:none!important}
button{font:inherit;color:inherit}
button:focus-visible{outline:2px solid var(--color-red-text);outline-offset:5px}
.site-footer{display:block}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer-details{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;margin-top:24px;padding-top:24px;border-top:1px solid var(--color-line)}
.footer-nip{display:inline-block;margin-left:16px}
.footer-privacy{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap}
.footer-privacy a,.footer-privacy button{display:inline-flex;align-items:center;min-height:44px;font-size:1rem}
.footer-privacy button{border:0;background:none;padding:0;text-decoration:underline;text-underline-offset:6px;cursor:pointer}
.privacy-banner{position:fixed;z-index:10;right:24px;bottom:24px;width:min(620px,calc(100% - 48px));max-height:calc(100dvh - 48px);overflow:auto;background:var(--color-paper);border:1px solid var(--color-ink);box-shadow:0 8px 32px #20202014;padding:24px}
.privacy-banner h2{font-size:1.5rem;line-height:1.25;letter-spacing:-.035em;margin-bottom:12px}
.privacy-banner p{font-size:1rem;line-height:1.5;margin-top:10px}
.privacy-banner .privacy-state:empty{display:none}
.privacy-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.privacy-actions button{font-size:1rem;line-height:1.3;min-height:48px;padding:12px 16px;border:1px solid var(--color-ink);background:transparent;cursor:pointer}
.privacy-actions button:hover{background:var(--color-ink);color:var(--color-paper)}
.privacy-close{font-size:1rem;min-height:44px;display:block;margin:12px 0 0 auto;padding:8px 0;border:0;background:none;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.legal-page{max-width:880px;padding-block:80px 96px}
.legal-page h1{font-size:clamp(2.5rem,5vw,4rem);line-height:1.1;pointer-events:auto;margin:24px 0 48px}
.legal-page h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.2;margin:40px 0 16px}
.legal-page p,.legal-page li,.legal-page address{font-size:1.125rem;line-height:1.65;font-style:normal}
.legal-page p+p{margin-top:16px}
.legal-page ul{padding-left:24px}
.legal-page li+li{margin-top:12px}
.legal-page code{font-size:1rem;overflow-wrap:anywhere}
.legal-page .legal-date{font-size:1rem;color:var(--color-muted)}
.legal-page .text-link{margin-top:40px}
.error-page{min-height:55vh}
.error-page h1{max-width:700px;margin-bottom:24px}
.error-code{color:var(--color-red-text)}
@media(max-width:600px){.footer-main{gap:16px}.footer-details{display:block}.footer-nip{display:block;margin:4px 0 0}.footer-privacy{margin-top:16px;gap:8px 24px}.privacy-banner{right:16px;bottom:16px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:20px}.privacy-actions{gap:10px}.privacy-actions button{padding:12px 8px}.legal-page{padding-block:48px 64px}.legal-page h1{margin-bottom:32px}.legal-page p,.legal-page li,.legal-page address{font-size:1.0625rem}}
/* Shared, readable language navigation; no automatic locale redirects. */
.header-controls{display:flex;align-items:center;gap:40px}
.language-switch{display:flex;align-items:center;gap:4px;flex-shrink:0;font-size:1rem;white-space:nowrap}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:44px;text-decoration:none}
.language-switch a[aria-current]{font-weight:700;text-decoration:underline;text-decoration-color:var(--color-red-text);text-underline-offset:6px}
.language-switch a:hover{text-decoration:underline}
.language-switch>span{color:var(--color-muted)}
@media(max-width:900px){.header-controls{gap:24px}.site-header nav{gap:24px}}
@media(max-width:600px){.header-controls{gap:0;margin-left:auto}.site-header{height:88px;column-gap:12px}.header-controls nav{display:none}.language-switch{gap:0}.language-switch a{min-width:36px}}

@media(max-width:740px){.header-controls nav a:not(:last-child){display:none}}
