/* Responsive layout repair, October 2026. Keep content within its column. */
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
.work-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr)}
.approach,.contact{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero-grid>*,.work-grid>*,.services>*,.approach>*,.contact>*,.step>*{min-width:0}
img,video{max-width:100%}
h1,h2,h3,p,.eyebrow,.photo-label,.project-caption,.brand small{overflow-wrap:anywhere}
.button{max-width:100%;white-space:normal}
.project-caption{flex-wrap:wrap;gap:8px 20px}
@media(max-width:800px){
  header{height:auto;min-height:80px;gap:12px;padding:12px 5.5%}
  header .brand{min-width:0;gap:9px;flex:1}
  header .brand img{width:50px;height:50px;flex:none}
  header .brand span{font-size:16px;line-height:1.25;min-width:0}
  header .brand small{font-size:8px;line-height:1.6;letter-spacing:1.1px;margin-top:4px}
  nav{flex:none}
  .nav-contact{padding:10px 12px;white-space:nowrap}
  .hero-grid,.work-grid,.approach,.contact{grid-template-columns:minmax(0,1fr)}
  .hero{padding-top:36px}
  h1{font-size:clamp(38px,10.5vw,72px);line-height:1.04;letter-spacing:-1px;margin:24px 0}
  h2,.approach h2{font-size:clamp(30px,8.5vw,47px);line-height:1.1;letter-spacing:-.6px}
  .intro{font-size:16px}
  .eyebrow{font-size:10px;letter-spacing:1.6px}
  .buttons{gap:18px;margin-top:24px}
  .button{gap:18px;min-height:48px}
  .photo{width:100%;max-width:550px;padding:0;margin:0}
  .photo:before{display:none}
  .photo-label{position:relative;bottom:auto;left:auto;max-width:100%;padding:14px 16px;box-shadow:none;font-size:10px;line-height:1.5}
  .hero-foot{flex-direction:column;align-items:flex-start;font-size:9px;letter-spacing:1.4px;gap:10px}
  .specialisms{gap:12px 20px;letter-spacing:1.3px}
  .specialisms b{display:none}
  .email-panel{padding:24px 18px}
  .email-panel .mail{font-size:clamp(16px,4.5vw,24px)}
  .work-img{height:auto;aspect-ratio:4/3}
  .film-card{height:auto;aspect-ratio:4/3}
  .film-card img{display:block;height:100%}
  .film-caption{left:18px;right:18px;font-size:10px}
  .step{grid-template-columns:24px minmax(0,1fr)}
  footer .brand{gap:10px;max-width:100%}
  footer .brand small{font-size:8px;letter-spacing:1.6px;line-height:1.5;margin-top:4px}
  dialog{width:min(430px,calc(100% - 24px));max-width:calc(100% - 24px);padding:12px}
}
