/* Shared navigation, actions and footer; scoped away from page layouts. */
:root {
 --dk-gold:#b8985a;
 --dk-champagne:#dcc99f;
 --dk-gold-line:rgba(184,152,90,.48);
 --dk-gold-light:rgba(220,201,159,.15);
}
@media(max-width:700px) { :root { --dk-gold-light:rgba(220,201,159,.12); } }
.dk-chrome,.dk-footer,.dk-chrome *,.dk-footer * { box-sizing:border-box; }
.dk-chrome { position:fixed; z-index:100; top:16px; left:50%; transform:translateX(-50%); width:calc(100% - 40px); max-width:1280px; min-height:72px; padding:10px 16px; display:flex; align-items:center; justify-content:space-between; gap:20px; background:#f6f4ef; color:#1a1d1c; border:1px solid #ffffffa6; border-radius:40px; box-shadow:0 8px 28px #091b1c18; font:500 14px/1.4 Geist,sans-serif; }
.dk-chrome a { color:inherit; text-decoration:none; }
.dk-chrome .dk-brand { display:flex; align-items:center; gap:10px; min-height:44px; flex:none; font-size:16px; font-weight:650; }
.dk-brand img { display:block; width:40px; height:40px; }
.dk-desktop { display:flex; align-items:center; gap:6px; }
.dk-chrome nav > a { display:flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; padding:10px 12px; border-radius:24px; }
.dk-chrome nav > a[aria-current] { background:#1f6f7810; text-decoration:underline; text-underline-offset:5px; }
.dk-chrome nav > a:hover { background:#1f6f7810; }
.dk-action, a.dk-action { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:13px 22px; border:1px solid #1f6f78; border-radius:999px; color:white; background:linear-gradient(120deg,#164f57,#1f6f78,#286b6d); text-decoration:none; font:600 15px/1.45 Geist,sans-serif; text-align:center; }
.dk-chrome nav > a.dk-action { color:white; background:linear-gradient(120deg,#164f57,#1f6f78,#286b6d); padding:12px 18px; }
.dk-action-icon { display:inline-block; width:20px; height:20px; flex:none; vertical-align:middle; }
.dk-menu { display:none; }
.dk-menu summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:center; gap:10px; min-width:88px; min-height:44px; padding:10px; border-radius:24px; }
.dk-menu summary::-webkit-details-marker { display:none; }
.dk-menu[open] summary { background:#1f6f7810; }
.dk-menu > nav { position:absolute; top:calc(100% + 8px); right:0; width:min(360px,calc(100vw - 24px)); padding:12px; border:1px solid #d9e3df; border-radius:24px; background:#f6f4ef; box-shadow:0 16px 40px #091b1c26; max-height:calc(100dvh - 108px); overflow:auto; overscroll-behavior:contain; }
.dk-menu > nav > a { justify-content:flex-start; min-height:48px; }
.dk-menu > nav > .dk-action { justify-content:center; margin-top:8px; }
.dk-chrome :focus-visible { outline:3px solid #1f6f78; outline-offset:3px; }
.dk-footer { padding:64px max(20px,calc((100% - 1180px)/2)) 24px; background:#091b1c; color:#c4d4d0; font:400 14px/1.6 Geist,sans-serif; }
.dk-footer-grid { display:grid; grid-template-columns:1.1fr 1fr 1.2fr 1fr; gap:32px; }
.dk-footer a { display:flex; align-items:center; min-height:44px; padding:10px 0; color:#c4d4d0; text-decoration:none; overflow-wrap:anywhere; }
.dk-footer a:hover { color:#a9e0d4; text-decoration:underline; text-underline-offset:4px; }
.dk-footer h2 { color:white; font:500 11px/1.5 'Geist Mono',monospace; letter-spacing:.08em; text-transform:uppercase; margin:0 0 12px; }
.dk-footer .dk-footer-brand a { color:white; font-size:20px; font-weight:650; padding-top:0; }
.dk-footer p { margin:4px 0; color:#c4d4d0; }
.dk-footer-bottom { margin-top:40px; padding-top:20px; border-top:1px solid var(--dk-gold-line); font-size:12px; }
.dk-footer :focus-visible { outline:3px solid #a9e0d4; outline-offset:3px; border-radius:4px; }
@media(max-width:1200px) { .dk-desktop { display:none; } .dk-menu { display:block; } }
@media(max-width:700px) { .dk-chrome { top:12px; width:calc(100% - 24px); min-height:64px; padding:8px 12px; gap:8px; } .dk-brand img { width:34px; height:34px; } .dk-chrome .dk-brand { font-size:15px; gap:8px; } .dk-footer { padding-top:48px; } .dk-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px; } .dk-footer-brand { grid-column:1/-1; } }
@media(max-width:380px) { .dk-footer-grid { grid-template-columns:1fr; } }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) { .dk-action-icon { transition:transform .18s ease; } a:hover > .dk-action-icon { transform:translateX(2px); } }
@media(prefers-reduced-motion:no-preference) { .dk-menu[open] > nav { animation:dk-menu-in .18s ease-out; } @keyframes dk-menu-in { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } } }
/* Explicit boundaries against older generic .sp-page header/h2 rules. */
body.sp-page .dk-chrome.dk-chrome a:not(.dk-action),body.sp-page .dk-chrome.dk-chrome summary { color:#1a1d1c; }
body.sp-page .dk-chrome.dk-chrome summary { font:500 14px/1.4 Geist,sans-serif; }
html body .dk-chrome .dk-menu summary::after { content:none; display:none; }
html body .dk-footer.dk-footer h2 { font:500 11px/1.5 'Geist Mono',monospace; letter-spacing:.08em; text-transform:uppercase; margin:0 0 12px; overflow-wrap:anywhere; }
body.sp-page .dk-chrome.dk-chrome :focus-visible { outline:3px solid #1f6f78; outline-offset:3px; }
body.sp-page .dk-chrome.dk-chrome a.dk-action { color:#fff; }
/* Subpages used an in-flow sticky header; retain its occupied space. */
.dk-chrome-space { height:88px; }
@media(max-width:700px) { .dk-chrome-space { height:76px; } }
