/* Final shared layout contract. Zoom changes available CSS width, not legibility. */
html body:is(.page-about,.page-approach,.page-careers,.page-news,.page-press,.page-contact){
 min-width:0;
 --section-inset:clamp(20px,4vw,64px);
 --section-top:max(144px,calc(var(--site-header-bottom,100px) + 32px));
}
html body.page-about #main-content>.about-intro,
html body.page-approach .sustainability-page,
html body.page-careers .careers-page,
html body.page-news .news-page:not(.news-story),
html body.page-press .press-page,
html body.page-contact .editorial-page{
 box-sizing:border-box;width:100%;max-width:none;margin:0;
 padding-top:var(--section-top)!important;padding-inline:var(--section-inset)!important;
}
html body.page-about #main-content>.about-intro{padding-bottom:0}
html body #main-content [data-page-intro]{min-width:0;overflow-wrap:anywhere}
html body #main-content [data-page-intro]>h1{
 font-size:clamp(3rem,8vw,7.375rem)!important;
 line-height:1.02!important;margin:22px 0 32px!important;transform:none;
}
html body:is(.page-about,.page-careers,.page-news,.page-press,.page-contact) #main-content{
 overflow-wrap:break-word;
}
.about-section-dock{box-sizing:border-box;min-width:0;margin:0 0 24px;padding-inline:var(--section-inset)}
html body.page-about .about-section-selector{
 display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:10px 0;
 box-sizing:border-box;min-width:0;color:var(--theme-ink);width:100%;
}
html body.page-about .about-section-selector a{
 min-width:0;min-height:44px;padding:10px 18px;font-size:13px;line-height:1.35;
 border:0;gap:10px;text-align:center;justify-content:center;
}
.about-section-selector a span{display:none}
html body.page-about .about-section-selector.is-pinned{
 position:fixed;z-index:1850;top:calc(var(--site-header-bottom,100px) + 8px);
 left:0;right:0;padding-inline:var(--section-inset);
 background:var(--theme-base,#f3f3f0);
 background:color-mix(in srgb,var(--theme-base,#f3f3f0) 92%,transparent);
 backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
 box-shadow:0 1px 0 var(--theme-line,#191b1830);
}
html body.page-about .about-chapter,
html body.page-about #about-founders-title{
 scroll-margin-top:calc(var(--site-header-bottom,100px) + var(--about-selector-height,64px) + 28px);
}
/* Prevent narrow grid tracks and unbreakable content from dictating page width. */
html body:is(.page-about,.page-careers,.page-news,.page-press,.page-contact) #main-content
 :is(article,figure,header,section,.about-columns>*,.contact-layout>*,.careers-culture>*,.scope-groups>*,.press-facts>div){min-width:0;box-sizing:border-box}
html body:is(.page-about,.page-careers,.page-news,.page-press,.page-contact) #main-content
 :is(p,li,dd,a,h1,h2,h3){overflow-wrap:anywhere}
html body:is(.page-about,.page-careers,.page-news,.page-press,.page-contact) #main-content img{max-width:100%}
html body :is(.editorial-dialog,.press-dialog,.news-modal){box-sizing:border-box;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:1100px){
 html body.page-about :is(.about-columns,.philosophy-introduction,.about-philosophy .careers-culture,.about-philosophy .sustainability-example,.research-cycle__header,.research-cycle__layout){grid-template-columns:minmax(0,1fr);gap:28px}
 html body.page-about :is(.about-philosophy .approach-principles,.scope-groups){grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:28px}
 html body.page-about :is(.about-columns,.philosophy-introduction,.careers-culture,.approach-principle,.sustainability-example,.scope-groups,.research-cycle__copy) p{width:auto;max-width:64ch;min-height:0}
 html body.page-about .about-columns .office-map{width:100%;max-width:560px;justify-self:center}
 html body.page-about .research-cycle__graphic{width:100%;max-width:600px;margin-inline:auto}
 html body.page-about .research-cycle__controls{flex-wrap:wrap}
}
@media(max-width:760px){
 html body.page-about .about-section-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
 html body.page-about .about-section-selector a{padding:10px 7px;font-size:12px;white-space:normal;border-radius:16px}
 html body.page-about .about-section-selector a span{display:none}
 html body:is(.page-careers,.page-contact) :is(.careers-culture,.contact-layout,.contact-offices){grid-template-columns:minmax(0,1fr)!important;gap:28px}
 html body .press-facts{grid-template-columns:minmax(0,1fr)}
 html body .press-facts>div{grid-template-columns:minmax(64px,.7fr) minmax(0,1.3fr);gap:12px}
 html body .press-tools{flex-wrap:wrap}
 html body .contact-form :is(input,textarea,select){max-width:100%;min-width:0;box-sizing:border-box}
}
@media(max-width:700px){
 html body:is(.page-about,.page-careers,.page-news,.page-press,.page-contact) .site-header .main-nav{
  width:auto!important;height:auto;min-height:44px;flex-wrap:wrap;justify-content:center!important;gap:2px!important;
 }
 html body:is(.page-about,.page-careers,.page-news,.page-press,.page-contact) .site-header .main-nav>a{
  font-size:12px!important;padding:10px 8px!important;line-height:1.3!important;
 }
 html body:is(.page-about,.page-careers,.page-news,.page-press,.page-contact) .site-search-panel{top:calc(var(--site-header-bottom,100px) + 8px)}
}
@media(max-width:380px){
 html body.page-about .about-section-selector a{font-size:11px;padding-inline:4px}
 html body :is(.press-dialog,.editorial-dialog){padding:22px 18px}
}
@media print{.about-section-dock{display:none}}
