

:root {
  --butter: #fff6c8;
  --butter-soft: #fffbe8;
  --lilac: #dcccf4;
  --lilac-deep: #bca2df;
  --cream: #fffcf2;
  --plum: #2e2433;
  --plum-soft: #5d5263;
  --line: rgba(46, 36, 51, 0.18);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--cream);
  color: var(--plum);
  font-family: var(--font-sans), sans-serif;
  font-size: 16px;
  line-height: 1.55;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input {
  font: inherit;
}

.shell {
  width: min(1360px, calc(100% - 64px));
  margin: 0 auto;
}

.hero {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background:
    radial-gradient(circle at 7% 35%, rgba(255,255,255,.7) 0 10%, transparent 31%),
    linear-gradient(118deg, var(--butter) 0 58%, #eadff8 58% 100%);
}

.nav {
  position: relative;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 92px;
  border-bottom: 1px solid rgba(46, 36, 51, 0.14);
}

.wordmark {
  font-family: var(--font-serif), serif;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.04em;
}

.wordmark span {
  font-style: italic;
  font-weight: 400;
}

.nav-links {
  display: flex;
  gap: 34px;
  font-size: 14px;
}

.nav-links a,
.footer-links a {
  transition: opacity .25s ease;
}

.nav-links a:hover,
.footer-links a:hover {
  opacity: .55;
}

.button {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 22px;
  padding: 0 26px;
  border: 1px solid var(--plum);
  border-radius: 999px;
  background: var(--plum);
  color: white;
  font-size: 14px;
  font-weight: 650;
  transition: transform .25s ease, background .25s ease, color .25s ease;
}

.button:hover {
  transform: translateY(-2px);
  background: transparent;
  color: var(--plum);
}

.button-small {
  min-height: 42px;
  padding: 0 20px;
  gap: 14px;
}

.hero-grid {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  align-items: center;
  min-height: calc(100vh - 150px);
  padding: 60px 0 110px;
}

.hero-copy {
  position: relative;
  z-index: 4;
  max-width: 790px;
}

.eyebrow {
  margin: 0 0 24px;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .16em;
  text-transform: uppercase;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2 {
  font-family: var(--font-serif), serif;
  font-weight: 420;
  letter-spacing: -.045em;
}

h1 {
  max-width: 760px;
  margin-bottom: 30px;
  font-size: clamp(62px, 6.6vw, 106px);
  line-height: .9;
}

h1 em {
  display: inline-block;
  font-weight: 350;
}

.hero-intro {
  max-width: 600px;
  margin-bottom: 34px;
  color: var(--plum-soft);
  font-size: 18px;
  line-height: 1.6;
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 30px;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--plum);
  padding-bottom: 4px;
  font-size: 14px;
  font-weight: 650;
}

.trust-row {
  display: flex;
  gap: 26px;
  margin-top: 52px;
  color: var(--plum-soft);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.trust-row span {
  display: flex;
  align-items: center;
  gap: 9px;
}

.trust-row span::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--lilac-deep);
  content: "";
}

.hero-visual {
  position: relative;
  height: min(670px, 66vw);
  min-height: 540px;
}

.image-wrap {
  position: absolute;
  top: 1%;
  right: 0;
  width: 86%;
  height: 88%;
  overflow: hidden;
  border-radius: 220px 220px 28px 28px;
  box-shadow: 0 25px 70px rgba(75, 48, 93, .16);
  transform: rotate(1.5deg);
}

.image-wrap img {
  object-fit: cover;
  object-position: 48% center;
  filter: saturate(.72) contrast(.92) sepia(.08);
}

.image-wash {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(220,204,244,.18), rgba(255,246,200,.12));
  mix-blend-mode: color;
}

.photo-credit {
  position: absolute;
  right: 18px;
  bottom: 12px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 9px;
  letter-spacing: .05em;
}

.orbit {
  position: absolute;
  border: 1px solid rgba(46, 36, 51, .25);
  border-radius: 50%;
  pointer-events: none;
}

.orbit-one {
  top: -3%;
  right: -15%;
  width: 440px;
  height: 440px;
}

.orbit-two {
  right: 54%;
  bottom: 3%;
  width: 180px;
  height: 180px;
}

.season-note {
  position: absolute;
  right: -3%;
  bottom: 0;
  z-index: 3;
  display: flex;
  width: 270px;
  gap: 14px;
  align-items: flex-start;
  padding: 22px 24px;
  border: 1px solid rgba(46,36,51,.14);
  border-radius: 18px;
  background: rgba(255, 252, 242, .9);
  box-shadow: 0 18px 45px rgba(46,36,51,.1);
  backdrop-filter: blur(10px);
}

.season-note p {
  margin: 0;
  color: var(--plum-soft);
  font-size: 13px;
}

.season-note strong {
  color: var(--plum);
}

.note-dot {
  flex: 0 0 auto;
  width: 11px;
  height: 11px;
  margin-top: 5px;
  border-radius: 50%;
  background: var(--lilac-deep);
  box-shadow: 0 0 0 6px rgba(188,162,223,.22);
}

.marquee {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 4;
  width: 100%;
  overflow: hidden;
  border-top: 1px solid rgba(46,36,51,.14);
  padding: 16px 0 15px;
  white-space: nowrap;
  font-family: var(--font-serif), serif;
  font-size: 17px;
  font-style: italic;
}

.marquee div {
  width: max-content;
  animation: drift 28s linear infinite;
}

.marquee span {
  margin: 0 24px;
  color: #a484cd;
  font-family: var(--font-sans), sans-serif;
  font-size: 10px;
}

@keyframes drift {
  from { transform: translateX(0); }
  to { transform: translateX(-28%); }
}

.stages-section,
.resources-section {
  padding: 130px 0;
  background: var(--cream);
}

.section-heading {
  max-width: 850px;
  margin-bottom: 62px;
}

.section-heading h2,
.approach-intro h2,
.start-copy h2,
.join-card h2 {
  margin-bottom: 24px;
  font-size: clamp(48px, 5vw, 76px);
  line-height: 1;
}

.section-heading > p:last-child,
.approach-intro > p:last-child,
.start-copy > p {
  max-width: 650px;
  color: var(--plum-soft);
  font-size: 17px;
}

.stage-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.stage-card {
  position: relative;
  display: flex;
  min-height: 242px;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  transition: background .3s ease, transform .3s ease;
}

.stage-card:hover {
  z-index: 2;
  background: var(--butter);
  transform: translateY(-5px);
}

.stage-card > span:first-child {
  color: var(--plum-soft);
  font-size: 11px;
  letter-spacing: .12em;
}

.stage-card h3 {
  margin-bottom: 7px;
  font-family: var(--font-serif), serif;
  font-size: 30px;
  font-weight: 450;
}

.stage-card p {
  max-width: 210px;
  margin: 0;
  color: var(--plum-soft);
  font-size: 13px;
}

.stage-card .arrow {
  position: absolute;
  top: 20px;
  right: 22px;
  font-size: 18px;
}

.approach-section {
  padding: 130px 0;
  background: var(--plum);
  color: var(--cream);
}

.approach-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 90px;
}

.approach-intro {
  position: sticky;
  top: 80px;
  align-self: start;
}

.approach-intro > p:last-child {
  color: rgba(255,252,242,.68);
}

.pillars {
  display: grid;
  gap: 18px;
}

.pillar {
  position: relative;
  min-height: 300px;
  padding: 38px 42px;
  border-radius: 28px;
  color: var(--plum);
  border: 0;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.pillar-yellow { background: var(--butter); transform: rotate(-.7deg); }
.pillar-lilac { background: var(--lilac); transform: rotate(.8deg); }
.pillar-cream { background: var(--cream); transform: rotate(-.35deg); }

.pillar-number {
  margin-bottom: 38px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
}

.pillar h3 {
  margin-bottom: 12px;
  font-family: var(--font-serif), serif;
  font-size: 50px;
  font-weight: 420;
}

.pillar p {
  max-width: 520px;
  color: var(--plum-soft);
}

.pill {
  display: inline-block;
  margin-top: 16px;
  padding: 7px 13px;
  border: 1px solid rgba(46,36,51,.3);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.start-section {
  padding: 130px 0;
  background: var(--lilac);
}

.start-grid {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 80px;
}

.start-copy .small-note {
  max-width: 470px;
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid rgba(46,36,51,.22);
  font-size: 12px;
}

.explorer {
  overflow: hidden;
  border: 1px solid rgba(46,36,51,.16);
  border-radius: 28px;
  background: var(--cream);
  box-shadow: 0 30px 70px rgba(76,54,91,.12);
}

.explorer-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-bottom: 1px solid var(--line);
}

.explorer-tabs button {
  min-height: 64px;
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--plum-soft);
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  transition: background .2s ease;
}

.explorer-tabs button.active,
.explorer-tabs button:hover {
  background: var(--butter);
  color: var(--plum);
}

.explorer-result {
  padding: 42px;
}

.result-kicker,
.tag {
  margin-bottom: 14px;
  color: var(--plum-soft);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.explorer-result h3 {
  margin-bottom: 12px;
  font-family: var(--font-serif), serif;
  font-size: 42px;
  font-weight: 430;
  line-height: 1;
}

.explorer-result > p:not(.result-kicker) {
  color: var(--plum-soft);
}

.prompt-list {
  margin: 26px 0;
  padding: 18px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.prompt-list p {
  display: flex;
  gap: 12px;
  margin: 10px 0;
  font-size: 13px;
}

.prompt-list span {
  color: #9872c9;
}

.split-heading {
  display: grid;
  max-width: none;
  grid-template-columns: 1.2fr .8fr;
  gap: 100px;
  align-items: end;
}

.split-heading > p {
  padding-bottom: 8px;
}

.resource-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.resource-card {
  min-height: 330px;
  padding: 36px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: white;
}

.feature-trigger {
  position: relative;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: box-shadow .25s ease, transform .25s ease;
}

.pillar.feature-trigger {
  color: var(--plum);
}

.resource-card.feature-trigger:hover {
  box-shadow: 0 20px 50px rgba(46, 36, 51, .09);
  transform: translateY(-4px);
}

.pillar.feature-trigger:hover {
  box-shadow: 0 20px 55px rgba(0, 0, 0, .22);
}

.feature-trigger:focus-visible {
  outline: 3px solid #8c63bf;
  outline-offset: 5px;
}

.feature-open {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: 26px;
  padding-top: 14px;
  border-top: 1px solid rgba(46, 36, 51, .2);
  color: var(--plum);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.feature-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  overflow-y: auto;
  padding: 24px;
  background: rgba(30, 22, 34, .72);
  backdrop-filter: blur(12px);
}

.feature-dialog {
  position: relative;
  width: min(680px, 100%);
  padding: 52px;
  border-radius: 28px;
  background: var(--cream);
  box-shadow: 0 35px 100px rgba(0, 0, 0, .3);
  color: var(--plum);
}

.feature-close {
  position: absolute;
  top: 18px;
  right: 18px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: transparent;
  color: var(--plum);
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
}

.feature-dialog h2 {
  max-width: 520px;
  margin-bottom: 16px;
  font-family: var(--font-serif), serif;
  font-size: clamp(48px, 7vw, 72px);
  font-weight: 420;
  letter-spacing: -.04em;
  line-height: .95;
}

.feature-summary {
  max-width: 560px;
  color: var(--plum-soft);
  font-size: 16px;
}

.feature-list {
  margin: 28px 0 32px;
  border-top: 1px solid var(--line);
}

.feature-list p {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  margin: 0;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
  color: var(--plum-soft);
  font-size: 13px;
}

.feature-list span {
  color: #8c63bf;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .1em;
}

.feature-dialog small {
  display: block;
  margin-top: 14px;
  color: var(--plum-soft);
  font-size: 10px;
}

.resource-feature {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: .9fr 1.1fr;
  padding: 0;
  overflow: hidden;
}

.resource-art {
  position: relative;
  display: flex;
  min-height: 440px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--butter);
}

.resource-art > span {
  position: relative;
  z-index: 3;
  font-family: var(--font-serif), serif;
  font-size: clamp(46px, 6vw, 82px);
  font-style: italic;
  line-height: .78;
  text-align: center;
}

.sun,
.moon {
  position: absolute;
  border-radius: 50%;
}

.sun {
  top: -15%;
  right: -9%;
  width: 260px;
  height: 260px;
  background: var(--lilac);
}

.moon {
  bottom: -18%;
  left: -2%;
  width: 300px;
  height: 300px;
  border: 1px solid var(--plum);
}

.resource-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 58px;
}

.resource-card h3 {
  margin-bottom: 14px;
  font-family: var(--font-serif), serif;
  font-size: 38px;
  font-weight: 430;
  line-height: 1.05;
}

.resource-card p:not(.tag) {
  max-width: 510px;
  color: var(--plum-soft);
}

.resource-card a {
  margin-top: 18px;
  font-size: 13px;
  font-weight: 700;
}

.resource-download {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.resource-download .resource-icon {
  margin-bottom: 42px;
}

.resource-download a {
  margin-top: auto;
  padding-top: 22px;
  color: var(--plum);
  text-decoration: underline;
  text-decoration-color: #a887ca;
  text-underline-offset: 5px;
}

.resource-icon {
  display: grid;
  width: 52px;
  height: 52px;
  margin-bottom: 80px;
  place-items: center;
  border-radius: 50%;
  background: var(--lilac);
  font-family: var(--font-serif), serif;
  font-size: 24px;
}

.postpartum-library {
  margin-top: 70px;
  padding-top: 62px;
  border-top: 1px solid var(--line);
}

.postpartum-library-heading {
  display: grid;
  grid-template-columns: 1.45fr .75fr;
  gap: 50px;
  align-items: end;
  margin-bottom: 30px;
}

.postpartum-library-heading h3 {
  max-width: 760px;
  margin: 8px 0 0;
  font-family: var(--font-serif), serif;
  font-size: clamp(34px, 4vw, 56px);
  font-weight: 430;
  line-height: 1.02;
}

.postpartum-library-heading > p {
  color: var(--plum-soft);
}

.resource-disclaimer {
  margin-bottom: 24px;
  padding: 18px 22px;
  border: 1px solid rgba(124, 36, 52, .28);
  border-radius: 16px;
  background: #fff5f4;
  color: var(--plum-soft);
  font-size: 12px;
  line-height: 1.55;
}

.resource-disclaimer strong {
  color: #7c2434;
}

.postpartum-download-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.postpartum-download {
  display: flex;
  min-height: 360px;
  flex-direction: column;
  align-items: flex-start;
  padding: 32px;
  border: 1px solid rgba(46, 36, 51, .16);
  border-radius: 24px;
  color: var(--plum);
}

.ppa-download { background: #f2ebfc; }
.ppd-download { background: var(--butter); }
.ppp-download { background: #f8d7d8; border-color: rgba(124, 36, 52, .34); }

.postpartum-download h4 {
  margin: 28px 0 14px;
  font-family: var(--font-serif), serif;
  font-size: 32px;
  font-weight: 450;
  line-height: 1.05;
}

.postpartum-download > p:not(.tag) {
  color: var(--plum-soft);
}

.postpartum-download a {
  margin-top: auto;
  padding-top: 28px;
  border-bottom: 1px solid currentColor;
  color: var(--plum);
  font-size: 12px;
  font-weight: 750;
}

.quote-section {
  padding: 120px 0;
  background: var(--butter);
}

.quote-grid {
  display: grid;
  grid-template-columns: 100px 1fr;
  align-items: start;
}

.quote-mark {
  margin: -18px 0 0;
  font-family: var(--font-serif), serif;
  font-size: 120px;
  line-height: 1;
}

blockquote {
  max-width: 1000px;
  margin: 0;
  font-family: var(--font-serif), serif;
  font-size: clamp(46px, 5vw, 74px);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: 1.02;
}

.quote-caption {
  grid-column: 2;
  margin: 30px 0 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.join-section {
  padding: 90px 0;
  background: var(--cream);
}

.join-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  padding: 72px;
  border-radius: 34px;
  background: var(--lilac);
}

.join-card h2 {
  margin: 0;
}

.join-copy > p {
  max-width: 540px;
  color: var(--plum-soft);
}

.join-email {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: min(100%, 360px);
  min-height: 58px;
  margin: 28px 0 12px;
  padding: 0 25px;
  border-radius: 999px;
  background: var(--plum);
  color: var(--cream);
  font-size: 12px;
  font-weight: 700;
  transition: transform .2s ease, background .2s ease;
}

.join-email:hover {
  background: #46364e;
  transform: translateY(-2px);
}

.join-copy small {
  display: block;
  color: var(--plum-soft);
  font-size: 10px;
}

footer {
  padding: 80px 0 28px;
  background: var(--plum);
  color: var(--cream);
}

.footer-top {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: start;
  padding-bottom: 80px;
}

.wordmark-light {
  font-size: 34px;
}

.footer-top > p {
  max-width: 300px;
  color: rgba(255,252,242,.65);
}

.footer-links {
  display: grid;
  gap: 10px;
  justify-content: end;
  font-size: 13px;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.15);
  color: rgba(255,252,242,.5);
  font-size: 10px;
}

.footer-origin {
  display: inline-block;
  margin-top: 5px;
  opacity: .72;
}

.footer-origin a {
  border-bottom: 1px solid currentColor;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
}

@media (max-width: 1050px) {
  .hero-grid,
  .approach-grid,
  .start-grid {
    grid-template-columns: 1fr;
  }

  .postpartum-library-heading {
    grid-template-columns: 1fr;
  }

  .postpartum-download-grid {
    grid-template-columns: 1fr;
  }

  .postpartum-download {
    min-height: 300px;
  }

  .hero-grid {
    padding-top: 80px;
  }

  .hero-visual {
    height: 680px;
    margin-top: 50px;
  }

  .image-wrap {
    left: 8%;
    width: 80%;
  }

  .stage-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .approach-intro {
    position: static;
  }

  .split-heading,
  .join-card {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

@media (max-width: 720px) {
  .shell {
    width: min(100% - 36px, 1360px);
  }

  .nav {
    height: 76px;
  }

  .nav-links {
    display: none;
  }

  .button-small {
    min-height: 38px;
    padding: 0 15px;
    font-size: 11px;
  }

  .hero-grid {
    min-height: auto;
    padding: 74px 0 108px;
  }

  h1 {
    font-size: clamp(54px, 16vw, 76px);
  }

  .hero-intro {
    font-size: 16px;
  }

  .hero-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
  }

  .trust-row {
    flex-wrap: wrap;
    gap: 12px 18px;
    margin-top: 38px;
  }

  .hero-visual {
    height: 500px;
    min-height: 0;
  }

  .image-wrap {
    left: 0;
    width: 94%;
    border-radius: 150px 150px 24px 24px;
  }

  .season-note {
    right: 0;
    width: 235px;
  }

  .stages-section,
  .approach-section,
  .start-section,
  .resources-section {
    padding: 84px 0;
  }

  .section-heading h2,
  .approach-intro h2,
  .start-copy h2,
  .join-card h2 {
    font-size: 48px;
  }

  .stage-grid,
  .resource-grid {
    grid-template-columns: 1fr;
  }

  .stage-card {
    min-height: 200px;
  }

  .pillar {
    min-height: 280px;
    padding: 30px;
  }

  .resource-feature {
    grid-template-columns: 1fr;
  }

  .resource-art {
    min-height: 320px;
  }

  .resource-body,
  .explorer-result {
    padding: 30px;
  }

  .feature-dialog {
    padding: 46px 25px 30px;
    border-radius: 22px;
  }

  .split-heading {
    display: block;
  }

  .quote-grid {
    grid-template-columns: 50px 1fr;
  }

  .quote-mark {
    font-size: 72px;
  }

  blockquote {
    font-size: 42px;
  }

  .join-card {
    width: calc(100% - 24px);
    padding: 44px 24px;
  }

  .join-form {
    flex-direction: column;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .join-form input {
    min-height: 54px;
    margin-bottom: 10px;
    border: 1px solid rgba(46,36,51,.3);
    border-radius: 999px;
    background: var(--cream);
  }

  .footer-top {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer-links {
    justify-content: start;
  }

  .footer-bottom {
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .marquee div { animation: none; }
  * { transition-duration: .01ms !important; }
}

:root{--font-sans:Arial;--font-serif:Georgia} .image-wrap img{width:100%;height:100%}.prototype{padding:7px 20px;text-align:center;background:var(--plum);color:var(--cream);font-size:11px;letter-spacing:.06em}section{scroll-margin-top:20px}.hero{min-height:auto}.hero-grid{min-height:700px}.hero-copy{padding-right:20px}h1{font-size:clamp(60px,6.2vw,95px)}.wordmark{font-size:23px}.wordmark small{display:block;font:10px Arial;letter-spacing:.16em;margin-top:3px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:28px 30px 0}label{display:block;font-size:12px;font-weight:bold;margin-bottom:8px}select{width:100%;padding:13px 9px;border:1px solid var(--line);border-radius:9px;background:white;font:14px Arial;color:var(--plum)}.explorer-result{padding:28px 30px}.rule{padding:15px 0;border-bottom:1px solid var(--line)}.rule h4{font-size:13px;margin:0 0 6px}.rule p{font-size:14px;margin:0;color:var(--plum-soft)}.source-link{text-decoration:underline;font-size:12px;text-underline-offset:3px}.source-note{font-size:11px!important;margin-top:22px}.explorer .button{margin-top:20px}.pillar{min-height:0}.pillar h3{font-size:39px}.pillar p{margin-bottom:0}.stage-card p{max-width:260px}.resources-section{padding:95px 0}.resource-card{min-height:240px}.resource-card h3{font:32px Georgia}.resource-card p{color:var(--plum-soft)}.resource-card a{text-decoration:underline;text-underline-offset:5px}.faq{max-width:900px}details{padding:20px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:bold}details p{margin:16px 0 0;color:var(--plum-soft)}.help-band{background:var(--butter);padding:65px 0}.help-band h2{font-size:48px;line-height:1.05}.help-flex{display:flex;justify-content:space-between;align-items:center;gap:35px}.small{font-size:12px;color:var(--plum-soft)}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #8c63bf;outline-offset:5px}@media(max-width:720px){.hero-grid{min-height:0}.form-row{grid-template-columns:1fr}.help-flex{display:block}.hero-copy{padding:0}.wordmark{font-size:20px}.trust-row{font-size:10px}.approach-grid,.start-grid{gap:40px}.hero-visual{height:450px}.source-link{overflow-wrap:anywhere}}
:root{--butter:#f6dac4;--butter-soft:#fff5eb;--lilac:#d7e3cc;--lilac-deep:#a5b897;--cream:#fcfaf3;--plum:#253d35;--plum-soft:#56665d;--line:rgba(37,61,53,.2)}.hero{background:radial-gradient(circle at 7% 35%,rgba(255,255,255,.7) 0 10%,transparent 31%),linear-gradient(118deg,#f6dac4 0 58%,#d7e3cc 58% 100%)}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-item{display:flex;gap:13px;padding:20px;border:1px solid var(--line);border-radius:14px;background:white;align-items:flex-start;cursor:pointer;font-weight:normal;font-size:14px;margin:0}.check-item input{width:19px;height:19px;accent-color:var(--plum);flex-shrink:0}.check-item strong{display:block}.check-item:has(input:checked){background:#edf2e7}.progress{margin:18px 0;color:var(--plum-soft);font-size:13px}.plan-actions{display:flex;gap:15px;flex-wrap:wrap}.button{cursor:pointer}.secondary{background:transparent;color:var(--plum)}.plan-subtitle{font-size:16px;color:var(--plum-soft)}@media(max-width:720px){.checklist{grid-template-columns:1fr}}@media print{body>*:not(main),main>section:not(#plan){display:none!important}#plan{padding:0!important;background:white!important}#plan .shell{width:100%}.plan-actions{display:none}.checklist{grid-template-columns:1fr 1fr}.check-item{break-inside:avoid}#plan h2{font-size:32px}}
.shell{max-width:1240px}.hero-grid{min-height:690px;padding-top:45px;padding-bottom:100px}.hero-visual{height:570px;min-height:0}.hero-copy{padding-right:40px}h1{font-size:clamp(60px,6.7vw,94px);line-height:.98}.hero-intro{font-size:17px;max-width:510px}.hero-actions{gap:24px}.orbit-one{border-color:#253d3533;right:-8%;width:370px;height:370px}.orbit-two{border-color:#253d352b}.season-note{right:0;bottom:0;width:285px}.image-wrap{width:92%;height:92%;transform:rotate(1.5deg)}.photo-credit{color:#253d35;background:#fcfaf3b8;padding:4px 8px;border-radius:4px}.marquee{text-align:center}.marquee div{animation:none;width:auto}.marquee span{color:var(--plum-soft)}.stages-section,.start-section,.approach-section{padding:100px 0}.foundation-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.foundation-grid h2{font-size:43px;line-height:1.08;max-width:500px}.foundation-grid p,.foundation-grid li{font-size:15px}.foundation-grid details p{color:var(--plum)}.symptoms{display:flex;flex-wrap:wrap;gap:11px}.symptoms span,.symptoms a{border:1px solid var(--line);border-radius:99px;padding:10px 18px;font-size:14px}.symptoms a:hover{background:var(--lilac)}.source-stat{margin-top:32px;font-size:14px}.source-stat p{max-width:750px}.approach-grid{gap:65px;grid-template-columns:.85fr 1.15fr}.pillar h3{font-size:33px;line-height:1.1}.pillar-number{margin-bottom:20px}.pillar p{font-size:15px}.light{color:var(--cream);border-color:var(--cream)}.testing-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.test-card{border:1px solid var(--line);border-radius:22px;padding:30px;background:#fff}.test-card summary{list-style:none;position:relative}.test-card summary::-webkit-details-marker{display:none}.test-card h3{font:29px Georgia;line-height:1.15;margin:18px 0 22px}.test-card .tag{display:block}.test-card p,.test-card li{font-size:14px;color:var(--plum-soft)}.expand{font-size:12px;border-bottom:1px solid var(--line);padding-bottom:4px}.test-card[open]{background:var(--butter-soft)}.step-section{background:var(--lilac)}.step-list article{display:grid;grid-template-columns:40px 1fr;gap:18px;border-top:1px solid var(--line);padding:24px 0}.step-list article>span{font:26px Georgia}.step-list h3{font:28px Georgia;line-height:1.15;margin-bottom:12px}.step-list p{font-size:15px;margin:0;color:var(--plum-soft)}.topics{margin-top:30px}.topics .symptoms{margin-top:25px}.closing-copy{max-width:740px;color:var(--plum-soft);font-size:15px}.help-flex>div{max-width:850px}.help-flex>.button{flex-shrink:0}.skip{position:absolute;left:15px;top:-80px;z-index:100;background:white;padding:14px}.skip:focus{top:10px}.resource-card{transition:background .2s}.resource-card:hover{background:var(--butter-soft)}@media(max-width:1050px){.hero-grid{grid-template-columns:1fr 1fr;gap:10px}.hero-visual{height:520px}.hero-actions{flex-wrap:wrap}.nav-links{gap:18px}.approach-grid,.start-grid{grid-template-columns:1fr}.foundation-grid{gap:35px}.hero-copy{padding-right:15px}.image-wrap{left:auto}.trust-row{flex-wrap:wrap;gap:15px}.help-flex{flex-wrap:wrap}}@media(max-width:720px){.hero-grid{grid-template-columns:1fr;padding-top:48px;gap:0}.hero-visual{height:450px;margin-top:35px}.hero-copy{padding:0}h1{font-size:66px}.hero-visual .image-wrap{width:85%;left:7%}.season-note{width:255px}.foundation-grid,.testing-grid{grid-template-columns:1fr}.foundation-grid h2{font-size:37px}.nav .button{font-size:10px;padding:0 12px}.wordmark{font-size:19px}.wordmark small{font-size:8px}.shell{width:calc(100% - 36px)}.marquee{font-size:15px}.marquee span{margin:0 10px}.stages-section,.start-section,.approach-section,.resources-section{padding:66px 0}.pillar{padding:28px}.section-heading{margin-bottom:35px}.help-band h2{font-size:40px}.test-card{padding:25px}.stage-grid{grid-template-columns:1fr 1fr}.stage-card{padding:18px;min-height:245px}.stage-card h3{font-size:25px}.stage-card>span:first-child{font-size:9px}.stage-card .arrow{right:13px;top:15px}.source-stat summary{font-size:13px}}
/* Focused testing and next-step refinements. */
.split-heading>.testing-note{padding:28px 30px;background:var(--butter);border:1px solid var(--line);border-radius:22px;font-size:16px;align-self:center;margin:0}.test-card,.test-card[open]{background:white}.test-card{padding:25px 28px}.test-card h3{font-size:27px;margin:14px 0 12px}.test-card .test-intro{font-weight:normal;line-height:1.55;margin:0 0 18px;max-width:430px}.test-card>div{border-top:1px solid var(--line);margin-top:20px;padding-top:4px}.test-card .tag{font-size:10px}.check-item{padding:25px;gap:16px}.check-item input{margin-top:5px}.check-number{display:block;font-size:11px;letter-spacing:.12em;margin-bottom:9px;color:var(--plum-soft)}.check-item strong{font:27px/1.15 Georgia;margin-bottom:12px}.check-description{display:block;color:var(--plum-soft);font-size:14px;line-height:1.6}.plan-actions{align-items:center}.step-section .checklist{align-items:stretch}.step-section .section-heading{max-width:820px}.test-card[open] .expand{font-size:0}.test-card[open] .expand:after{content:'Close details −';font-size:12px}@media(max-width:720px){.split-heading>.testing-note{margin-top:24px}.check-item{padding:22px}.check-item strong{font-size:25px}}@media print{main>section#steps{display:block!important;padding:0!important;background:white!important}#steps .shell{width:100%}#steps .section-heading h2{font-size:32px}#steps .section-heading{margin-bottom:20px}#steps .checklist{grid-template-columns:1fr 1fr;gap:10px}#steps .check-item{padding:14px;break-inside:avoid}#steps .check-item strong{font-size:20px}#steps .check-description{font-size:11px}}
/* Softer peach, quieter headings, and scannable steps. */
:root{--butter:#eddfd2;--butter-soft:#f8f2eb}
.hero{background:radial-gradient(circle at 7% 35%,rgba(255,255,255,.48) 0 10%,transparent 31%),linear-gradient(118deg,var(--butter) 0 58%,#d7e3cc 58% 100%)}
.help-band{background:var(--butter)}
h1{font-size:clamp(57px,6.3vw,88px)}
.section-heading h2,.approach-intro h2,.start-copy h2,.join-card h2{font-size:clamp(45px,4.7vw,71px)}
.foundation-grid h2{font-size:40px}.stage-card h3{font-size:28px}.pillar h3{font-size:31px}.test-card h3{font-size:25px}.resource-card h3{font-size:30px}.help-band h2{font-size:45px}
.method-number{font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--plum-soft);margin:0 0 9px 5px}.testing-grid{row-gap:25px}.test-card h3{margin-top:0}.testing-note strong{display:block;margin-bottom:9px}
.step-check{display:block;cursor:default;padding:26px}.step-check-top{display:flex;align-items:flex-start;gap:15px}.step-check-top input{margin:4px 0 0;cursor:pointer}.step-check-top label{cursor:pointer;margin:0;flex:1}.step-check-top strong{font-size:25px;line-height:1.17;margin-bottom:0}.step-check-top .check-number{margin-bottom:8px}.step-bullets{margin:20px 0 0;padding-left:20px;border-top:1px solid var(--line);padding-top:17px;color:var(--plum-soft);font-size:14px;line-height:1.6}.step-bullets li{padding-left:3px;margin-bottom:12px}.step-bullets li:last-child{margin-bottom:0}.step-bullets b{color:var(--plum);font-weight:700}.step-check:has(input:checked){background:#edf2e7}
@media(max-width:720px){h1{font-size:62px}.section-heading h2,.approach-intro h2,.start-copy h2,.join-card h2{font-size:45px}.foundation-grid h2{font-size:35px}.stage-card h3{font-size:24px}.help-band h2{font-size:38px}.step-check-top strong{font-size:24px}.step-check{padding:22px}.pillar h3{font-size:29px}}
@media print{#steps .step-check{padding:13px}#steps .step-check-top strong{font-size:19px}#steps .step-bullets{font-size:11px;margin-top:12px;padding-top:10px}#steps .step-bullets li{margin-bottom:8px}}

/* Original CE white-to-light-green hero background. */
.hero{background:linear-gradient(to bottom,#ffffff 0%,#f7fdfb 40%,#eef8f4 70%,#e3f2ec 100%)}
/* Coordinated CE palette: ivory, mint, eucalyptus, sand, and forest. */
:root{
 --butter:#e9e2d6;
 --butter-soft:#f4f1e9;
 --lilac:#dcebe3;
 --lilac-deep:#9db7a8;
 --cream:#faf9f4;
 --plum:#293f36;
 --plum-soft:#586a60;
 --line:rgba(41,63,54,.18);
 --hero-ivory:#fafbf7;
 --hero-green:#e3f2ec;
}
.hero{background:radial-gradient(circle at 7% 35%,rgba(255,255,255,.65) 0 10%,transparent 31%),linear-gradient(118deg,var(--hero-ivory) 0 58%,var(--hero-green) 58% 100%)}
.image-wash{background:linear-gradient(180deg,rgba(227,242,236,.14),rgba(233,226,214,.09))}
.image-wrap{box-shadow:0 25px 70px rgba(41,63,54,.13)}
.season-note{background:rgba(250,249,244,.94);border-color:var(--line);box-shadow:0 18px 45px rgba(41,63,54,.09)}
.note-dot{box-shadow:0 0 0 6px rgba(157,183,168,.22)}
.photo-credit{background:rgba(250,249,244,.8);color:var(--plum)}
.orbit-one,.orbit-two{border-color:rgba(41,63,54,.2)}
.marquee span{color:var(--plum-soft)}
.check-item:has(input:checked),.step-check:has(input:checked){background:#edf5ef}
.test-card,.test-card[open],.resource-card,.check-item{background:#fffefa}
.check-item:has(input:checked),.step-check:has(input:checked){background:#edf5ef}
.resource-card:hover{background:var(--butter-soft)}
.explorer{box-shadow:0 30px 70px rgba(41,63,54,.1)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#6d907e}
/* Keep the complete spore illustration visible within the hero arch. */
.image-wrap{background:#fafbf7}
.image-wrap img{object-fit:contain;object-position:center;filter:none;padding:20px 12px 24px}
.image-wash{display:none}
/* Open illustration with a single understated gesture line. */
.hero-visual .image-wrap{background:transparent;border-radius:0;box-shadow:none;transform:none;overflow:visible;z-index:1}
.hero-visual .image-wrap img{padding:0 12px 24px;object-fit:contain}
.hero-visual .photo-credit{background:transparent;right:20px;bottom:8px;font-size:9px;color:var(--plum-soft)}
.movement-line{position:absolute;left:0;bottom:13%;width:100%;height:140px;z-index:0;pointer-events:none}
.movement-line path{stroke:#9db7a8;stroke-width:1.3;stroke-linecap:round;opacity:.7}
@media(max-width:720px){.movement-line{height:100px;bottom:16%}}
/* Blend the original artwork into the pale hero without a visible panel. */
.hero-visual .image-wrap{mix-blend-mode:multiply}
/* Hero ends at the divider; the topic strip sits on its own cream band. */
.marquee{position:relative;bottom:auto;left:auto;background:var(--cream);border-top:1px solid var(--line)}
.hero-grid{padding-bottom:50px}
.hero-visual .image-wrap{mix-blend-mode:normal;background:none;border:0;border-radius:0;box-shadow:none}
.hero-visual .image-wrap img{background:none;filter:none}
@media(max-width:720px){.hero-grid{padding-bottom:42px}}
/* Final hero: complementary mint and sage, with paired vertical gestures. */
:root{--hero-ivory:#e6f1e9;--hero-green:#d1e5d9}
.hero{background:linear-gradient(118deg,var(--hero-ivory) 0 58%,var(--hero-green) 58% 100%)}
.hero-visual .movement-line{width:110px;height:290px;bottom:auto;left:auto;opacity:.8}
.hero-visual .movement-line-low{left:0;top:39%}
.hero-visual .movement-line-high{right:-14px;top:-4%;transform:scaleX(-1)}
.movement-line path{stroke:#91ad9b;stroke-width:1.2;opacity:.75}
@media(max-width:720px){.hero-visual .movement-line{width:75px;height:220px}.hero-visual .movement-line-low{left:-12px;top:40%}.hero-visual .movement-line-high{right:-9px;top:-6%}}
/* Foster Forward's bottom-of-hero word strip, with small circle separators. */
.hero-grid{padding-bottom:110px}
.mold-word-strip{position:absolute;bottom:0;left:0;background:transparent;border-top:1px solid var(--line);padding:16px 0 15px;text-align:left;font-family:Georgia,serif;font-size:17px;font-style:italic}
.mold-word-strip .mold-word-track{display:flex;width:max-content;animation:mold-word-drift 36s linear infinite}
.mold-word-strip .mold-word-group{display:flex;align-items:center;flex:0 0 auto;width:auto;animation:none}
.mold-word-strip .mold-topic{font:inherit;color:var(--plum);margin:0;white-space:nowrap}
.mold-word-strip .topic-dot{display:block;flex:0 0 4px;width:4px;height:4px;border-radius:50%;background:var(--lilac-deep);margin:0 25px}
@keyframes mold-word-drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:720px){.hero-grid{padding-bottom:108px}.mold-word-strip{font-size:16px}.mold-word-strip .topic-dot{margin:0 22px}}
@media(prefers-reduced-motion:reduce){.mold-word-strip .mold-word-track{animation:none}}
/* Slightly smaller large titles, retaining the established typography. */
h1{font-size:clamp(54px,5.9vw,82px)}
.section-heading h2,.approach-intro h2,.start-copy h2,.join-card h2{font-size:clamp(42px,4.4vw,66px)}
.foundation-grid h2{font-size:38px}
.help-band h2{font-size:42px}
@media(max-width:720px){h1{font-size:58px}.section-heading h2,.approach-intro h2,.start-copy h2,.join-card h2{font-size:42px}.foundation-grid h2{font-size:33px}.help-band h2{font-size:36px}}
/* Match the sage section and softly frame the illustration. */
:root{--hero-green:var(--lilac)}
.hero-visual:before{content:"";position:absolute;z-index:0;pointer-events:none;top:8%;left:14%;width:75%;height:80%;background:rgba(255,255,255,.38);border-radius:46% 54% 59% 41% / 42% 38% 62% 58%;transform:rotate(-8deg)}
.hero-visual .movement-line{z-index:2}
.movement-line .line-bead{fill:#9db7a8;stroke:none;opacity:.8}
.movement-line .line-bead-small{fill:#faf9f4;stroke:#9db7a8;stroke-width:1}
.movement-line .line-leaf{fill:rgba(250,249,244,.65);stroke:#9db7a8;stroke-width:1;opacity:.8}
@media(max-width:720px){.hero-visual:before{left:12%;width:77%;top:7%;height:79%}}
/* Match the first section below and quiet the hero illustration. */
:root{--hero-green:var(--cream)}
.hero-visual:before{display:none}
.hero-visual .image-wrap{left:15%;right:auto;width:70%;top:8%;height:76%}
.hero-visual .image-wrap img{padding:20px;object-fit:contain}
.movement-line .line-leaf,.movement-line .line-bead{display:none}
@media(max-width:720px){.hero-visual .image-wrap{left:15%;width:70%;top:7%;height:77%}}
/* Contrasting topic palette: existing mint left, muted peach right. */
:root{--hero-green:#eddace;--butter:#eddace;--butter-soft:#f7eee7}

/* Begin the hero word strip halfway across, then join the continuous loop. */
.mold-word-strip .mold-word-track{
 animation: topic-word-enter var(--word-enter-time,16s) linear 1,
            topic-word-loop 36s linear var(--word-enter-time,16s) infinite;
}
@keyframes topic-word-enter{from{transform:translateX(50vw)}to{transform:translateX(0)}}
@keyframes topic-word-loop{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--word-group-width,1000px)))}}
@media(prefers-reduced-motion:reduce){.mold-word-strip .mold-word-track{animation:none;transform:none}}

/* The scrolling words live only in the left half of the hero. */
.hero > .mold-word-strip{left:0;right:auto;width:50%;max-width:50%;overflow:hidden;contain:paint}

/* Readable foundation copy and always-visible susceptibility note. */
.foundation-grid article>p,.foundation-grid details p{margin:0 0 1.1em;line-height:1.75}
.foundation-grid h2{margin-bottom:24px;text-wrap:balance}
.foundation-grid details{margin-top:22px}
.foundation-grid li{margin-bottom:14px;line-height:1.7}
.foundation-grid li>span{display:block;margin-top:6px}
aside.source-stat{display:block;padding:24px 28px}
aside.source-stat h3{margin:0 0 14px;font-size:1.15rem;line-height:1.4}
aside.source-stat p{margin:0 0 12px;line-height:1.7}
aside.source-stat p:last-child{margin-bottom:0}
.step-bullets em{font-style:italic}
