/* Responsive sizing repairs. Preserve the approved MUAF composition and assets. */
.feature-case,.direction-card{width:100%;max-width:100%;min-width:0}
.gallery-grid>*,.gallery-item,.gallery-item figcaption,.gallery-item figcaption>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
.zoom-image{width:100%;max-width:100%;min-width:0}
.supplied-case-gallery .zoom-image>img{aspect-ratio:auto var(--image-ratio)}
.discipline-strip{flex-wrap:wrap}
.direction-card{display:flex;flex-direction:column;justify-content:flex-end;padding:95px 25px 28px}
.direction-info{position:relative;inset:auto;width:100%;min-width:0}
.header,.header-panel,.actions,.section-head,.section-aside,.page-head-bottom,.feature-info,.feature-right,.feature-stats,.case-hero-bottom,.footer-top,.footer-bottom,.contact-info,.contact-form,.founder-copy,.story-copy,.statement-panel,.price-explanation{min-width:0}
.story-layout>*,.case-intro-layout>*,.case-facts>*,.editorial-split>*,.about-founder>*,.contact-layout>*,.image-statement>*,.process-layout>*,.case-price-panel>*,.fact-grid>*,.direction-grid>*,.concept-grid>*,.auto-project-grid>*{min-width:0}
.contact-form input,.contact-form select,.contact-form textarea{min-width:0;max-width:100%;width:100%}
.button>span,.section-aside,.case-hero-bottom>*,.lightbox-top>p,.lightbox-bottom>p{min-width:0;overflow-wrap:anywhere}
.hero-price,.case-price-panel h2,.contact-number{max-width:100%}
.contact-number{white-space:normal;overflow-wrap:anywhere}
.case-price-panel h2,.hero-price>strong{white-space:normal;overflow-wrap:anywhere;min-width:0}
.footer-top>*,.footer-bottom>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
.header-contact .contact-short{display:none}
.menu-dialog{height:100dvh;overflow-y:auto;overscroll-behavior:contain}
.menu-dialog nav{flex-shrink:0}
.menu-top{flex-shrink:0;position:sticky;top:0;z-index:1;background:#0b0d0c;padding-bottom:12px}
.menu-bottom{flex-shrink:0}
.lightbox-top,.lightbox-bottom{min-width:0}
.lightbox-bottom>p{overflow-wrap:anywhere}
@media(max-width:1000px){
 .feature-case{display:flex;flex-direction:column;justify-content:flex-end;padding:110px 28px 30px;aspect-ratio:auto}
 .feature-info{position:relative;inset:auto;width:100%}
 .header-contact{font-size:12px}
 .header-contact .contact-full{display:none}
 .header-contact .contact-short{display:inline}
 .section-head>*,.page-head-bottom>*{min-width:0}
 .header-contact{min-width:0;white-space:normal}
 .header-contact .contact-short{min-width:0;overflow-wrap:anywhere;white-space:normal}
 .header-panel .menu-toggle{flex:0 0 44px;width:44px;height:44px}
}
@media(max-width:760px){
 .hero-bottom{flex-wrap:wrap}
 .feature-case{padding:105px 24px 25px}
 .contact-number{font-size:clamp(23px,7.5vw,32px);white-space:normal;overflow-wrap:anywhere}
 .contact-form{width:100%;min-width:0}
 .contact-form select{padding-right:20px}
 .case-facts dd{overflow-wrap:anywhere}
 .footer-bottom nav{min-width:0}
 .menu-dialog nav a{overflow-wrap:anywhere}
}
@media(max-width:640px){
 .direction-grid{grid-template-columns:minmax(0,1fr)}
 .direction-card{grid-column:auto;min-height:360px;aspect-ratio:auto}
 .direction-1,.direction-2{min-height:390px}
 .direction-info h3,.direction-1 h3,.direction-2 h3{font-size:clamp(27px,5vw,32px)}
 .direction-info p,.direction-1 .direction-info p,.direction-2 .direction-info p{font-size:13px}
}
@media(max-width:500px){
 .direction-card{padding-inline:24px}
 .header{gap:10px}
 .header>.logo img{width:90px;height:31px}
 .header-panel{gap:3px}
 .header-contact{padding:10px 12px;gap:7px;font-size:11px}
 .hero-content h1{font-size:clamp(38px,11.5vw,56px)}
 .page-head h1{font-size:clamp(34px,9.8vw,48px);overflow-wrap:anywhere}
 .case-hero-content h1{font-size:clamp(45px,12.5vw,65px);overflow-wrap:anywhere}
 .priced-case-hero .case-hero-content h1{font-size:clamp(36px,9.8vw,49px)}
 .direction-info h3,.direction-1 h3,.direction-2 h3{font-size:clamp(25px,7vw,31px)}
 h2{overflow-wrap:anywhere}
 .section-head h2,.story-copy h2,.founder-copy h2{font-size:clamp(32px,8.9vw,40px)}
 .closing-inner h2{font-size:clamp(34px,9.5vw,43px)}
 .feature-info h3{font-size:clamp(31px,9vw,38px)}
 .climate-content h2{font-size:clamp(34px,9.6vw,41px)}
 .contact-form .form-head h2{font-size:clamp(27px,8vw,32px)}
 .accordion summary>span:not(.accordion-num):not(.accordion-icon){min-width:0;overflow-wrap:anywhere}
 .accordion-answer{padding-right:0}
 .lightbox-bottom>span{flex-shrink:0}
}
@media(max-height:500px){
 .menu-dialog{padding-top:14px;padding-bottom:20px}
 .menu-dialog nav{margin-block:10px;padding-block:10px;gap:0}
 .menu-dialog nav a{font-size:clamp(22px,4vh,28px);padding-block:7px}
 .menu-bottom{margin-top:15px}
 .lightbox{padding:12px 16px}
 .lightbox-stage{margin-block:8px}
 .lightbox-stage>img{padding-bottom:0}
 .lightbox-prev,.lightbox-next{top:50%;bottom:auto;transform:translateY(-50%);width:40px;height:40px}
 .lightbox-bottom{min-height:0;max-height:62px;overflow-y:auto;align-items:flex-start}
}

/* The native mobile menu drops in without changing layout or focus behavior. */
@keyframes muaf-menu-slide-in{
 from{transform:translateY(-100%)}
 to{transform:translateY(0)}
}
@keyframes muaf-menu-backdrop-in{
 from{opacity:0}
 to{opacity:1}
}
@media(max-width:1000px) and (prefers-reduced-motion:no-preference){
 .menu-dialog[open]{animation:muaf-menu-slide-in 460ms cubic-bezier(.22,1,.36,1)}
 .menu-dialog[open]::backdrop{animation:muaf-menu-backdrop-in 460ms ease}
}
