/* Shared logo and footer across every view. */
body { min-height:100vh; min-height:100svh; display:flex; flex-direction:column; }
body>main { flex:1; width:100%; }
.dtl-wordmark { display:inline-flex; align-items:center; gap:10px; color:#262724; text-decoration:none; white-space:nowrap; font:500 22px/1.2 'Space Grotesk',system-ui,sans-serif; letter-spacing:-.8px; }
.dtl-wordmark img { display:block; flex-shrink:0; margin:0; }
.dtl-wordmark strong { font-weight:700; }
.dtl-wordmark b { color:#b33d18; font-weight:700; }
.dtl-wordmark:focus-visible,.site-footer a:focus-visible { outline:3px solid #b33d18; outline-offset:5px; border-radius:3px; }
.site-footer { display:block; width:100%; max-width:none; margin:0; padding:0; border-top:1px solid #d5d0c5; background:#f5f0e6; }
.site-footer-inner { max-width:1280px; margin:0 auto; padding:28px 48px; display:flex; align-items:center; justify-content:space-between; gap:20px 32px; flex-wrap:wrap; }
.site-footer .dtl-wordmark { font-size:20px; }
.site-footer .footer-tagline { display:block; margin:0; color:#67675e; font:400 15px/1.5 'DM Sans',system-ui,sans-serif; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:12px 20px; font:500 15px/1.5 'DM Sans',system-ui,sans-serif; }
.site-footer nav a { color:#67675e; text-decoration:underline; text-underline-offset:4px; }
.site-footer nav a:hover { color:#a43613; }
@media(max-width:950px) { .site-footer-inner { padding:24px 28px; } }
@media(max-width:700px) { .dtl-wordmark { font-size:19px; gap:8px; } .dtl-wordmark img { width:32px; height:32px; } .site-footer-inner { gap:16px 24px; } .site-footer .footer-tagline { order:3; flex-basis:100%; } }
@media(max-width:400px) { .site-footer-inner { padding:24px 20px; } .site-footer .dtl-wordmark { font-size:18px; } .site-footer nav { font-size:14px; } }

/* Optional analytics uses basic consent: no Google tag before acceptance. */
#analytics-choices { appearance:none; border:0; background:none; padding:0; min-height:0; color:#67675e; font:inherit; font-weight:500; line-height:1.5; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
#analytics-choices:hover { color:#a43613; }
.analytics-consent { position:fixed; z-index:200; right:20px; bottom:20px; width:600px; max-width:calc(100% - 40px); padding:22px; border:1px solid #b8b6aa; border-radius:12px; background:#fffcf6; color:#262724; box-shadow:0 8px 40px #26272426; }
.analytics-consent[hidden] { display:none!important; }
.analytics-consent-heading { display:flex; align-items:start; gap:12px; justify-content:space-between; }
.analytics-consent h2 { margin:0; color:#262724; font:700 18px/1.4 'Space Grotesk',system-ui,sans-serif; letter-spacing:-.3px; }
.analytics-consent p { color:#67675e; font:400 14px/1.6 'DM Sans',system-ui,sans-serif; margin:12px 0 16px; }
.analytics-consent p a { color:#a43613; }
.analytics-consent-actions { display:flex; flex-wrap:wrap; gap:10px; }
.analytics-consent-actions button { display:inline-flex; justify-content:center; align-items:center; background:#fffcf6; border:1px solid #85867a; border-radius:6px; min-height:42px; padding:10px 15px; color:#262724; font:600 14px/1.4 'DM Sans',system-ui,sans-serif; cursor:pointer; }
.analytics-consent-actions button:hover { background:#ece7dc; }
#analytics-close { background:none; border:0; min-height:28px; padding:0 4px; color:#67675e; font:400 24px/1 system-ui,sans-serif; cursor:pointer; }
@media(max-width:520px) { .analytics-consent { right:12px; bottom:12px; max-width:calc(100% - 24px); padding:18px; max-height:calc(100svh - 24px); overflow:auto; } .analytics-consent-actions button { flex:1; } }

.site-footer nav .footer-status { display:inline-flex; align-items:center; gap:6px; }
.site-footer .footer-status svg { flex:none; }

.site-footer .footer-credit { display:block; max-width:1280px; margin:0 auto; padding:0 48px 24px; color:#67675e; font:400 14px/1.6 'DM Sans',system-ui,sans-serif; }
.site-footer .footer-credit a { color:inherit; text-underline-offset:3px; }
.site-footer .footer-credit a:hover { color:#a43613; }
@media(max-width:950px) { .site-footer .footer-credit { padding-left:28px; padding-right:28px; } }
@media(max-width:400px) { .site-footer .footer-credit { padding-left:20px; padding-right:20px; } }

.response-link { display:inline-flex; align-items:center; max-width:100%; overflow-wrap:anywhere; margin:12px 0; padding:10px 16px; border-radius:6px; background:#ed602c; color:#262724; font:700 16px/1.4 'DM Sans',system-ui,sans-serif; text-decoration:none; }
.response-link[hidden] { display:none!important; }
.response-link:hover { background:#ff723b; }
