/* DUFRESNE V2: typography only. Composition, content, media and interactions remain in experience.css / experience.js. */
:root{--title-font:'Archivo';--hero-weight:700}
h1,h2,h3,.application-list button>span:nth-child(2),.mobile-menu a{font-family:var(--title-font),sans-serif;font-weight:600;letter-spacing:-.025em;line-height:1.08}
.hero h1{font-weight:var(--hero-weight);font-size:clamp(54px,6.6vw,124px);line-height:1;letter-spacing:-.035em;margin-top:28px;margin-bottom:32px}
h2,.section-title h2{font-size:clamp(36px,4.05vw,68px);line-height:1.08}
h3{font-size:clamp(28px,2.7vw,44px)}
.story-steps h3{font-size:clamp(32px,3.25vw,52px);line-height:1.08}
.application-list button>span:nth-child(2){font-size:clamp(23px,2.3vw,36px);line-height:1.2;overflow-wrap:normal}
.application-caption h3{font-size:34px;line-height:1.12}
.application-view.empty h3{font-size:clamp(36px,3.6vw,52px)}
.proof-card h3{font-size:clamp(27px,2.3vw,36px);line-height:1.16}
.method-grid h3{font-size:clamp(25px,2.1vw,32px);line-height:1.16}
.project h2{font-size:clamp(60px,6.8vw,116px);line-height:1.04}
.case-opening-grid h1{font-size:clamp(42px,4.2vw,68px);line-height:1.08}
.mobile-menu a{font-size:26px;line-height:1.25}
@media(max-width:760px){
 .hero h1{font-size:clamp(38px,11.9vw,72px);line-height:1.02;letter-spacing:-.03em;margin:14px 0 20px}
 .section-title h2,h2{font-size:clamp(32px,8.5vw,52px);line-height:1.12;letter-spacing:-.025em}
 .story-steps h3{font-size:32px;line-height:1.12}
 .application-list button>span:nth-child(2){font-size:clamp(23px,5.9vw,30px);line-height:1.18;overflow-wrap:normal}
 .application-caption h3{font-size:29px;line-height:1.12}
 .application-view.empty h3{font-size:clamp(30px,8vw,42px)}
 .proof-card h3{font-size:30px;line-height:1.16}
 .method-grid h3{font-size:27px;line-height:1.16}
 .project h2{font-size:clamp(43px,11.4vw,70px);line-height:1.06}
 .case-opening h1{font-size:clamp(35px,9.3vw,58px);line-height:1.1}
}

/* Keep line endings intentional with the wider, uncondensed letterforms. */
h2,h3,.case-opening h1{text-wrap:balance;word-break:normal;hyphens:none}
.application-list small{font-weight:400}
.header nav{font-weight:500}
.hero h1{font-stretch:100%}
/* Wider medium-weight navigation still fits on compact tablets. */
@media(min-width:761px) and (max-width:960px){
 .header nav{font-size:12px;gap:14px;white-space:nowrap}
 .header .action.small{font-size:10px;gap:16px;padding:15px 14px}
}
