/* Shared by every page: footer, cookie banner, preferences dialog. */
.site-foot{border-top:1px solid #E2E5E9;background:#F6F7F8;padding:40px 0 48px;font-size:14px;color:#4A505A}
.site-foot .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 48px}
.site-foot .foot-name{font-family:"Newsreader",Georgia,serif;font-size:20px;font-weight:500;color:#111317}
.site-foot p{margin:8px 0 0;max-width:62ch}
.site-foot a{color:#1E7A41}
.foot-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 20px}
.foot-links a,.foot-links button{display:inline-flex;align-items:center;min-height:24px;padding:2px 0;font:500 14px/1.4 "Inter",system-ui,sans-serif;color:#1E7A41;text-decoration:underline;text-underline-offset:3px;background:none;border:0;cursor:pointer}
.foot-links a[aria-current="page"]{color:#111317;text-decoration:none;font-weight:600}
.foot-notes{grid-column:1 / -1;border-top:1px solid #E2E5E9;padding-top:16px}
@media (max-width:760px){.site-foot .wrap{grid-template-columns:1fr}}

/* cookie banner: non-modal region, fixed to the bottom while open */
.cc{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#FFFFFF;border-top:1px solid #E2E5E9;box-shadow:0 -10px 30px -16px rgba(17,19,23,.25);padding:20px 0 calc(20px + env(safe-area-inset-bottom))}
.cc[hidden]{display:none}
.cc .cc-in{max-width:1200px;margin:0 auto;padding:0 clamp(20px,4vw,40px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 32px;align-items:center}
.cc h2{font-family:"Newsreader",Georgia,serif;font-size:20px;font-weight:500;letter-spacing:-.01em;margin:0}
.cc p{margin:6px 0 0;font-size:15px;line-height:1.5;color:#111317;max-width:70ch}
.cc-actions{display:flex;gap:8px;flex-wrap:wrap}
.cc-btn{min-height:44px;padding:0 16px;border-radius:6px;font:600 15px/1 "Inter",system-ui,sans-serif;color:#111317;background:#FFFFFF;border:1px solid #4A505A;cursor:pointer}
.cc-btn:hover{background:#F6F7F8}
.cc-btn-link{background:none;border-color:transparent;text-decoration:underline;text-underline-offset:3px}
.cc-btn:focus-visible,.foot-links button:focus-visible,.cc-dialog input:focus-visible{outline:3px solid #1E7A41;outline-offset:3px}
html.cc-open .mbar{display:none!important}
html.cc-open body{padding-bottom:var(--cc-h,180px)}
html.cc-open{scroll-padding-bottom:calc(var(--cc-h,180px) + 16px)}
@media (max-width:760px){.cc .cc-in{grid-template-columns:1fr}.cc-actions .cc-btn{flex:1 1 auto}}

/* preferences dialog (native modal: traps focus, closes with Esc) */
.cc-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);border:1px solid #E2E5E9;border-radius:8px;padding:0;color:#111317;background:#FFFFFF;box-shadow:0 24px 60px -20px rgba(17,19,23,.35)}
.cc-dialog::backdrop{background:rgba(17,19,23,.45)}
.cc-dialog form{padding:24px}
.cc-dialog h2{font-family:"Newsreader",Georgia,serif;font-size:26px;font-weight:500;letter-spacing:-.01em;margin:0}
.cc-dialog p{margin:8px 0 0;font-size:15px;line-height:1.5}
.cc-cat{border-top:1px solid #E2E5E9;padding:16px 0;margin-top:16px}
.cc-cat label{display:flex;gap:12px;align-items:flex-start;font-weight:600;font-size:16px;cursor:pointer}
.cc-cat input{width:22px;height:22px;margin:1px 0 0;accent-color:#1E7A41;flex:none}
.cc-cat p{margin:6px 0 0 34px;color:#4A505A;font-size:14px}
.cc-gpc{margin-top:8px;margin-left:34px;font-size:14px;font-weight:600;color:#1E7A41}
.cc-dialog .cc-actions{margin-top:20px;border-top:1px solid #E2E5E9;padding-top:16px}
@media (prefers-reduced-motion:reduce){.cc,.cc-dialog{transition:none!important;animation:none!important}}
