.area-launcher{display:inline-grid;place-items:center;min-width:64px;min-height:44px;padding:0 13px;border:1px solid #ffffff35;border-radius:6px;color:#f2f0e7;background:transparent;flex-shrink:0;font:500 13px 'DM Sans',sans-serif;cursor:pointer}
.area-launcher:hover{border-color:var(--accent);color:var(--accent)}
.area-menu-open{overflow:hidden}
.area-dialog{box-sizing:border-box;background:#151515;color:#f2f0e7;border:1px solid #ffffff28;border-radius:0;padding:32px 44px 26px;width:min(700px,calc(100vw - 40px));max-height:calc(100dvh - 40px);margin:auto;overflow:auto;font-family:'DM Sans',sans-serif;box-shadow:0 35px 100px #0008}
.area-dialog::backdrop{background:#090909bb;backdrop-filter:blur(12px)}
.area-dialog header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.area-dialog h2{font:500 10px/1.5 'DM Sans',sans-serif;letter-spacing:.18em;color:#a5a59e;margin:0}
.area-dialog .area-close{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:0;border-radius:0;background:transparent;color:inherit;cursor:pointer}
.area-close svg{width:24px;height:24px}.area-close:hover{background:#ffffff09}
.area-results{display:grid}
.area-results a{display:grid;grid-template-columns:28px 1fr 28px;gap:18px;align-items:center;padding:19px 0;text-decoration:none;color:inherit;border-top:1px solid #ffffff26}
.area-number{font-size:10px;color:var(--area);align-self:start;padding-top:10px;letter-spacing:.08em}
.area-results strong{display:block;font:600 clamp(38px,5vw,56px)/1 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:-.015em;font-weight:600}
.area-results small{display:block;color:#96968f;font-size:12px;line-height:1.5;margin-top:7px}
.area-arrow svg{display:block;width:25px;height:25px;color:var(--area)}
.area-results a:hover strong,.area-results a[aria-current=page] strong{color:var(--area)}
.area-results a:hover .area-arrow{transform:translate(3px,-3px)}.area-arrow{transition:transform .18s ease}
.area-secondary{display:flex;gap:26px;align-items:center;border-top:1px solid #ffffff26;padding-top:24px;margin-top:5px}
.area-secondary a{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:12px;min-height:32px;color:#b1b1aa}.area-secondary a:last-child{margin-left:auto;color:#f2f0e7}.area-secondary svg{width:16px;height:16px}.area-secondary a:hover,.area-secondary a[aria-current=page]{color:#fff;text-decoration:underline;text-underline-offset:5px}
.area-dialog :focus-visible,.area-launcher:focus-visible{outline:2px solid #f2f0e7;outline-offset:4px}
.area-dialog[open]{animation:area-open .2s ease both}@keyframes area-open{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.site-header.has-area-menu>nav,.site-header.has-area-menu>.header-contact{display:none}.site-header.has-area-menu{justify-content:space-between}.header.has-area-menu nav>.contact{display:none}.header.has-area-menu nav{gap:10px}.area-dialog{padding:20px 24px 22px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.area-dialog header{margin-bottom:12px}.area-results a{padding:18px 0;gap:12px;grid-template-columns:22px 1fr 24px}.area-results strong{font-size:40px}.area-secondary{gap:20px;padding-top:18px}.area-secondary a{font-size:12px}}
@media(max-height:600px){.area-dialog{padding-top:12px;padding-bottom:14px}.area-dialog header{margin-bottom:5px}.area-results a{padding:10px 0}.area-results strong{font-size:34px}.area-results small{margin-top:3px}.area-secondary{padding-top:10px}}
@media(prefers-reduced-motion:reduce){.area-dialog[open]{animation:none}.area-arrow{transition:none}}
/* Full-screen reveal grows from the actual menu button in the upper corner. */
.area-dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(90px,12vh,130px) clamp(28px,8vw,130px) 40px;background:#111110;border:0;box-shadow:none;overflow:auto}
.area-dialog::backdrop{background:transparent;backdrop-filter:none}
.area-dialog[open]{display:grid;grid-template-columns:1fr 2fr;grid-template-rows:1fr auto;column-gap:7vw;animation:none}
.area-dialog header{display:block;margin:12px 0 0}.area-dialog h2{color:#c1bfb5;font-size:11px;max-width:150px;line-height:1.8}
.area-dialog .area-close{position:fixed;top:var(--menu-close-top,24px);right:var(--menu-close-right,30px);width:48px;height:48px;border:1px solid #ffffff40;border-radius:50%;background:#111110}
.area-results{align-self:center;gap:4px}.area-results a{padding:8px 0;border:0;grid-template-columns:24px 1fr 28px;gap:20px}
.area-results strong{font-size:clamp(54px,7.5vw,116px);line-height:.94;text-transform:uppercase;letter-spacing:-.025em}
.area-results small{display:none}.area-number{padding-top:12px}.area-arrow{align-self:center;opacity:0}.area-results a:hover .area-arrow,.area-results a:focus-visible .area-arrow{opacity:1}
.area-secondary{grid-column:2;border-top:1px solid #ffffff28;margin-top:40px;padding-top:22px;align-self:end}
@media(max-width:700px){.area-dialog{padding:100px 25px 32px}.area-dialog[open]{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;gap:26px}.area-dialog header{margin:0}.area-dialog h2{max-width:none}.area-results{gap:10px}.area-results a{gap:12px;grid-template-columns:20px 1fr 20px}.area-results strong{font-size:clamp(42px,11vw,74px)}.area-arrow{opacity:1}.area-arrow svg{width:20px;height:20px}.area-number{padding-top:7px}.area-secondary{grid-column:1;margin-top:15px}}
@media(max-height:550px){.area-dialog{padding-top:65px;padding-bottom:20px}.area-results{gap:0}.area-results a{padding:5px 0}.area-results strong{font-size:clamp(32px,8vh,52px)}.area-secondary{margin-top:16px;padding-top:12px}}
/* Typography follows the hover treatment from the original TON.BAND menu. */
.area-results strong{transform-origin:right center;transition:color .28s ease,transform .34s cubic-bezier(.2,.8,.2,1),letter-spacing .34s cubic-bezier(.2,.8,.2,1),text-shadow .28s ease}
@media(hover:hover) and (pointer:fine){.area-results a:hover strong{color:var(--area);transform:translateX(-16px) scale(1.025);letter-spacing:-.045em;text-shadow:0 0 22px color-mix(in srgb,var(--area) 32%,transparent)}}
.area-results a:focus-visible strong{color:var(--area);transform:translateX(-16px) scale(1.025);letter-spacing:-.045em;text-shadow:0 0 22px color-mix(in srgb,var(--area) 32%,transparent)}
@media(max-width:700px){.area-results a:focus-visible strong{transform:translateX(-9px) scale(1.018)}}
@media(max-width:700px) and (hover:hover) and (pointer:fine){.area-results a:hover strong{transform:translateX(-9px) scale(1.018)}}
@media(prefers-reduced-motion:reduce){.area-results strong{transition:color .15s ease,text-shadow .15s ease}.area-results a:hover strong,.area-results a:focus-visible strong{transform:none;letter-spacing:-.025em}}
.motion-off .area-results strong{transition:none}.motion-off .area-results a:hover strong,.motion-off .area-results a:focus-visible strong{transform:none;letter-spacing:-.025em}
/* 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}

/* Explicit tracks prevent old menu decorations from becoming extra grid cells. */
#area-menu{border-radius:0;box-sizing:border-box;overflow-x:hidden}
#area-menu[open]{grid-template-columns:minmax(120px,1fr) minmax(0,2fr)}
#area-menu .area-results{min-width:0;width:100%;margin:0}
#area-menu .area-results a{grid-template-columns:24px minmax(0,1fr) 28px;min-width:0;width:100%;background:none;border:0;border-radius:0}
#area-menu .area-results a::before,#area-menu .area-results a::after{content:none;display:none}
#area-menu .area-results a>div{min-width:0}
#area-menu .area-results strong{font-size:clamp(40px,min(6.4vw,11vh),100px);white-space:nowrap}
@media(max-width:900px){
 #area-menu[open]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:20px}
 #area-menu header{margin:0}
 #area-menu .area-secondary{grid-column:1}
 #area-menu .area-results strong{font-size:clamp(32px,min(10vw,10vh),76px)}
}
@media(max-width:420px){#area-menu{padding-inline:22px}#area-menu .area-results a{grid-template-columns:18px minmax(0,1fr) 20px;gap:10px}}

/* One control in one place: menu on home, close on inner pages. */
.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}
/* The original strokes stay mounted and morph; the close link supplies the action. */
.unified-header .header-actions{position:relative}
.unified-header .area-launcher[hidden]{display:inline-grid!important;pointer-events:none}
.unified-header .area-launcher .menu-stroke{transition:transform .42s cubic-bezier(.4,0,.2,1)}
.unified-header .area-launcher[hidden] .menu-stroke{transform:translateY(0) rotate(45deg)}
.unified-header .area-launcher[hidden] .menu-stroke+.menu-stroke{transform:translateY(0) rotate(-45deg)}
.unified-header .header-home-close{position:absolute;inset:0 0 0 auto;background:transparent;border-color:transparent;z-index:2}
.unified-header .header-home-close .menu-stroke{display:none}
.unified-header .header-home-close:hover{border-color:#f2f0e7}
@media(prefers-reduced-motion:reduce){.unified-header .area-launcher .menu-stroke{transition:none}}
.motion-off .unified-header .area-launcher .menu-stroke{transition:none}

/* Keep focus inside the existing control instead of adding a coloured outer ring. */
.unified-header .header-home-close:focus,.unified-header .area-launcher:focus,.area-dialog .area-close:focus{outline:none}
.unified-header .header-home-close:focus-visible,.unified-header .area-launcher:focus-visible,.area-dialog .area-close:focus-visible{outline:none;border-color:#f2f0e7;box-shadow:inset 0 0 0 1px #f2f0e7}
