/* Intrinsic image heights prevent HTML dimensions from stretching narrow cards. */
.project-card img{height:auto}
.two-col>*:not(img),.section-head>*,.service-row>*,.project-meta>*{min-width:0}
.prose h3{font-size:24px;line-height:1.3;margin:30px 0 14px;letter-spacing:-.02em}
.service-row>[aria-hidden]{grid-column:4;grid-row:1}
@media(min-width:721px) and (max-width:1000px){
 .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .two-col{gap:32px}.stats{gap:28px}
}
@media(max-width:720px){
 html{-webkit-text-size-adjust:100%;scroll-padding-top:20px}
 h1{font-size:clamp(32px,8.6vw,54px);line-height:1.12;letter-spacing:-.035em;overflow-wrap:anywhere;hyphens:auto}
 h2{font-size:clamp(28px,7vw,38px);line-height:1.16;overflow-wrap:anywhere;hyphens:auto}
 h3{overflow-wrap:anywhere;hyphens:auto}
 .page-head{padding:30px 0 34px}.page-head .lead{font-size:17px;line-height:1.65}
 .breadcrumbs{margin-bottom:23px;line-height:1.6;overflow-wrap:anywhere}
 .section-head p{max-width:none}.section-head .text-link{display:inline-block}
 .project-card img,.detail-image,.portrait{height:auto;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain}
 .project-grid{gap:32px}.project-meta{padding-top:14px;gap:12px}
 .project-meta h3{font-size:26px;line-height:1.15}.project-meta p{line-height:1.55}
 .article-card img,.article-hero{height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain}
 .journal-grid{gap:34px}.article-card h3{font-size:24px;line-height:1.25;letter-spacing:-.025em;margin:12px 0}
 .article-card p{font-size:16px;line-height:1.65}.article-card .meta{margin-top:13px}
 .article-main{margin:28px 0 48px}.prose{font-size:17px;line-height:1.75;overflow-wrap:break-word}
 .prose a{overflow-wrap:anywhere}.prose h2,.prose h5{font-size:25px;line-height:1.25;margin-top:32px}
 .prose h3{font-size:22px}.prose p{margin-bottom:22px}
 .service-row{padding:24px 0}.service-row h3{font-size:23px;line-height:1.2}
 .service-row>[aria-hidden]{grid-column:3;grid-row:1}.service-row p{font-size:16px;line-height:1.65}
 .stats{gap:24px;margin-top:28px;padding-top:22px}.stat{flex:1;min-width:0}.stat span{line-height:1.45}
 .pill{max-width:100%;gap:20px;min-height:48px}.language a{min-width:36px;min-height:44px;display:flex;align-items:center;justify-content:center}
 .language{align-items:center;gap:2px}.menu-button{min-width:44px;min-height:44px}
 .nav a{width:100%;min-height:44px;display:flex;align-items:center}.nav{max-height:calc(100svh - 82px);overflow-y:auto}
 .filter-bar{gap:8px}.filter-bar button{min-height:44px;padding:10px 14px}
 .search,.contact-form input,.contact-form select,.contact-form textarea{font-size:16px}
 .footer a{overflow-wrap:anywhere}.footer-bottom{overflow-wrap:anywhere}
 .gallery-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:64px 12px 108px}
 .gallery-dialog button{width:48px;height:48px}.gallery-dialog [data-close]{top:max(10px,env(safe-area-inset-top))}
 .gallery-dialog [data-prev],.gallery-dialog [data-next]{bottom:max(12px,env(safe-area-inset-bottom))}
 .gallery-dialog p{bottom:68px;padding:0 16px;margin:0;font-size:12px;line-height:1.4}
 .story-sticky{min-height:0;height:calc(100svh - 16px)}
 .story-headline h1{font-size:clamp(34px,9.5vw,58px);line-height:1.1}
 .story-footer{gap:12px;bottom:20px}.story-name{font-size:34px}.story-location{margin-top:9px}
 .story-chapters button{min-width:44px;min-height:44px}.story-chapters{gap:6px}
}
@media(max-height:560px) and (max-width:1000px){
 .story-sticky{min-height:0;height:calc(100svh - 16px)}
 .story-headline{top:20%;left:22px}.story-headline h1{font-size:30px;max-width:70%}
 .story-headline .eyebrow,.story-contact,.story-top{display:none}
 .story-footer{bottom:12px}.story-name{font-size:28px}.story-index{margin-bottom:5px}.story-location{margin-top:5px}
}
@media(hover:none){.project-card:hover img,.project-gallery a:hover img{transform:none}}
