/* ═══ Body to Soul Health — launch polish layer (loaded last) ═══
   Bigger type · stronger contrast · consistent buttons · Collective module */

/* ── type floors ── */
body{font-size:17.5px;}
.lede,.sub{font-size:19px !important;line-height:1.8 !important;color:#46545C !important;}
.hero-light .sub,.hero-cosmic .sub{color:#F3EBE2 !important;}
/* dark-ground exceptions — restore each page's own approved text color on teal sections */
.s9-connect .lede,.s9-connect .sub{color:#D5E1DF !important;}
.melt .lede,.melt .sub{color:#D5E1DF !important;}
.ctaband .sub{color:#F3EBE2 !important;}
.gh-hero .sub{color:#46545C !important;font-size:19.5px !important;}
.pill p,.pillc p{font-size:17.5px !important;}
.card p{font-size:17.5px !important;}
.step p{font-size:17.5px !important;}
.faq .a{font-size:17px !important;line-height:1.75 !important;}
.wk-row p{font-size:17px !important;}
.rd-rev blockquote{font-size:17.5px !important;line-height:1.75 !important;}
.mrow .t{font-size:20px !important;}
.mrow .meta,.feat .meta{font-size:13px !important;color:#6B7A82 !important;}
.t-need{font-size:17px !important;}
.tier li,.tp-inc{font-size:17.5px !important;}
.cmp{font-size:16.5px !important;}
.notice{font-size:15.5px !important;color:#5D6B72 !important;}

/* ── buttons: one consistent system ── */
.btn{font-size:14px !important;letter-spacing:2px !important;padding:17px 36px !important;border-radius:40px !important;font-weight:500 !important;}
.nav-cta{font-size:12.5px !important;letter-spacing:1.8px !important;}
.textlink,.text-link,.arrow-link{font-size:15px !important;letter-spacing:1.6px !important;}
.btn-gold.on-light{color:#96703A !important;border-color:#C9A36A !important;}

/* ── nav ── */
.nav-links a{font-size:13px !important;letter-spacing:1.1px !important;}

/* ── secondary outlined button (hero pairs) ── */
.btn-sec{display:inline-block;font-family:'Jost',sans-serif;font-weight:500;font-size:14px !important;letter-spacing:2px !important;text-transform:uppercase;text-decoration:none;padding:15.5px 34px !important;border-radius:40px !important;border:1.5px solid #C9A36A;color:#15454F !important;background:rgba(250,246,241,.94);transition:all .3s;}
.btn-sec:hover{background:#F5E6DE;transform:translateY(-2px);}

/* ── nav fit (presentation only — structure untouched) ── */
nav .wrap{gap:20px !important;}
.nav-links{gap:18px !important;}
@media(max-width:1240px){
 .nav-links{gap:14px !important;}
 .nav-cta{padding:11px 20px !important;letter-spacing:1.6px !important;}
 .logo .caps{font-size:14px !important;letter-spacing:2.4px !important;}
}
/* hamburger slightly earlier than the original 900px so 13px labels never crowd */
@media(max-width:1020px){
 nav .nav-links, nav .nav-cta{display:none !important;}
 nav .hamb{display:block !important;}
 nav .nav-links.open{display:flex !important;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#082A30;padding:18px 22px 26px;gap:2px;box-shadow:0 24px 40px rgba(0,0,0,.35);z-index:500;}
 nav .nav-links.open a{padding:10px 0;display:block;font-size:13px !important;}
 nav .nav-links.open .dropdown{position:static;opacity:1;visibility:visible;transform:none;background:transparent;border:none;box-shadow:none;padding:2px 0 8px 16px;min-width:0;}
}

/* ── contrast: eyebrows readable on light grounds ── */
.eyebrow{color:#8B6A36;}
.cosmos .eyebrow,.melt .eyebrow,footer .eyebrow,.finalinv .eyebrow{color:#DCC19A !important;}

/* ── decorative opacity must not carry information ── */
footer .legal{font-size:12.5px;opacity:.85 !important;}

/* ── Collective pre-footer module ── */
.b2s-coll{background:linear-gradient(180deg,#F6EFE8 0%,#F5E6DE 100%);text-align:center;padding:96px 0 100px;}
.b2s-coll .wrap{max-width:760px;margin:0 auto;padding:0 32px;}
.b2s-coll .eyebrow{display:block;margin-bottom:14px;}
.b2s-coll h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(32px,3.6vw,46px);color:#15454F;line-height:1.15;margin:0 0 18px;}
.b2s-coll h2 .script{font-family:'Pink Champagne',cursive;color:#F08266;font-size:1.12em;}
.b2s-coll p{font-family:'Jost',sans-serif;font-size:19px;line-height:1.8;color:#46545C;max-width:36em;margin:0 auto 10px;}
.b2s-coll .b2s-coll-lead{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;color:#15454F;margin-bottom:16px;}
.b2s-coll .b2s-coll-rate{font-family:'Jost',sans-serif;font-weight:500;font-size:13.5px;letter-spacing:2.4px;text-transform:uppercase;color:#96703A;margin:18px auto 26px;}
.b2s-coll .btn{display:inline-block;font-family:'Jost',sans-serif;text-transform:uppercase;text-decoration:none;background:#F08266;color:#fff;box-shadow:0 6px 28px rgba(240,130,102,.3);transition:all .3s;}
.b2s-coll .btn:hover{background:#E8714F;transform:translateY(-2px);}

/* ── RD profiles ── */
.spec-tags a{font-size:13px !important;padding:8px 17px !important;color:#15454F !important;}
.af-label{font-size:12px !important;color:#96703A !important;}
.focus{font-size:18px !important;}
.focus a{font-size:22px !important;}
.bio-body p{font-size:17.5px;line-height:1.75;}

/* ── disclaimers breathe below CTAs ── */
.sy-disc{margin-top:34px !important;font-size:15.5px !important;color:#6B7A82 !important;}
.btn + .notice, .btn + .notei, .ctas + .notice{margin-top:30px !important;}

/* ── mobile floors ── */
@media(max-width:640px){
 body{font-size:17px;}
 .lede,.sub{font-size:17.5px !important;}
 .b2s-coll{padding:64px 0 70px;}
}

/* ── Footer compaction (Jennifer 2026-09-25): same content, ~40% shorter ── */
footer.cosmos{padding:42px 0 24px !important;}
footer.cosmos .fcols{gap:14px 34px;}
@media(min-width:1100px){footer.cosmos .fcols{grid-template-columns:1.65fr .75fr .85fr .9fr 1.25fr;gap:14px 30px;}}
@media(max-width:900px){footer.cosmos .fcols{gap:26px;}}
html body footer .newsfield{max-width:min(280px,100%) !important;}
footer.cosmos .fcols h4{margin-bottom:10px;}
footer.cosmos .fcols ul a{padding:3px 0;font-size:14px;}
footer.cosmos .fcols .blurb{margin-top:10px;font-size:14px;}
footer.cosmos .fcols p{margin-bottom:8px;}
footer.cosmos .newsfield{margin-top:8px;}
footer.cosmos .b2s-social{margin-top:12px;gap:12px;}
footer.cosmos .b2s-social a{width:34px;height:34px;}
footer.cosmos .b2s-handles{margin-top:6px;}
footer.cosmos .bottom{margin-top:24px !important;}
footer.cosmos .flinks{margin-top:14px;gap:22px;}
footer.cosmos .legal{margin-top:16px !important;padding-top:12px !important;}

/* ── Frozen header (Jennifer 2026-09-25): nav stays pinned to top while scrolling ── */
nav{position:sticky !important;top:0 !important;z-index:400 !important;}
html{scroll-padding-top:84px;}
