/* Evolve: personal training and transformation. Warm cream, berry, serif type, arched photo with a floating card, a timeline. */
.coach-site.evolve{
  --cs-bg:#fbf7f2;--cs-alt:#f4ebe3;--cs-ink:#2a1f24;--cs-soft:#67575d;--cs-line:#e8dbd1;--cs-card:#fffdfa;
  --cs-head:'Fraunces',serif;--cs-body:'Nunito Sans',sans-serif;--cs-head-weight:400;--cs-head-track:-0.02em;--cs-head-case:none;
  --cs-radius:24px;--cs-photo-radius:999px 999px 28px 28px;--cs-button-radius:999px;--cs-photo-pos:52% 40%;
  --cs-shadow:0 34px 60px -38px rgba(90,40,60,.38)
}
.evolve h1{font-size:clamp(44px,6vw,84px);line-height:1.02}
.evolve h2{font-size:clamp(34px,4vw,56px)}
.evolve h3{font-weight:600}
.evolve .cs-kicker{font-family:var(--cs-head);font-style:italic;font-weight:400;font-size:20px;letter-spacing:0}
.evolve .cs-button{font-weight:700}

.evolve .cs-header{background:color-mix(in srgb,var(--cs-bg) 92%,transparent);border-bottom-color:transparent}
.evolve .cs-nav a{font:italic 400 18px/1 var(--cs-head);color:var(--cs-ink)}
.evolve .cs-brand{font-weight:600;font-size:23px}
.evolve .cs-brand-mark{border-radius:50%;font-style:italic;font-weight:400;font-size:17px}

/* Hero: arched photo with an overlapping client quote */
.ev-hero{overflow-x:clip;padding:56px 0 96px;background:radial-gradient(55% 70% at 88% 35%,var(--cs-accent-soft),transparent 72%)}
.ev-hero-media{position:relative;isolation:isolate;padding:0 0 0 56px}
.ev-hero-media::before{content:"";position:absolute;z-index:-1;top:-18px;right:-22px;width:42%;aspect-ratio:1;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--coach-accent) 40%,transparent)}
.ev-hero-media img,.ev-hero-media .cs-monogram{aspect-ratio:4/5;max-height:660px}
.ev-quote{position:absolute;left:0;bottom:48px;max-width:270px;margin:0;padding:22px 24px;border-radius:22px 22px 22px 4px;background:var(--coach-accent);color:var(--design-button-ink);box-shadow:var(--cs-shadow)}
.ev-quote blockquote{margin:0;font:italic 400 18px/1.4 var(--cs-head);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ev-quote figcaption{margin-top:10px;font-size:13px;font-weight:700;opacity:.9}
.ev-proof-line{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 0;font-size:15px;color:var(--cs-soft)}
.ev-proof-line li:not(:last-child)::after{content:"\2022";margin:0 12px;color:var(--coach-accent)}

/* About as a letter */
.ev-about{background:var(--cs-alt)}
.ev-letter{position:relative;max-width:780px;margin:0 auto;padding:clamp(34px,5vw,64px);border-radius:6px;background:var(--cs-card);box-shadow:var(--cs-shadow);text-align:center}
.ev-letter::before{content:"";position:absolute;inset:12px;border:1px solid var(--cs-line);border-radius:3px;pointer-events:none}
.ev-letter h2{margin-bottom:22px}
.ev-letter-body{font-size:19px;color:var(--cs-soft);text-align:left}
.ev-flourish{display:block;width:200px;margin:30px auto 18px;color:var(--coach-accent)}
.ev-letter-quals{list-style:none;margin:0 0 30px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.ev-letter-quals li{padding:6px 14px;border-radius:999px;background:var(--cs-accent-soft);color:var(--cs-accent-text);font-size:14px;font-weight:700}

/* Stories as a swipeable row */
.ev-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:min(440px,82%);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 26px;scrollbar-width:thin;scrollbar-color:var(--coach-accent) transparent}
.ev-card{scroll-snap-align:start;margin:0;padding:34px;border-radius:28px;background:var(--cs-card);box-shadow:var(--cs-shadow);display:flex;flex-direction:column;gap:22px}
.ev-card blockquote{margin:0;font:italic 400 22px/1.45 var(--cs-head)}
.ev-card figcaption{margin-top:auto;font-weight:700;color:var(--cs-accent-text)}

/* Process as a connected timeline */
.ev-timeline{list-style:none;margin:0;padding:0;position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:36px}
.ev-timeline::before{content:"";position:absolute;top:26px;left:26px;right:26px;height:1.5px;background:color-mix(in srgb,var(--coach-accent) 35%,var(--cs-line))}
.ev-timeline li{position:relative;padding-top:78px}
.ev-dot{position:absolute;top:0;left:0;width:54px;height:54px;border-radius:50%;background:var(--coach-accent);color:var(--design-button-ink);display:flex;align-items:center;justify-content:center;font:italic 400 22px/1 var(--cs-head);box-shadow:0 0 0 8px var(--cs-bg)}
.ev-timeline h3{font-size:24px;margin-bottom:8px}
.ev-timeline p{color:var(--cs-soft)}

.evolve .cs-offer,.evolve .cs-story,.evolve .cs-form,.evolve .cs-quals,.evolve .cs-step{border:0;border-radius:28px;box-shadow:var(--cs-shadow)}
.evolve .cs-offer{padding:38px}
.evolve .cs-offer:nth-child(2){background:var(--cs-accent-soft)}
.evolve .cs-offer-type{font-family:var(--cs-head);font-style:italic;font-weight:400;font-size:17px}
.evolve .cs-story blockquote{font-family:var(--cs-head);font-style:italic;font-size:20px;line-height:1.5}
.evolve .cs-faq-list summary{font:400 21px/1.3 var(--cs-head)}
.evolve .cs-footer{border-top-color:var(--cs-line)}

@media (max-width:960px){
  .ev-hero{padding-bottom:72px}
  .ev-hero-media{padding-left:0;max-width:520px}
  .ev-quote{position:relative;left:auto;bottom:auto;margin:-70px 0 0 18px}
}
@media (max-width:600px){
  .ev-timeline::before{top:26px;bottom:26px;left:26px;right:auto;width:1.5px;height:auto}
  .ev-timeline li{padding:4px 0 0 78px;min-height:54px}
  .ev-letter-body{font-size:17px}
}
