/* Final consistency pass — shared width, compact modules, separated dark sections. */
:root{--site-max:1280px;--site-gutter:32px}
.shell{width:min(calc(100% - (var(--site-gutter)*2)),var(--site-max))!important;margin-inline:auto!important}
.site-header .header-inner,.site-footer .shell{padding-left:0!important;padding-right:0!important}
.site-header .logo-link{margin-left:0!important}
.site-header .logo-link img{width:132px!important;height:auto!important}

/* Make dark contact content and footer clearly separate. */
.contact-hero{background:#141414!important;border-bottom:0!important;padding-bottom:96px!important}
.site-footer{background:#080808!important;border-top:1px solid rgba(255,255,255,.13)!important;padding-top:58px!important}
.footer-main{padding-top:0!important}

/* Contact guide and form share the exact same width system. */
.brief-guide-section{padding:58px 0 64px!important}
.brief-grid{gap:16px!important}
.brief-grid article{min-height:252px!important;padding:10px 10px 18px!important;grid-template-rows:104px auto 1fr!important}
.brief-grid article img{height:104px!important;margin-bottom:12px!important}
.brief-grid article h2{font-size:1.08rem!important;margin:0 0 8px!important;min-height:0!important}
.brief-grid article p{font-size:.82rem!important;line-height:1.42!important}
.contact-grid{grid-template-columns:minmax(260px,.72fr) minmax(600px,1.28fr)!important;gap:64px!important;align-items:center!important}
.contact-copy{position:static!important;max-width:430px!important;padding-right:0!important}
.project-form{width:100%!important}

/* Services CTA: prevent overlap and rebalance the image pair. */
[data-page="services"] .page-cta{padding:86px 0!important}
[data-page="services"] .page-cta-grid{grid-template-columns:.9fr 1.1fr!important;gap:72px!important;align-items:center!important}
[data-page="services"] .page-cta h2{margin:0!important;font-size:clamp(2.45rem,4vw,4.4rem)!important;line-height:.98!important}
[data-page="services"] .page-cta h2 em{display:inline-block!important}
[data-page="services"] .page-cta .button{margin-top:34px!important;position:relative!important;z-index:2!important}
[data-page="services"] .cta-image-grid{grid-template-columns:1.15fr .85fr!important;gap:16px!important;align-items:center!important}
[data-page="services"] .cta-image-grid img{height:240px!important;transform:none!important;object-fit:cover!important}
[data-page="services"] .cta-image-grid img:nth-child(2){height:220px!important;transform:none!important}

/* Why Us: keep cards compact across the entire module. */
[data-page="about"] .principle-grid{gap:14px!important}
[data-page="about"] .principle{grid-template-rows:118px auto auto 1fr!important;padding-bottom:18px!important}
[data-page="about"] .principle img{height:118px!important;margin-bottom:12px!important}
[data-page="about"] .principle>span,[data-page="about"] .principle>h2,[data-page="about"] .principle>p{margin-left:16px!important;margin-right:16px!important}
[data-page="about"] .principle>span{display:none!important}
[data-page="about"] .principle h2{font-size:clamp(1.12rem,1.35vw,1.45rem)!important;margin-bottom:8px!important}
[data-page="about"] .principle p{font-size:.82rem!important;line-height:1.4!important}

/* Homepage portfolio: slightly smaller cards with designed caption room. */
.production-video-grid{gap:18px!important}
.portfolio-card{background:#fff!important;border:1px solid rgba(13,13,13,.12)!important;border-radius:16px!important;overflow:hidden!important}
.production-video-tile{border-radius:0!important;aspect-ratio:16/10!important}
.portfolio-caption{padding:14px 16px 16px!important;border-top:1px solid rgba(13,13,13,.1)!important;background:#fff!important;min-height:76px!important}
.portfolio-caption h3{font-size:1rem!important;margin:0 0 5px!important;color:#0d0d0d!important}
.portfolio-caption p{font-size:.78rem!important;line-height:1.35!important;margin:0!important;color:#6a6a70!important}

/* Thank-you hierarchy. */
.thank-you-copy h1{font-size:clamp(2.6rem,4.5vw,4.6rem)!important;line-height:.95!important}
.thank-you-copy h1 .thank-secondary{display:block;font-size:.62em!important;line-height:1.05!important;margin-top:14px!important}

@media(max-width:1100px){
  :root{--site-gutter:24px}
  .contact-grid{grid-template-columns:1fr!important;gap:42px!important}
  .contact-copy{max-width:620px!important}
  [data-page="services"] .page-cta-grid{grid-template-columns:1fr!important;gap:48px!important}
  [data-page="about"] .principle-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  :root{--site-gutter:16px}
  .site-header .logo-link img{width:110px!important}
  .brief-grid{grid-template-columns:1fr!important}
  [data-page="about"] .principle-grid{grid-template-columns:1fr!important}
  [data-page="services"] .page-cta .button{margin-top:28px!important}
}
.netlify-honeypot{position:absolute!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;height:1px!important;width:1px!important;margin:-1px!important;padding:0!important;border:0!important}
