.abundance-page {
  --salmon: #e9ac9a;
  --salmon-deep: #a75d50;
  --salmon-soft: #f7e6df;
  --sage: #bfcfb4;
  --sage-deep: #46583b;
  --sage-soft: #edf1e8;
  --ink: #293d30;
  --muted: #566354;
  --line: rgba(70,88,59,.24);
}
.abundance-page .soft-section {background: var(--sage-soft);}
.abundance-page .abundance-themes {background: var(--paper);}
.abundance-page .dream-hero {background-color: var(--sage); background-image: linear-gradient(rgba(191,207,180,.48),rgba(225,234,217,.66)),url('media/iemt-silk-hero.png'); background-blend-mode: normal, luminosity;}
.abundance-page .dream-hero h1 {color: #334c36;}
.abundance-page h2::after {content: ""; display: block; width: 54px; height: 2px; margin-top: 24px; background: var(--salmon);}
.abundance-page .center h2::after {margin-left: auto; margin-right: auto;}
.abundance-page .button {background: var(--salmon); border-color: var(--salmon); color: var(--ink);}
.abundance-page .button:hover,.abundance-page .button:focus-visible {background: #e19a85; border-color: var(--salmon-deep);}
.abundance-page .button:focus-visible {outline: 2px solid var(--sage-deep); outline-offset: 4px;}
.abundance-page .page-tabs a[aria-current="page"] {color: var(--sage-deep);}
.abundance-page .dream-hero .kicker {color: var(--sage-deep);}
.abundance-page .clean-list li::before {border-color: var(--sage-deep);}
.abundance-page .placeholder {border-color: #c88978;}
.abundance-page .dream-closing {background: var(--paper);}
.abundance-page h2 {margin-bottom: 30px;}
.danielle-heart {display: inline-block; width: .65em; height: .65em; margin-left: .12em; vertical-align: .04em; fill: none; stroke: var(--salmon); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round;}
.dream-about-photo {display: block; float: right; width: min(42%,320px); aspect-ratio: 4 / 5; object-fit: cover; object-position: center 42%; margin: 6px 0 28px 36px; border: 1px solid var(--line);}
@media (max-width: 600px) {.dream-about-photo {float: none; width: min(420px,100%); margin: 0 auto 30px;}}
.abundance-page p:last-child {margin-bottom: 0;}
.abundance-page strong {font-weight: 700; color: var(--ink);}
.dream-hero .dream-subheading {max-width: 680px; margin: 26px auto 40px; color: var(--ink); font-size: clamp(23px,3vw,31px); line-height: 1.5; font-family: "Cormorant Garamond",Georgia,serif;}
.dream-opening {max-width: 650px; margin: 0 auto;}
.dream-opening p {margin-bottom: 18px;}
.dream-hero .button {margin-top: 30px;}
.dream-themes {margin-bottom: 32px;}
.dream-themes p {padding: 20px 0; margin: 0; border-bottom: 1px solid var(--line);}
.abundance-page .clean-list {margin-bottom: 32px;}
.dream-stories h3 {font-family: "Cormorant Garamond",Georgia,serif; font-weight: 400; font-size: clamp(28px,4vw,38px); line-height: 1.2; margin: 48px 0 24px;}
.dream-placeholder-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px;}
.dream-video-grid {grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start;}
.dream-video-grid h4 {margin: 0 0 18px; color: var(--ink); font-family: "Cormorant Garamond",Georgia,serif; font-size: 28px; font-weight: 400; line-height: 1.25;}
.dream-video-grid .video-story-label {margin: 0 0 12px; color: var(--sage-deep); font-size: 11px; font-weight: 400; letter-spacing: .16em; text-transform: uppercase;}
.video-story-quote {margin: 0 0 26px; padding-left: 20px; border-left: 2px solid var(--sage);}
.video-story-quote p {font-size: 18px; line-height: 1.75;}
.dream-placeholder-grid > .placeholder {margin: 0; min-width: 0;}
.dream-placeholder-grid blockquote p {font-size: 17px;}
.dream-written-testimonial {grid-column: 1 / -1; margin: 0; padding: clamp(24px,4vw,44px); border: 1px solid var(--line); background: rgba(255,253,249,.72);}
.dream-written-testimonial h4 {margin: 0 0 24px; color: var(--ink); font-family: "Cormorant Garamond",Georgia,serif; font-size: clamp(28px,4vw,38px); font-weight: 400; line-height: 1.25;}
.dream-placeholder-grid footer {display: block; padding: 0; margin-top: 20px; border: 0; background: none; font-size: 13px; line-height: 1.6;}
.dream-placeholder-note {font-size: 16px;}
.dream-screenshot-gallery {columns: 2; column-gap: 24px; margin-top: 28px;}
.dream-screenshot-gallery a {display: block; break-inside: avoid; margin: 0 0 24px;}
.dream-screenshot-gallery img {display: block; width: 100%; height: auto; border: 1px solid var(--line);}
.dream-screenshot-gallery a:focus-visible {outline: 2px solid var(--salmon-deep); outline-offset: 5px;}
@media (max-width: 700px) {.dream-screenshot-gallery {columns: 1;}}
.dream-screenshot-placeholders {display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; margin-top: 24px;}
.dream-screenshot-placeholders .placeholder {display: grid; align-content: center; min-height: 190px; text-align: center;}
.dream-closing {scroll-margin-top: 24px;}
.dream-closing-layout {display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1fr); align-items: center; gap: clamp(30px,6vw,80px); width: min(1080px,100%); margin: 0 auto;}
.dream-closing-photo {display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; border: 1px solid var(--line);}
.dream-closing-layout > .narrow {min-width: 0;}
.dream-closing .button {margin-top: 24px;}
.dream-closing .dream-registration-note {margin-top: 24px;}
@media (max-width: 820px) {
  .dream-closing-layout {grid-template-columns: minmax(0,1fr); gap: 36px;}
  .dream-closing-photo {max-width: 400px; margin: 0 auto;}
  .dream-placeholder-grid {grid-template-columns: 1fr;}
  .dream-screenshot-placeholders {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px;}
  .dream-screenshot-placeholders .placeholder {min-height: 150px; padding: 16px;}
}

/* Program details and a shorter path to applying. */
.abundance-page .dream-hero {padding-bottom: clamp(48px,7vw,80px);}
.abundance-page .dream-hero .dream-subheading {font-size: clamp(23px,3vw,30px); margin-bottom: 24px;}
.cohort-start {font-size: 16px; letter-spacing: .02em;}
.cohort-details-link {display: block; width: fit-content; margin-top: 22px; color: var(--sage-deep); text-underline-offset: 5px;}
.dream-hero .cohort-details-link {margin-left: auto; margin-right: auto;}
.cohort-facts {margin: 0 0 30px;}
.cohort-facts > div {display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--line);}
.cohort-facts dt {color: var(--sage-deep); font-size: 15px;}
.cohort-facts dd {margin: 0; font-size: 18px; line-height: 1.5;}
.cohort-timezones {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px;}
.cohort-timezones > div {display: flex; flex-direction: column; gap: 10px; padding: 22px 12px; text-align: center; background: var(--sage); border-radius: 8px;}
.cohort-timezones span {font-size: 15px; color: var(--sage-deep);}
.abundance-page .cohort-timezones strong {font-family: "Cormorant Garamond",Georgia,serif; font-size: 28px; line-height: 1.15;}
.cohort-timezones small {font-size: 12px; color: var(--ink);}
.abundance-page .cohort-clock-note {margin-top: 18px; font-size: 14px;}
.cohort-dates,.more-participant-stories {margin-top: 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 18px 0;}
.cohort-dates summary,.more-participant-stories summary {cursor: pointer; font-size: 17px; color: var(--sage-deep); line-height: 1.5;}
.cohort-dates p {margin-top: 18px;}
.abundance-process {list-style: none; counter-reset: process; padding: 0; margin: 0 0 30px;}
.abundance-process li {counter-increment: process; position: relative; padding: 0 0 24px 48px;}
.abundance-process li::before {content: counter(process,decimal-leading-zero); position: absolute; left: 0; top: 5px; color: var(--sage-deep); font-size: 14px;}
.abundance-process h3,.integration-note h3 {margin: 0 0 12px; font-family: "Cormorant Garamond",Georgia,serif; font-size: 29px; font-weight: 400; line-height: 1.2;}
.abundance-process p {margin: 0;}
.integration-note {padding: clamp(24px,4vw,36px); margin: 28px 0; border-left: 3px solid var(--sage); background: var(--sage-soft);}
.abundance-page .abundance-group {background: var(--sage); --muted: var(--ink);}
.abundance-group p {color: var(--ink);}
.abundance-page .abundance-group h2::after {background: var(--salmon-deep);}
.abundance-about .narrow::after {content: ""; display: block; clear: both;}
@media (max-width: 480px) {
  .cohort-facts > div {grid-template-columns: 1fr; gap: 6px;}
  .cohort-timezones {gap: 6px;}
  .cohort-timezones > div {padding: 18px 6px;}
  .abundance-page .cohort-timezones strong {font-size: 23px;}
  .cohort-timezones span {font-size: 13px;}
  .cohort-timezones small {font-size: 10px;}
}

.facilitator-story {clear: both; padding-top: 8px;}
.facilitator-story > summary {cursor: pointer; list-style: none; text-decoration: underline; text-underline-offset: 5px; font-size: 17px; line-height: 1.6;}
.facilitator-story > summary::-webkit-details-marker {display: none;}
.facilitator-story > summary:focus-visible {outline: 2px solid var(--sage-deep); outline-offset: 6px;}
.facilitator-story .story-close-label {display: none;}
.facilitator-story[open] .story-open-label {display: none;}
.facilitator-story[open] .story-close-label {display: inline;}
.facilitator-story-content {margin-top: 28px; padding: clamp(24px,4vw,36px); background: rgba(255,253,249,.65); border-left: 3px solid var(--sage);}
.facilitator-story-content h3 {margin: 0 0 24px; font: 400 clamp(28px,4vw,36px)/1.2 "Cormorant Garamond",Georgia,serif;}
.facilitator-story-content .story-close-button {margin-top: 14px;}

.facilitator-story-content strong {font-weight: 700;}

/* Alternate sage and warm beige through the page. */
.abundance-page .abundance-intro,
.abundance-page .program-details,
.abundance-page .abundance-fit {background: var(--sage-soft);}
.abundance-page .abundance-group,
.abundance-page .abundance-testimonials {background: var(--paper);}
.abundance-intro .facilitator-story {padding-top: 20px;}
.abundance-intro .facilitator-story-content {background: var(--paper); border-left-color: var(--salmon);}
.facilitator-story-content h4 {margin: 40px 0 20px; color: var(--sage-deep); font: 400 clamp(26px,3.5vw,32px)/1.25 "Cormorant Garamond",Georgia,serif;}

.program-details .cohort-apply {text-align: center;}

.abundance-page .abundance-possibilities {background: var(--paper);}
.abundance-possibilities .clean-list strong {font-weight: 700;}

/* Maintain alternating backgrounds as sections are added or removed. */
.abundance-page main > section:nth-of-type(2n) {background-color: var(--paper);}
.abundance-page main > section:nth-of-type(2n + 3) {background-color: var(--sage-soft);}

.abundance-theme-list {list-style: none; padding: 0; margin: 36px 0 24px; counter-reset: abundance-theme; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px;}
.abundance-theme-list > li {counter-increment: abundance-theme; min-width: 0; padding: clamp(24px,3vw,32px); border: 1px solid var(--line); background: rgba(251,248,242,.75);}
.abundance-theme-list > li::before {content: counter(abundance-theme,decimal-leading-zero); display: block; margin-bottom: 18px; font-size: 14px; font-weight: 700; color: var(--salmon-deep);}
.abundance-theme-list h3 {margin: 0 0 16px; font: 400 clamp(26px,3vw,32px)/1.25 "Cormorant Garamond",Georgia,serif;}
.abundance-theme-list p {font-size: 17px; line-height: 1.75; margin: 0;}
.abundance-page .abundance-journey-note {font-size: 15px;}
@media(max-width:700px) {.abundance-theme-list {grid-template-columns: minmax(0,1fr);}}

.abundance-theme-list p + p {margin-top: 16px;}

.abundance-page .abundance-session-method strong {font-weight: 700;}

.abundance-page .cohort-timezones strong {font-weight: 400;}

.application-steps {margin: 32px 0 0; padding-inline-start: 1.5em;}
.application-steps li {padding-inline-start: .5em; margin-bottom: 24px;}
.application-steps li::marker {color: var(--salmon-deep); font-weight: 700;}
.application-steps p {margin: 0;}

/* Personal contact stays within reach while browsing. */
.contact-widget {position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); z-index: 100; width: min(310px, calc(100vw - 32px)); font-family: inherit;}
.contact-greeting {position: relative; margin-bottom: 16px; border-radius: 16px; background: var(--sage-deep); color: #fff; box-shadow: 0 8px 30px #293d3026;}
.contact-greeting::after {content: ""; position: absolute; bottom: -8px; right: 30px; width: 16px; height: 16px; background: var(--sage-deep); transform: rotate(45deg);}
.contact-message {display: block; padding: 20px 38px 20px 22px; color: inherit; text-decoration: none; font-size: 16px; line-height: 1.5;}
.contact-name {display: block; margin-bottom: 5px; font-style: italic; font-size: 15px; opacity: .85;}
.contact-dismiss {position: absolute; top: 6px; right: 6px; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: white; font: 24px/1 sans-serif; cursor: pointer;}
.contact-launcher {display: flex; align-items: center; gap: 12px; width: fit-content; margin-left: auto; padding: 7px 18px 7px 7px; border: 1px solid var(--line); border-radius: 50px; background: var(--paper); color: var(--ink); text-decoration: none; font-size: 15px; font-weight: 500; box-shadow: 0 4px 20px #293d3026;}
.contact-launcher img {width: 56px; height: 56px; border-radius: 50%; object-fit: cover; object-position: center 36%;}
.contact-launcher:hover {border-color: var(--sage-deep);}
.contact-message:focus-visible,.contact-launcher:focus-visible,.contact-dismiss:focus-visible {outline: 3px solid var(--salmon); outline-offset: 4px;}
.contact-greeting[hidden] {display: none;}
@media (max-width: 600px) {.contact-widget {right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); width: min(280px, calc(100vw - 32px));} .contact-launcher img {width: 46px; height: 46px;} .contact-message {font-size: 15px; padding-top: 16px; padding-bottom: 16px;}}

.contact-widget.contact-compact {width: auto;}
.contact-compact .contact-launcher {padding: 4px; gap: 0;}
.contact-compact .contact-launcher img {width: 46px; height: 46px;}
.contact-compact .contact-launcher span,
.contact-compact .contact-launcher svg {display: none;}
