/* ═══ BASE LINKS — never browser blue/purple (zero-specificity so all styled links win) ═══ */
:where(a){color:#15454F;}
:where(a:visited){color:#15454F;}
:where(a:hover){color:#E0705A;}
a:focus-visible{outline:2px solid #F08266;outline-offset:2px;border-radius:2px;}

/* ═══════════════════════════════════════════════════════════════
   Body to Soul Health — shared components
   Social icon row · founder bio card · chat launcher · footer fixes
   ═══════════════════════════════════════════════════════════════ */

/* ── Social icon row ─────────────────────────────────────────── */
.b2s-social{display:flex;gap:18px;align-items:center;}
.b2s-social a{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;
  border-radius:50%;color:var(--grapefruit);border:1.5px solid rgba(240,130,102,.45);
  transition:background .3s,color .3s,transform .3s,border-color .3s;}
.b2s-social a:hover{background:var(--grapefruit);color:#fff;transform:translateY(-2px);border-color:var(--grapefruit);}
.b2s-social svg{width:19px;height:19px;display:block;}
.b2s-handles{font-family:'Jost',sans-serif;font-size:12.5px;letter-spacing:.4px;margin-top:12px;}
.b2s-handles a{color:inherit;text-decoration:none;}
.b2s-handles a:hover{color:var(--grapefruit);}
/* On the teal footer the row sits on dark ground */
footer .b2s-social a{color:var(--gold-soft);border-color:rgba(220,193,154,.45);}
footer .b2s-social a:hover{background:var(--gold-soft);color:var(--cosmos-deep);border-color:var(--gold-soft);}
footer .b2s-handles{color:#BCD0CE;}

/* ── Founder bio card (contact / resources / blog) ───────────── */
.b2s-bio{background:linear-gradient(180deg,var(--blush) 0%,var(--cream) 100%);padding:84px 0;}
.b2s-bio .wrap{max-width:1020px;display:grid;grid-template-columns:300px 1fr;gap:52px;align-items:center;}
.b2s-bio-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px;
  border:1px solid var(--gold-soft);box-shadow:0 0 0 10px rgba(201,163,106,.08),0 22px 54px rgba(21,69,79,.14);}
.b2s-bio-copy .eyebrow{display:block;margin-bottom:12px;}
.b2s-bio-copy p{font-family:'Cormorant Garamond',serif;font-size:1.25rem;line-height:1.6;color:var(--teal-head);margin:0 0 18px;}
.b2s-bio-email{font-family:'Jost',sans-serif;font-size:14px;letter-spacing:.5px;display:inline-block;
  color:var(--coral-deep);text-decoration:none;margin-bottom:18px;}
.b2s-bio-email:hover{color:var(--grapefruit);}
@media(max-width:820px){
  .b2s-bio .wrap{grid-template-columns:1fr;gap:30px;}
  .b2s-bio-photo{max-width:280px;}
}

/* ── Footer refinements ──────────────────────────────────────── */
/* The email pill: thin, compact — matched to the About page footer */
html body footer .newsfield{display:flex !important;align-items:center;max-width:280px;
  padding:3px !important;border:1px solid var(--gold) !important;}
html body footer .newsfield span{flex:1 1 auto !important;display:flex;align-items:center;
  padding:6px 16px !important;font-size:12.5px !important;line-height:1.2 !important;min-width:0;}
html body footer .newsfield b{flex:0 0 auto !important;display:flex;align-items:center;
  padding:8px 18px !important;font-size:10.5px !important;letter-spacing:1.5px !important;
  border-radius:40px !important;line-height:1.2 !important;white-space:nowrap;}

/* ── Chat launcher ───────────────────────────────────────────── */
.b2s-chat-btn{position:fixed;right:22px;bottom:22px;z-index:640;width:58px;height:58px;border-radius:50%;
  border:none;cursor:pointer;background:var(--grapefruit);color:#fff;
  box-shadow:0 10px 30px rgba(240,130,102,.45);display:flex;align-items:center;justify-content:center;
  transition:transform .3s,box-shadow .3s,background .3s;}
.b2s-chat-btn:hover{transform:translateY(-2px);background:#E8714F;box-shadow:0 14px 36px rgba(240,130,102,.55);}
.b2s-chat-btn svg{width:26px;height:26px;}
.b2s-chat-panel{position:fixed;right:22px;bottom:92px;z-index:640;width:320px;max-width:calc(100vw - 44px);
  background:var(--cream);border:1px solid var(--line);border-radius:18px;overflow:hidden;
  box-shadow:0 24px 60px rgba(8,42,48,.3);opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .3s,visibility .3s,transform .3s;}
.b2s-chat-panel.open{opacity:1;visibility:visible;transform:none;}
.b2s-chat-head{background:linear-gradient(155deg,var(--cosmos-mid) 0%,var(--cosmos) 60%,var(--cosmos-deep) 100%);
  padding:18px 20px;}
.b2s-chat-head strong{display:block;font-family:'Jost',sans-serif;font-weight:500;font-size:13px;
  letter-spacing:2.2px;text-transform:uppercase;color:var(--cream);}
.b2s-chat-head span{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:15px;color:var(--gold-soft);margin-top:4px;}
.b2s-chat-body{padding:14px;display:flex;flex-direction:column;gap:8px;}
.b2s-chat-body a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;
  text-decoration:none;font-family:'Jost',sans-serif;font-size:13.5px;letter-spacing:.4px;
  color:var(--teal-head);background:#fff;border:1px solid var(--line);transition:border-color .25s,transform .25s;}
.b2s-chat-body a:hover{border-color:var(--grapefruit);transform:translateX(3px);}
.b2s-chat-body a i{font-style:normal;color:var(--grapefruit);font-size:15px;}
.b2s-chat-note{font-family:'Jost',sans-serif;font-size:11.5px;color:var(--body);padding:0 16px 14px;line-height:1.6;}
@media(max-width:640px){.b2s-chat-btn{right:16px;bottom:16px;}.b2s-chat-panel{right:16px;bottom:84px;}}
@media (prefers-reduced-motion:reduce){
  .b2s-chat-btn,.b2s-chat-panel,.b2s-social a,.b2s-chat-body a{transition:none !important;}
}

/* ── Coral footer (approved) ─────────────────────────────────
   Exactly the trial-f variant Jennifer approved: grapefruit
   gradient, star/nebula layers off, cream/white text, teal
   accents. The header stays teal. */
footer.cosmos{background:linear-gradient(155deg,#F5936F 0%,#F08266 45%,#D96650 100%) !important;
  --gold-soft:#FFEFE3;--cream:#FFFFFF;--gold:#FFE9DC;}
footer.cosmos .stars3,footer.cosmos .nebula{display:none;}
footer.cosmos::before{display:none;}
footer.cosmos h4{color:#fff !important;}
footer.cosmos .blurb,footer.cosmos p,footer.cosmos .legal{color:#FFF3ED !important;}
footer.cosmos ul a,footer.cosmos .flinks a{color:#FFEFE3 !important;}
footer.cosmos ul a:hover{color:#15454F !important;}
footer.cosmos .newsfield{border-color:rgba(255,255,255,.7) !important;}
footer.cosmos .newsfield span{color:#FFF3ED !important;}
footer.cosmos .newsfield b{background:#15454F !important;color:#F3EBE2 !important;}
footer.cosmos .b2s-social a{color:#fff;border-color:rgba(255,255,255,.6);}
footer.cosmos .b2s-social a:hover{background:#fff;color:#E0705A;border-color:#fff;}
footer.cosmos .b2s-handles{color:#FFF3ED;}
footer.cosmos .star-div{color:#fff;}
/* Per-page style blocks re-declare footer.cosmos backgrounds later in
   the document at equal specificity — outrank them. */
html body footer.cosmos{background:linear-gradient(155deg,#F5936F 0%,#F08266 45%,#D96650 100%) !important;}

/* ── RD review placeholders (bio pages) ──────────────────────── */
.rd-reviews{background:linear-gradient(180deg,#FFFFFF 0%,var(--blush) 100%);padding:84px 0;}
.rd-reviews .eyebrow{display:block;text-align:center;margin-bottom:14px;}
.rd-reviews h2{font-family:'Cormorant Garamond',serif;font-weight:300;text-align:center;font-size:clamp(1.7rem,2.8vw,2.3rem);color:var(--teal-head);margin:0 0 44px;}
.rd-rev-grid{columns:2;column-gap:56px;max-width:940px;margin:0 auto;}
.rd-rev-grid .rd-rev{break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 44px;}
.rd-rev{border-top:1px solid rgba(201,163,106,.45);padding-top:24px;}
.rd-rev .rd-stars{color:var(--gold);letter-spacing:5px;font-size:14px;margin-bottom:13px;}
.rd-rev blockquote{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:1.2rem;line-height:1.5;color:var(--teal-head);margin:0 0 14px;}
.rd-rev figcaption{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--grapefruit);font-weight:500;}
@media(max-width:760px){.rd-rev-grid{columns:1;}.rd-rev-grid .rd-rev{margin-bottom:34px;}}

/* Center the footer social row */
footer .b2s-social{justify-content:center;}
footer .b2s-handles{text-align:center;}
/* Three-across review slots on bio pages, like the home grid */
.rd-rev-3{columns:2;max-width:940px;}
@media(max-width:900px){.rd-rev-3{columns:1;}}

/* ── Canonical kit ────────────────────────────────────────────
   Some page templates (offerings-derived) never defined the core
   button/layout classes, so CTAs rendered unstyled and containers
   lost their width. These are the exact index.html values, loaded
   last so every page matches the home page. */
.btn{display:inline-block;font-family:'Jost',sans-serif;font-weight:500;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;text-decoration:none;padding:16px 36px;border-radius:40px;transition:all .3s;}
.btn-coral{background:var(--grapefruit);color:#fff;box-shadow:0 6px 28px rgba(240,130,102,.3);}
.btn-coral:hover{background:#E8714F;transform:translateY(-2px);}
.btn-gold{border:1.5px solid var(--gold);color:var(--cream-text);}
.btn-gold:hover{background:rgba(201,163,106,.12);}
.btn-gold.on-light{color:#96703A;}
.btn-teal{background:var(--teal-head);color:var(--cream);}
.center{text-align:center;}
.narrow{max-width:780px;margin-left:auto;margin-right:auto;}
.wrap{max-width:1100px;margin-left:auto;margin-right:auto;padding-left:40px;padding-right:40px;}
.eyebrow{font-size:13px;letter-spacing:4px;text-transform:uppercase;font-weight:400;color:var(--gold);}
.arrow-link{font-family:'Jost',sans-serif;font-weight:500;font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:var(--coral-deep);text-decoration:none;}
@media(max-width:640px){.wrap{padding-left:24px;padding-right:24px;}}

/* ── Canonical footer layout (uniform on every page) ─────────── */
footer.cosmos .wrap{max-width:1100px;margin:0 auto;padding:72px 40px 44px;position:relative;}
footer.cosmos .fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:46px;position:relative;}
footer.cosmos .fcols h4{font-family:'Jost',sans-serif;font-weight:500;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-soft);margin:0 0 18px;}
footer.cosmos .fcols ul{list-style:none;margin:0;padding:0;}
footer.cosmos .fcols ul a{display:block;color:#FFEFE3;text-decoration:none;font-size:14.5px;padding:5px 0;line-height:1.5;}
footer.cosmos .blurb{font-size:14.5px;max-width:300px;margin-top:14px;line-height:1.7;}
footer.cosmos .bottom{text-align:center;margin-top:54px;}
footer.cosmos .legal{margin-top:18px;padding-top:22px;border-top:1px solid rgba(255,255,255,.25);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;}
@media(max-width:900px){footer.cosmos .fcols{grid-template-columns:1fr 1fr;gap:36px;}}
@media(max-width:600px){footer.cosmos .fcols{grid-template-columns:1fr;gap:30px;}footer.cosmos .wrap{padding:56px 24px 36px;}}

/* RD reviews sized like the home testimonials */
.rd-rev .rd-stars{font-size:15px;letter-spacing:5px;color:var(--gold);margin-bottom:15px;}
.rd-rev blockquote{font-size:1.3rem;line-height:1.5;color:var(--teal-head);}
.rd-rev figcaption{font-size:11.5px;letter-spacing:2.2px;color:var(--grapefruit);}

/* footer tagline guard — Pink Champagne everywhere, always */
footer.cosmos .script{font-family:'Pink Champagne Oblique','Pink Champagne','Snell Roundhand','Apple Chancery',cursive !important;font-style:normal !important;}

/* ── Kit-ready CALM Note form (renders identically to the old pill) ── */
form.newsfield{gap:0;}
.nf-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
html body footer .newsfield .nf-input{flex:1 1 auto;min-width:0;background:transparent;border:none;outline:none;
  font-family:'Jost',sans-serif;font-weight:300;padding:6px 16px;font-size:12.5px;line-height:1.2;color:#FFF3ED;}
html body footer .newsfield .nf-input::placeholder{color:#FFF3ED;opacity:.85;}
html body footer .newsfield .nf-join{flex:0 0 auto;border:none;cursor:pointer;background:#15454F;color:#F3EBE2;
  font-family:'Jost',sans-serif;font-weight:500;padding:8px 18px;font-size:10.5px;letter-spacing:1.5px;border-radius:40px;line-height:1.2;white-space:nowrap;}
.nf-note{font-family:'Jost',sans-serif;font-size:12px;color:#FFF3ED;margin-top:10px;}

/* Guard: keep body in Jost even if a browser extension (e.g. Acrobat) injects its own body font */
body{font-family:'Jost',sans-serif !important;}
