/* FINAL ALIGNMENT OVERRIDES — one grid, no CTA collisions, premium light footer */
:root{--site-max:1280px;--site-gutter:32px}
html,body{overflow-x:hidden}
.shell,.header-inner,.footer-main,.footer-bottom{
  width:min(calc(100% - (var(--site-gutter)*2)),var(--site-max))!important;
  max-width:var(--site-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.site-header .header-inner{width:min(calc(100% - (var(--site-gutter)*2)),var(--site-max))!important;max-width:var(--site-max)!important}
.site-header .logo-link{margin:0!important;flex:0 0 auto!important}
.site-header .logo-link img{width:132px!important;height:auto!important}

/* Every major section starts and ends on the same grid. */
.section>.shell,.inner-hero>.shell,.page-cta>.shell,.contact-hero>.shell,.brief-guide-section>.shell,
.hero-section>.shell,.production-section>.shell,.testimonials-section>.shell,.site-footer>.shell{
  width:min(calc(100% - (var(--site-gutter)*2)),var(--site-max))!important;
  max-width:var(--site-max)!important;
  margin-inline:auto!important;
}

/* Homepage portfolio heading must align with portfolio cards. */
.production-section .section-heading{width:100%!important;margin-left:0!important;margin-right:0!important}
.production-section .section-heading,
.production-section .production-video-grid{grid-column:1/-1!important}
.production-section .section-heading{grid-template-columns:minmax(0,1fr) minmax(280px,.46fr)!important;gap:72px!important;align-items:end!important}
.production-section .section-heading h2{max-width:760px!important}
.production-section .section-heading p{max-width:380px!important;justify-self:end!important;margin:0!important}
.production-video-grid{width:100%!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important}
.portfolio-card{min-width:0!important}

/* Universal final CTA: consistent placement and guaranteed breathing room. */
.page-cta{padding:88px 0!important}
.page-cta-grid{grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr)!important;gap:76px!important;align-items:center!important}
.page-cta-grid>div:first-child{display:flex!important;flex-direction:column!important;align-items:flex-start!important;min-width:0!important}
.page-cta h2{font-size:clamp(2.65rem,4vw,4.7rem)!important;line-height:.98!important;margin:0!important;max-width:620px!important}
.page-cta h2 em{display:block!important}
.page-cta .button{display:inline-flex!important;position:static!important;margin-top:38px!important;transform:none!important;clear:both!important}
.page-cta .button:hover{transform:translateY(-2px)!important}
.cta-image-grid{grid-template-columns:1.18fr .82fr!important;gap:16px!important;align-items:center!important}
.cta-image-grid img,.cta-image-grid img:nth-child(2){height:236px!important;transform:none!important;object-fit:cover!important}
.cta-image-grid img:nth-child(2){height:208px!important}

/* Why Us: same left edge as header and all other pages. */
[data-page="about"] .page-cta-grid,[data-page="about"] .inner-hero-grid,[data-page="about"] .founders-layout,
[data-page="about"] .split-story-grid,[data-page="about"] .principle-grid{margin-left:0!important;margin-right:0!important}
[data-page="about"] .principle-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
[data-page="about"] .principle{min-height:0!important;grid-template-rows:112px auto 1fr!important;padding:0 0 18px!important}
[data-page="about"] .principle img{height:112px!important}
[data-page="about"] .principle h2{font-size:clamp(1.08rem,1.25vw,1.35rem)!important;line-height:1.08!important;margin:14px 16px 7px!important}
[data-page="about"] .principle p{font-size:.8rem!important;line-height:1.42!important;margin:0 16px!important}
[data-page="about"] .principle>span{display:none!important}

/* Contact page: all modules share one width; clear dark section before footer. */
.brief-guide-section{padding:56px 0 62px!important}
.brief-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
.brief-grid article{min-height:240px!important;grid-template-rows:104px auto 1fr!important;padding:10px 10px 18px!important}
.brief-grid article img{height:104px!important;margin:0 0 12px!important}
.brief-grid article h2{font-size:1.05rem!important;margin:0 0 8px!important}
.brief-grid article p{font-size:.8rem!important;line-height:1.42!important;margin:0!important}
.contact-hero{background:#141414!important;padding:92px 0 104px!important}
.contact-grid{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)!important;gap:72px!important;align-items:center!important}
.contact-copy{position:static!important;max-width:430px!important}
.project-form{width:100%!important}

/* Premium white footer, clearly separate from dark content. */
.site-footer{background:#f7f7f4!important;color:#0d0d0d!important;border-top:1px solid #deded9!important;padding:62px 0 0!important}
.site-footer .footer-main{padding:0 0 52px!important}
.site-footer .footer-brand img{content:url('assets/flowhaze-black.png')!important;width:148px!important;height:auto!important}
.site-footer .footer-brand p,.site-footer .footer-col a,.site-footer .footer-bottom{color:#5f6066!important}
.site-footer .footer-col span{color:#8a8b90!important}
.site-footer .footer-col a:hover{color:#0d0d0d!important}
.site-footer .footer-bottom{border-top:1px solid #deded9!important;padding:22px 0 26px!important}

/* Keep large type editorial, not oversized. */
.inner-hero h1,.contact-hero h1{font-size:clamp(2.8rem,4.2vw,4.9rem)!important}
.section-heading h2,.split-story h2,.founders-copy h2,.ai-showcase-copy h2{font-size:clamp(2.45rem,3.7vw,4.25rem)!important}

@media(max-width:1100px){
  :root{--site-gutter:24px}
  .production-video-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .production-section .section-heading{grid-template-columns:1fr!important;gap:22px!important}
  .production-section .section-heading p{justify-self:start!important;max-width:600px!important}
  .page-cta-grid,.contact-grid{grid-template-columns:1fr!important;gap:46px!important}
  .cta-image-grid{max-width:760px!important}
  [data-page="about"] .principle-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .brief-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}
  .production-video-grid{grid-template-columns:1fr!important}
  .page-cta{padding:70px 0!important}
  .page-cta h2{font-size:clamp(2.35rem,11vw,3.35rem)!important}
  .page-cta .button{margin-top:30px!important}
  .cta-image-grid{grid-template-columns:1fr!important}
  .cta-image-grid img,.cta-image-grid img:nth-child(2){height:210px!important}
  [data-page="about"] .principle-grid,.brief-grid{grid-template-columns:1fr!important}
  .footer-main{grid-template-columns:1fr!important}
}
