/* One bounded menu composition across desktop and mobile. */
.area-menu-open{overflow:hidden}
#area-menu{box-sizing:border-box;position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(88px,10vh,128px) clamp(24px,6vw,96px) clamp(24px,5vh,56px);border:0;border-radius:0;background:#111110;color:#f2f0e7;box-shadow:none;overflow:auto;font-family:'DM Sans',sans-serif}
#area-menu::backdrop{background:transparent;backdrop-filter:none}
#area-menu[open]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1100px) minmax(0,1fr);grid-template-rows:auto 1fr auto;column-gap:0;row-gap:32px;animation:none}
#area-menu>header,#area-menu>.area-results,#area-menu>.area-secondary{grid-column:2;min-width:0;width:100%;margin:0}
#area-menu>header{display:block}
#area-menu h2{margin:0;max-width:none;font:500 12px/1.5 'DM Sans',sans-serif;letter-spacing:.16em;color:#a8a89f}
#area-menu .area-close{position:fixed;top:var(--menu-close-top,24px);right:var(--menu-close-right,30px)}
#area-menu .area-results{display:grid;align-self:center;gap:0}
#area-menu .area-results a{display:grid;grid-template-columns:42px minmax(0,1fr) 32px;gap:24px;align-items:center;width:100%;min-width:0;padding:clamp(18px,2.8vh,32px) 0;background:none;border:0;border-top:1px solid #f2f0e72b;border-radius:0;color:inherit;text-decoration:none}
#area-menu .area-results a:last-child{border-bottom:1px solid #f2f0e72b}
#area-menu .area-results a::before,#area-menu .area-results a::after{display:none;content:none}
#area-menu .area-number{position:static;align-self:center;padding:0;color:var(--area);font-size:12px;letter-spacing:.08em}
#area-menu .area-results a>div{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:24px;align-items:center;min-width:0}
#area-menu .area-results strong{display:block;font:600 clamp(42px,min(5.8vw,8.7vh),88px)/1 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:-.015em;text-transform:uppercase;white-space:nowrap;transform:none;text-shadow:none;transition:color .22s ease,transform .3s cubic-bezier(.2,.8,.2,1)}
#area-menu .area-results small{display:block;margin:0;color:#a8a89f;font:400 15px/1.5 'DM Sans',sans-serif}
#area-menu .area-arrow{opacity:.65;align-self:center;transform:none;transition:opacity .22s,transform .3s}
#area-menu .area-arrow svg{display:block;width:28px;height:28px;color:var(--area)}
#area-menu .area-results a[aria-current=page] strong{color:var(--area)}
@media(hover:hover) and (pointer:fine){#area-menu .area-results a:hover strong{color:var(--area);transform:translateX(7px);letter-spacing:-.015em;text-shadow:none}#area-menu .area-results a:hover .area-arrow{opacity:1;transform:translate(3px,-3px)}}
#area-menu .area-results a:focus-visible strong{color:var(--area);transform:none;letter-spacing:-.015em;text-shadow:none}
#area-menu .area-secondary{display:flex;align-items:center;gap:32px;align-self:end;border:0;padding:0}
#area-menu .area-secondary a{display:flex;align-items:center;gap:12px;min-height:44px;color:#b1b1aa;font-size:14px;text-decoration:none}
#area-menu .area-secondary a:last-child{margin-left:auto;color:#f2f0e7}
#area-menu .area-secondary svg{width:18px;height:18px}
#area-menu .area-secondary a:hover,#area-menu .area-secondary a[aria-current=page]{color:#fff;text-decoration:underline;text-underline-offset:5px}
#area-menu a:focus-visible{outline:2px solid #f2f0e7;outline-offset:5px}
@media(max-width:760px){#area-menu{padding:96px 24px 24px}#area-menu[open]{grid-template-columns:minmax(0,1fr);row-gap:24px}#area-menu>header,#area-menu>.area-results,#area-menu>.area-secondary{grid-column:1}#area-menu .area-results a{grid-template-columns:22px minmax(0,1fr) 22px;gap:12px;padding:20px 0}#area-menu .area-results a>div{grid-template-columns:minmax(0,1fr);gap:7px}#area-menu .area-results strong{font-size:clamp(32px,9.7vw,68px)}#area-menu .area-results small{font-size:13px}#area-menu .area-arrow svg{width:22px;height:22px}#area-menu .area-secondary{gap:22px}#area-menu .area-secondary a{font-size:13px}}
@media(max-height:620px){#area-menu{padding-top:80px;padding-bottom:20px}#area-menu[open]{grid-template-rows:auto auto auto;row-gap:20px}#area-menu .area-results a{padding-block:12px}#area-menu .area-results strong{font-size:clamp(30px,6.5vh,46px)}}
@media(prefers-reduced-motion:reduce){#area-menu .area-results strong,#area-menu .area-arrow{transition:none!important;transform:none!important}}
.motion-off #area-menu .area-results strong,.motion-off #area-menu .area-arrow{transition:none!important;transform:none!important}
/* One circular silhouette and identical geometry for the opening and closing controls. */
.area-launcher,.area-dialog .area-close{box-sizing:border-box;position:relative;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;border:1px solid #f2f0e76b;border-radius:50%;background:#111110;color:#f2f0e7;flex:0 0 48px}
.area-dialog .area-close{position:fixed;width:var(--menu-close-size,48px);height:var(--menu-close-size,48px)}
.area-launcher:hover,.area-dialog .area-close:hover{border-color:#f2f0e7;background:#111110;color:#f2f0e7}
.menu-stroke{position:absolute;left:calc(50% - 11px);top:calc(50% - 1px);display:block;width:22px;height:2px;border-radius:2px;background:currentColor;transform:translateY(-4px);transition:transform .34s cubic-bezier(.2,.8,.2,1)}
.menu-stroke+ .menu-stroke{transform:translateY(4px)}
.menu-revealed .area-close .menu-stroke{transform:rotate(45deg)}
.menu-revealed .area-close .menu-stroke+ .menu-stroke{transform:rotate(-45deg)}
@media(prefers-reduced-motion:reduce){.menu-stroke{transition:none}}
.motion-off .menu-stroke{transition:none}

/* The menu remains available on every route; close returns to the home cards. */
.header-home-close{position:relative;display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;box-sizing:border-box;border:1px solid #f2f0e76b;border-radius:50%;color:#f2f0e7;background:#111110;text-decoration:none}
.header-home-close .menu-stroke{transform:rotate(45deg)}
.header-home-close .menu-stroke+.menu-stroke{transform:rotate(-45deg)}
.header-home-close:hover{border-color:#f2f0e7}
.header-home-close[hidden],.area-launcher[hidden]{display:none!important}
.page-hero>.area-home-close{display:none!important}
.unified-header .header-actions{position:relative;gap:12px}
.unified-header .header-home-close:focus-visible,.unified-header .area-launcher:focus-visible,.area-dialog .area-close:focus-visible{outline:2px solid #f2f0e7;outline-offset:4px;border-color:#f2f0e7}
.area-launcher,.area-close{cursor:pointer}
