/* Name on the left; menu links and rotating city clock grouped on the right. */
.site-navbar { max-width:1600px; margin-inline:max(28px,calc((100vw - 1600px)/2)); min-height:88px; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:40px; }
.site-navbar a { color:#737373; text-decoration:none; }
.site-navbar a:hover,.site-navbar a[aria-current="page"],.site-navbar a:focus-visible { color:#262626; }
.site-navbar .nav-brand { justify-self:start; color:#262626; white-space:nowrap; }
.nav-links { grid-column:2; grid-row:1; display:flex; gap:32px; align-items:center; justify-content:center; }
.nav-links[hidden] { display:none; }
.nav-toggle { display:none; }
.site-navbar :focus-visible { outline:2px solid #262626; outline-offset:4px; border-radius:2px; }
.nav-roll { position:relative; display:block; height:1.5em; overflow:hidden; }
.nav-roll > span { display:block; transition:transform 360ms cubic-bezier(.22,1,.36,1); }
.nav-roll > span:last-child { position:absolute; top:100%; left:0; width:100%; }
.nav-links a { padding-block:12px; }
.nav-links a:hover .nav-roll > span,.nav-links a:focus-visible .nav-roll > span,.site-footer a:hover .nav-roll > span,.site-footer a:focus-visible .nav-roll > span { transform:translateY(-100%); }
.nav-clock { justify-self:end; grid-column:3; grid-row:1; color:#737373; }
.clock-window { height:1.5em; overflow:hidden; }
.clock-cycle { animation:city-clock-roll 12s cubic-bezier(.65,0,.35,1) infinite; }
.clock-row { height:1.5em; white-space:nowrap; }
.clock-row time { color:#262626; margin-left:8px; }
.nav-clock:hover .clock-cycle { animation-play-state:paused; }
.nav-clock-accessible { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@keyframes city-clock-roll { 0%,42% { transform:translateY(0); } 50%,92% { transform:translateY(-33.333333%); } 100% { transform:translateY(-66.666667%); } }
@media(max-width:768px) {
 .site-navbar { margin-inline:22px; min-height:108px; grid-template-columns:minmax(0,1fr) auto; gap:0 12px; padding-block:8px; }
 .nav-clock { grid-column:2; grid-row:1; }
 .site-navbar .nav-brand { grid-column:1; grid-row:1; display:flex; align-items:center; min-height:44px; }
 .nav-links { grid-column:1/-1; grid-row:2; justify-content:space-between; gap:8px; }
 .nav-links a { display:flex; justify-content:center; align-items:center; min-width:44px; min-height:44px; padding:12px 8px; }
 .site-navbar.nav-enhanced { position:relative; z-index:100; min-height:88px; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:28px auto; align-content:center; padding-block:16px; }
 .nav-enhanced .nav-brand { position:relative; z-index:2; min-height:0; align-self:end; }
 .nav-enhanced .nav-clock { position:relative; z-index:2; grid-column:1; grid-row:2; justify-self:start; margin-top:4px; }
 .nav-enhanced .nav-toggle { grid-column:2; grid-row:1/3; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:44px; height:44px; padding:10px; border:0; background:transparent; color:#262626; cursor:pointer; }
 .nav-enhanced .nav-toggle { position:relative; z-index:2; }
 .nav-toggle span { width:20px; height:1.5px; background:currentColor; transition:transform 280ms cubic-bezier(.22,1,.36,1),opacity 180ms ease; }
 .nav-open .nav-toggle span:first-child { transform:translateY(6.5px) rotate(45deg); }
 .nav-open .nav-toggle span:nth-child(2) { opacity:0; }
 .nav-open .nav-toggle span:last-child { transform:translateY(-6.5px) rotate(-45deg); }
 .nav-enhanced .nav-links { position:absolute; top:100%; left:-22px; right:-22px; z-index:1; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:32px 22px 40px; max-height:calc(100dvh - 88px); background:#fff; overflow-y:auto; overscroll-behavior:contain; box-shadow:0 16px 24px -24px rgb(0 0 0 / .2); }
 .nav-enhanced .nav-links a { justify-content:center; padding:8px 16px; min-height:44px; }
}
@media(max-width:360px) {
 .site-navbar { margin-inline:16px; gap:0 8px; }
 .clock-row time { margin-left:4px; }
 .nav-enhanced .nav-links { left:-16px; right:-16px; }
}
@media(hover:none) {
 .nav-links a:hover .nav-roll > span,.site-footer a:hover .nav-roll > span { transform:none; }
}
@media(prefers-reduced-motion:reduce) {
 .nav-toggle span { transition:none; }
 .clock-cycle { animation:none; }
 .clock-window { height:auto; }
 .clock-row:last-child { display:none; }
 .nav-roll > span { transition:none; }
 .nav-links a:hover .nav-roll > span,.nav-links a:focus-visible .nav-roll > span,.site-footer a:hover .nav-roll > span,.site-footer a:focus-visible .nav-roll > span { transform:none; }
 .nav-roll > span:last-child { display:none; }
}

/* Allow enlarged text to determine the mobile brand/clock rows. */
@media(max-width:768px) {
 .site-navbar.nav-enhanced { grid-template-rows:auto auto; }
}
