.footer-legal{display:flex;flex-wrap:wrap;gap:4px 28px;border-top:1px solid var(--line);margin-top:24px;padding-top:20px;font:500 14px/1.6 var(--body)}
.footer-legal a,.footer-legal button{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:6px 0;text-align:left;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.footer-legal button{border:0;background:none;color:inherit;font:inherit}
.footer-legal a:hover,.footer-legal button:hover{color:#ac321f}
.footer-legal [hidden],.cookie-notice[hidden],[data-cookie-open][hidden]{display:none}
.cookie-notice{position:fixed;z-index:60;right:var(--page-gutter,24px);bottom:24px;display:grid;grid-template-columns:minmax(0,1fr);gap:18px;width:min(560px,calc(100% - 2 * var(--page-gutter,24px)));max-height:calc(100dvh - 48px);overflow:auto;padding:26px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 38px rgba(39,39,39,.14)}
.cookie-notice h2{font:600 20px/1.3 var(--body);letter-spacing:-.02em;text-transform:none}
.cookie-notice p{margin-top:10px;font:500 14px/1.6 var(--body)}
.cookie-details{display:inline-flex;align-items:center;min-height:44px;font:500 14px/1.5 var(--body);text-decoration:underline}
.cookie-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cookie-actions .button,.cookie-decline{justify-content:center;min-height:46px;font:600 14px/1.45 var(--body);padding:12px 20px}
.cookie-decline{border:1px solid #d5d2ca;background:transparent;color:#6b6964;border-radius:7px}
.cookie-actions .button:hover{transform:none}
.cookie-decline:hover{border-color:#8c8982;color:var(--ink)}
.cookie-notice-open .mobile-contact{visibility:hidden;pointer-events:none}
.menu-open .cookie-notice{visibility:hidden}
.legal-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:30px;border-bottom:1px solid var(--line)}
.legal-header .site-brand{min-width:0;flex:1;overflow-wrap:break-word}
.legal-header .legal-back{flex-shrink:0}
.legal-header .legal-back{font:500 14px/1.5 var(--body);text-decoration:underline;min-height:44px;display:flex;align-items:center;gap:12px}
.legal-main{padding-block:clamp(44px,6vw,80px) 20px;min-width:0}
.legal-main>header,.legal-body{max-width:780px;margin-inline:auto}
.legal-main h1{font-size:clamp(36px,4.8vw,64px);line-height:1.12;overflow-wrap:normal;word-break:normal}
.legal-revision{margin-top:20px;color:var(--muted);font-size:14px}
.legal-draft{margin-top:28px;padding:20px 24px;background:#eeede8;border-radius:8px;font-size:15px;line-height:1.6}
.legal-draft p{margin-top:6px}
.legal-body{font:500 17px/1.75 var(--body)}
.legal-body section{margin-top:44px;scroll-margin-top:32px}
.legal-body h2{font:600 24px/1.4 var(--body);text-transform:none;letter-spacing:-.02em;margin-bottom:18px}
.legal-body p+p,.legal-body p+ul,.legal-body ul+p,.legal-body dl+p{margin-top:16px}
.legal-body ul{padding-left:22px}
.legal-body li+li{margin-top:10px}
.legal-body a{text-decoration:underline;overflow-wrap:anywhere}
.legal-body button{margin-top:18px}
.legal-contacts{margin:24px 0;padding-block:8px;border-block:1px solid var(--line)}
.legal-contacts>div{display:grid;grid-template-columns:210px minmax(0,1fr);gap:22px;padding-block:12px}
.legal-contacts dt{color:var(--muted);font-size:14px}
.legal-contacts dd{margin:0;overflow-wrap:anywhere}
.legal-blank{letter-spacing:.04em;overflow-wrap:anywhere}
.legal-body code{font:inherit;overflow-wrap:anywhere}
.consent-example{margin:22px 0;padding:22px 24px;border:1px solid var(--line);border-radius:8px}
.legal-document .footer{margin-top:60px}
@media(max-width:600px){
 .footer-legal{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding-top:18px}
 .cookie-notice{right:16px;bottom:max(16px,env(safe-area-inset-bottom));width:calc(100% - 32px);padding:20px;gap:12px}
 .cookie-notice h2{font-size:18px}.cookie-notice p{font-size:13px}
 .cookie-actions{gap:8px}.cookie-actions>*{flex:1;padding-inline:12px!important;white-space:nowrap}
 .legal-header{padding-block:20px;align-items:flex-start;gap:18px}
 .legal-header .site-brand{max-width:185px;font-size:14px}.legal-header .legal-back{font-size:13px;white-space:nowrap}
 .legal-body{font-size:16px}.legal-body h2{font-size:22px}.legal-main h1{font-size:clamp(26px,8.3vw,36px)}
 .legal-contacts>div{grid-template-columns:minmax(0,1fr);gap:4px;padding-block:12px}
 .legal-draft,.consent-example{padding:18px}
}
@media(prefers-reduced-motion:reduce){.cookie-actions .button{transition:none}}
@media print{.cookie-notice,.footer,.legal-header,.mobile-contact,.skip-link,[data-cookie-open]{display:none!important}.legal-main{padding:0}.legal-main h1{font-size:28px}.legal-body{font-size:12px}.legal-body h2{font-size:18px}.legal-body section{margin-top:24px}}
