/* Broad layout with bounded copy columns. */
.wrap{width:min(1680px,calc(100% - clamp(40px,6.25vw,120px)))}
.hero-bottom p{max-width:620px}
.service-intro{max-width:560px}
.about>div:last-child{max-width:680px}
.cost-note p{max-width:680px}
.included p{max-width:680px}
.portfolio-carousel.is-ready .project{align-content:start}
@media(min-width:1000px){
  .portfolio-carousel.is-ready .project{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:clamp(28px,3vw,56px);align-items:center}
  .portfolio-carousel.is-ready .project-image{aspect-ratio:16/10}
  .portfolio-carousel.is-ready .project-info{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem;padding:0}
  .portfolio-carousel.is-ready .project-info>p{align-self:auto;max-width:430px}
  .portfolio-carousel.is-ready .project-info h3{font-size:clamp(1.8rem,2.15vw,2.7rem)}
  .section-heading h2{width:57%}
  .about{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr)}
  .about .portrait{width:min(100%,430px)}
}
@media(min-width:1600px){
  .hero h1{font-size:clamp(7.5rem,7.4vw,9rem)}
  .section-heading{margin-bottom:3.5rem}
  .portfolio-carousel.is-ready .project{grid-template-columns:minmax(0,2.2fr) minmax(340px,1fr)}
}
@media(min-width:621px) and (max-width:999px){
  .portfolio-carousel.is-ready .project-image{aspect-ratio:16/10}
  .project-info{grid-template-columns:1fr 1fr;gap:1.5rem}
  .service-grid,.cost-note,.about{grid-template-columns:1fr 1.2fr;gap:2rem}
  .support-grid{gap:2rem}
}
@media(max-width:620px){
  .wrap{width:calc(100% - 40px)}
  .portfolio-carousel.is-ready .project-image img{aspect-ratio:16/10}
  .project-info{gap:1.25rem}
}
