/* Content hierarchy across core pages and standalone neighbourhood drafts.
   Existing scale fallbacks mirror src/styles/tokens.css for standalone previews. */
body:not(.homepage) main :is(.sectionhead,.section-heading,.service-intro,.planning-layout,.process-intro,.about-story,.showroom-grid,.gallery-notes,.gallery-close,.context-copy,.local-services,.area-band,.guides,.close__copy,.service-faq,.contact-form-layout,.local-faq,.local-closing,.area-directory-section) h2,
body:not(.homepage) main h2.sec-title,
body.service-expanded-page #main h2.sec-title,
body.neighbourhood-draft main .section>h2,
body.neighbourhood-draft main #planning>h2 {
 font-family:SourceSerif,var(--font-display,Georgia,serif);
 font-size:var(--step-3,clamp(1.55rem,1.4rem + .72vw,2.1rem));font-weight:400;
 line-height:var(--leading-snug,1.2);letter-spacing:var(--tracking-tight,-.02em);
 text-wrap:balance;max-width:var(--measure-narrow,46ch);margin-top:0;
}
body:not(.homepage) main :is(.sectionhead,.section-heading,.service-intro,.planning-layout,.about-story,.showroom-grid,.context-layout,.split,.sx__top,.sig__top){align-items:start}
body:not(.homepage) main :is(.sectionhead,.section-heading){gap:var(--space-l,2rem);margin-bottom:var(--space-l,2rem)}
body:not(.homepage) main :is(.sectionhead,.section-heading)>:is(div,p),
body:not(.homepage) main :is(.service-intro,.planning-layout,.about-story,.showroom-grid)>div {min-width:0;align-self:start}
body:not(.homepage) main :is(.sectionhead,.section-heading,.process-intro,.service-intro,.about-story,.showroom-grid,.context-copy,.guide-intro) .eyebrow{
 font-size:var(--step--2,clamp(.694rem,.675rem + .09vw,.741rem));line-height:1.6;letter-spacing:.14em;margin-bottom:var(--space-xs,.75rem)
}
body:not(.homepage) main :is(.intro-body,.context-copy,.service-grid-intro,.about-story,.showroom-grid) p,
body:not(.homepage) main :is(.sectionhead,.section-heading)>p,
body.service-expanded-page main .sec-sub {max-width:62ch;line-height:1.65}
body:not(.homepage) main :is(.process-intro,.planning-layout,.context-copy) h2+p {margin-top:var(--space-s,1rem)}
body:not(.homepage) main :is(.sectionhead,.section-heading) h2 {margin-bottom:0}
body:not(.homepage) main :is(.service-intro,.about-story,.showroom-grid,.process,.areasfaq){column-gap:var(--space-2xl,4rem)}
body:not(.homepage) main :is(.hero-copy,.gallery-heading) h1,
body:not(.homepage) main .hero__h1,
body:not(.homepage) main .pm h1{
 font-family:SourceSerif,var(--font-display,Georgia,serif);
 font-size:var(--step-5,clamp(2.1rem,1.8rem + 1.5vw,3.25rem));
 font-weight:400;line-height:1.12;letter-spacing:-.025em;text-wrap:balance
}
body:not(.homepage) main .prose h2{font-size:var(--step-3,clamp(1.55rem,1.4rem + .72vw,2.1rem));line-height:1.2;letter-spacing:-.02em;margin-top:var(--space-xl,3rem);margin-bottom:var(--space-s,1rem);text-wrap:balance}
body.homepage :is(.home-restored-planning,.home-restored-design-centre,.home-restored-credentials) h2{
 font-family:SourceSerif,var(--font-display,Georgia,serif);font-size:var(--step-3,clamp(1.55rem,1.4rem + .72vw,2.1rem));font-weight:400;line-height:1.2;letter-spacing:-.02em;text-wrap:balance
}
@media(max-width:700px){
 body:not(.homepage) main :is(.sectionhead,.section-heading,.service-intro,.planning-layout,.process-intro,.about-story,.showroom-grid,.gallery-notes,.gallery-close,.context-copy,.local-services,.area-band,.guides,.close__copy,.service-faq,.contact-form-layout,.local-faq,.local-closing,.area-directory-section) h2,
 body:not(.homepage) main h2.sec-title,
body.service-expanded-page #main h2.sec-title,
 body.neighbourhood-draft main .section>h2,
body.neighbourhood-draft main #planning>h2,
 body.homepage :is(.home-restored-planning,.home-restored-design-centre,.home-restored-credentials) h2{font-size:var(--step-2,clamp(1.32rem,1.24rem + .4vw,1.65rem))}
 body:not(.homepage) main :is(.sectionhead,.section-heading){gap:var(--space-s,1rem);margin-bottom:var(--space-m,1.5rem)}
 body:not(.homepage) main :is(.service-intro,.about-story,.showroom-grid,.process,.areasfaq){gap:var(--space-m,1.5rem)}
 body:not(.homepage) main .prose h2{margin-top:var(--space-l,2rem)}
}

/* Numbered planning notes need a real gutter, including wrapped lines. */
body.service-page main .service-intro{padding-block:var(--section-y-tight,clamp(2rem,1.25rem + 3vw,3.5rem))}
body.service-page main .service-intro+.service-intro{padding-top:0}
body.service-page main .intro-body>ul>li:has(>b:first-child){display:grid;grid-template-columns:2ch minmax(0,1fr);column-gap:var(--space-xs,.75rem);margin-block:var(--space-2xs,.5rem)}
body.service-page main .intro-body>ul>li>b:first-child{font-variant-numeric:tabular-nums;font-weight:500}
