/* Shared reading rhythm and navigation. Solid surfaces inherit contrast.css tokens. */
body .container, body.steward-home .container, body .membership-page .container {
  width:min(1280px,calc(100% - 80px));
}
body .site-header, body.steward-home .site-header {
  height:auto;min-height:0;padding:16px max(40px,calc((100% - 1280px)/2));gap:24px;
}
body .site-header .brand-home{flex:0 0 auto;}
body .site-header .header-logo{width:220px;height:220px;object-fit:contain;}
body .site-header nav{display:flex;position:static;gap:22px;padding:0;flex-direction:row;font-size:18px;background:transparent;}
body .site-header nav a{white-space:nowrap;min-height:48px;display:flex;align-items:center;}
body .site-header nav a[aria-current=page]:after{width:100%;height:2px;background:var(--os-accent);}
body .site-header .header-cta{white-space:nowrap;font-size:18px;}
body .site-header .menu-toggle{display:none;}
.site-utilities{border-block:1px solid var(--os-accent);}
.utility-layout{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:10px;}
body .site-utilities .market-status, body .site-utilities .motion-toolbar {
  margin:0;padding:0;min-height:0;border:0;width:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;
}
body .site-utilities .market-status{flex:1;}
body .site-utilities .motion-toolbar{flex:0 0 auto;justify-content:flex-end;}
body .site-utilities button{min-height:44px;}
.site-utilities #motion-state{max-width:210px;font-size:14px;line-height:1.4;}
body .site-utilities .market-status-note{font-size:14px;}
body .site-utilities .market-status-details{flex-basis:100%;position:static;margin:10px 0 0;max-width:680px;}
body .page-hero, body .membership-hero{padding:72px 0 80px;}
body .page-hero h1, body .membership-hero h1{font-size:clamp(52px,6vw,84px);line-height:1.06;letter-spacing:-.035em;max-width:960px;margin:24px 0;}
body .page-hero p, body .membership-hero>.container>p{font-size:23px;line-height:1.65;max-width:780px;}
body .page-hero .breadcrumb{display:block;margin-bottom:28px;font-size:16px;letter-spacing:.08em;}
body .chapter-nav, body.steward-home .chapter-nav {
  display:block;position:sticky;top:0;z-index:18;padding:0;border-block:1px solid var(--os-accent);backdrop-filter:none;
}
body .chapter-nav>.container, body.steward-home .chapter-nav>.container {
  display:flex;align-items:center;gap:30px;flex-wrap:nowrap;min-height:68px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;
}
body .chapter-nav span{font-size:12px;white-space:nowrap;letter-spacing:.12em;margin-right:auto;}
body .chapter-nav a, body.steward-home .chapter-nav a{display:block;white-space:nowrap;font-size:18px;line-height:1.4;padding:21px 0 18px;text-decoration:none;border-bottom:3px solid transparent;}
body .chapter-nav a:hover, body .chapter-nav a[aria-current=location]{border-bottom-color:var(--os-accent);}
body main [id]{scroll-margin-top:90px;}
body main>.section-space, body main>.compact-section, body main>.membership-section, body main>.membership-light>.membership-section,
body.steward-home main>.section-space{padding-block:88px;}
body .section-heading{gap:48px;margin-bottom:44px;}
body .section-heading h2{margin-bottom:0;}
.section-bridge{max-width:850px;font-size:21px;line-height:1.65;margin:0 0 44px;padding-left:24px;border-left:3px solid var(--os-accent);}
.section-next{display:flex;align-items:center;gap:40px;justify-content:space-between;margin-top:36px;}
.section-next>p{max-width:760px;margin:0;font-size:19px;line-height:1.65;}
.section-next .button{flex-shrink:0;}
body .scenario-invitation .scenario-disclosure{margin:0;padding:0;border:0;}
body .scenario-invitation .outcomes{padding-block:88px;}
body .scenario-invitation .outcomes>.container{width:min(1280px,calc(100% - 80px));}
.membership-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.membership-preview-grid article{padding:30px 0;border-block:1px solid var(--os-accent);}
.membership-preview-price{font-family:Georgia,serif;font-size:52px;line-height:1.2;margin:24px 0 10px;}
.membership-preview-price span{font-family:Arial,sans-serif;font-size:18px;white-space:nowrap;}
body .guide-layout{display:block;max-width:920px;}
body .guide-layout .guide-section{padding-block:64px;}
body .closing, body.steward-home .closing{padding-block:88px;}
body .closing .closing-layout{max-width:1160px;}
body .closing .closing-content h2{font-size:clamp(42px,4.5vw,64px);line-height:1.12;margin:20px 0;}
body .closing .closing-copy{font-size:22px;line-height:1.65;}
.closing-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
body .site-footer .footer-main{gap:48px;}
body .site-footer nav a{line-height:1.5;min-height:40px;}
@media(max-width:1320px){
 body .site-header nav{display:none;position:absolute;left:0;right:0;top:100%;padding:24px 40px;flex-direction:column;gap:8px;border-bottom:1px solid var(--os-accent);z-index:50;}
 body .site-header nav.open{display:flex;}
 body .site-header .header-cta{margin-left:auto;}
 body .site-header .menu-toggle{display:flex;}
 body .chapter-nav span{display:none;}
}
@media(max-width:900px){
 body .container, body.steward-home .container, body .membership-page .container{width:calc(100% - 40px);}
 body .site-header, body.steward-home .site-header{padding:12px 20px;gap:16px;}
 body .site-header .header-logo{width:180px;height:180px;}
 .utility-layout{align-items:flex-start;gap:12px;}
 body .site-utilities .market-status-note{flex-basis:100%;}
 .site-utilities #motion-state{display:block;max-width:190px;}
 body .site-utilities .motion-toolbar{max-width:200px;justify-content:flex-start;}
 body .chapter-nav>.container, body.steward-home .chapter-nav>.container{gap:24px;min-height:62px;}
 body .chapter-nav a, body.steward-home .chapter-nav a{font-size:17px;padding-block:18px 15px;}
 body .page-hero, body .membership-hero{padding:56px 0 64px;}
 body .page-hero p, body .membership-hero>.container>p{font-size:21px;}
 body main>.section-space, body main>.compact-section, body main>.membership-section, body main>.membership-light>.membership-section,
 body.steward-home main>.section-space, body .scenario-invitation .outcomes, body .closing, body.steward-home .closing{padding-block:64px;}
 body .scenario-invitation .outcomes>.container{width:calc(100% - 40px);}
 body .section-heading{gap:24px;}
 .section-next{flex-direction:column;align-items:flex-start;gap:24px;}
 .section-bridge{font-size:20px;margin-bottom:32px;}
}
@media(max-width:600px){
 body .site-header .header-logo{width:148px;height:148px;}
 body .site-header, body.steward-home .site-header{padding:10px 14px;gap:10px;}
 body .site-header .header-cta{font-size:16px;padding:12px 10px;}
 body .site-header nav{padding:20px;}
 body .site-utilities .market-status button{font-size:15px;}
 .site-utilities #motion-state{font-size:13px;}
 body .site-utilities .motion-toolbar{max-width:145px;}
 body .site-utilities .site-motion-toggle{font-size:14px;padding:10px;}
 body .site-utilities .market-status-note{font-size:12px;}
 body .page-hero h1, body .membership-hero h1{font-size:clamp(42px,10vw,58px);}
 .membership-preview-grid{grid-template-columns:1fr;gap:0;}
 .membership-preview-grid article{padding:24px 0;border-bottom:0;}
 .membership-preview-grid article:last-child{border-bottom:1px solid var(--os-accent);}
 .membership-preview-price{font-size:44px;margin-top:16px;}
 .closing-actions{justify-content:center;}
 body .closing .closing-copy{font-size:20px;}
}
/* Overlay menus inherit the black masthead, including when expanded on small screens. */
@layer os-contrast {
 .site-header #main-nav.open{background:var(--os-bg)!important;}
 .chapter-nav a:hover,.chapter-nav a[aria-current=location]{border-color:var(--os-accent)!important;}
}

/* Context copy spans the editorial grid without displacing the MX visual. */
.platform-editorial>.section-bridge{grid-column:1/-1;margin:0;}
html{scroll-padding-top:0;}
body main [id]:target,body.steward-home main [id]:target{scroll-margin-top:86px;}
.membership-light+.membership-light{border-top:1px solid var(--os-accent);}
@media(max-width:420px){
 body .site-header,body.steward-home .site-header{padding-inline:12px;gap:8px;}
 body .site-header .header-logo{width:140px;height:140px;}
 body .site-header .header-cta{font-size:15px;padding:10px 8px;min-width:0;}
 body .site-header .header-cta span{display:none;}
 body .site-header .menu-toggle{width:40px;min-width:40px;flex-shrink:0;}
}
@media(max-width:380px){body .site-header .header-logo{width:120px;height:120px;}}
