/* Shared header, footer and breadcrumbs for every page (set_partial header/footer). Self-contained so pages with
   their own design still show the same menu. */
@font-face{font-family:'Oak Display';src:url('../fonts/bricolage-grotesque.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:'Oak Body';src:url('../fonts/source-serif-4.woff2') format('woff2');font-weight:200 900;font-display:swap}
.oak-header,.oak-footer,.oak-crumbs,.oak-pagenote{--oak-terra:#A2543D;--oak-maroon:#642121;--oak-tint:#F1E5E2;--oak-sand:#E6D1BB;--oak-text:#2B2B2B;--oak-muted:#555;--oak-display:'Oak Display','Segoe UI',Arial,sans-serif;--oak-body:'Oak Body',Georgia,serif}
.oak-wrap{max-width:1200px;margin:0 auto;padding:0 24px;box-sizing:border-box}
.oak-header{position:sticky;top:0;z-index:60;background:#fff;border-top:4px solid var(--oak-terra);border-bottom:1px solid var(--oak-sand);font-family:var(--oak-display)}
.oak-header .oak-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;position:relative}
.oak-header .oak-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--oak-maroon);font-weight:800;font-size:23px;letter-spacing:-.01em;white-space:nowrap}
.oak-header .oak-brand img{width:44px;height:44px;display:block}
.oak-header nav a{text-decoration:none;font-weight:600;font-size:16px;line-height:1.2;padding:8px 11px;border-radius:4px;color:var(--oak-text);white-space:nowrap}
.oak-header nav a:hover,.oak-header nav a:focus-visible{background:var(--oak-tint);color:var(--oak-maroon)}
.oak-header .oak-nav{display:flex;align-items:center;gap:2px}
.oak-header a.oak-btn{background:var(--oak-terra);color:#fff;padding:9px 18px;margin-left:6px;font-weight:700}
.oak-header a.oak-btn:hover,.oak-header a.oak-btn:focus-visible{background:var(--oak-maroon);color:#fff}
.oak-header .oak-menu{display:none}
.oak-header .oak-menu summary{list-style:none;cursor:pointer;font-weight:700;font-size:16px;color:#fff;background:var(--oak-terra);padding:9px 16px;border-radius:4px}
.oak-header .oak-menu summary::-webkit-details-marker{display:none}
.oak-header .oak-menu summary::before{content:'\2630';margin-right:8px}
.oak-header .oak-menu[open] summary::before{content:'\2715'}
.oak-header .oak-menu nav{position:absolute;right:16px;top:calc(100% + 1px);display:flex;flex-direction:column;min-width:240px;background:#fff;border:1px solid var(--oak-sand);border-top:3px solid var(--oak-terra);box-shadow:0 12px 28px #64212126;padding:8px;border-radius:0 0 6px 6px}
.oak-header .oak-menu nav a{padding:12px 14px;font-size:17px}
.oak-header .oak-menu nav a.oak-btn{margin:6px 0 0;text-align:center}
@media (max-width:1180px){.oak-header .oak-nav{display:none}.oak-header .oak-menu{display:block}}
@media (max-width:600px){.oak-header .oak-brand{font-size:20px}.oak-header .oak-brand img{width:38px;height:38px}.oak-wrap{padding:0 16px}}
.oak-crumbs{background:#fff;border-bottom:1px solid var(--oak-sand);font:600 14px/1.4 var(--oak-display);color:var(--oak-muted)}
.oak-crumbs .oak-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding-top:12px;padding-bottom:12px}
.oak-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.oak-crumbs li+li::before{content:'/';margin:0 6px 0 2px;color:#b19a89}
.oak-crumbs a{color:var(--oak-maroon);text-underline-offset:3px}
.oak-crumbs [aria-current]{color:var(--oak-text)}
.oak-crumbs .oak-onpage{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center}
.oak-crumbs .oak-onpage span{color:var(--oak-muted);font-weight:700}
.oak-pagenote{background:#faf5f2;border-top:1px solid var(--oak-sand);font:15px/1.6 var(--oak-body);color:var(--oak-muted)}
.oak-pagenote .oak-wrap{padding-top:18px;padding-bottom:18px}.oak-pagenote p{margin:0 0 6px}
.oak-footer{background:var(--oak-tint);padding:56px 0 48px;color:var(--oak-muted);font:15px/1.6 var(--oak-body)}
.oak-footer .oak-wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:36px}
.oak-footer p{margin:0 0 6px}
.oak-footer h2{font:800 15px var(--oak-display);letter-spacing:.06em;text-transform:uppercase;color:var(--oak-maroon);margin:0 0 12px}
.oak-footer .oak-fb{display:flex;align-items:center;gap:10px;font:800 21px var(--oak-display);color:var(--oak-maroon);margin-bottom:10px}
.oak-footer .oak-fb img{width:36px;height:36px}
.oak-footer a{display:block;color:var(--oak-maroon);margin-bottom:6px;overflow-wrap:anywhere}
@media (max-width:899px){.oak-footer .oak-wrap{grid-template-columns:1fr 1fr;gap:28px}}
@media (max-width:560px){.oak-footer .oak-wrap{grid-template-columns:1fr}}
