/* One type hierarchy: a light opening followed by a bold, meaningful phrase. */
:root{--type-light:400;--type-medium:500;--type-title:600;--type-bold:700}
#hero-headline{font-weight:var(--type-light);font-size:clamp(54px,6.2vw,98px);line-height:1.08;letter-spacing:-.055em}
#hero-headline .hero-line{white-space:nowrap}
#hero-headline .hero-line-emphasis{font-weight:var(--type-bold);font-size:1.25em;letter-spacing:-.055em}
.hero-copy-block #hero-description{font-size:clamp(14px,1.04vw,17px);font-weight:var(--type-medium);line-height:1.8;letter-spacing:-.025em;margin-top:24px;word-break:keep-all}
.landing-study .landing-statement{font-weight:var(--type-light);letter-spacing:-.025em}
.landing-study .landing-statement strong{font-weight:var(--type-bold)}
.landing-study .enter-site{font-family:var(--sans);font-weight:var(--type-medium)}

.section-heading h2{font-size:clamp(52px,5.5vw,100px);font-weight:var(--type-light);line-height:1.06;letter-spacing:-.06em}
.section-heading h2 strong{font-size:1.413em;font-weight:var(--type-bold);letter-spacing:-.065em}
.section-heading p{font-size:14px;line-height:1.85;font-weight:var(--type-light)}
#project-grid .card-title-row h3{font-weight:var(--type-title);font-size:clamp(24px,2.13vw,36px);letter-spacing:-.035em}
.practice-heading h2{font-size:clamp(46px,4.85vw,92px);font-weight:var(--type-light);line-height:1.12;letter-spacing:-.06em}
.practice-heading h2 strong{font-size:1.44em;font-weight:var(--type-bold);letter-spacing:-.06em}
.practice-lead{font-weight:var(--type-medium);line-height:1.8;letter-spacing:-.025em;word-break:keep-all}
.thinking h3{font-size:29px;font-weight:var(--type-title);line-height:1.45;letter-spacing:-.035em;word-break:keep-all}
.thinking p{font-size:14px;line-height:1.9}
.thinking .signature{font-size:10px}
.material-image>div,.material-image small{font-size:10px}
.contact-heading h2{font-size:clamp(46px,4.77vw,92px);font-weight:var(--type-light);line-height:1.12;letter-spacing:-.06em}
.contact-heading h2 strong{font-size:1.615em;font-weight:var(--type-bold);letter-spacing:-.06em}
.contact-bottom p{font-size:14px;line-height:1.85}

@media(max-width:950px) and (min-width:761px){
 #hero-headline{font-size:7.3vw}
 .section-heading{gap:24px}.section-heading>div{min-width:220px;max-width:280px}
 .section-heading h2{font-size:5.7vw}.section-heading p{font-size:13px}
 .thinking h3{font-size:24px}
 .contact-heading{gap:24px}.contact-circle{flex-shrink:0}
}
@media(max-width:760px){
 /* Mobile begins at the existing five-film home, without the opening study. */
 .landing-study.stage{display:none}
 .hero-content{display:flex;position:absolute;top:125px;left:var(--pad);right:var(--pad);flex-direction:column;gap:18px}
 .hero-content .hero-overline{position:static;font-size:8px;letter-spacing:1.25px}
 .hero-content .hero-title{position:static;display:block}
 #hero-headline{font-size:clamp(26px,8.4vw,52px);line-height:1.14;letter-spacing:-.045em}
 #hero-headline .hero-line-emphasis{font-size:1.21em;letter-spacing:-.045em}
 .hero-content .hero-copy-block #hero-description{font-size:clamp(12px,3.3vw,15px);line-height:1.75;margin-top:14px;font-weight:var(--type-medium)}
 .section-heading{display:block;margin:35px 0}
 .section-heading>div{min-width:0;max-width:none;margin-top:28px}
 .section-heading h2{font-size:clamp(36px,10vw,64px);line-height:1.08;letter-spacing:-.055em}
 .section-heading h2 strong{font-size:1.32em;letter-spacing:-.06em}
 .section-heading p{font-size:13px;line-height:1.85;word-break:keep-all}
 #explore>.section-heading p{font-size:min(17px,4.45vw);line-height:1.48}
 #project-grid .card-title-row h3{font-size:23px;font-weight:var(--type-title);letter-spacing:-.04em}
 .practice-heading h2{font-size:clamp(30px,8.2vw,54px);line-height:1.16;letter-spacing:-.045em}
 .practice-heading h2 strong{font-size:1.2em;letter-spacing:-.045em}
 .practice-lead{font-size:13px;margin-top:22px}
 .thinking h3{font-size:23px;line-height:1.5}
 .thinking p{font-size:14px;line-height:1.9}
 .material-image>div{font-size:8px;letter-spacing:.3px}.material-image small{font-size:8px}
 .contact-heading{gap:12px;align-items:flex-end}
 .contact-heading h2{font-size:clamp(30px,8.1vw,50px);line-height:1.15;letter-spacing:-.045em}
 .contact-heading h2 strong{font-size:1.35em;letter-spacing:-.05em}
 .contact-circle{flex-shrink:0;width:50px;height:50px;font-size:28px}
 .contact-bottom p{font-size:13px;line-height:1.85}
}
@media(max-width:380px){
 .hero-content .hero-overline{font-size:7px;letter-spacing:1px}
 .section-heading>div{align-items:flex-start;gap:18px}.saved-filter{flex-shrink:0}
 .section-heading p{font-size:12px}
 .contact-heading{position:relative;padding-right:0}
 .contact-heading h2{max-width:calc(100% - 48px);font-size:8vw}
 .contact-circle{width:42px;height:42px;font-size:24px}
}
