/* MotherRise — main stylesheet */

/* ---------------------------------------------------------------------------
   Fonts, served from this site rather than from Google.
   Two files cover every weight the site uses; the italic file is only fetched
   by pages that actually use italic headings. Fraunces carries its optical-size
   axis, so large headings keep the same shape they had on Google Fonts.
   --------------------------------------------------------------------------- */
@font-face{
  font-family:"Inter";
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url("../fonts/inter-variable-latin.woff2") format("woff2");
}
@font-face{
  font-family:"Fraunces";
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url("../fonts/fraunces-variable-latin.woff2") format("woff2");
}
@font-face{
  font-family:"Fraunces";
  font-style:italic;
  font-weight:500;
  font-display:swap;
  src:url("../fonts/fraunces-500-italic-latin.woff2") format("woff2");
}
:root{
  --cream:#FBF6F1;
  --paper:#FFFFFF;
  --sand:#F3E9DF;
  --blush:#F7E6E0;
  --sage-light:#E6EFE8;
  --sage:#5E8069;
  --rose:#A84F42;
  --rose-dark:#8C3F34;
  --ink:#2E2A28;
  --muted:#645B56;
  --line:#E7DBD0;
  --alert:#B3261E;
  --alert-bg:#FCEBEA;
  --radius:18px;
  --shadow:0 10px 30px rgba(74,48,36,.08);
  --max:1160px;
  --font-head:"Fraunces", Georgia, "Times New Roman", serif;
  --font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:90px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto}
a{color:var(--rose);text-underline-offset:3px}
a:hover{color:var(--rose-dark)}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:600;line-height:1.2;margin:0 0 .6em;color:var(--ink)}
h1{font-size:clamp(2.1rem,4.6vw,3.4rem);letter-spacing:-.01em}
h2{font-size:clamp(1.6rem,3vw,2.3rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
ul,ol{padding-left:1.25em;margin:0 0 1em}
li{margin-bottom:.35em}
.container{max-width:var(--max);margin:0 auto;padding-inline:20px}
.narrow{max-width:780px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:8px 14px;z-index:100}
.skip:focus{left:10px}
:focus-visible{outline:3px solid var(--sage);outline-offset:2px}

/* Help bar */
.helpbar{background:var(--alert-bg);color:var(--alert);font-size:.9rem;text-align:center;padding:8px 16px;line-height:1.45}
.helpbar a{color:var(--alert);font-weight:600}

/* Header */
.site-header{background:rgba(251,246,241,.94);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand svg{width:40px;height:40px;flex:none}
.brand-name{font-family:var(--font-head);font-size:1.45rem;font-weight:600;letter-spacing:-.01em}
.brand-name span{color:var(--rose)}
.nav{display:flex;align-items:center;gap:2px}
.nav a{color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:500;padding:8px 7px;border-radius:10px;white-space:nowrap}
.nav a:hover{background:var(--sand)}
.nav a[aria-current="page"]{color:var(--rose);background:var(--blush)}
.nav .btn{margin-left:6px;color:#fff;padding:10px 14px}
.nav .btn:hover{background:var(--rose-dark);color:#fff}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer;color:var(--ink)}
.nav-toggle svg{display:block}
/* "Free guides" menu (12 Oct 2026) */
.nav-drop{position:relative}
.nav-drop-btn{display:flex;align-items:center;gap:6px;background:none;border:0;font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--ink);padding:8px 10px;border-radius:10px;cursor:pointer}
.nav-drop-btn:hover,.nav-drop.open .nav-drop-btn{background:var(--sand)}
.nav-drop.current .nav-drop-btn{color:var(--rose);background:var(--blush)}
.nav-drop-btn svg{transition:transform .2s}
.nav-drop.open .nav-drop-btn svg{transform:rotate(180deg)}
.nav-panel{display:none;position:absolute;right:0;top:calc(100% + 10px);width:600px;max-width:calc(100vw - 40px);background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px rgba(46,42,40,.12);padding:20px;z-index:60}
.nav-drop.open .nav-panel{display:block}
.nav-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.nav-panel-title{font-family:var(--font-head);font-size:1.15rem;font-weight:600}
.free-tag{font-size:.78rem;font-weight:600;color:#44614D;background:var(--sage-light);padding:4px 10px;border-radius:999px;white-space:nowrap}
.nav-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}
.nav .nav-panel-grid a{display:flex;flex-direction:column;gap:2px;white-space:normal;padding:10px 12px}
.nav-panel-grid a strong{font-weight:600}
.nav-panel-grid a span{font-size:.82rem;color:var(--muted);font-weight:400}
.nav .nav-panel-alert{display:block;margin-top:10px;padding:12px 14px;background:var(--blush);color:var(--rose-dark);font-weight:600;white-space:normal}
.nav .nav-panel-alert:hover{background:var(--sand)}
@media (max-width:1180px){
  .nav-toggle{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);flex-direction:column;align-items:stretch;padding:10px 20px 20px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);max-height:calc(100vh - 120px);overflow-y:auto}
  .nav.open{display:flex}
  .nav a{padding:12px 10px;font-size:1rem}
  .nav .btn{margin:10px 0 0;text-align:center}
  .nav .nav-cta{order:-1;margin:4px 0 8px}
  .nav-drop-btn{display:none}
  .nav-panel{display:block;position:static;width:auto;border:0;box-shadow:none;background:none;padding:4px 0 8px;border-bottom:1px solid var(--line);margin-bottom:6px}
  .nav-panel-title{font-family:var(--font-body);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
  .nav-panel-head{padding:0 10px}
  .nav-panel-grid{grid-template-columns:1fr}
  .nav .nav-panel-grid a{padding:11px 10px}
  .nav-panel-grid a span{display:none}
  .nav .nav-panel-alert{background:none;padding:11px 10px;margin-top:0}
}

/* Plans & pricing page */
.price-card{display:flex;flex-direction:column}
.price-card .check{flex:1}
.price-card .btn-row{margin-top:auto}
.price-card h2{font-size:1.35rem;line-height:1.25;margin-bottom:8px}
.price-card.featured{border:2px solid var(--rose)}
.price-card .for-you{color:var(--muted)}
.price-card .for-you strong{color:var(--ink)}
@media (max-width:960px){.price-grid{grid-template-columns:1fr;max-width:560px;margin-inline:auto}}
.credit-note{font-size:.92rem;color:#44614D;background:var(--sage-light);border-radius:10px;padding:10px 12px;margin:0 0 16px}

/* Buttons */
.btn{display:inline-block;background:var(--rose);color:#fff;text-decoration:none;font-weight:600;border:none;border-radius:999px;padding:14px 26px;font-size:1rem;cursor:pointer;font-family:var(--font-body);transition:background .2s,transform .2s}
.btn:hover{background:var(--rose-dark);color:#fff;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}

/* Sections */
section{padding-block:72px}
.section-alt{background:var(--paper)}
.section-sand{background:var(--sand)}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sage);margin-bottom:12px}
.lead{font-size:1.15rem;color:var(--muted)}
.center{text-align:center}
.section-head{max-width:720px;margin:0 auto 40px;text-align:center}

/* Hero */
.hero{padding-block:64px 80px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero h1 em{font-style:italic;color:var(--rose)}
.hero-art{background:var(--blush);border-radius:32px;padding:24px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.hero-points{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--muted);font-size:.95rem}
.hero-points li{display:flex;align-items:center;gap:8px;margin:0}
.hero-points li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sage)}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.hero-art{max-width:420px;margin:0 auto}}

/* Page hero */
.page-hero{padding-block:56px 40px;background:linear-gradient(180deg,var(--blush),var(--cream))}
.page-hero .lead{max-width:720px}
.breadcrumb{font-size:.85rem;color:var(--muted);margin-bottom:14px}
.breadcrumb a{color:var(--muted)}

/* Cards */
.grid{display:grid;gap:22px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:960px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
/* A card grid whose last row is short (7 cards in rows of 4) centres the
   leftovers instead of leaving them hanging on the left. Flex rather than
   grid, because CSS grid cannot centre a partial final row. */
.grid-3.center-last,.grid-4.center-last{display:flex;flex-wrap:wrap;justify-content:center}
.grid-4.center-last>*{flex:0 1 calc(25% - 16.5px)}
.grid-3.center-last>*{flex:0 1 calc(33.333% - 14.667px)}
@media (max-width:960px){.grid-3.center-last>*,.grid-4.center-last>*{flex-basis:calc(50% - 11px)}}
@media (max-width:640px){.grid-3.center-last>*,.grid-4.center-last>*{flex-basis:100%}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.card h3{margin-bottom:.4em}
.card p:last-child{margin-bottom:0}
a.card{display:block;text-decoration:none;color:var(--ink);transition:transform .2s,border-color .2s}
a.card:hover{transform:translateY(-3px);border-color:var(--rose)}
.card .more{color:var(--rose);font-weight:600;font-size:.95rem}
.icon{width:48px;height:48px;border-radius:14px;background:var(--sage-light);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--sage)}
.icon svg{width:26px;height:26px}
.icon.rose{background:var(--blush);color:var(--rose)}
.icon.alert{background:var(--alert-bg);color:var(--alert)}

/* Timeline */
.timeline{list-style:none;padding:0;margin:0;position:relative}
.timeline::before{content:"";position:absolute;left:19px;top:6px;bottom:6px;width:2px;background:var(--line)}
.timeline li{position:relative;padding-left:60px;margin-bottom:28px}
.timeline li::before{content:attr(data-step);position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;background:var(--rose);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.9rem}
.timeline h3{margin-bottom:.2em}
.timeline .when{font-size:.85rem;font-weight:600;color:var(--sage);text-transform:uppercase;letter-spacing:.08em}

/* Content prose */
.prose h2{margin-top:1.6em}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:1.4em}
.layout{display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:start}
.toc{position:sticky;top:96px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;font-size:.92rem}
.toc strong{display:block;margin-bottom:8px;font-family:var(--font-head)}
.toc ul{list-style:none;padding:0;margin:0}
.toc a{color:var(--muted);text-decoration:none;display:block;padding:5px 0}
.toc a:hover{color:var(--rose)}
.toc a[aria-current]{color:var(--rose);font-weight:700}
@media (max-width:900px){.layout{grid-template-columns:1fr}.toc{position:static}}

/* Callouts */
.note{border-radius:14px;padding:18px 20px;margin:1.4em 0;border-left:5px solid var(--sage);background:var(--sage-light)}
.note.warn{border-color:var(--alert);background:var(--alert-bg)}
.note.rose{border-color:var(--rose);background:var(--blush)}
.note > strong:first-child{display:block;margin-bottom:4px}
.note p:last-child,.note ul:last-child{margin-bottom:0}

/* Tables */
.table-wrap{overflow-x:auto;margin:1.2em 0;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:560px}
th,td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
th{background:var(--sand);font-weight:600}
tr:last-child td{border-bottom:none}

/* Phase cards */
.phase{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin-bottom:24px}
.phase-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}
.tag{display:inline-block;background:var(--sage-light);color:var(--sage);border-radius:999px;padding:4px 12px;font-size:.8rem;font-weight:600}
.exercise{border-top:1px dashed var(--line);padding-top:14px;margin-top:14px}
.exercise h4{font-family:var(--font-body);font-size:1rem;font-weight:700;margin-bottom:4px}
.exercise p{margin-bottom:.3em;color:var(--muted)}
.exercise.has-img{display:flex;gap:16px;align-items:flex-start}
.exercise.has-img .ex-text{flex:1;min-width:0}
.ex-img{flex:0 0 160px;width:160px;height:120px;border-radius:12px;background:var(--paper);border:1px solid var(--line)}
@media(max-width:620px){.exercise.has-img{flex-direction:column;gap:10px}.ex-img{width:100%;max-width:260px;height:auto;aspect-ratio:4/3}}
.dose{font-size:.88rem;font-weight:600;color:var(--rose)}

/* Myth/fact */
.mf{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:18px;background:var(--paper)}
.mf > div{padding:20px 22px}
.mf .tradition{background:var(--sand)}
.mf .label{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;display:block}
.verdict{display:inline-block;font-size:.78rem;font-weight:700;border-radius:999px;padding:3px 10px;margin-bottom:8px}
.v-keep{background:var(--sage-light);color:var(--sage)}
.v-adapt{background:#FFF2D9;color:#8A5A00}
.v-avoid{background:var(--alert-bg);color:var(--alert)}
@media (max-width:640px){.mf{grid-template-columns:1fr}}

/* Red flags */
.flag-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.flag-list li{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--alert);border-radius:12px;padding:14px 16px;margin:0}
.flag-list li strong{display:block}
.flag-list.soon li{border-left-color:#C98A1B}
.help-box{background:var(--alert);color:#fff;border-radius:var(--radius);padding:28px}
.help-box h2,.help-box h3{color:#fff}
.help-box a{color:#fff;font-weight:700}
.big-num{font-size:1.6rem;font-weight:700;font-family:var(--font-head)}

/* FAQ */
details{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin-bottom:12px}
summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--rose)}
details[open] summary::after{content:"–"}
details p{margin:12px 0 0;color:var(--muted)}

/* Checklist */
.check{list-style:none;padding:0}
.check li{position:relative;padding-left:30px}
.check li::before{content:"";position:absolute;left:0;top:.45em;width:18px;height:18px;border-radius:6px;background:var(--sage-light);border:1.5px solid var(--sage)}
.check li::after{content:"";position:absolute;left:6px;top:.62em;width:6px;height:10px;border:solid var(--sage);border-width:0 2px 2px 0;transform:rotate(45deg)}

/* Forms */
.form{display:grid;gap:14px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:640px){.form-row{grid-template-columns:1fr}}
label{font-weight:600;font-size:.92rem;display:block;margin-bottom:6px}
input,select,textarea{width:100%;font:inherit;font-size:1rem;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{border-color:var(--sage);outline:none;box-shadow:0 0 0 3px var(--sage-light)}
textarea{min-height:140px;resize:vertical}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;color:var(--muted);font-weight:400}
.consent input{width:auto;margin-top:5px}
.inline-form{display:flex;gap:10px;flex-wrap:wrap}
.inline-form input{flex:1 1 220px}

/* CTA band */
.cta-band{background:var(--ink);color:#fff;border-radius:28px;padding:48px;display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center}
.cta-band h2{color:#fff}
.cta-band p{color:#E8DED6}
.cta-band input{border-color:transparent}
.cta-band .consent{color:#CFC3BA}
.cta-band .consent a{color:#fff}
@media (max-width:860px){.cta-band{grid-template-columns:1fr;padding:32px 24px}}

/* Ebook mock */
.book{width:100%;max-width:300px;aspect-ratio:3/4;margin:0 auto;border-radius:6px 16px 16px 6px;background:linear-gradient(135deg,#A84F42,#7A3A31);box-shadow:-10px 0 0 #6A322A inset,0 20px 40px rgba(0,0,0,.2);color:#fff;padding:34px 28px 28px 36px;display:flex;flex-direction:column;justify-content:space-between}
.book .b-top{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.book .b-title{font-family:var(--font-head);font-size:1.9rem;line-height:1.1}
.book .b-sub{font-size:.85rem;opacity:.9}

/* Disclaimer */
.disclaimer{font-size:.88rem;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:28px}

/* Footer */
.site-footer{background:#231F1D;color:#D9CEC6;padding-block:56px 28px;font-size:.93rem}
.site-footer a{color:#D9CEC6;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr}}
.site-footer h4{color:#fff;font-family:var(--font-body);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer .brand{color:#fff;margin-bottom:12px}
.footer-bottom{border-top:1px solid #3A3431;margin-top:40px;padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.84rem;color:#A99D95}

/* Utilities */
.mt-0{margin-top:0}.mb-0{margin-bottom:0}
.muted{color:var(--muted)}
.stat{font-family:var(--font-head);font-size:2.4rem;color:var(--rose);line-height:1}
.pill-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}
.pill-list li{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.9rem;margin:0}
/* The warning-signs pills fall into three ragged rows inside the narrow
   prose column. A little extra width, centred on the same axis, gives two
   balanced rows of three on a laptop. Phones are unaffected. */
@media (min-width:920px){
  .pill-list{width:min(840px,calc(100vw - 48px));margin-left:50%;transform:translateX(-50%);justify-content:center}
}
.form-msg{padding:12px 16px;border-radius:12px;font-weight:600}
.form-msg.ok{background:var(--sage-light);color:var(--sage)}
.form-msg.err{background:var(--alert-bg);color:var(--alert)}
.layout>*,.grid>*,.hero-grid>*{min-width:0}
.page-hero + section{padding-top:44px}

/* Plan view tabs + week cards */
.view-tabs{display:grid;grid-template-columns:1fr 1fr;max-width:460px;scroll-margin-top:90px;gap:4px;background:var(--sand);border-radius:999px;padding:5px;margin:36px 0 24px}
.view-tabs button{font:inherit;font-size:.95rem;font-weight:600;border:none;background:transparent;color:var(--muted);padding:10px 12px;line-height:1.3;border-radius:999px;cursor:pointer}
.view-tabs button[aria-selected="true"]{background:var(--paper);color:var(--rose);box-shadow:0 2px 8px rgba(74,48,36,.12)}
.week-group{margin:32px 0 14px;font-size:1.3rem}
.week-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.week-card ul{margin:0 0 12px;padding-left:1.1em;font-size:.95rem}
.week-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.week-num{font-family:var(--font-head);font-size:1.35rem;font-weight:600;color:var(--rose)}
.week-check{font-size:.88rem;color:var(--muted);background:var(--cream);border-radius:10px;padding:10px 12px;margin:0}

/* Locked previews, plans, member pages */
.locked-phase{position:relative}
.lock-line{display:flex;align-items:center;gap:8px;font-size:.92rem;font-weight:600;color:var(--rose);margin:14px 0 0}
.lock-line svg,.lock svg,.week-mini svg{width:18px;height:18px;flex:none}
.week-mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.week-mini{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px dashed var(--line);border-radius:14px;padding:12px 14px;font-size:.92rem;color:var(--muted)}
.week-mini .week-num{font-size:1rem;white-space:nowrap}
.week-mini svg{margin-left:auto;color:var(--rose)}
.plans{background:var(--sand);border-radius:28px;padding:36px 28px;margin:48px 0}
.plan-card{display:flex;flex-direction:column;align-items:flex-start}
.plan-card .tag{margin-bottom:10px}
.plan-card .check{flex:1}
.plan-pay{font-size:.95rem;color:var(--muted)}
.member-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;font-size:.92rem}
.member-bar span{color:var(--muted);font-weight:600}
.member-bar a{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 14px;text-decoration:none;color:var(--ink);font-weight:600}
.member-bar a[aria-current="page"]{background:var(--rose);border-color:var(--rose);color:#fff}
.month-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:22px}
.month-card h4{font-family:var(--font-body);font-size:1rem;font-weight:700;margin:4px 0 6px}
.month-card ul{font-size:.95rem}
.month-card .grid{gap:10px 28px}
.beyond-intro{margin:40px 0 24px;padding-top:28px;border-top:2px dashed var(--line);scroll-margin-top:90px}
.phase{scroll-margin-top:90px}

/* Nutrition full plan */
.full-plan{padding-block:48px 8px;border-top:2px dashed var(--line);margin-top:40px;scroll-margin-top:90px}
.view-tabs.tabs-3{grid-template-columns:repeat(3,1fr);max-width:620px}
.phase h3{font-size:1.3rem}
.plan-picker{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0 18px;max-width:560px}
@media (max-width:520px){.plan-picker{grid-template-columns:1fr}}
.meal-table{min-width:880px;font-size:.88rem}
.meal-table th,.meal-table td{padding:10px 12px}
.meal-table td:first-child,.meal-table th:first-child{position:sticky;left:0;background:var(--sand);z-index:1;white-space:nowrap}
.meal-table tbody tr:nth-child(even) td{background:#FCF8F4}
.meal-table tbody tr:nth-child(even) td:first-child{background:var(--sand)}
.card h4{font-family:var(--font-body);font-size:1.02rem;font-weight:700;margin:0 0 8px}
.card ul{font-size:.95rem}
.grocery .card p{font-size:.93rem;color:var(--muted)}
.meal-plan{width:min(1120px,calc(100vw - 40px));position:relative;left:50%;transform:translateX(-50%)}

/* Ebook sales page */
.price-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:6px 0 10px}
.price{font-family:var(--font-head);font-size:2.2rem;font-weight:600;color:var(--rose);line-height:1}
.price-note{color:var(--muted);font-size:.95rem}
.intl-note{font-size:.9rem;margin-top:14px}
.book-img{display:block;width:100%;max-width:380px;margin:0 auto;border-radius:6px;box-shadow:0 24px 50px rgba(74,48,36,.22)}
.samples figure{margin:0;text-align:center}
.samples img{width:100%;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);background:#fff}
.samples figcaption{margin-top:10px;font-weight:600;color:var(--muted);font-size:.95rem}
.buy-card{border:2px solid var(--rose)}
.price-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}
.small{font-size:.85rem}
.cta-band .btn-ghost.light{color:#fff;border-color:#fff}
.cta-band .btn-ghost.light:hover{background:#fff;color:var(--ink)}
.cta-img img{display:block;width:100%;max-width:260px;margin:0 auto;border-radius:6px;box-shadow:0 20px 40px rgba(0,0,0,.35)}

/* Sources */
.sources{margin-top:40px;padding:18px 20px;border-radius:14px;background:var(--paper);border:1px solid var(--line);font-size:.86rem;color:var(--muted)}
.sources strong{display:block;color:var(--ink);margin-bottom:6px;font-size:.95rem}
.sources ul{margin:0 0 8px;padding-left:1.1em}
.sources li{margin-bottom:4px}
.sources p{margin:0}
.ref-list li{margin-bottom:14px;word-break:break-word}
.site-footer .footer-bottom a{color:#D9CEC6;text-decoration:underline}
[hidden]{display:none!important}


/* members area */
.nav-account{font-weight:600;color:var(--rose)}
.nav-account:hover{background:var(--sand)}
.locked-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:28px;text-align:center;margin:32px 0}
.locked-card .icon{margin:0 auto 12px}
.locked-list{display:grid;gap:8px;max-width:420px;margin:16px auto 22px;text-align:left}
.locked-list li{list-style:none;padding-left:26px;position:relative}
.locked-list li:before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;border-left:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(-45deg)}
.admin-bar{background:#2E2A28;color:#fff;padding:8px 14px;border-radius:10px;font-size:.88rem;margin-bottom:18px}
.admin-bar a{color:#F7E6E0;text-decoration:underline}
.table-sm{font-size:.9rem;min-width:520px}
.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--sand)}
.badge.ok{background:#DCEADF;color:#33543F}
.badge.no{background:#F6E0DC;color:#8E3A2E}

.btn-sm{padding:7px 12px;font-size:.85rem}

/* Signed-in state, decided before the page paints. The inline script at the top
   of plan.html and ebook.html turns the mr_member cookie into classes on <html>.
   Without it a member would see a form selling her what she already owns for as
   long as it takes JavaScript to load and take it away. Presentation only:
   access and price are always decided on the server. */
/* Header button: all three are in the page, CSS picks the one that fits what
   she owns. Doing it this way means it is right at first paint; changing the
   label in JavaScript showed "Get the Ebook" to a member for a moment first. */
.nav-myaccount{display:none}
.mr-in .nav-signin{display:none}
.mr-in .nav-myaccount{display:inline-block}
.nav-cta-plan,.nav-cta-up{display:none}
.mr-p .nav-cta-buy{display:none}
.mr-p .nav-cta-plan{display:inline-block}
.mr-e:not(.mr-p) .nav-cta-buy{display:none}
.mr-e:not(.mr-p) .nav-cta-up{display:inline-block}

#plan-owned,#plan-heading-own,#ebook-owned,#ebook-in-plan{display:none}
.mr-p #plan-owned,.mr-p #plan-heading-own{display:block}
.mr-p #plan-form,.mr-p #plan-price-line,.mr-p #plan-credit,
.mr-p #plan-hint,.mr-p #plan-heading-buy{display:none}
.mr-in #plan-hint{display:none}
.mr-e #ebook-owned{display:block}
.mr-p #ebook-in-plan{display:block}
/* owns both: "you already bought it" says it; don't stack two notices */
.mr-p.mr-e #ebook-in-plan{display:none}

/* A button that has to look like a link: the "Sign out" control is a form
   button now, not an <a>, so that only a real click from this site can end a
   session. See app/logout.php. */
.btn-link{background:none;border:0;padding:0;font:inherit;color:var(--rose,#A84F42);text-decoration:underline;cursor:pointer}
.btn-link:hover{text-decoration:none}

/* ---- 12 Oct 2026: jump list, WhatsApp share, back-to-top, phone buy bar, member progress ---- */
.page-extras{display:flex;flex-direction:column;gap:14px;margin-top:26px}
.jump{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.jump-label{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.jump a{display:inline-block;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);text-decoration:none;font-size:.9rem}
.jump a:hover{border-color:var(--rose);color:var(--rose)}
h2[id]{scroll-margin-top:96px}
.share-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.btn-share{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;background:#1F7A4D;color:#fff;font-weight:600;text-decoration:none}
.btn-share:hover{background:#17603C;color:#fff}
.to-top{position:fixed;right:16px;bottom:16px;z-index:45;width:44px;height:44px;border-radius:50%;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}
.to-top.show{opacity:1;pointer-events:auto}
.to-top:hover{color:var(--rose)}
.buybar{display:none}
@media (max-width:760px){
  .buybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;align-items:center;justify-content:space-between;gap:12px;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(46,42,40,.08);padding:10px 16px calc(10px + env(safe-area-inset-bottom));transition:transform .25s}
  .buybar.hide{transform:translateY(110%)}
  .buybar .btn{padding:12px 18px;font-size:.95rem;white-space:nowrap}
  .buybar-text{display:flex;flex-direction:column;line-height:1.25}
  .buybar-text strong{font-family:var(--font-head);font-size:1.2rem;color:var(--rose)}
  .buybar-text span{font-size:.8rem;color:var(--muted)}
  .has-buybar .site-footer{padding-bottom:84px}
  .has-buybar .to-top{bottom:84px}
}
.bb-credit{display:none}
.mr-e .bb-credit{display:inline}
.mr-e .bb-full{display:none}
.mr-e .buybar-ebook,.mr-p .buybar-plan{display:none!important}
.progress-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin:16px 0 24px;display:flex;flex-direction:column;gap:14px}
.pp-top,.pp-form{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.pp-where{margin:0;flex:1 1 280px}
.pp-form label{font-weight:600;margin:0}
.pp-form input[type=date]{width:auto;max-width:220px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--cream);color:var(--ink)}
.pp-note{flex-basis:100%;margin:0;font-size:.88rem}
.btn-small{padding:10px 18px;font-size:.92rem}
.link-btn{background:none;border:0;padding:6px 0;font:inherit;font-size:.92rem;color:var(--rose);text-decoration:underline;cursor:pointer}
.pp-count{margin:0 0 6px;font-size:.92rem;color:var(--muted)}
.pp-track{height:8px;border-radius:999px;background:var(--sand);overflow:hidden}
.pp-fill{height:100%;background:var(--sage);border-radius:999px;transition:width .3s}
.pp-msg{margin:0;color:var(--alert);font-size:.9rem}
.tick{display:inline-flex;align-items:center;gap:8px;margin-top:14px;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--cream);color:var(--ink);font:inherit;font-size:.92rem;font-weight:600;cursor:pointer}
.tick svg{opacity:.35}
.tick:hover{border-color:var(--sage)}
.tick[aria-pressed="true"]{background:var(--sage-light);border-color:var(--sage);color:#2F5A3E}
.tick[aria-pressed="true"] svg{opacity:1}
.week-card.is-done,.month-card.is-done{border-color:var(--sage)}
.week-card.is-current,.month-card.is-current{border:2px solid var(--rose);box-shadow:var(--shadow)}
.here-tag{font-size:.75rem;font-weight:700;color:#fff;background:var(--rose);padding:3px 10px;border-radius:999px}
