/* KPS editorial typography — supplied MVK web fonts. */
@font-face{font-family:'IvyPresto Headline';src:url('/assets/fonts/IvyPrestoHeadline-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Apercu Pro';src:url('/assets/fonts/ApercuPro-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Apercu Pro';src:url('/assets/fonts/ApercuPro-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Apercu Pro';src:url('/assets/fonts/ApercuPro-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/assets/fonts/IBMPlexMono-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--serif:'IvyPresto Headline',Georgia,serif;--sans:'Apercu Pro',Arial,sans-serif;--mono:'IBM Plex Mono',monospace}
body{font-weight:400;font-synthesis:none;line-height:1.75}
strong,b{font-weight:700}
h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:400;text-wrap:balance;overflow-wrap:break-word}
/* The supplied display face is Regular; retain colored emphasis without synthetic italics. */
h1 em,h2 em,h3 em{font-style:normal;font-weight:400}
body h1,body h2,body h3{letter-spacing:-.025em;line-height:1.12}
.hero h1,.case-title h1,.ext-hero h1,.signature-hero .case-title h1{letter-spacing:-.03em;line-height:1.08}
.hero h1{font-size:clamp(64px,7.2vw,116px)}
.page-intro h1,.page-intro.split h1{font-size:clamp(58px,6.3vw,100px)}
.case-title h1{font-size:clamp(64px,8.5vw,132px)}
.eyebrow,.num,.project-index,.project-number,.portrait-caption,.article-meta,.comparison-label,.signature-badge,.signature-credits dt,.case-facts dt,.project-ledger>div>span,.menu-body nav small,.gallery-grid figcaption span,.signature-photo-grid figcaption>span:first-child,.signature-photo-grid figcaption small,.lightbox-count,.founder-sign>span,.capability-visual figcaption small,.capability-inline-photo figcaption small,.inquiry-photo figcaption{font-family:var(--mono);font-weight:400;letter-spacing:.07em;line-height:1.65}
.eyebrow{font-size:clamp(10px,.75vw,11px)}
.desktop-nav,.menu-body nav>a,.nav-contact,.menu-toggle,.button,.text-link,button,input,select,textarea{font-family:var(--sans);font-weight:400}
.desktop-nav{gap:clamp(16px,2vw,30px);font-size:13px}
.brand small{font-family:var(--sans)}
.article{max-width:76ch;line-height:1.85}
.section-head>p,.case-intro p,.service-detail p,.founder p,.intro-description p{line-height:1.85}
@media(max-width:1000px) and (min-width:701px){.hero h1{font-size:8.4vw}.page-intro.split h1{font-size:clamp(56px,7vw,76px)}}
@media(max-width:700px){
 /* A consistent mobile scale takes precedence over page-specific desktop sizes. */
 body h1{font-size:clamp(38px,10.6vw,68px)!important;line-height:1.13!important;letter-spacing:-.025em!important}
 body h2{font-size:clamp(32px,8.7vw,48px)!important;line-height:1.17!important;letter-spacing:-.02em!important}
 body h3{font-size:clamp(25px,6.8vw,34px)!important;line-height:1.2!important;letter-spacing:-.015em!important}
 .hero h1{font-size:clamp(36px,10.2vw,65px)!important}
 .hero-content>.eyebrow,.case-title .eyebrow,.ext-hero-content>.eyebrow{font-size:10px;letter-spacing:.05em;line-height:1.7}
 .hero-content>.eyebrow .label-divider{margin-inline:8px}
 .section-head>p,.intro-description p,.founder p,.craft-copy p,.case-intro,.case-intro p,.service-detail p,.article,.film-description p,.local-service-card p,.ext-service-card p{font-size:15px;line-height:1.8}
 .project-info,.section-head>div,.case-title,.hero-content,.page-intro .wrap>div{min-width:0}
 .case-title h1,.page-intro h1{max-width:100%;hyphens:manual}
 .eyebrow,.portrait-caption,.project-index,.project-number,.signature-badge{font-size:10px}
 .button,.text-link{font-size:13px}
 .menu-body nav>a{font-family:var(--sans);font-size:clamp(30px,8vw,44px);line-height:1.25;letter-spacing:-.025em}
}
@media(max-height:650px) and (min-width:701px){.hero h1{font-size:min(6.8vw,82px)}}
