/* Optical match to the public Halyard Display / Space Grotesk hierarchy.
   Geist has wider display sidebearings and heavier supporting strokes at the
   same numeric weight. Keep sizes/leading/layout intact; calibrate by role.
   One-ID specificity defeats legacy page refinements, but remains below the
   editor's two-ID global and three-ID slide typography tiers. */
:root{
 --geist-copy-weight:280;
 --geist-ui-weight:350;
 --geist-ui-active-weight:470;
 --geist-display-light:320;
 --geist-display-regular:450;
}
:is(html,#geist-defaults) body :where(p:not(.about-statement),li,dd,blockquote,figcaption,h4,h5,h6){
 font-weight:var(--geist-copy-weight)!important;
}
:is(html,#geist-defaults) body :where(blockquote,.story-copy__body,
 .chapter-intro,.about-founder-copy>p:not(.eyebrow),.expertise-summary,
 .expertise-detail p,.philosophy-introduction p,.research-cycle__intro,
 .people-introduction,.news-intro>p:not(.eyebrow),.press-intro>p:not(.eyebrow),
 .contact-invitation,.careers-intro>p:not(.eyebrow),.careers-culture p){
 letter-spacing:.01em;
}
:is(html,#geist-defaults) body :where(input,textarea,select,button,label,th,dt,small,time){
 font-weight:var(--geist-ui-weight)!important;
}
:is(html,#geist-defaults) body :where(h1,h2,h3){
 font-weight:var(--geist-display-regular)!important;
 letter-spacing:-.05em;
}
/* Light display voice: project names, home statements and quieter subheads. */
:is(html,#geist-defaults) body :where(
 .home-sections h1,.home-sections h2,
 .about-founders>h2,.about-founder-copy h3,.contact-socials h2,.contact-message h2,
 .press-project h2,.icon-info .info-title,.portrait-reminder h2,.cta-section h2
),
:is(html,#geist-defaults) body.page-project-detail :where(h1,h2,h3),
:is(html,#geist-defaults) body :where(
 .rotunda-card-caption,.rotunda-selected,.grid-caption,.project-list-row,
 .project-list-archive,.globe-projects,.globe-project-list
) :where(h2,h3,strong),
:is(html,#geist-defaults) body :where(.project-list-image-title){
 font-weight:var(--geist-display-light)!important;
 letter-spacing:-.05em;
}
:is(html,#geist-defaults) body.page-home .home-sections h1{letter-spacing:-.04em}
:is(html,#geist-defaults) body.page-home .home-sections .story-copy h4{letter-spacing:.015em}
html body #main-content [data-page-intro]>h1,
html body.page-about #main-content h3.expertise-heading{
 font-weight:var(--geist-display-regular)!important;letter-spacing:-.065em!important;
}
/* Keep the deliberately lighter editorial statement, not the old Arial bold. */
:is(html,#geist-defaults) body .about-statement{font-weight:500!important;letter-spacing:-.055em}
/* Supporting metadata keeps its deliberate uppercase tracking, not display spacing. */
:is(html,#geist-defaults) body .contact-details h2{font-weight:var(--geist-ui-active-weight)!important;letter-spacing:.015em}
/* Nav and filters share exactly one type treatment without changing geometry. */
@media(min-width:901px){
 html body:not(.page-project-detail) .site-header #site-navigation>a{
  font-weight:var(--geist-ui-weight)!important;letter-spacing:.008em!important;
 }
 html body:not(.page-project-detail) .site-header #site-navigation>a:is(:hover,:focus-visible,.nav-magnet-target){font-weight:var(--geist-ui-active-weight)!important}
}
:is(html,#geist-defaults) body :where(.filter-layer>summary,.collection-scope button,
 .navigation-menu-label,.navigation-subitem,.project-filter-menu button,
 .news-filter,.press-filters button,.about-section-selector a){letter-spacing:.008em!important}
:is(html,#geist-defaults) body :where(.filter-layer>summary,.collection-scope button){font-weight:var(--geist-ui-weight)!important}
:is(html,#geist-defaults) body :where(.filter-layer>summary,.collection-scope button):is(:hover,:focus-visible,.nav-magnet-target),
:is(html,#geist-defaults) body .navigation-menu-label{font-weight:var(--geist-ui-active-weight)!important}
/* The mobile menu is display text, not a small toolbar. Keep its existing size. */
html body .mobile-menu #site-navigation>a,
html body .mobile-menu #site-navigation>a:is(:hover,:active,:focus-visible,[aria-current]),
html body .mobile-menu #site-navigation>a *{
 font-weight:var(--geist-display-light)!important;letter-spacing:-.05em!important;
}
