/* A single navigation surface, from the menu pill to the open sheet. */
html{scrollbar-gutter:stable}
.civic-site .site-nav{z-index:30}
.civic-site .nav-inline{display:none}
.civic-site .nav-right{gap:34px}
.civic-site #nav-toggle{position:relative;display:flex;align-items:center;justify-content:center;gap:20px;min-width:115px;min-height:47px;padding:12px 20px;border:1px solid #18201c14;border-radius:28px;overflow:hidden;isolation:isolate;background:#e5e8e1;color:var(--ink);font-size:.83rem;transition:transform .24s,box-shadow .3s}
.civic-home #nav-toggle{background:#ffffff1f;border-color:#ffffff5c;color:white;backdrop-filter:blur(14px)}
/* Dark theme: the pale pill (here and in editorial-hero.css) hid the light "Menu" label. */
:root[data-theme=dark] .civic-site #nav-toggle{background:var(--soft);border-color:var(--line)}
.civic-site #nav-toggle::before{content:'';position:absolute;inset:0;z-index:-1;opacity:0;background:linear-gradient(110deg,#d5ebdf,#c9d9f1 48%,#f0ddd1);transition:opacity .35s}
.civic-site #nav-toggle:hover{color:#24312b;box-shadow:0 5px 20px #10221912}
.civic-site #nav-toggle:hover::before{opacity:1}
.civic-site #nav-toggle:active{transform:scale(.96)}
.civic-site #nav-toggle span{font-size:inherit;line-height:1;margin:0}
.civic-site #nav-toggle .nav-toggle-icon{width:17px;height:17px;display:grid;align-content:center;gap:5px}
.nav-toggle-icon i{display:block;height:1px;width:17px;background:currentColor;transition:transform .35s}
#nav-toggle:hover .nav-toggle-icon i:first-child{transform:translateX(2px)}
#nav-toggle:hover .nav-toggle-icon i:last-child{transform:translateX(-2px)}
.nav-scrim{position:fixed;inset:0;z-index:80;background:#1d292b30;backdrop-filter:blur(12px) saturate(.78);-webkit-backdrop-filter:blur(12px) saturate(.78)}
.civic-site #nav-drawer.nav-sheet{display:block;position:fixed;left:auto;right:max(24px,calc((100vw - 1400px)/2));top:24px;z-index:90;width:min(440px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:32px;box-shadow:none;background:transparent;color:#1d2924;isolation:isolate;outline:none}
.nav-wash,.nav-paper{position:absolute;inset:0;pointer-events:none;border-radius:32px}
.nav-wash{background:radial-gradient(ellipse at 12% 0%,#a7d4bd,transparent 64%),radial-gradient(ellipse at 100% 25%,#aac7ee,transparent 64%),linear-gradient(145deg,#d3e1cb,#ddd8ed 52%,#f0c9ae);z-index:-2}
.nav-paper{background:#fff;z-index:-1;box-shadow:0 5px 12px #17281e0d,0 28px 80px #17281e2e;opacity:1}
.nav-sheet-content{padding:28px 35px 34px;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;border-radius:32px}
.nav-sheet-top{display:flex;justify-content:space-between;align-items:center;gap:24px}
.nav-sheet-wordmark{font-size:1.1rem;letter-spacing:-.045em}
.nav-close{width:44px;height:44px;flex:none;border:0;border-radius:50%;display:grid;place-items:center;background:#eef0ed;color:#1d2924;font-size:1.25rem;font-weight:400;transition:background .25s,transform .25s}
.nav-close:hover{background:#dfe6e0;transform:rotate(90deg)}
.nav-close:active{transform:rotate(90deg) scale(.92)}
.nav-sheet-links{display:flex;flex-direction:column;align-items:center;gap:5px;margin:48px 0 44px}
.nav-sheet-links a{display:block;font-size:2rem;letter-spacing:-.052em;line-height:1.4;padding:1px 10px;position:relative;transition:color .25s}
.nav-sheet-links a::after{content:'';height:1px;position:absolute;bottom:2px;left:10px;right:10px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.nav-sheet-links a:hover::after,.nav-sheet-links a:focus-visible::after,.nav-sheet-links a[aria-current]::after{transform:scaleX(1)}
.nav-sheet-links a:hover{color:#507c66}
.nav-sheet-links a span{display:none}
.nav-sheet-bottom{text-align:center;display:flex;align-items:center;flex-direction:column;gap:24px;padding-top:23px;border-top:1px solid #e8ece7}
.nav-sheet-bottom .nav-enquiry{font-size:.87rem;display:flex;gap:35px;align-items:center;min-height:38px}
.nav-sheet-bottom .nav-enquiry span{transition:transform .35s}
.nav-sheet-bottom .nav-enquiry:hover span{transform:translate(3px,-3px)}
.nav-sheet-bottom small{color:#69736a;font-size:.64rem;letter-spacing:.025em}
.civic-site #nav-drawer :focus-visible{outline:2px solid #406c54;outline-offset:5px}
body.menu-open{overflow:hidden}
.nav-fallback{display:flex;gap:22px;justify-content:center;padding:20px}
.footer-nav a{position:relative;padding:8px 0}
.footer-group a{position:relative}
:is(.footer-nav,.footer-group) a::after{content:'';position:absolute;bottom:3px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
:is(.footer-nav,.footer-group) a:hover::after,:is(.footer-nav,.footer-group) a:focus-visible::after,.footer-group a[aria-current]::after{transform:scaleX(1)}
.footer-group a[aria-current]::after{opacity:.4}
:is(.footer-nav,.footer-group) a:hover{text-decoration:none}
.footer-utility{gap:16px}
.footer-utility summary{padding:8px 0;border-radius:0;transition:color .2s;min-height:38px;color:var(--ink)}
.footer-utility summary:hover,.footer-utility details[open]>summary{background:transparent;color:var(--muted)}
.footer-utility summary::after,.footer-utility details[open]>summary::after{content:'⌃';display:inline-block;margin-left:9px;font-size:.75rem;transition:transform .18s}
.footer-utility details[open]>summary::after{transform:rotate(180deg)}
.civic-site .footer-popover{isolation:isolate;z-index:35;bottom:48px;right:0;min-width:220px;width:220px;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);box-shadow:0 6px 24px #17281e12;transform-origin:bottom right;max-height:min(70svh,550px);overflow-y:auto;overscroll-behavior:contain}
.utility-wash,.utility-paper{display:none}
.utility-wash{background:linear-gradient(135deg,#c4e1cf,#c9d8ee 60%,#eddbc9)}
.utility-paper{background:#fff}
.footer-popover>a,.footer-popover>button{border-radius:3px;min-height:37px;padding:10px 12px;font-size:.76rem;transition:background .16s}
.footer-popover>a:hover,.footer-popover>button:hover{background:var(--soft);text-decoration:none}
.footer-popover>a:focus-visible,.footer-popover>button:focus-visible{outline:2px solid #537d64;outline-offset:1px}
.footer-popover>button{display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-popover>button span{font-size:.67rem;background:transparent;color:var(--muted);border-radius:0;padding:2px 0;min-width:40px;text-align:right}
.footer-popover>button[aria-pressed=true] span{background:transparent;color:var(--ink)}
.motion-enabled :is(.c-button,.film-control,.world-detail,.world-layers button){transition:color .25s,background .25s,transform .24s}
.motion-enabled :is(.c-button,.film-control,.world-detail,.world-layers button):active{transform:scale(.97)}
@media(max-width:760px){.civic-site .nav-right{gap:0}.civic-site .site-nav{height:88px}.civic-site #nav-toggle{min-width:105px;min-height:44px;font-size:.78rem;gap:17px;padding:11px 17px}.civic-site #nav-drawer.nav-sheet{top:16px;right:16px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);border-radius:28px}.nav-wash,.nav-paper,.nav-sheet-content{border-radius:28px}.nav-sheet-content{padding:20px 26px 28px;max-height:calc(100dvh - 32px)}.nav-sheet-links{margin:33px 0 34px;gap:5px}.nav-sheet-links a{font-size:1.9rem}.nav-sheet-bottom{gap:18px;padding-top:17px}}
@media(max-height:650px){.nav-sheet-links{margin:20px 0;gap:1px}.nav-sheet-links a{font-size:1.55rem}.nav-sheet-bottom{padding-top:12px;gap:12px}.nav-sheet-content{padding-top:18px;padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.nav-scrim{backdrop-filter:blur(6px)}.nav-close:hover{transform:none}}
