/* One mobile header and one full-screen navigation surface, shared by every page.
   The original links/tools are moved here, never copied or given new permissions. */
.mobile-menu-toggle,.mobile-menu:not([open]),.portrait-reminder:not([open]){display:none!important}
html body dialog.mobile-menu{
 --menu-ink:#f4f4f1;--menu-surface:#151515;
 position:fixed;inset:0;box-sizing:border-box;width:100%;height:100dvh;max-width:none;max-height:none;
 margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:var(--menu-surface)!important;color:var(--menu-ink)!important;
 font-family:var(--font-support,'Space Grotesk',sans-serif);color-scheme:dark;overscroll-behavior:none;
}
.mobile-menu::backdrop{background:transparent!important;backdrop-filter:none!important}
.mobile-menu-shell{position:relative;z-index:1;height:100%;display:flex;flex-direction:column}
.mobile-menu-handover-plane{position:absolute;inset:0;z-index:0;pointer-events:none}
.mobile-menu.is-departing{pointer-events:none}
.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;gap:24px;flex:none;padding:calc(12px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) 12px max(20px,env(safe-area-inset-left,0px))}
.mobile-menu-home{display:block;width:148px;line-height:0;color:inherit!important}
.mobile-menu-home svg{display:block;width:100%;height:auto;fill:currentColor}
html body .mobile-menu :is(.mobile-menu-close,.site-search-toggle,.theme-toggle,.editor-shortcut,.mobile-header-socials a){
 display:grid;place-items:center;position:relative!important;inset:auto!important;width:44px!important;height:44px!important;min-height:44px;
 padding:10px!important;margin:0!important;border:0!important;border-radius:50%!important;
 background:transparent!important;color:var(--menu-ink)!important;box-sizing:border-box;touch-action:manipulation;text-decoration:none;
 transition:background .24s ease,color .24s ease;flex:none;
}
html body .mobile-menu :is(button,a):focus-visible{outline:1px solid currentColor!important;outline-offset:3px}
html body .mobile-menu :is(.mobile-menu-close,.site-search-toggle,.theme-toggle,.editor-shortcut,.mobile-header-socials a):is(:hover,:active,:focus-visible){background:#ffffff18!important;color:#fff!important}
.mobile-menu-bars{position:relative;display:block;width:22px;height:18px}
.mobile-menu-bars i{position:absolute;display:block;left:0;right:0;height:1.5px;border-radius:2px;background:currentColor;transition:transform .4725s cubic-bezier(.22,1,.36,1),opacity .243s}
.mobile-menu-bars i:nth-child(1){top:1px}.mobile-menu-bars i:nth-child(2){top:8px}.mobile-menu-bars i:nth-child(3){top:15px}
.mobile-menu.is-open .mobile-menu-close i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mobile-menu.is-open .mobile-menu-close i:nth-child(2){opacity:0}
.mobile-menu.is-open .mobile-menu-close i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu-scroll{display:flex;flex:1;min-height:0;flex-direction:column;overflow:auto;overscroll-behavior:contain;padding:clamp(12px,3dvh,32px) max(24px,env(safe-area-inset-right,0px)) 20px max(24px,env(safe-area-inset-left,0px))}
.mobile-menu-links{flex:none;margin-block:auto;width:100%}
html body .mobile-menu #site-navigation{
 position:static!important;display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start!important;gap:2px!important;
 inset:auto!important;width:100%!important;height:auto!important;min-height:0;max-width:none!important;padding:0!important;margin:0!important;
 opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important;mix-blend-mode:normal!important;
 background:transparent!important;border:0!important;border-radius:0;view-transition-name:none;pointer-events:auto!important;isolation:isolate!important;
}
html body .mobile-menu #site-navigation>a{
 display:flex!important;align-items:center;justify-content:center;position:relative;width:100%;min-height:48px;max-width:none;box-sizing:border-box;
 padding:5px 0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--menu-ink)!important;
 font:300 clamp(34px,5.9dvh,58px)/1.18 var(--font-display,'halyard-display',sans-serif)!important;letter-spacing:-.035em!important;text-align:center;white-space:normal;
 text-decoration:none!important;text-underline-offset:0;box-shadow:none!important;
 opacity:0;transform:translateY(12px);transition:opacity .405s ease,transform .675s cubic-bezier(.22,1,.36,1),color .27s ease;
}
html body .mobile-menu.is-open #site-navigation>a{opacity:1;transform:none;transition-delay:calc(81ms + var(--menu-order,0)*38ms)}
html body .mobile-menu #site-navigation>a::after{display:none!important}
html body .mobile-menu #site-navigation>a[aria-current]{color:#bfc3bc!important}
html body .mobile-menu #site-navigation>a:is(:hover,:focus-visible){color:#c6c6c1!important;background:transparent!important}
.mobile-menu :is(.project-typology-menu,.navigation-cursor-bubble){display:none!important}
.mobile-menu [data-control-label]::after{display:none!important}
.mobile-menu-footer{flex:none;display:grid;grid-template-columns:repeat(var(--menu-tool-columns,5),minmax(0,1fr));align-items:center;justify-items:center;gap:10px 0;width:100%;box-sizing:border-box;padding:18px max(20px,env(safe-area-inset-right,0px)) calc(22px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px))}
.mobile-menu-tools,.mobile-menu-socials,.mobile-menu .mobile-header-socials,.mobile-menu .editor-shortcuts,.mobile-menu .site-search{display:contents!important}
html body .mobile-menu-footer :is(.site-search-toggle,.theme-toggle,.editor-shortcut,.mobile-header-socials a){width:52px!important;height:52px!important;padding:10px!important;justify-self:center}
.mobile-menu :is(.site-search-toggle,.theme-toggle) svg{display:block;width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.6;scale:1!important}
.mobile-menu .theme-toggle svg path{fill:currentColor;stroke:none}
.mobile-menu .editor-shortcut svg{display:block;width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.6}
.mobile-menu .mobile-header-socials svg{display:block;width:30px;height:30px;fill:currentColor;stroke:none;filter:none!important}
.mobile-menu .mobile-header-socials a::before,.mobile-menu .mobile-header-socials a::after{display:none!important}
.mobile-menu .employee-sign-in{font-size:12px;padding:12px 8px}
.mobile-menu .editor-shortcut-count{top:0;right:0;font:500 10px/1 var(--font-support);color:#111!important;background:#fff}
html body .mobile-menu [hidden]{display:none!important}
html body .mobile-menu .site-search-overlay{position:static!important;margin:0;padding:0;width:100%}
html body .mobile-menu .site-search-panel{
 position:relative!important;inset:auto!important;width:100%!important;max-height:min(45dvh,420px)!important;
 margin:0 0 20px;padding:12px 6px;border:0;border-bottom:1px solid #ffffff30;border-radius:0;
 background:transparent!important;color:var(--menu-ink)!important;box-shadow:none;animation:none;
}
html body .mobile-menu .site-search-panel :is(a,input,small,p,strong){color:var(--menu-ink)!important}
html body .mobile-menu .site-search-panel input{font-size:16px!important;background:transparent!important;border-color:#ffffff55!important}
html body .mobile-menu .site-search-panel input:focus-visible{outline-offset:2px!important}
html body .mobile-menu .site-search-result img{width:60px;height:48px;object-fit:cover;flex:none}
html body .mobile-menu .site-search-result strong{font-size:15px;font-weight:500}
html body .mobile-menu .site-search-result p{font-size:12px}
html body .mobile-menu .site-search-status{font-size:12px;line-height:1.5}
html.mobile-menu-open{overflow:hidden!important;scroll-behavior:auto!important}
html.mobile-menu-open body{position:fixed!important;top:var(--mobile-menu-scroll-y,0px)!important;left:0;width:100%;overflow:hidden!important}
html.mobile-menu-open .mobile-menu-toggle{visibility:hidden}
html body dialog.portrait-reminder{
 position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;margin:0;padding:24px;
 border:0;border-radius:0;background:#151515!important;color:#f4f4f1!important;text-align:center;overflow:auto;overscroll-behavior:contain;
}
.portrait-reminder[open]{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px}
.portrait-reminder>svg{width:64px;height:64px;fill:none;stroke:currentColor;stroke-width:1.3}
html body .portrait-reminder h2{font:300 32px/1.1 var(--font-display,'halyard-display',sans-serif);letter-spacing:-.03em;margin:0}
html body .portrait-reminder p{font:400 13px/1.5 var(--font-support,'Space Grotesk',sans-serif);margin:0;opacity:.65}
html body .portrait-reminder button{margin-top:10px;min-height:44px;padding:10px 16px;border:1px solid #ffffff55;border-radius:99px;background:transparent!important;font:400 12px/1.4 var(--font-support,'Space Grotesk',sans-serif);color:inherit!important}
html.portrait-reminder-open{overflow:hidden!important}
@media(max-width:900px){
 html.mobile-menu-enabled body{--mobile-header-safe-top:env(safe-area-inset-top,0px);--header-height:calc(68px + var(--mobile-header-safe-top))}
 html.mobile-menu-enabled body .site-header{min-height:0!important;height:var(--header-height)!important}
 html.mobile-menu-enabled body .site-header .brand{
  position:fixed!important;top:calc(25px + var(--mobile-header-safe-top))!important;left:max(20px,env(safe-area-inset-left,0px))!important;
  right:auto!important;transform:none!important;width:148px!important;margin:0!important;
 }
 html.mobile-menu-enabled body .site-header .brand :is(svg,img){width:100%!important;height:auto!important}
 html.mobile-menu-enabled body .mobile-menu-toggle{
  position:fixed;top:calc(12px + var(--mobile-header-safe-top));right:max(20px,env(safe-area-inset-right,0px));z-index:2400;
  display:grid!important;place-items:center;width:44px;height:44px;padding:10px;border:0;border-radius:50%;
  color:#fff;background:transparent;mix-blend-mode:difference;touch-action:manipulation;view-transition-name:mobile-menu-button;
 }
 html.mobile-menu-enabled.home-first-paint .mobile-menu-toggle,html.mobile-menu-enabled.home-intro-active:not(.intro-nav) .mobile-menu-toggle{opacity:0;visibility:hidden}
 html.mobile-menu-enabled body .story-reader__index{right:max(76px,calc(env(safe-area-inset-right,0px) + 56px))!important}
}
@media(min-width:901px){html body .mobile-menu-toggle{display:none!important}}
@media(max-width:380px){
 html.mobile-menu-enabled body .story-reader__index{min-width:44px;width:44px!important;padding:0!important}
 html.mobile-menu-enabled body .story-reader__index span{display:none!important}
}
@media(prefers-reduced-motion:reduce){html body .mobile-menu #site-navigation>a,.mobile-menu-bars i{transition:none!important;transform:none!important}html body .mobile-menu #site-navigation>a{opacity:1}}
@media print{.mobile-menu-toggle,.mobile-menu,.portrait-reminder{display:none!important}}
