/* Shared menu composition for all service pages. */
.menu-open .hud-menu-o .menu-studies,.menu-open .hud-menu-o .hud-menu-cta-w{position:relative;z-index:96}
.menu-open .hud-menu-o .menu-study>span,.menu-open .hud-menu-o .menu-studies-heading{background:transparent;text-shadow:0 0 2px var(--bg2),0 0 4px var(--bg2),0 0 6px var(--bg2)}
.hud-menu-o,.menu-o,.site-menu{height:100dvh;max-height:100dvh}
/* No -webkit-overflow-scrolling:touch here. iOS WebKit still turns any scroller
   carrying it (and, since it inherits, the case-study track inside) into a
   z-index:0 stacking context, which sinks the case-study images under the
   blending orb and inverts them - on iPhones only, never in desktop emulation.
   Momentum scrolling is the default on iOS 13+, so it bought nothing. */
.hud-menu-o>.relative,.menu-links,.site-menu{box-sizing:border-box;max-height:100dvh;touch-action:auto}
.menu-studies-track{touch-action:pan-x pan-y}
.hud-menu-o>.relative,.site-menu{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;align-content:stretch;gap:40px;padding:110px 20px 36px;overflow-y:auto;overscroll-behavior:contain}
.menu-links{justify-content:flex-end;padding:110px 20px 36px;overflow-y:auto}
.hud-menu-link-w,.menu-primary{min-width:0;display:flex;flex-direction:column;justify-content:flex-end}
.hud-menu-link,.menu-link,.site-menu nav>a{font-size:clamp(42px,min(6.4vw,8.5vh),96px);line-height:1.06}
.hud-menu-o>.relative>div:last-child:not(.hud-menu-link-w),.site-menu-side{padding-top:12px;align-self:end}
.menu-studies{margin-top:0;padding-top:32px;width:100%;max-width:560px;color:inherit}
.hud-menu-link-w>.o-hidden,.menu-primary>nav,.menu-links>.o-hidden{flex-shrink:0}
.menu-studies-heading{display:flex;align-items:center;justify-content:space-between;font-size:clamp(16px,1.6vw,22px);font-weight:400;line-height:1.4;letter-spacing:.03em;text-transform:uppercase;margin-bottom:14px;text-decoration:none;color:inherit}
.menu-studies-heading:hover{text-decoration:underline;text-underline-offset:5px}
.menu-studies-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.menu-study{display:block;min-width:0;color:inherit;text-decoration:none}
.menu-study img{display:block;width:100%;height:auto;border-radius:5px;transition:filter .25s}
.menu-study:hover img{filter:brightness(.9)}
.menu-study>span{display:flex;justify-content:space-between;gap:12px;margin-top:10px;font-size:16px;line-height:1.3}
.menu-study:focus-visible,.menu-studies-heading:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.hud-menu-o .menu-studies,.menu-o .menu-studies{visibility:hidden;opacity:0;transform:translateY(20px);transition:opacity .4s,transform .5s,visibility 0s .8s}
.menu-open .menu-studies{visibility:visible;opacity:1;transform:none;transition-delay:.15s}
.site-menu-side .menu-page-links{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.menu-page-links>a,.menu-page-links>span{font-size:clamp(18px,2vw,26px);text-transform:uppercase;line-height:1.6;letter-spacing:.03em}
.menu-page-links>span{opacity:.4}
.menu-page-links>a{opacity:.75}
.hud-menu-cta-w .menu-cta,.site-menu-side>.menu-cta{min-height:68px;min-width:245px;padding:22px 30px;font-size:15px}
@media(min-width:761px){
 .hud-menu-o>.relative,.site-menu{grid-template-rows:minmax(min-content,1fr) auto;column-gap:40px;row-gap:0}
 .hud-menu-link-w,.menu-primary,.hud-menu-o>.relative>div:last-child:not(.hud-menu-link-w),.site-menu-side{display:contents}
 .menu-main-links,.menu-primary>nav{grid-column:1;grid-row:1;align-self:end}
 .menu-studies{grid-column:1;grid-row:2}
 .hud-menu-o>.relative>div:last-child>.md\:text-right,.menu-page-links{grid-column:2;grid-row:1;align-self:end;text-align:right}
 .hud-menu-cta-w,.site-menu-side>.menu-cta{grid-column:2;grid-row:2;align-self:start;justify-self:end;margin-top:32px}
}
@media(max-width:760px){
 .menu-open .hud-menu-o .menu-studies{z-index:auto;transform:none;opacity:1;transition:none}
 .menu-open .hud-menu-o .menu-study img{position:relative;z-index:96}
 .menu-open .hud-menu-o .menu-study>span,.menu-open .hud-menu-o .menu-studies-heading{text-shadow:none}
 .hud-menu-o>.relative,.site-menu{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:26px;padding:90px 20px max(30px,env(safe-area-inset-bottom));height:100dvh;overflow-y:auto}
 .menu-links{padding:90px 20px max(30px,env(safe-area-inset-bottom));justify-content:flex-start;height:100dvh;overflow-y:auto}
 .hud-menu-link-w,.menu-primary{flex:0 0 auto;margin-top:auto}
 .hud-menu-o>.relative>div:last-child:not(.hud-menu-link-w),.site-menu-side{margin-bottom:auto;flex-shrink:0}
 .menu-links>.o-hidden:first-child{margin-top:auto}
 .menu-links>.menu-studies{margin-bottom:auto;flex-shrink:0}
 .hud-menu-link,.menu-link,.site-menu nav>a{font-size:clamp(34px,8.6vw,54px);line-height:1.06}
 .menu-studies{margin-top:0;padding-top:24px;max-width:100%;min-width:0}
 .menu-studies-heading{font-size:16px;margin-bottom:12px}
 .menu-studies-track{display:flex;overflow-x:auto;gap:14px;scroll-snap-type:x mandatory;padding:0 20px 10px 0;margin-right:-20px;overscroll-behavior-x:contain;scrollbar-width:thin}
 .menu-study{flex:0 0 60%;max-width:230px;scroll-snap-align:start}
 .menu-study>span{font-size:14px;margin-top:8px}
 .hud-menu-o>.relative>div:last-child:not(.hud-menu-link-w),.site-menu-side{padding-top:0;align-self:stretch}
 .site-menu-side:has(>.menu-cta:only-child){align-items:flex-start}
 .hud-menu-cta-w{align-self:flex-start}
 .site-menu-side .menu-page-links{align-items:flex-start}
 .menu-page-links>a,.menu-page-links>span{font-size:14px;line-height:1.3}
}
@media(prefers-reduced-motion:reduce){.menu-studies,.menu-study img{transition:none!important}}

/* Hide the complete closed overlay after its exit animation. */
.hud-menu-o,.menu-o{visibility:hidden;transition:visibility 0s .95s}
.menu-open .hud-menu-o,.menu-open .menu-o{visibility:visible;transition-delay:0s}
