/* rp79 — shared subpage rhythm system (not loaded on the homepage). Structure + spacing only. */
html body:is(.supporting-page,.editorial-page){
 --rp-h2:clamp(2.5rem,1.6vw + 2.1rem,4rem);
 --rp-h3:clamp(1.75rem,.9vw + 1.5rem,2.25rem);
 --rp-after-h2:clamp(.875rem,.3vw + .8rem,1.125rem);
 --rp-after-h3:.5rem;
 --rp-flow:1rem;
 --rp-sec:clamp(3.5rem,4vw + 2.5rem,6rem);
 --rp-measure:44rem;
}
/* 1 prose flow: every long-form container shares one vertical rhythm */
html body:is(.supporting-page,.editorial-page) :is(.guide-article,.page-copy,.story-copy,.terms-body > section,.g8-sec.rp46,.g8-prose)>*{margin-top:0;margin-bottom:0}
html body:is(.supporting-page,.editorial-page) :is(.guide-article,.page-copy,.story-copy,.terms-body > section,.g8-sec.rp46,.g8-prose)>*+*{margin-top:var(--rp-flow)}
html body:is(.supporting-page,.editorial-page) :is(.guide-article,.page-copy,.story-copy,.terms-body > section,.g8-sec.rp46,.g8-prose,.local-article,.local-extra)>h2{margin-top:var(--rp-h2);margin-bottom:0}
html body:is(.supporting-page,.editorial-page) :is(.guide-article,.page-copy,.story-copy,.terms-body > section,.g8-sec.rp46,.g8-prose,.local-article,.local-extra)>h3{margin-top:var(--rp-h3);margin-bottom:0}
html body:is(.supporting-page,.editorial-page) :is(.guide-article,.page-copy,.story-copy,.terms-body > section,.g8-sec.rp46,.g8-prose,.local-article,.local-extra)>h2+*{margin-top:var(--rp-after-h2)}
html body:is(.supporting-page,.editorial-page) :is(.guide-article,.page-copy,.story-copy,.terms-body > section,.g8-sec.rp46,.g8-prose,.local-article,.local-extra)>h3+*{margin-top:var(--rp-after-h3)}
html body:is(.supporting-page,.editorial-page) :is(.guide-article,.page-copy,.story-copy,.terms-body > section,.g8-sec.rp46,.g8-prose)>:is(h2,h3):first-child{margin-top:0}
html body:is(.supporting-page,.editorial-page) :is(.guide-article,.page-copy,.story-copy,.terms-body > section,.g8-sec.rp46,.g8-prose,.local-article,.local-extra)>h2+h3{margin-top:clamp(1.25rem,.9vw + 1rem,1.75rem)}
html body:is(.supporting-page,.editorial-page) :is(.guide-article,.page-copy,.story-copy,.terms-body > section,.g8-sec.rp46,.g8-prose,.local-article,.local-extra)>h2+h2{margin-top:var(--rp-h2)}
/* the sub-sections inside an article (FAQ, related links, CTA boxes) open at section scale */
html body:is(.supporting-page,.editorial-page) .guide-article>:is(section,aside,.rp54-cta,.reach-related){margin-top:var(--rp-h2)}
html body:is(.supporting-page,.editorial-page) .guide-article>:is(section,aside)>h2:first-child{margin:0 0 var(--rp-after-h2)}
html body:is(.supporting-page,.editorial-page) .guide-article>.reach-related{padding-top:clamp(1.5rem,1vw + 1.25rem,2rem)}
html body:is(.supporting-page,.editorial-page) .guide-article>.guide-byline{margin-top:clamp(2rem,2vw + 1.5rem,3rem)}
/* readable measure on desktop */
html body:is(.supporting-page,.editorial-page) .guide-article{max-width:var(--rp-measure)}
html body:is(.supporting-page,.editorial-page) :is(.guide-article,.page-copy,.story-copy)>:is(p,ul,ol){max-width:65ch}
html body:is(.supporting-page,.editorial-page) .g8-caption,html body:is(.supporting-page,.editorial-page) :is(.g8-sec,.g8-prose) p{max-width:65ch}
/* lists: one style everywhere */
html body:is(.supporting-page,.editorial-page) :is(.guide-article,.page-copy,.story-copy,.g8-sec.rp46,.local-article,.local-extra)>:is(ul,ol):not([class]){padding-left:1.25rem}
html body:is(.supporting-page,.editorial-page) :is(.guide-article,.page-copy,.story-copy,.g8-sec.rp46,.local-article,.local-extra)>:is(ul,ol):not([class])>li+li{margin-top:.375rem}
html body:is(.supporting-page,.editorial-page) .reach-steps{padding-left:1.5rem}
html body:is(.supporting-page,.editorial-page) .reach-steps>li{padding:0 0 0 .5rem}
html body:is(.supporting-page,.editorial-page) .reach-steps>li+li{margin-top:1rem}
/* FAQ: identical rows */
html body:is(.supporting-page,.editorial-page) .guide-faq details{padding:1.125rem 0}
html body:is(.supporting-page,.editorial-page) .guide-faq summary{line-height:1.4}
html body:is(.supporting-page,.editorial-page) .guide-faq details>:not(summary){margin-top:.625rem}
/* price calculator: neutralise inline spacing so it sits in the flow */
html body:is(.supporting-page,.editorial-page) form#prijs-calc.price-calc{margin-top:var(--rp-after-h2)!important;margin-bottom:0!important}
/* tables: fit the column on mobile instead of side-scrolling or spilling out of the viewport */
html body:is(.supporting-page,.editorial-page) .rp73-tw{overflow-x:auto}
html body:is(.supporting-page,.editorial-page) .rp73-t :is(th,td){padding:12px 14px;overflow-wrap:break-word;hyphens:auto}
@media (max-width:700px){
 html body:is(.supporting-page,.editorial-page) main table{display:table;width:100%;max-width:100%;table-layout:auto;font-size:14px}
 html body:is(.supporting-page,.editorial-page) main table :is(td,th){min-width:0;padding:10px 8px;overflow-wrap:anywhere;hyphens:auto}
}
/* terms: numbered sections divided evenly */
html body:is(.supporting-page,.editorial-page) .terms-body>section{margin-bottom:clamp(2.5rem,2vw + 2rem,3.5rem);padding-bottom:clamp(1.75rem,1vw + 1.5rem,2.5rem)}
html body:is(.supporting-page,.editorial-page) .terms-body>section>h2:first-child{margin-bottom:var(--rp-after-h2)}
/* local pages: one section gap between article and the next block */
html body:is(.supporting-page,.editorial-page) article.local-article{padding-bottom:0}
html body:is(.supporting-page,.editorial-page) article.local-article+section{margin-top:var(--rp-sec)}
/* privacy/bedankt: space below the hero */
html body:is(.supporting-page,.editorial-page) .page-hero+.page-copy{padding-top:var(--rp-sec)!important}
/* offerte: the inline form stays in the page flow on mobile (it was pinned over the top of the page) */
html body:is(.supporting-page,.editorial-page) .quote-dialog.rp54-inline,html body:is(.supporting-page,.editorial-page) .quote-dialog.rp54-inline[open]{position:static;inset:auto;height:auto;max-height:none;transform:none}
/* reach steps: title and explanation read as one unit */
html body:is(.supporting-page,.editorial-page) .reach-steps>li>p{margin:.375rem 0 0}
html body:is(.supporting-page,.editorial-page) .reach-steps>li>p+p{margin-top:.75rem}
/* calculator internals */
html body:is(.supporting-page,.editorial-page) #prijs-calc>br{display:none}
html body:is(.supporting-page,.editorial-page) #prijs-calc>label{display:block;margin:0 0 .5rem}
html body:is(.supporting-page,.editorial-page) #prijs-calc>#calc-m2{display:block;width:100%;max-width:240px!important;min-height:48px;margin:0 0 1rem!important}
html body:is(.supporting-page,.editorial-page) #prijs-calc #calc-out>p{margin:0}
html body:is(.supporting-page,.editorial-page) #prijs-calc #calc-out>p+p{margin-top:.5rem}
/* guide headings: centred title gets a centred lead, byline and button */
@media (min-width:701px){
 html body:is(.supporting-page,.editorial-page) .guide-heading>p,html body:is(.supporting-page,.editorial-page) .guide-heading>.rp72-author,html body:is(.supporting-page,.editorial-page) .guide-heading .rp72-author>p{margin-left:auto;margin-right:auto}
 html body:is(.supporting-page,.editorial-page) .guide-heading>.page-actions{justify-content:center}
}
/* privacy/bedankt hero: one clean column above the text instead of a split grid */
html body:is(.supporting-page,.editorial-page) main>.page-hero{display:block;max-width:850px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;box-sizing:border-box}
html body:is(.supporting-page,.editorial-page) main>.page-hero>.overline{display:block;margin:0 0 1rem}
html body:is(.supporting-page,.editorial-page) main>.page-hero>h1{margin:0}
html body:is(.supporting-page,.editorial-page) main>.page-hero>p{margin:1.25rem 0 0;max-width:42ch}
/* card titles: icon and title read as a pair */
html body:is(.supporting-page,.editorial-page) .kw17-card>.kw17-ic+h3{margin-top:.875rem}
/* nieuwbouwadvies hub: photo and text stack with section spacing on mobile */
@media (max-width:700px){html body:is(.supporting-page,.editorial-page) .hub-feature>figure+div{margin-top:2.5rem}}
html body:is(.supporting-page,.editorial-page) main>.page-hero>.page-actions{justify-content:flex-start!important;margin-top:1.75rem}
html body:is(.supporting-page,.editorial-page) main>.page-hero{min-height:0!important;height:auto!important}
html body:is(.supporting-page,.editorial-page) .kw17-card>h3+p{margin-top:.5rem}
html body:is(.supporting-page,.editorial-page) :is(.g8-sec,.g8-prose,.guide-article,.page-copy) li{max-width:65ch}
html body:is(.supporting-page,.editorial-page) p.source-note{max-width:min(65ch,26rem)}
html body:is(.supporting-page,.editorial-page) .rp73-tw>table.rp73-t{width:100%;font-size:.875rem}
html body:is(.supporting-page,.editorial-page) .rp73-t :is(th,td){padding:12px 8px;overflow-wrap:normal;word-break:normal;hyphens:manual}
html body:is(.supporting-page,.editorial-page) .kw17-card>.kw17-tag+h3{margin-top:.75rem}
