/* Responsive corrections loaded last */
.hero-visual img{aspect-ratio:16/9;height:auto;min-height:0;object-fit:contain;object-position:center;background:#d8d4cc}
.hero-visual{justify-content:center}

@media (min-width:1500px){
  body{max-width:1920px;margin-inline:auto}
  .hero{min-height:800px}
  .hero h1{font-size:128px}
}

@media (max-width:1180px){
  header{grid-template-columns:1fr 1.65fr}
  nav{gap:24px}
  .hero{grid-template-columns:44% 56%;min-height:auto}
  .hero-copy{padding-top:55px;padding-bottom:44px}
  .hero h1{font-size:clamp(68px,8vw,92px);margin:70px 0}
  .hero-bottom{grid-template-columns:1fr;gap:30px}
  .section-title{grid-template-columns:.7fr 1.7fr 1fr}
  .service-list article{grid-template-columns:1.45fr 1fr .8fr}
  .ruled{padding-block:95px}
}

@media (max-width:920px){
  header{height:76px;padding-inline:24px;grid-template-columns:1fr auto}
  header nav{display:none}
  header .menu{display:block;border:0;background:transparent;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
  header.open nav{display:flex;position:absolute;z-index:20;top:76px;left:0;right:0;padding:32px 24px;background:#f1f0eb;border-bottom:1px solid;flex-direction:column;align-items:flex-start;gap:24px}
  .hero{grid-template-columns:1fr;padding-inline:24px}
  .hero-copy{min-height:auto;padding:70px 0 60px}
  .hero h1{font-size:clamp(76px,13vw,112px);margin:80px 0}
  .hero-bottom{grid-template-columns:1fr 1fr;gap:50px}
  .hero-visual{border-left:0;border-top:1px solid;padding:24px 0 40px}
  .hero-visual img{width:100%;aspect-ratio:16/9}
  .ruled{margin-inline:24px;padding-block:85px}
  .statement{grid-template-columns:1fr;gap:55px}
  .section-title{grid-template-columns:1fr 2fr;gap:35px}
  .section-title>p:last-child{grid-column:2}
  .service-list article{grid-template-columns:1.2fr 1fr;gap:35px}
  .service-list article>ul{grid-column:2}
  .application-grid,.method,.atelier{grid-template-columns:1fr;gap:65px}
  .application-grid h2{font-size:clamp(60px,10vw,88px)}
  .atelier-copy>p{margin-top:0}
  .atelier-printer+p{margin-top:48px}
  .contact{grid-template-columns:1fr;padding:85px 24px;gap:65px}
  footer{padding-inline:24px}
}

@media (max-width:620px){
  header{height:68px;padding-inline:18px}
  header.open nav{top:68px;padding-inline:18px}
  .hero{padding-inline:18px}
  .hero-copy{padding:48px 0 45px}
  .hero h1{font-size:clamp(59px,19vw,78px);line-height:.82;letter-spacing:-.075em;margin:58px 0}
  .hero-bottom{grid-template-columns:1fr;gap:30px}
  .hero-bottom p{font-size:14px}
  .hero-visual{padding:18px 0 28px}
  .hero-visual img{aspect-ratio:16/10}
  figcaption{flex-direction:column;gap:5px}
  .ruled{margin-inline:18px;padding-block:68px}
  .big-copy{font-size:clamp(34px,10vw,44px)}
  .section-title{grid-template-columns:1fr;gap:32px;margin-bottom:52px}
  .section-title>p:last-child{grid-column:auto}
  .section-title h2,.applications h2,.atelier h2,.contact h2{font-size:clamp(43px,13vw,58px)}
  .service-list article{grid-template-columns:1fr;gap:22px}
  .service-list article>p,.service-list article>ul{grid-column:auto;padding-left:40px}
  .service-head h3{font-size:29px}
  .options{grid-template-columns:1fr;gap:10px}
  .application-grid{margin-top:48px;gap:48px}
  .application-grid h2{font-size:clamp(45px,14vw,62px)}
  .application-grid article{grid-template-columns:32px 1fr}
  .method,.atelier{gap:48px}
  .method li{grid-template-columns:44px 1fr}
  .atelier-copy>p{font-size:19px}
  .atelier-printer+p{margin-top:34px}
  .project-grid img,.project-grid figure:not(.project-main) img{height:auto;aspect-ratio:4/5;object-fit:cover}
  .contact{padding:68px 18px;gap:48px}
  .fields{grid-template-columns:1fr}
  .submit{align-items:stretch}
  footer{padding:35px 18px;grid-template-columns:1fr;gap:28px}
  footer>p:last-child{grid-column:auto}
}

@media (max-width:380px){
  .hero h1{font-size:56px}
  .service-head{grid-template-columns:32px 1fr}
  .service-list article>p,.service-list article>ul{padding-left:32px}
}
