.privacy-choice[hidden], [data-cookie-settings][hidden] { display:none!important; }
.privacy-choice { position:fixed; z-index:100; bottom:20px; left:20px; right:20px; max-width:690px; padding:24px; background:#fffdf8; color:#111820; border:2px solid #111820; border-radius:7px 12px 6px 10px; box-shadow:0 6px 28px #11182025; }
.privacy-choice h2 { margin:0 0 10px; font:700 22px/1.25 Montserrat,sans-serif; }
.privacy-choice p { font-size:15px; line-height:1.55; margin:0 0 16px; }
.privacy-choice a { text-decoration:underline; text-underline-offset:3px; color:inherit; }
.privacy-actions { display:flex; gap:12px; flex-wrap:wrap; }
.privacy-actions button { flex:1 1 220px; min-height:46px; border:2px solid #111820; border-radius:4px; color:#111820; background:#fffdf8; font:600 15px/1.3 Montserrat,sans-serif; padding:12px 16px; cursor:pointer; }
.privacy-actions button:hover { background:#fcc83b; }
.privacy-actions button:focus-visible { outline:3px solid #111820; outline-offset:4px; }
[data-cookie-settings]:focus-visible { outline:3px solid #fcc83b; outline-offset:4px; }
/* Production footer: contact/navigation, company identity, then privacy controls. */
.footer-grid { grid-template-columns:1.15fr .85fr 1.25fr 1fr; gap:32px; padding-bottom:40px; }
.footer .footer-grid>.footer-contact { grid-area:auto; }
.footer-about, .footer-services { grid-area:auto; display:block; padding:0; border:0; }
.footer h2 { margin:0 0 16px; letter-spacing:0; text-transform:none; font-size:14px; }
.footer a { line-height:1.5; }
.footer-grid nav a, .footer-contact>a { min-height:44px; display:flex; align-items:center; padding:7px 0; }
.footer-contact>p:first-of-type { margin:0 0 6px; }
.footer .company-address { margin:18px 0 0; max-width:none; }
.footer .footer-brand { grid-area:auto; margin:0; align-self:center; justify-self:end; width:100%; max-width:230px; padding:0!important; }
.footer-company { display:grid; grid-template-columns:1fr 2fr; gap:24px 40px; border-top:1px solid #465059; padding-block:24px; color:#d8d9d7; }
.footer-company p { margin:0; font-size:13px; line-height:1.7; }
.footer-company strong { color:#fff; font-weight:600; }
.footer-company span { display:block; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px 24px; flex-wrap:wrap; padding-block:16px; font-size:12px; }
.footer-privacy { display:flex; align-items:center; gap:8px 24px; flex-wrap:wrap; }
.footer .footer-privacy a, .footer .cookie-settings { display:inline-flex; align-items:center; min-height:44px; padding:10px 0; color:inherit; font:inherit; text-decoration:underline; text-underline-offset:4px; }
.cookie-settings { border:0; background:none; cursor:pointer; }
.footer-privacy a:hover, .cookie-settings:hover { color:var(--yellow); }
@media(max-width:900px) {
 .footer-grid { grid-template-columns:1.15fr .85fr 1.3fr; gap:28px; }
 .footer .footer-grid>.footer-contact { grid-area:1/1; }
 .footer-about { grid-area:1/2; align-self:start; }
 .footer-services { grid-area:1/3; }
 .footer .footer-brand { grid-area:1/2; align-self:end; justify-self:start; max-width:120px; }
 .footer-company { grid-template-columns:1fr 1.5fr; gap:24px; }
}
@media(max-width:700px) {
 .footer { padding-top:78px; }
 .footer-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:28px 24px; padding-bottom:28px; }
 .footer .footer-grid>.footer-contact { grid-area:1/1/2/-1; }
 .footer-about { grid-area:2/1; align-self:start; }
 .footer-services { grid-area:2/2; }
 .footer .footer-brand { grid-area:2/1; align-self:end; justify-self:start; max-width:130px; }
 .footer h2 { margin-bottom:10px; }
 .footer-grid nav a, .footer-contact>a { min-height:44px; font-size:14px; padding:8px 0; }
 .footer-company { grid-template-columns:1fr; gap:12px; padding-block:22px; }
 .footer-company p { font-size:13px; }
 .footer-bottom { flex-direction:column; align-items:flex-start; gap:4px; padding-block:16px 20px; }
 .footer-privacy { gap:4px 20px; font-size:12px; }
}
.company-legal { font-size:14px; line-height:1.65; max-width:42ch; }
.privacy-document { max-width:800px; padding-block:70px 90px; }
.privacy-document h1 { font-size:clamp(32px,5vw,56px); margin:0 0 24px; }
.privacy-document h2 { font-size:24px; line-height:1.3; margin:40px 0 14px; }
.privacy-document p, .privacy-document li { font-size:17px; line-height:1.75; }
.privacy-document a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:600px) {
 .privacy-choice { left:12px; right:12px; bottom:12px; padding:18px; max-height:calc(100dvh - 24px); overflow:auto; }
 .privacy-choice h2 { font-size:20px; }
 .privacy-choice p { font-size:14px; margin-bottom:12px; }
 .privacy-actions { gap:8px; }
 .privacy-actions button { flex-basis:100%; }
 .privacy-document { padding-block:40px 60px; }
}

[data-consent-details][hidden] { display:none!important; }
.privacy-choice { max-width:740px; max-height:calc(100dvh - 40px); overflow:auto; }
.privacy-actions button { flex:1 1 160px; }
.privacy-actions [data-consent="customize"] { background:transparent; }
.privacy-option { display:flex; gap:14px; align-items:flex-start; padding:16px 0; border-top:1px solid #11182030; cursor:pointer; }
.privacy-option input { flex:0 0 22px; width:22px; height:22px; margin:2px 0; accent-color:#111820; }
.privacy-option input:focus-visible { outline:3px solid #111820; outline-offset:4px; }
.privacy-option span span { display:block; font-size:14px; line-height:1.5; margin-top:4px; }
.privacy-choice .privacy-essential { margin:18px 0 0; font-size:14px; }
.privacy-choice [data-consent-error]:empty { display:none; }
.privacy-choice [data-consent-error] { margin:14px 0 0; }
@media(max-width:600px) {
 .privacy-choice { max-height:calc(100dvh - 24px); padding:18px; }
 .privacy-actions button { flex:1 1 calc(50% - 8px); padding:11px 7px; font-size:13px; }
 .privacy-actions [data-consent="customize"] { flex-basis:100%; }
 .privacy-actions [data-consent="save"] { flex-basis:100%; }
}
