/* Abermaw Decorating — shared vertical rhythm
   Keeps page families visually balanced without forcing identical layouts.
   Loaded after the historical polish layers so spacing is deliberate rather
   than the accumulated result of earlier iterations. */

:root{
  --ad-rhythm-section:clamp(88px,7vw,104px);
  --ad-rhythm-section-compact:clamp(72px,5.8vw,88px);
  --ad-rhythm-hero-top:clamp(88px,7.5vw,108px);
  --ad-rhythm-hero-bottom:clamp(78px,6.5vw,96px);
}

/* Homepage hero: vertically compose the complete copy block inside the usable
   hero field. Earlier rules merely nudged a top offset (34px -> ~60px on a
   short desktop), which was too small to solve the visibly top-heavy layout. */
@media (min-width:1031px){
  html.ad-chrome-ready body.ad-homepage>main>.hero .hero-content{
    top:46%!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
  }
  html.ad-chrome-ready body.ad-homepage>main>.hero .hero-media img{
    object-position:center 63%!important;
  }
  html.ad-chrome-ready body.ad-homepage>main>.hero .hero-kicker{
    margin-bottom:20px!important;
  }
  html.ad-chrome-ready body.ad-homepage>main>.hero .hero-intro{
    margin-bottom:24px!important;
    max-width:860px!important;
    font-size:clamp(1.16rem,1.48vw,1.32rem)!important;
    line-height:1.58!important;
  }
  html.ad-chrome-ready body.ad-homepage>main>.hero .hero-offer-note{
    font-size:.84rem!important;
    line-height:1.55!important;
  }
  html.ad-chrome-ready body.ad-homepage>main>.hero .hero-proof{
    font-size:.84rem!important;
  }
  html.ad-chrome-ready body.ad-homepage>main>.hero .hero-caption{
    font-size:.82rem!important;
  }
}

/* Homepage chapters that use normal document flow should share a measured,
   symmetrical vertical cadence. Immersive/story sections retain their custom
   viewport behaviour. */
body.ad-homepage .services-section,
body.ad-homepage .promise-section,
body.ad-homepage .projects-section,
body.ad-homepage .costs-section{
  padding-top:clamp(104px,8vw,124px)!important;
  padding-bottom:clamp(104px,8vw,124px)!important;
}

/* Shared content-template pages: Services, Areas, About, Costs and Contact. */
body.ad-content-page .hero{
  padding-top:var(--ad-rhythm-hero-top)!important;
  padding-bottom:var(--ad-rhythm-hero-bottom)!important;
}
body.ad-content-page .hub-hero{
  padding-top:clamp(84px,7vw,98px)!important;
  padding-bottom:clamp(68px,5.5vw,82px)!important;
}
body.ad-content-page .section{
  padding-top:var(--ad-rhythm-section)!important;
  padding-bottom:var(--ad-rhythm-section)!important;
}
body.ad-content-page .proof-band{
  padding-top:var(--ad-rhythm-section-compact)!important;
  padding-bottom:var(--ad-rhythm-section-compact)!important;
}
body.ad-content-page .final{
  padding-top:var(--ad-rhythm-section)!important;
  padding-bottom:var(--ad-rhythm-section)!important;
}

/* Contextual navigation is supporting material, so it gets a slightly tighter
   but still symmetrical chapter rhythm. */
body.ad-launch-finished .ad-context{
  padding-top:var(--ad-rhythm-section-compact)!important;
  padding-bottom:var(--ad-rhythm-section-compact)!important;
}

/* Advice hub and long-form guides had noticeably top-heavy hero/main spacing. */
body.ad-advice-hub .advice-hub-hero{
  padding-top:clamp(86px,7vw,98px)!important;
  padding-bottom:clamp(70px,5.5vw,82px)!important;
}
body.ad-advice-hub .advice-topic{
  padding-top:clamp(72px,5.8vw,84px)!important;
  padding-bottom:clamp(72px,5.8vw,84px)!important;
}
body.ad-advice-page .article-hero{
  padding-top:clamp(84px,7vw,98px)!important;
  padding-bottom:clamp(70px,5.5vw,82px)!important;
}
body.ad-advice-page .article-main{
  padding-top:clamp(78px,6.2vw,92px)!important;
  padding-bottom:clamp(78px,6.2vw,92px)!important;
}
body.ad-advice-page .related-section{
  padding-top:var(--ad-rhythm-section-compact)!important;
  padding-bottom:var(--ad-rhythm-section-compact)!important;
}

/* Case-study detail pages already centre their hero copy; equalise the actual
   chapter padding so progression/result sections do not feel top- or bottom-heavy. */
body.ad-case-page .gv-hero-inner{
  padding-top:clamp(76px,6vw,88px)!important;
  padding-bottom:clamp(76px,6vw,88px)!important;
}
body.ad-case-page .gv-section{
  padding-top:clamp(78px,6.2vw,92px)!important;
  padding-bottom:clamp(78px,6.2vw,92px)!important;
}
body.ad-case-page .gv-cta{
  padding-top:clamp(68px,5.5vw,80px)!important;
  padding-bottom:clamp(68px,5.5vw,80px)!important;
}

/* Case-study hub: the old 88/48 hero and almost-zero grid top created a visibly
   uneven hand-off between introduction and projects. */
body.ad-case-hub .hero{
  padding-top:clamp(82px,6.8vw,96px)!important;
  padding-bottom:clamp(64px,5vw,76px)!important;
}
body.ad-case-hub .grid-section{
  padding-top:clamp(26px,2.5vw,36px)!important;
  padding-bottom:var(--ad-rhythm-section)!important;
}
body.ad-case-hub .final{
  padding-top:var(--ad-rhythm-section)!important;
  padding-bottom:var(--ad-rhythm-section)!important;
}

/* Site-wide readability pass. Keep the hierarchy compact, but stop visitor-facing
   supporting copy from dropping into the 10–12px range on normal desktop screens. */
body.ad-launch-finished{
  --ad-readable-label:.80rem;
  --ad-readable-small:.84rem;
  --ad-readable-support:.92rem;
}
body.ad-launch-finished small{
  font-size:var(--ad-readable-label)!important;
}
body.ad-launch-finished :is(
  .section-kicker,
  .availability-label,
  .service-copy>span,
  .principles article>span,
  .story-stage,
  .project-copy span,
  .price-top,
  .buying-steps li>span,
  .fit-points article>span,
  .guide-field label,
  .proposal-head span,
  .proposal-head i,
  .proposal-title small,
  .proposal-line>span,
  .handover-grid span,
  .google-proof-bar__brand,
  .reviews-v2__source,
  .ad-context__eyebrow,
  .ad-context__card span,
  .ad-footer-col h2
){
  font-size:var(--ad-readable-label)!important;
}
body.ad-launch-finished :is(
  .hero-offer-note,
  .hero-proof,
  .hero-caption,
  .service-copy b,
  .project-copy b,
  .price-link,
  .review cite,
  .reviews-v2__summary a,
  .review-v2-card cite,
  .guide-status,
  .photo-field small,
  .form-consent,
  .guide-consent,
  .guide-more-link,
  .project-all-link a,
  .area-page-link,
  .enquiry-next,
  .ad-enquiry__next,
  .google-proof-bar__link,
  .ad-context__card b,
  .ad-footer-bottom
){
  font-size:var(--ad-readable-small)!important;
}
body.ad-launch-finished :is(
  .availability-row p,
  .service-copy p,
  .principles p,
  .project-copy p,
  .price-card>p,
  .price-card li,
  .buying-steps p,
  .fit-points p,
  .quote-copy .quote-caveat,
  .proposal-line p,
  .handover-note,
  .handover-grid p,
  .ad-context__card p,
  .advice-card p
){
  font-size:var(--ad-readable-support)!important;
}

@media(min-width:1241px){
  body.ad-launch-finished .ad-site-nav a{font-size:.76rem!important}
  body.ad-launch-finished .ad-site-cta{font-size:.74rem!important}
}

@media(max-width:700px){
  :root{
    --ad-rhythm-section:clamp(68px,16vw,82px);
    --ad-rhythm-section-compact:clamp(56px,13vw,68px);
    --ad-rhythm-hero-top:clamp(66px,15vw,78px);
    --ad-rhythm-hero-bottom:clamp(60px,14vw,72px);
  }
  body.ad-launch-finished{
    --ad-readable-label:.76rem;
    --ad-readable-small:.80rem;
    --ad-readable-support:.90rem;
  }
  html.ad-chrome-ready body.ad-homepage>main>.hero .hero-intro{
    font-size:1.08rem!important;
    line-height:1.58!important;
  }
  html.ad-chrome-ready body.ad-homepage>main>.hero .hero-offer-note{
    font-size:.78rem!important;
  }
  html.ad-chrome-ready body.ad-homepage>main>.hero .hero-proof,
  html.ad-chrome-ready body.ad-homepage>main>.hero .hero-caption{
    font-size:.76rem!important;
  }
  body.ad-homepage .services-section,
  body.ad-homepage .promise-section,
  body.ad-homepage .projects-section,
  body.ad-homepage .costs-section{
    padding-top:var(--ad-rhythm-section)!important;
    padding-bottom:var(--ad-rhythm-section)!important;
  }
  body.ad-advice-hub .advice-hub-hero,
  body.ad-advice-page .article-hero,
  body.ad-case-hub .hero{
    padding-top:var(--ad-rhythm-hero-top)!important;
    padding-bottom:var(--ad-rhythm-hero-bottom)!important;
  }
  body.ad-case-page .gv-hero-inner{
    padding-top:var(--ad-rhythm-hero-top)!important;
    padding-bottom:var(--ad-rhythm-hero-bottom)!important;
  }
}
