/* Shared layout contract. Keep typography, color, imagery and motion in style.css. */
:root {
  --space-8:.5rem;
  --space-16:1rem;
  --space-24:1.5rem;
  --space-32:2rem;
  --space-48:3rem;
  --space-64:4rem;
  --space-80:5rem;
  --space-96:6rem;
  --page-gutter:var(--space-48);
  --column-gap:clamp(2rem,4vw,4rem);
  --section-space:clamp(3rem,2rem + 3vw,5rem);
  --section-rhythm:var(--section-space);
  --service-icon-column:var(--space-32);
  --service-text-gap:var(--space-24);
}
.wrap{width:min(1320px,calc(100% - var(--page-gutter) * 2));margin-inline:auto}
.header{gap:var(--space-32);padding-block:var(--space-24)}
.header nav{gap:var(--space-24)}
.wordmark,.header nav,.talk{min-width:0}
.hero-concept{gap:var(--space-48);padding-block:var(--space-48)}
.hero-concept-copy{padding-block:var(--space-16)}
.hero-concept .eyebrow{margin-bottom:var(--space-24)}
.concept-intro{margin-top:var(--space-24)}
.hero-actions{gap:var(--space-24);margin-top:var(--space-24)}
.hero-slider{margin-bottom:0}
.hero-slider-controls{justify-content:center;gap:var(--space-16);margin-top:var(--space-8);padding-top:0}
.hero-slider-dots{justify-content:center}
.hero-slider-controls .hero-slider-dot{width:var(--space-32);min-width:var(--space-32)}
.section-heading{gap:var(--space-24);padding-top:var(--space-24);margin-bottom:var(--space-32)}
.section-heading>p{margin-bottom:0}
.filters{gap:var(--space-8);padding-block:var(--space-16);margin-bottom:var(--space-24)}
.filters button{padding:var(--space-8) var(--space-16)}
.project-grid{column-gap:var(--space-24);row-gap:var(--space-32)}
.project-card,.card-caption>div{min-width:0}
.card-caption{gap:var(--space-16);padding-top:var(--space-16)}
.card-caption p{margin-top:var(--space-8)}
.work-pagination{gap:var(--space-16);margin-top:var(--space-32)}
.work{padding-bottom:var(--section-space)}
.about{gap:var(--column-gap);padding-block:var(--space-48) var(--section-space)}
.about>div{min-width:0}
.about .eyebrow{margin-bottom:var(--space-24)}
.about-copy p{margin-bottom:var(--space-24)}
.about-copy p:last-of-type{margin-bottom:0}
.badge{margin-top:var(--space-32)}
.facts{gap:var(--space-24);margin-top:var(--space-32);margin-bottom:0;padding-top:var(--space-24)}
.facts dt,.project-details dt{margin-bottom:var(--space-8)}
.services{--services-gutter:var(--column-gap);padding-bottom:var(--section-space)}
.services .section-heading{gap:var(--space-8) var(--services-gutter);padding-top:var(--space-24);margin-bottom:var(--space-16)}
.services .section-heading>p{padding-left:calc(var(--service-icon-column) + var(--service-text-gap));margin:0}
.services .services-grid{column-gap:var(--services-gutter)}
.services .service{grid-template-columns:var(--service-icon-column) minmax(0,1fr);column-gap:var(--service-text-gap);row-gap:var(--space-8);padding-block:var(--space-24)}
.services .service p{margin:0}
.testimonials{padding-bottom:var(--space-48)}
.review-editorial{gap:var(--column-gap);padding-block:0 var(--space-32);border-top:0}
.review-intro,.review-stage{min-width:0}
.review-intro .eyebrow{margin-bottom:var(--space-24)}
.review-source{margin-top:var(--space-24)}
.review-stage{justify-content:flex-start;align-self:start}
.review-quotes{min-height:0}
.review-slide blockquote{margin:0 0 var(--space-24)}
.review-slide figcaption{padding-left:var(--space-16)}
.review-controls{gap:var(--space-24);margin-top:var(--space-24)}
.review-arrows{gap:var(--space-8)}
.contact,.contact-concept{padding-block:var(--space-64)}
.contact-concept-grid{gap:var(--space-48)}
.contact .eyebrow,.contact-concept .eyebrow{margin-bottom:var(--space-24)}
.contact-concept-copy{min-width:0}
.contact .email,.contact-concept .email{margin-top:var(--space-24);padding-bottom:var(--space-8)}
.email-tools{margin-top:var(--space-16)}
.contact-upwork{margin-top:var(--space-24)}
.footer{gap:var(--space-24);padding-block:var(--space-24);padding-right:var(--space-64)}
.project-page{padding-top:var(--space-32)}
.project-intro{padding-block:var(--space-48)}
.project-intro .eyebrow{margin-bottom:var(--space-16)}
.project-details{gap:var(--space-32) var(--column-gap);margin-top:var(--space-32)}
.project-details>p,.project-details dl{min-width:0}
.project-details dl{gap:var(--space-24);margin:0}
.gallery figure{margin-bottom:var(--space-48)}
.gallery figcaption{margin-top:var(--space-8)}
.project-navigation{gap:var(--space-32);padding-block:var(--space-32)}
.project-navigation a{min-width:0;flex:1;max-width:calc((100% - var(--space-32)) / 2)}
.project-navigation span{margin-bottom:var(--space-8)}
.project-cta{gap:var(--space-24);padding-block:var(--space-32);flex-wrap:wrap}
.brandbook{margin-bottom:var(--space-48)}
.brandbook .book-heading{gap:var(--space-16);margin-bottom:var(--space-24)}
.brandbook .book-controls{gap:var(--space-16);padding-block:var(--space-24)}
.brandbook .book-paging{gap:var(--space-16)}
.brandbook .book-notes{gap:var(--space-16);margin-top:var(--space-16)}
.brandbook .book-notes p{margin:0}
.brandbook .book-dialog{padding:var(--space-24)}
.brandbook .book-dialog p{margin-block:var(--space-16)}
@media(max-width:1000px){
  :root{--page-gutter:var(--space-24)}
  .header{gap:var(--space-24)}
  .header nav{gap:var(--space-16)}
  .hero-concept,.contact-concept-grid{gap:var(--space-32)}
  .review-editorial{column-gap:var(--space-32)}
  .project-details{column-gap:var(--space-32)}
  .brandbook .book-controls{flex-wrap:wrap}
}
@media(max-width:700px){
  :root{--page-gutter:var(--space-16);--service-text-gap:var(--space-16)}
  .header{gap:var(--space-16) var(--space-24);padding-block:var(--space-24) var(--space-16)}
  .header nav{gap:var(--space-8);flex-wrap:wrap}
  .hero-concept{gap:var(--space-24);padding-block:var(--space-32)}
  .hero-concept-copy{padding:0}
  .hero-actions{gap:var(--space-16) var(--space-24)}
  .section-heading{padding-top:var(--space-24);margin-bottom:var(--space-24)}
  .section-heading>p{margin-top:var(--space-8)}
  .filters{gap:0;padding-block:var(--space-8);margin-bottom:var(--space-24)}
  .filters button{padding-inline:var(--space-16)}
  .project-grid{row-gap:var(--space-32)}
  .work-pagination{margin-top:var(--space-24)}
  .about{gap:var(--space-32);padding-top:var(--space-32)}
  .badge,.facts{margin-top:var(--space-24)}
  .facts{gap:var(--space-16) var(--space-24);padding-top:var(--space-24)}
  .services .section-heading{row-gap:var(--space-8);margin-bottom:var(--space-16)}
  .services .section-heading>p{padding-left:0}
  .testimonials{padding-bottom:var(--space-32)}
  .review-editorial{gap:var(--space-32);padding-bottom:var(--space-24)}
  .review-intro .eyebrow,.review-source{margin-bottom:0}
  .review-intro .eyebrow{margin-bottom:var(--space-16)}
  .review-source{margin-top:var(--space-16)}
  .review-controls{margin-top:var(--space-24)}
  .contact,.contact-concept{padding-block:var(--space-48)}
  .contact-concept-grid{gap:var(--space-32)}
  .footer{gap:var(--space-16) var(--space-24)}
  .project-page{padding-top:var(--space-24)}
  .project-intro{padding-block:var(--space-32)}
  .project-details{row-gap:var(--space-24);margin-top:var(--space-24)}
  .project-details dl{gap:var(--space-24)}
  .gallery figure,.brandbook{margin-bottom:var(--space-32)}
  .project-navigation{gap:var(--space-24);padding-block:var(--space-24)}
  .project-navigation a{max-width:calc((100% - var(--space-24)) / 2)}
  .project-cta{padding-block:var(--space-24)}
  .brandbook .book-controls{gap:var(--space-16);padding-block:var(--space-16)}
  .brandbook .book-paging{gap:var(--space-8)}
  .brandbook .book-dialog{padding:var(--space-16)}
}
