/* Utility states inherit the Black Line board, typography and control language. */
.not-found{padding-top:24px;padding-bottom:72px}
.not-found-board{display:grid;grid-template-columns:1.1fr 1fr;gap:10px}
.not-found-copy{background:var(--accent-soft);padding:clamp(24px,4vw,64px);border-radius:10px;display:flex;flex-direction:column;align-items:flex-start}
.not-found-code{font-family:Bicubik,Din,sans-serif;font-size:clamp(88px,12vw,190px);line-height:1;margin:0 0 32px;letter-spacing:-.03em}
.not-found h1{font-family:Din,sans-serif;font-size:clamp(34px,3.6vw,56px);line-height:1.12;letter-spacing:0;margin:0 0 24px}
.not-found-copy>p:not(.not-found-code){max-width:38ch;margin:0 0 32px;font-size:26px}
.not-found-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto}
.not-found-photo{position:relative;margin:0;min-height:520px;border-radius:10px;overflow:hidden;background:var(--ink)}
.not-found-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.not-found-photo figcaption{position:absolute;bottom:24px;left:24px;right:24px;background:var(--paper);color:var(--ink);padding:12px 20px;font-size:32px;border-radius:10px}
.not-found-links{display:flex;gap:24px 48px;flex-wrap:wrap;padding:32px 0;font-size:25px}
.not-found-links a{text-underline-offset:6px}
.cookie-banner{position:fixed;z-index:110;bottom:16px;left:var(--gutter);right:var(--gutter);max-width:1568px;margin:auto;display:flex;align-items:center;gap:24px;padding:24px 28px;background:var(--paper);color:var(--ink);box-shadow:0 8px 40px #171c2430;border-radius:10px} /* taste-skill-ignore: actual floating consent notice or native modal, not a resting panel. */
.cookie-banner[hidden]{display:none}
body.menu-open .cookie-banner{display:none}
.cookie-banner h2,.cookie-dialog h2{font-family:Din,sans-serif;text-transform:none;font-size:30px;letter-spacing:0;line-height:1.15;margin:0 0 10px}
.cookie-banner p{font-size:20px;line-height:1.4;max-width:68ch;margin:0}
.cookie-banner a,.cookie-dialog a{text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;gap:8px;flex-shrink:0;align-items:stretch}
.cookie-actions .button,.cookie-dialog-actions .button{font-size:20px;min-height:48px;padding:12px 18px;white-space:nowrap}
.cookie-actions .button{background:var(--soft);color:var(--ink)}
.cookie-actions [data-consent-all]{background:var(--accent-soft)}
.cookie-dialog{border:0;border-radius:10px;padding:32px;width:min(650px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;background:var(--paper);color:var(--ink);box-shadow:0 18px 60px #0003} /* taste-skill-ignore: actual floating consent notice or native modal, not a resting panel. */
.cookie-dialog::backdrop{background:#171c2480}
.cookie-dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.cookie-close{display:grid;place-items:center;border:0;flex-shrink:0;width:44px;height:44px;background:var(--soft);color:var(--ink);border-radius:8px;cursor:pointer}
.cookie-dialog p{font-size:21px;line-height:1.4}
.cookie-category{display:flex;gap:24px;align-items:center;justify-content:space-between;background:var(--soft);padding:20px;margin-top:10px;border-radius:10px}
.cookie-category h3{font-family:Din,sans-serif;font-size:25px;line-height:1.2;margin:0 0 8px}
.cookie-category p{font-size:20px;margin:0;max-width:46ch}
.cookie-category span{font-size:18px;max-width:90px;flex-shrink:0;text-align:right}
.cookie-category input{accent-color:var(--accent);width:24px;height:24px;flex-shrink:0;cursor:pointer}
.cookie-dialog-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px}
.cookie-dialog .cookie-detail{font-size:18px}
.cookie-detail:empty{display:none}
.footer-final button{border:0;padding:8px 0;min-height:44px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
body:has(.cookie-banner:not([hidden])){padding-bottom:var(--cookie-space,360px)}
body:has(.cookie-banner:not([hidden])) .calc-mobile-summary{display:none}
.consent-map{min-height:400px;background:var(--soft);border-radius:10px;display:grid;place-content:center;text-align:center;padding:32px;gap:16px}
.consent-map p{max-width:32ch;margin:0 auto}
.consent-map iframe[hidden]{display:none}
.contact-map:has(iframe:not([hidden])) .consent-map{display:none}
@media (max-width:1150px){.cookie-banner{align-items:stretch;flex-direction:column;gap:16px}.cookie-actions{justify-content:flex-end}}
@media (max-width:700px){.not-found-board{grid-template-columns:1fr}.not-found-photo{min-height:250px}.not-found-code{font-size:96px;margin-bottom:24px}.not-found-copy>p:not(.not-found-code){font-size:23px}.not-found-links{gap:18px 28px;font-size:23px}.not-found-actions{width:100%}.not-found-actions .button{flex:1}.cookie-banner{bottom:8px;left:8px;right:8px;padding:20px;max-height:calc(100dvh - 16px);overflow:auto}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions [data-consent-reject]{grid-column:1/-1}.cookie-actions .button{justify-content:center;white-space:normal}.cookie-dialog{padding:24px}.cookie-dialog-actions{flex-direction:column}.cookie-dialog-actions .button{justify-content:center}.cookie-category{padding:16px;gap:16px}.not-found{padding-bottom:32px}}
@media (prefers-reduced-motion:reduce){.cookie-banner *,.cookie-dialog *{animation:none!important;transition:none!important}}
