/* Approved elevated homepage palette; scoped to the homepage only. */
:root {
  --paper:#f4efe4;
  --ink:#50513f;
  --green:#5e614e;
  --rose:#6b6e59;
  --pink:#e9e6da;
  --line:#cecebc;
  --olive:#5e614e;
}
html { background:var(--paper); }
body { background:var(--paper); color:var(--ink); }
button:focus-visible,a:focus-visible,summary:focus-visible { outline-color:#73765f; }
.header-nav { background:rgba(249,246,238,.98); color:var(--ink); border-color:#d7d5c7; }
.header-brand,.header-links>a,.header-login,.header-menu-toggle { color:#50533f; }
.header-links .header-reading { color:#75715c; }
.header-join { background:#595d47; color:#fffaf0; justify-content:center; gap:12px; }
.header-join:hover { background:#494d39; color:#fffaf0; }
.header-join span { font-size:18px; line-height:1; }
.header-mobile-menu { background:#faf7ef; border-color:var(--line); box-shadow:0 15px 60px #51533b18; }
.header-mobile-menu a { color:var(--ink); border-color:var(--line); }
.header-mobile-menu a.header-join { color:#fffaf0; }
.topline { background:#8a8c70; }

.hero {
  background:#f4efe4!important;
  color:var(--ink);
  padding-top:112px;
}
.hero-grid {
  display:grid;
  grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
  align-items:center;
  gap:clamp(32px,3.3vw,48px);
  width:min(1240px,calc(100% - 104px));
  max-width:none;
  min-height:0;
  padding:28px 0 24px!important;
}
.hero-copy { width:100%; text-align:left; }
.hero h1.hero-outcome {
  max-width:100%;
  margin:0;
  color:#595d47;
  font:400 clamp(56px,6.7vw,94px)/1.04 'Instrument Serif',Georgia,serif!important;
  letter-spacing:-.028em;
  text-align:left;
  text-wrap:balance;
}
.hero-original-support {
  max-width:480px;
  margin:28px 0 0;
  color:#60634f;
  font-size:18px;
  line-height:1.85;
}
.hero-original-actions { display:flex; align-items:center; gap:25px; flex-wrap:wrap; margin:31px 0 0; }
.cta,.hero .cta,.closing .cta {
  color:#fffaf0;
  background:#595d47;
  border:1px solid #595d47;
  box-shadow:none;
  animation:none;
}
.cta:hover,.hero .cta:hover,.closing .cta:hover {
  color:#fffaf0;
  background:#494d39;
  border-color:#494d39;
  box-shadow:none;
}
.cta:before,.closing .cta:before { content:none; }
.hero .hero-original-actions .cta {
  min-width:0;
  min-height:57px;
  padding:16px 25px;
  margin:0!important;
  font-size:14px;
  font-weight:500;
  border-radius:4px;
}
.hero-meal-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  color:#60634f;
  font-size:14px;
  text-decoration:underline;
  text-underline-offset:6px;
  text-decoration-thickness:1px;
}
.hero .hero-deck {
  max-width:440px;
  margin:28px 0 0!important;
  color:#6b6e59;
  font-size:14px;
  line-height:1.9;
  text-align:left;
}
.hero-photo {
  display:block!important;
  position:relative;
  width:100%;
  max-width:none;
  height:580px;
  min-height:0;
  margin:0;
  overflow:hidden;
  border-radius:2px;
}
.hero-photo>img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
  aspect-ratio:auto;
  border-radius:2px;
  box-shadow:none;
}
.photo-caption {
  position:absolute;
  inset:auto 15px 15px auto;
  width:auto;
  max-width:calc(100% - 30px);
  padding:12px 16px;
  background:#f5f0e9eb;
  color:#53553f;
  text-align:right;
}
.photo-caption em,.photo-caption span { color:#53553f; }
.photo-caption em { font:italic 26px/1.2 'Instrument Serif',Georgia,serif; }
.hero h1.hero-outcome br { display:block; }

.story-copy h2,.story-copy h2 em,.story-copy>.lab-story-heading,
.section-heading h2,.inside-offer-copy h2,.inside-item h3,
.cell-heading h2,.faq-intro h2,.proof-item strong { color:#595d47; }
.story-copy>p:not(.lab-context):not(.story-plan-statement),
.proof-item span,.inside-item p,.faq-list,.cell-panel,.cell-footnote,
.story-portrait figcaption,.inside-results-note,.lab-context,
.timeline-row p,.timeline-row strong { color:#656652; }
.voices { background:#ebe8dc; }
.voices-promise>span+span { color:#72755d; }
.inside { background:#ede9df; }
.cell-section { background:#f8f4eb; }
.inside-plan-statement,.story-plan-statement {
  background:#faf7ef;
  color:#595c46;
  border-left-color:#9da184;
}
.story-copy>.lab-story-heading { border-color:var(--line); }
.lab-story-heading span { color:#6b7157; box-shadow:inset 0 -.2em #e2e3d1; }
.lab-context summary { color:#666b50; border-color:#b4b8a0; }
.lab-card,.program-cover img,.program-tracker img { border-color:var(--line); }
.timeline,.timeline-row,.proof-strip,.inside-item,.faq-list details { border-color:var(--line); }
.inside-item:before { border-color:#9a9e80; background:#f8f5ed; box-shadow:0 0 0 7px #e6e7d7; }
.live-note-stack .testimonial {
  background:#fcf9f0;
  color:#5e614b;
  border-color:#d3d3c0;
  box-shadow:0 16px 32px #5e63400d;
}
.live-note-stack .testimonial:nth-child(2n) { background:#f0eee2; }
.live-note-stack .testimonial:nth-child(3n) { background:#e8eadb; }
.live-note-stack blockquote,.testimonial-card-top,.testimonial-card-bottom,
.testimonial-card-bottom a,.testimonial-card-bottom button { color:#64664f; }
.testimonial-card-bottom { border-color:#cbcfb8; }
.testimonial-quote-mark { color:#919778; }
.note-dialog { background:#faf7ef; color:#5e614b; border-color:#cbcfb8; box-shadow:0 20px 80px #3e452d33; }
.note-dialog::backdrop { background:#41492e77; }
.cell-map .path { stroke:#a9ae91; }
.cell-map .node { fill:#e5e7d6; stroke:#a0a788; }
.cell-map .node.active { fill:#767e5a; }
.cell-map .moving-dot { fill:#7c8660; }
.cell-map text { fill:#666d4e; }
.cell-tabs button { color:#64684f; }
.cell-tabs button[aria-selected=true] { border-color:#858e67; }
.cell-panel>.eyebrow { color:#6b7650; }
.progress-rail span { left:auto; right:28px; }
.progress-rail:before { background:#d4d7c1; }
.progress-rail:after { background:#969f78; }
.progress-rail a { background:var(--paper); border-color:#b0b79b; }
.progress-rail a.active { background:#7e8861; box-shadow:0 0 0 4px #abb6932b; }
.progress-rail a.passed { background:#aeb797; }

.closing.your-story-invitation {
  color:#595d47;
  background:#e7e5d8!important;
}
.closing.your-story-invitation::before { content:none!important; background:none!important; }
.closing .closing-inner { background:transparent!important; }
.closing h2,.closing h2 em,.closing p,.closing .eyebrow { color:#595d47; }
.well-site-footer { background:#f5f1e7; color:#62644f; }
.well-site-footer .brand { color:#595d47; }
.well-site-footer .footer-note { border-color:#cccfb9; }
.well-site-footer .footer-links a:hover { color:#7e8663; }
.well-site-footer .motion-preference { color:#6b7055; border-color:#bdc2a7; }

@media(min-width:801px) and (max-width:1160px) {
  .header-links { gap:13px; font-size:11px; }
  .header-nav { gap:18px; padding-left:23px; }
  .header-brand { font-size:30px; }
  .header-actions { gap:12px; }
  .header-join { padding-inline:16px; }
  .hero-grid { width:calc(100% - 72px); min-height:580px; gap:36px; }
  .hero h1.hero-outcome { font-size:clamp(52px,6.7vw,78px)!important; }
  .hero-photo { height:515px; }
}
@media(max-width:800px) {
  .hero { padding-top:0; }
  .hero-grid {
    display:flex;
    flex-direction:column;
    width:calc(100% - 42px);
    min-height:0;
    padding:127px 0 44px!important;
    gap:34px;
  }
  .hero-copy { max-width:610px; text-align:center; }
  .hero h1.hero-outcome {
    max-width:610px;
    margin:0 auto;
    font-size:clamp(47px,8.8vw,68px)!important;
    line-height:1.07!important;
    text-align:center;
    letter-spacing:-.027em;
  }
  .hero-original-support { max-width:490px; margin:22px auto 0; font-size:16px; line-height:1.85; }
  .hero-original-actions { justify-content:center; gap:12px 24px; margin-top:26px; }
  .hero .hero-deck { max-width:450px; margin:23px auto 0!important; text-align:center; font-size:13px; }
  .hero-photo { width:100%; max-width:610px; height:470px; }
  .photo-caption { padding:10px 12px; }
  .photo-caption em { font:italic 22px/1.2 'Instrument Serif',Georgia,serif; }
  .photo-caption span { font-size:8px; }
}
@media(max-width:430px) {
  .hero-grid { width:calc(100% - 38px); }
  .hero h1.hero-outcome { font-size:clamp(41px,11.8vw,49px)!important; }
  .hero-original-actions { gap:12px; flex-direction:column; }
  .hero-photo { height:410px; }
  .hero .hero-original-actions .cta { min-width:225px; }
  .hero-original-support { max-width:330px; }
}

/* Original Squarespace underlineCurve, fitted to the word; reveal once, then remain. */
.hero h1.hero-outcome .rewrite-word { color:inherit; }
.rewrite-word { position:relative; display:inline-block; white-space:nowrap; }
.rewrite-underline { position:absolute; width:105%; height:.23em; left:-1%; bottom:-.12em; color:#595d47; overflow:visible; }
.rewrite-underline path { stroke-dasharray:1; stroke-dashoffset:0; animation:rewrite-reveal .8s ease-out .2s both; }
@keyframes rewrite-reveal { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
body.motion-paused .rewrite-underline path { animation:none; stroke-dashoffset:0; }
@media(prefers-reduced-motion:reduce) { .rewrite-underline path { animation:none; } }

/* Original Squarespace scrolling-text geometry, rightward pace and faded edges. */
.healthy-cells-divider { position:relative; overflow:hidden; padding:24px 0 9px; background:#fcfcf8; color:#595d47; }
.healthy-cells-wave { display:block; width:100%; height:72px; overflow:hidden; mask-image:linear-gradient(to right,transparent 0%,#000 15%,#000 85%,transparent 100%); }
.healthy-cells-words { font:400 26.7px/1.4 Manrope,Arial,sans-serif; fill:currentColor; letter-spacing:0; }
.healthy-cells-divider + #my-story { padding-top:76px; }
@media(max-width:800px) {
  .hero-grid { padding-bottom:26px!important; }
  .healthy-cells-divider { padding-top:16px; padding-bottom:8px; }
  .healthy-cells-wave { height:66px; }
  .healthy-cells-words { font-size:22px; }
  .healthy-cells-divider + #my-story { padding-top:48px; }
}

/* Verified current membership resources replace the outdated program collage. */
.member-resource-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin:48px 0 0; }
.member-resource { border:1px solid #cbcbbb; border-radius:20px; background:#fffdf7; padding:37px 38px 33px; }
.member-resource.resource-gut { background:#e4e1d3; }
.member-resource .eyebrow,.member-practice .eyebrow { font-size:10px; line-height:1.8; letter-spacing:.13em; color:#676b52; }
.member-resource h3 { font:400 43px/1.08 'Instrument Serif',Georgia,serif; letter-spacing:-.025em; color:#595d47; margin:20px 0; }
.member-resource p,.member-practice p,.member-practice li { font-size:14px; line-height:1.85; color:#60634f; }
.member-resource p+p { margin-top:16px; }
.resource-detail { border-top:1px solid #cdcebc; margin-top:25px; padding-top:20px; }
.resource-detail strong { font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:600; }
.resource-detail p { margin-top:9px; }
.member-resource .resource-access { font-size:13px; margin-top:21px; }
.member-testing-note { margin:20px auto 0; max-width:960px; font-size:12px; line-height:1.85; color:#64674f; text-align:center; }
.member-testing-note a { text-underline-offset:3px; }
.member-practice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:52px; margin-top:52px; }
.member-practice { border-top:1px solid #c8cbb5; padding-top:26px; }
.member-practice h3 { color:#595d47; font:400 38px/1.12 'Instrument Serif',Georgia,serif; margin:16px 0; letter-spacing:-.015em; }
.member-practice ul { padding-left:18px; margin:20px 0 0; }
.member-practice li+li { margin-top:7px; }
.member-more { margin-top:46px; padding-top:27px; border-top:1px solid #c8cbb5; display:flex; align-items:center; justify-content:space-between; gap:35px; }
.member-more p { font-size:14px; line-height:1.85; max-width:650px; }
.member-more .cta { flex-shrink:0; }
@media(max-width:800px) {
 .member-resource-grid { grid-template-columns:1fr; gap:22px; margin-top:32px; }
 .member-resource { padding:29px 26px; }
 .member-resource h3 { font-size:37px; margin-top:17px; }
 .member-testing-note { font-size:11px; text-align:left; }
 .member-practice-grid { grid-template-columns:1fr; gap:34px; margin-top:38px; }
 .member-practice h3 { font-size:34px; }
 .member-more { display:block; margin-top:35px; }
 .member-more .cta { margin-top:23px; }
}

.faq-list details>div>p+p { margin-top:14px; }

.homepage-credentials { margin:0 auto 34px!important; padding:22px 0; border-block:1px solid #cfcebf; font:400 12px/1.9 var(--sans, sans-serif)!important; text-align:center; }
.explore-trial { display:flex; align-items:center; gap:23px; flex-wrap:wrap; }
.explore-trial .cta { flex-shrink:0; }
.free-trial-note { max-width:285px; margin:0!important; font-size:14px!important; line-height:1.7!important; }
.free-trial-note span { display:block; }
.closing .explore-trial { justify-content:center; margin-top:25px; }
.closing .explore-trial .cta { margin:0; }
.member-more .explore-trial { flex-shrink:0; }
@media(max-width:800px) {
 .homepage-credentials { font-size:11px!important; margin-bottom:28px!important; }
 .explore-trial { gap:15px; }
 .free-trial-note { font-size:13px!important; }
 .member-more .explore-trial { margin-top:22px; }
 .member-more .explore-trial .cta { margin-top:0; }
}
