/* About and case templates share the white gallery system used on Home. */
body:is(.about-page,.case-page){
 --gutter:16px;--content-inset:16px;--grid-gap:16px;--copy-end-space:0px;
 --media-radius:8px;--type-body:16px;--type-card-title:16px;--type-small:16px;
 --type-button:16px;--type-subheading:16px;--type-section-title:16px;
 --type-intro:16px;--type-display-title:32px;--type-page-title:32px;
 --study-display:32px;--study-content:16px;--study-utility:16px;
 --section-space:64px;--section-title-space:24px;
 --font-heading:'Helvetica Neue',Helvetica,Arial,sans-serif;
 --font-copy:'Helvetica Neue',Helvetica,Arial,sans-serif;
 background:#fff;color:#1a1a1a;font-family:var(--font-copy);font-size:16px;
}
body:is(.about-page,.case-page) #content :is(p,li,dt,dd,h2,h3,figcaption),
body.case-page .project-details :is(p,li,dt,dd,h3),
body:is(.about-page,.case-page) .site-footer .footer-bottom :is(span,a){
 font-family:var(--font-copy)!important;font-size:16px!important;line-height:24px!important;
 font-weight:500!important;letter-spacing:0!important;
}
body:is(.about-page,.case-page) #content h1,
body.case-page .project-details .details-grid>h2{
 font-family:var(--font-copy)!important;font-size:32px!important;line-height:1.15!important;
 font-weight:500!important;letter-spacing:-.02em!important;text-align:left;
}
body:is(.about-page,.case-page) .site-header .header-row{height:64px;min-height:64px;padding-inline:16px}
body:is(.about-page,.case-page) .site-header .signature{font-family:var(--font-copy);font-size:16px!important;letter-spacing:0;font-weight:500}
body:is(.about-page,.case-page) .site-header .header-row .main-nav{gap:8px}
body:is(.about-page,.case-page) .site-header .header-row .main-nav a{
 display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 14px;
 border-radius:8px;background:#f3f3f3;font-size:16px!important;line-height:24px;letter-spacing:0;
}
body.case-page .site-header .chapter-nav{font-size:16px;gap:16px}
body.case-page .site-header .chapter-nav :is(a,span){font-size:16px!important;letter-spacing:0!important}
body:is(.about-page,.case-page) .action-button{font-family:var(--font-copy);font-size:16px!important}
/* About keeps its title and the published 1 / 2 / 1 column composition. */
body.about-page .about-page-title{padding-block:24px 32px;justify-content:flex-start;text-align:left}
body.about-page .about-page-title h1{max-width:none;text-align:left}
body.about-page .about-hero{padding-top:0;padding-bottom:64px}
body.about-page .about-overview{gap:16px}
body.about-page .about-overview>.about-description{max-width:none;padding:0;margin-top:0}
body.about-page .about-overview>.about-description p+p{margin-top:20px}
body.about-page .about-bio .about-location{margin:0}
body.about-page .about-resume{margin-top:20px}
body.about-page .about-expertise{row-gap:32px;column-gap:16px}
body.about-page .about-expertise>.about-section-title{margin-bottom:24px}
body.about-page .about-expertise article{display:flex;flex-direction:column;gap:2px;padding:0}
body.about-page .about-expertise article>h2{order:0;margin:0}
body.about-page .about-expertise article>p{order:1;padding:0;margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.about-page .about-expertise .expertise-visual{order:2;margin:0;width:100%}
body.about-page .about-expertise>article:first-of-type{margin-top:0}
body.about-page .about-experience,body.about-page .about-recognition{padding-top:64px}
body.about-page .about-section-title{margin-bottom:24px}
body.about-page .experience-row{padding-block:32px;column-gap:16px}
body.about-page .experience-row>div{padding-inline-end:0}
body.about-page .experience-role{margin-top:8px}
body.about-page .experience-description{margin-top:16px;max-width:none}
body.about-page .award-row{padding-block:24px;gap:16px}
/* Case heroes and chapters keep their media choices, sequence and full-width flags. */
body.case-page .case-hero{padding-top:24px}
body.case-page .case-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
body.case-page .case-heading h1{min-width:0;max-width:100%;margin:0}
body.case-page .case-heading .action-button{flex:none}
body.case-page .case-subtitle{margin-block:16px 24px;gap:16px}
body.case-page .case-subtitle>p{padding:0;margin:0}
body.case-page .tags>span{font-size:16px!important;line-height:24px!important;padding:6px 10px}
body.case-page .case-overview{padding-block:48px;gap:16px}
body.case-page .overview-copy,body.case-page .case-facts dl{padding-inline-end:0}
body.case-page .overview-copy .intro{margin-bottom:20px;max-width:none}
body.case-page .overview-copy .overview-details p+p{margin-top:20px}
body.case-page .case-facts dl>div+div{margin-top:24px}
body.case-page .case-chapter{padding-top:32px}
body.case-page .section-heading{margin-bottom:24px;gap:16px}
body.case-page .section-heading h2{margin:0}
body.case-page .chapter-description{padding:0;max-width:none}
body.case-page .case-gallery{column-gap:16px;row-gap:16px;align-items:start}
body.case-page .case-gallery>.case-figure{display:flex;flex-direction:column;gap:10px;margin-bottom:0}
body.case-page .case-gallery>.case-figure:has(>figcaption:not(:empty)){margin-bottom:16px}
body.case-page .case-gallery>.case-figure>figcaption{order:-1;margin:0}
body.case-page .case-gallery .project-media{border-radius:8px}
body.case-page .case-results{margin-top:64px}
body.case-page .result-card{padding:20px;gap:32px;min-height:200px}
body.case-page .case-result-group[aria-labelledby="impact-heading"] .result-card{min-height:240px}
body.case-page #content .result-value{font-size:32px!important;line-height:1.15!important;letter-spacing:-.02em!important}
body.case-page .result-description{margin-top:16px}
body.case-page .case-navigation{margin-top:48px;padding-block:24px;font-size:16px}
body.case-page .case-navigation a{font-size:16px!important;line-height:24px}
body.case-page .project-details .details-grid{column-gap:16px}
body.case-page .project-details .details-section{margin-top:32px}
/* Shared footer density and two-size hierarchy. */
body:is(.about-page,.case-page) .site-footer{margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
body:is(.about-page,.case-page) .footer-main-links{padding-bottom:40px}
body:is(.about-page,.case-page) #contact .contact-heading{font-size:32px!important;line-height:1.15!important;letter-spacing:-.02em!important}
@media(max-width:767px){
 body:is(.about-page,.case-page) .site-header .header-row{gap:8px}
 body:is(.about-page,.case-page) .site-header .header-row .main-nav{gap:4px}
 body:is(.about-page,.case-page) .site-header .header-row .main-nav a{padding-inline:10px;font-size:14px!important}
 body.about-page .about-page-title{padding-block:24px}
 body.about-page .about-hero{padding-top:0;padding-bottom:48px}
 body.about-page .about-hero .about-overview{gap:24px}
 body.about-page .about-overview>.about-portrait{width:100%;justify-self:stretch}
 body.about-page .about-experience,body.about-page .about-recognition{padding-top:48px}
 body.about-page .about-expertise{row-gap:32px}
 body.case-page .case-heading{flex-wrap:wrap;gap:16px}
 body.case-page .case-overview{padding-block:32px;row-gap:24px}
 body.case-page .case-chapter{padding-top:24px}
 body.case-page .section-heading{margin-bottom:20px}
 body.case-page .case-results{margin-top:48px}
 body:is(.about-page,.case-page) .footer-main-links{gap:20px}
}
body.about-page .about-expertise{row-gap:24px}
body.about-page .about-expertise>.about-section-title{margin-bottom:0}
body.about-page .about-bio .about-location{color:var(--fg)}

/* Shared display and introduction hierarchy; media captions follow the images. */
body:is(.about-page,.case-page) #content h1{
 font-size:96px!important;line-height:1.05!important;letter-spacing:-.03em!important;
}
body.about-page #content .about-description p,
body.case-page #content .overview-copy :is(p,li),
body.case-page .project-details .details-intro p{
 font-size:32px!important;line-height:1.25!important;letter-spacing:-.01em!important;
}
body.about-page .about-expertise .expertise-visual{order:0;margin-bottom:8px}
body.about-page .about-expertise article>h2{order:1}
body.about-page .about-expertise article>p{order:2;margin-bottom:0}
body.case-page .case-gallery>.case-figure>figcaption{order:1}
@media(max-width:1100px){
 body:is(.about-page,.case-page) #content h1{font-size:64px!important}
}
@media(max-width:650px){
 body:is(.about-page,.case-page) #content h1{font-size:48px!important}
 body.about-page #content .about-description p,
 body.case-page #content .overview-copy :is(p,li),
 body.case-page .project-details .details-intro p{font-size:24px!important;line-height:1.3!important}
}
