/* Responsive performance and spacing refinements. */
img{max-width:100%}
@media(max-width:760px){
  :root{--gutter:clamp(1rem,4.8vw,1.35rem);--section:clamp(5.5rem,18vw,7rem)}
  .site-header{padding:.8rem var(--gutter)}.brand__logo{width:42px}.menu-toggle{width:42px;height:36px}
  .mobile-menu.is-open{justify-content:flex-start;padding:6.5rem var(--gutter) 1.5rem;gap:.55rem;overflow-y:auto}
  .mobile-menu.is-open>a{font-size:clamp(3rem,14vw,4.8rem);line-height:.88}
  .mobile-menu .language-switcher{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid currentColor;width:100%}
  .mobile-menu .language-switcher a{font-size:.82rem;line-height:1;letter-spacing:.08em}.mobile-menu.is-open p{margin-top:auto;padding-top:2rem}
  .hero{min-height:42rem;padding-left:var(--gutter);padding-right:var(--gutter)}.hero__title{font-size:clamp(4.25rem,21vw,7rem)}
  .positioning,.perspective,.services--engagements,.process,.fit,.faq,.final-cta{padding-top:5.5rem;padding-bottom:5.5rem}
  .positioning h2,.section-head h2{font-size:clamp(2.65rem,11.5vw,4rem);line-height:.91}
  .work{padding-top:5.5rem;padding-bottom:5.5rem}.work .section-head{padding-left:var(--gutter);padding-right:var(--gutter)}
  .work .project{padding:1.7rem var(--gutter)}.work .project__title h3{font-size:clamp(3.25rem,15vw,5.4rem)}
  .project__mobile-art{height:54vw;border-radius:1px;overflow:hidden}.project__mobile-art img{width:100%;height:100%;object-fit:cover;display:block}
  .services-heading__focus{font-size:clamp(3.6rem,16vw,5.5rem)}.services-heading__tail{margin-left:30%}
  .services--engagements .engagement-list{margin:0 var(--gutter)}.services--engagements .service-item{padding:2.1rem 0}
  .services--engagements .service-item h3{font-size:clamp(2.35rem,10.8vw,3.6rem);line-height:.9;overflow-wrap:anywhere}
  .process ol{border-top:1px solid var(--line)}.process li{padding:1.4rem 0}.process h3{margin:1.3rem 0 .5rem}
  .fit{min-height:62svh}.fit h2{font-size:clamp(2.9rem,13vw,4.7rem);line-height:.86}
  .faq h2{font-size:clamp(2.8rem,12.5vw,4.5rem)}.faq details{padding:1.15rem 0}.faq summary{line-height:1.2}
  .final-cta{min-height:68svh}.final-cta h2{font-size:clamp(3.5rem,16vw,5.7rem);line-height:.76}
  .footer{padding-left:var(--gutter);padding-right:var(--gutter)}.footer__bottom{grid-template-columns:1fr 1fr;column-gap:1.25rem}.footer__bottom a{overflow-wrap:anywhere}
  .language-invitation{max-height:calc(100svh - 2rem);overflow:auto;padding:1.25rem}.language-invitation h2{font-size:clamp(1.75rem,9vw,2.6rem)}
  .studio-hero{padding-top:6.5rem;padding-bottom:5.5rem}.studio-hero h1{font-size:clamp(3.5rem,16vw,5.3rem)}.studio-hero__body{margin-top:3rem}
  .studio-hero__visual{height:112vw;margin-top:3.5rem}.studio-approach{padding-top:15rem}.studio-approach,.studio-values,.studio-capabilities{padding-left:var(--gutter);padding-right:var(--gutter)}
  .studio-section-head h2{font-size:clamp(2.9rem,13vw,4.8rem)}.studio-approach__body figure{height:112vw}.studio-working__content{padding-left:var(--gutter);padding-right:var(--gutter)}
  .studio-working__content h2{font-size:clamp(3rem,13.5vw,4.9rem)}.studio-capabilities__groups article{min-height:25rem}.studio-capabilities__groups h3{font-size:clamp(3rem,13vw,4.5rem)}
  .project-intro{padding:5.5rem var(--gutter) 3.5rem}.project-intro h1{font-size:clamp(3.2rem,15vw,5.2rem);line-height:.82;margin:1.5rem 0 2.5rem}
  .project-form-wrap{padding:4rem var(--gutter)}.project-form fieldset{padding:1.6rem 0}.project-form input,.project-form select,.project-form textarea{font-size:16px}.check-grid{gap:1rem}.check-grid label{line-height:1.25}
}
@media(min-width:761px) and (max-width:1050px){
  :root{--gutter:clamp(1.5rem,3.2vw,2.4rem)}
  .desktop-nav{gap:1.2rem;font-size:.7rem}.hero__title{font-size:clamp(6.5rem,14vw,9.5rem)}
  .services--engagements .engagement-list{grid-template-columns:repeat(2,minmax(0,1fr))}.services--engagements .service-item{min-height:25rem}
  .services--engagements .service-item:nth-child(3){grid-column:1/-1;min-height:21rem}.services--engagements .service-item h3{font-size:clamp(2.5rem,5vw,4rem)}
  .process ol{grid-template-columns:repeat(2,1fr)}.process li:nth-child(2){border-right:0}.process li{border-bottom:1px solid var(--line)}
  .faq{gap:2rem}.studio-capabilities__groups{grid-template-columns:1fr 1fr}.studio-capabilities__groups article:nth-child(3){grid-column:1/-1;min-height:28rem}
}
@media(prefers-reduced-motion:reduce){.project__mobile-art img{transform:none!important}}
