/* Shutteris Stage 7A.5 — global footer, typography, solid-brand and responsive refinement. */
:root{--stage7-black:#080808;--stage7-red:#AD2826;--stage7-gold:#C5A45D;--stage7-paper:#F7F5F2;--stage7-line:#DDD7D0}

/* Remove remaining decorative page-background gradients/motion. */
body{background:#fff!important;color:#171313;line-height:1.65}
body::before,body::after{display:none!important;animation:none!important;background:none!important}
.section:after,.all-pricing:after,.conversion-card:after,.package-guide-card.premium:after,.standard-card:after{display:none!important}
.btn:before{display:none!important}
.footer,.quick-contact,.fullbleed-gallery,.gallery-hero,.home-films,.makeup-gradient,.academy-gradient,.package-card.featured,.rate-card-hero,.service-booking-hero,.package-guide-card.premium{background-image:none!important;animation:none!important}
.footer,.gallery-hero,.home-films,.package-card.featured,.rate-card-hero,.service-booking-hero,.package-guide-card.premium{background-color:var(--stage7-black)!important}
.quick-contact,.fullbleed-gallery,.makeup-gradient,.academy-gradient{background-color:var(--stage7-red)!important}
.package-guide,.home-standard,.premium-brief,.pricing-page #weddings{background:var(--stage7-paper)!important;background-image:none!important}
.conversion-card{background:#fff!important;background-image:none!important}
.price-nav a:hover,.price-nav a.active,.pricing-page .pricing-row a,.archive-filters button:hover,.archive-filters button.active,.booking-next-steps li:before{background:var(--stage7-red)!important;background-image:none!important}

/* Restrained, classic typography. */
body,input,select,textarea,button{font-family:var(--font-sans,Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif)}
h1,h2,h3{text-wrap:balance}
p{ text-wrap:pretty }
.page-hero h1,.service-hero h1,.article h1,.legal h1{font-size:clamp(44px,5.8vw,82px)!important;line-height:.96!important;letter-spacing:-.045em!important}
.intro-main h2,.section-head h2,.split-copy h2,.form-note h2,.editorial h2,.quick-contact h2,.pricing-title h2,.booking-summary h2,.booking-form-head h2{font-size:clamp(36px,4.4vw,62px)!important;line-height:1!important;letter-spacing:-.035em!important}
.article-body h2,.legal h2{font-size:clamp(29px,3.2vw,40px)!important;line-height:1.06!important}
.article .lead,.lead{font-size:clamp(17px,1.5vw,19px)!important}
.section-head p,.intro-main p,.split-copy p,.editorial p,.article-body p,.legal p{line-height:1.72}
.eyebrow{letter-spacing:.16em!important}

/* Buttons: solid Shutteris brand, no gradient shine. */
.btn{border-radius:10px!important;box-shadow:none!important;background-image:none!important}
.btn:not(.btn-light):not(.btn-outline):not(.btn-outline-light):not(.btn-glass){background-color:var(--stage7-red)!important}
.btn:hover{filter:none!important;box-shadow:none!important}

/* Global spacing / overflow hardening. */
.section{padding-top:clamp(72px,7vw,96px)!important;padding-bottom:clamp(72px,7vw,96px)!important}
.footer *,main *{min-width:0}
img,video,iframe{max-width:100%}

/* Premium, navigation-led footer. */
.stage7-footer{position:relative;background:var(--stage7-black)!important;color:#fff!important;padding:70px max(4vw,28px) 24px!important;border-top:1px solid #2A1615;overflow:hidden}
.stage7-footer::before{content:"";position:absolute;left:max(4vw,28px);right:max(4vw,28px);top:0;height:3px;background:var(--stage7-red)}
.stage7-footer-inner{max-width:1420px;margin:auto;display:grid;grid-template-columns:minmax(280px,1.45fr) repeat(4,minmax(140px,.72fr));gap:42px;align-items:start}
.stage7-footer-brand{padding-right:16px}.stage7-footer-brand .footer-logo{width:205px!important;margin-bottom:22px}.stage7-footer-brand>p{max-width:390px;margin:0 0 18px;color:#BDBDBD!important;font-size:14px;line-height:1.72}
.stage7-footer-contact{display:grid;gap:7px;margin:21px 0 22px}.stage7-footer-contact a{color:#fff;font-size:13px;font-weight:750}.stage7-footer-contact address{margin:0;color:#BDBDBD;font-style:normal;font-size:13px;line-height:1.6}
.stage7-footer-actions{display:flex;gap:8px;flex-wrap:wrap}.stage7-footer-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 15px;border-radius:8px;font-size:11px;font-weight:900;text-decoration:none}.stage7-footer-actions .primary{background:var(--stage7-red);color:#fff}.stage7-footer-actions .secondary{border:1px solid #555;color:#fff;background:#111}
.stage7-footer-nav h3{margin:3px 0 18px;color:var(--stage7-gold)!important;font-size:10px!important;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.stage7-footer-nav a{display:block;margin:0 0 10px!important;color:#D7D7D7!important;font-size:12.5px!important;line-height:1.35}.stage7-footer-nav a:hover{color:#fff!important}.stage7-footer-nav p{margin:13px 0 0;color:#999!important;font-size:12px!important;line-height:1.55}.stage7-footer-nav b{color:#fff}
.stage7-footer-bottom{max-width:1420px;margin:50px auto 0;padding-top:20px;border-top:1px solid #2A2A2A;display:flex;justify-content:space-between;gap:22px;color:#888;font-size:11px}.stage7-footer-bottom>div{display:flex;gap:16px;flex-wrap:wrap}.stage7-footer-bottom a{color:#BDBDBD}.stage7-footer-bottom a:hover{color:#fff}

/* Floating chat remains useful but quieter. */
.wa{animation:none!important;width:52px!important;height:52px!important;background:var(--stage7-red)!important;box-shadow:0 8px 24px rgba(0,0,0,.22)!important;border:1px solid rgba(255,255,255,.12)}

@media(max-width:1180px){
  .stage7-footer-inner{grid-template-columns:1.2fr repeat(2,1fr);gap:34px}.stage7-footer-brand{grid-row:span 2}.stage7-footer-nav.studios{grid-column:2/-1}
  .page-hero h1,.service-hero h1,.article h1,.legal h1{font-size:clamp(42px,7vw,68px)!important}
}
@media(max-width:800px){
  .section{padding-left:20px!important;padding-right:20px!important}
  .stage7-footer{padding:58px 20px 22px!important}.stage7-footer::before{left:20px;right:20px}.stage7-footer-inner{grid-template-columns:1fr 1fr;gap:32px 22px}.stage7-footer-brand{grid-column:1/-1;grid-row:auto;padding-right:0}.stage7-footer-brand>p{max-width:620px}.stage7-footer-nav.studios{grid-column:auto}.stage7-footer-bottom{margin-top:38px;flex-direction:column;gap:10px}
  .page-hero h1,.service-hero h1{font-size:clamp(40px,10vw,58px)!important}.intro-main h2,.section-head h2,.split-copy h2,.form-note h2,.editorial h2,.quick-contact h2,.pricing-title h2,.booking-summary h2,.booking-form-head h2{font-size:clamp(34px,8.5vw,48px)!important}
  .quick-contact{padding-left:20px!important;padding-right:20px!important}
}
@media(max-width:520px){
  .section{padding-top:60px!important;padding-bottom:60px!important;padding-left:16px!important;padding-right:16px!important}
  .stage7-footer{padding:52px 16px 20px!important}.stage7-footer::before{left:16px;right:16px}.stage7-footer-inner{grid-template-columns:1fr;gap:26px}.stage7-footer-brand{grid-column:auto}.stage7-footer-nav.studios{grid-column:auto}.stage7-footer-brand .footer-logo{width:180px!important}.stage7-footer-actions{display:grid;grid-template-columns:1fr 1fr}.stage7-footer-actions a{width:100%}.stage7-footer-bottom>div{gap:11px 14px}.wa{width:48px!important;height:48px!important;right:max(12px,env(safe-area-inset-right))!important;bottom:max(12px,env(safe-area-inset-bottom))!important}
  .page-hero h1,.service-hero h1,.article h1,.legal h1{font-size:clamp(38px,11.5vw,50px)!important}.article,.legal{padding-left:16px!important;padding-right:16px!important}
  .btn{min-height:46px!important;padding-left:18px!important;padding-right:18px!important}
}
@media(max-width:360px){.stage7-footer-actions{grid-template-columns:1fr}.stage7-footer-inner{gap:22px}.page-hero h1,.service-hero h1{font-size:38px!important}}
@media(prefers-reduced-motion:reduce){.stage7-footer a,.btn,.wa{transition:none!important}}
