/* Shared frame for navigation sections. Keep article and homepage layouts independent. */
html:has(body.section-page){scrollbar-gutter:stable}
body.section-page{--section-width:1304px;--section-gutter:25px;background:#fbfbf9;display:flex;flex-direction:column;min-height:100vh}
.section-page main{flex:1}
.section-page :is(main>.media-wrap,.brief-hero>.media-wrap,.brief-list>.media-wrap){width:100%;max-width:var(--section-width);padding-inline:var(--section-gutter);box-sizing:border-box;margin-inline:auto}
.section-page :is(.rd-directory,.rd-contact){width:100%;max-width:var(--section-width);margin:0 auto;padding:0 var(--section-gutter) 64px;box-sizing:border-box;min-height:0}
.section-page .media-main{padding:0 0 64px}
.section-page .section-head{box-sizing:border-box;width:100%;max-width:none;min-height:224px;margin:0;padding:40px 0 32px;text-align:left;border:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
.section-page .section-head :is(.kicker,.rd-label){display:block;color:#a42130;font:600 10px/14px var(--sans);letter-spacing:.11em;text-transform:uppercase;margin:0 0 12px}
.section-page .section-head h1{font:600 48px/1.08 var(--serif);letter-spacing:-.035em;text-transform:none;margin:0 0 16px;color:#102334;max-width:100%;overflow-wrap:break-word}
.section-page .section-head :is(.deck,p){max-width:760px;font:15px/1.6 var(--sans);color:#53636f!important;margin:0}
.section-page .article-head.section-head,.section-page.membership-page main>.section-head{max-width:var(--section-width);padding-inline:var(--section-gutter);margin-inline:auto}
.section-page .article-layout{display:block;max-width:var(--section-width);margin:0 auto;padding:0 var(--section-gutter) 64px;box-sizing:border-box;width:100%}
.section-page :is(.article-prose,.section-prose){max-width:760px;font:16px/1.7 var(--sans)!important;color:#102334}
.section-page :is(.article-prose,.section-prose) h2{font:600 26px/1.2 var(--serif);letter-spacing:-.015em;margin:28px 0 12px;text-transform:none}
.section-page :is(.article-prose,.section-prose)>:first-child{margin-top:0}
.section-page :is(.article-prose,.section-prose) p{margin:0 0 18px}
.section-page .rd-directory .rd-analysis-grid{margin-top:0}
.section-page .rd-directory>#data-overview{margin-top:0}
.section-page .rd-contact-email{margin-top:0}
.section-page .brief-hero{background:transparent;color:#102334;padding:0;border:0}
.section-page .brief-hero .membership-actions{margin:0 0 32px!important}
.section-page .brief-hero .membership-actions .text-link{color:#173e55}
.section-page .brief-list{padding:0 0 64px}
.section-page .membership-hero{padding:32px 0;background:#102b3d}
.section-page .membership-pitch{font:600 42px/1.08 var(--serif);letter-spacing:-.035em;margin:12px 0 16px;color:#fff}
.section-page .membership-section{padding:48px 0}
@media(max-width:650px){
 body.section-page{--section-gutter:20px}
 .section-page .section-head{min-height:238px;padding:32px 0 28px}
 .section-page .section-head h1{font-size:36px;line-height:1.1;margin-bottom:14px}
 .section-page .section-head :is(.deck,p){font-size:14px;line-height:1.55}
 .section-page :is(.article-prose,.section-prose){font-size:15px!important;line-height:1.65!important}
 .section-page :is(.article-prose,.section-prose) h2{font-size:24px}
 .section-page .membership-pitch{font-size:34px}
 .section-page :is(.rd-directory,.rd-contact,.article-layout){padding-bottom:48px}
}

.section-page.membership-page .media-wrap{width:100%;max-width:var(--section-width);padding-inline:var(--section-gutter);box-sizing:border-box;margin-inline:auto}
@media(max-width:360px){.section-page .section-head{min-height:260px}.section-page .section-head h1{font-size:32px}}
