/* Persistent orientation without a second full menu or a large mobile overlay. */
html { scroll-behavior:auto; scroll-padding-top:calc(var(--header-height,0px) + 20px); scroll-padding-bottom:100px; }
.site-header { position:relative; top:0; z-index:60; box-shadow:0 3px 18px #0000000a; }
.js .site-header { position:sticky; }
.main-nav a { min-height:44px; display:flex; align-items:center; padding:8px 10px; border-radius:0; border-bottom:2px solid transparent; }
.header-inner .main-nav a::after { display:none; }
.main-nav a:hover { border-bottom-color:var(--line); }
.main-nav a[aria-current="location"] { background:transparent; box-shadow:none; border-bottom-color:var(--brand); }
.timeline-nav { top:calc(var(--header-height,0px) + 12px); z-index:30; }
.timeline-entry,#timeline-2020 { scroll-margin-top:calc(var(--timeline-offset,132px) - var(--header-height,0px) - 20px); }
.page-shortcuts { position:fixed; right:18px; bottom:18px; bottom:calc(18px + env(safe-area-inset-bottom,0px)); z-index:50; display:flex; gap:8px; padding:6px; background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:0 5px 24px #0003; }
.page-shortcuts[hidden] { display:none; }
.page-shortcuts a { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:8px; color:var(--brand); background:var(--paper); }
.page-shortcuts svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.page-shortcuts a:focus-visible,.main-nav a:focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
@media (max-width:1100px) {
 .header-inner { position:relative; }
 .js .header-inner .main-nav { position:absolute; left:0; right:0; top:100%; padding:12px; margin:0; background:var(--white); border:1px solid var(--line); border-radius:0 0 14px 14px; box-shadow:0 14px 24px #0002; max-height:calc(100vh - 110px); overflow-y:auto; }
 .header-inner .main-nav a { padding:14px 12px; background:transparent; font-size:1rem; }
 .header-inner .main-nav a::after { content:'\2192'; position:static; height:auto; background:none; transform:none; margin-left:auto; padding-left:8px; color:var(--brand); }
 .timeline-nav { flex-wrap:nowrap; max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
 .timeline-nav a { flex-shrink:0; }
 .page-shortcuts { right:12px; }
}
@media (max-height:480px) { .js .site-header { position:relative; } .timeline-nav { position:relative; top:auto; } }
@media print { .js .site-header { position:static; } .page-shortcuts { display:none!important; } }

.contact-actions .contact-email { justify-content:flex-start; gap:12px; }
.contact-email > span { min-width:0; overflow-wrap:anywhere; }
.contact-icon { display:inline-block; width:1em; height:1em; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; vertical-align:-.12em; }

.contact-actions .contact-phone { display:inline-flex; align-items:center; gap:12px; }

.contact-phone .contact-icon { width:1.15em; height:1.15em; stroke-width:1.8; }
