/* Bloom: pre and postnatal fitness. Blush and rose, a gentle serif, a pebble-shaped photo with botanical line art. */
.coach-site.bloom{
  --cs-bg:#fdf5f2;--cs-alt:#f8e8e3;--cs-ink:#3a2329;--cs-soft:#6b5158;--cs-line:#eed8d1;--cs-card:#fffaf8;
  --cs-head:'DM Serif Display',serif;--cs-body:'DM Sans',sans-serif;--cs-head-weight:400;--cs-head-track:-0.01em;--cs-head-case:none;
  --cs-radius:28px;--cs-photo-radius:50% 50% 50% 50% / 58% 58% 42% 42%;--cs-button-radius:999px;--cs-photo-pos:42% 50%;
  --cs-shadow:0 30px 60px -40px rgba(120,50,70,.42)
}
.bloom h1{font-size:clamp(44px,5.8vw,80px);line-height:1.04}
.bloom h2{font-size:clamp(34px,4vw,54px)}
.bloom .cs-kicker{font:italic 400 21px/1.3 var(--cs-head);letter-spacing:0}
.bloom .cs-header{border-bottom-color:transparent}
.bloom .cs-brand{font-size:24px}
.bloom .cs-brand-mark{border-radius:50%;font-weight:400}

.bl-hero{overflow-x:clip;padding:48px 0 100px;background:radial-gradient(38% 52% at 22% 50%,color-mix(in srgb,var(--coach-accent) 13%,transparent),transparent 70%)}
.bl-hero .cs-hero-inner{grid-template-columns:.95fr 1.05fr}
.bl-hero-media{position:relative;isolation:isolate;width:100%;max-width:500px;padding-left:30px}
.bl-hero-media::before{content:"";position:absolute;z-index:-1;top:4%;right:-7%;width:44%;aspect-ratio:1;border-radius:50%;background:color-mix(in srgb,var(--coach-accent) 16%,var(--cs-bg))}
.bl-photo{aspect-ratio:4/5;border-radius:var(--cs-photo-radius);overflow:hidden;box-shadow:var(--cs-shadow)}
.bl-photo img,.bl-photo .cs-monogram{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;box-shadow:none}
.bl-photo img{transform:scale(1.3);transform-origin:42% 78%}
.bl-sprig{position:absolute;z-index:1;left:-16px;bottom:-14px;width:112px;height:auto;color:var(--cs-accent-text)}
.bl-sprig path,.bl-sprig circle{stroke-dasharray:420;stroke-dashoffset:420;animation:bl-draw 2.6s ease-out .2s forwards}
@keyframes bl-draw{to{stroke-dashoffset:0}}
/* About in a soft rounded panel; FAQ and contact centred */
.bloom .cs-about-inner{padding:clamp(30px,5vw,64px);border-radius:44px;background:var(--cs-alt)}
.bloom .cs-faq-inner{grid-template-columns:minmax(0,1fr);max-width:820px;margin:0 auto;gap:8px}
.bloom .cs-faq .cs-head{margin-inline:auto;text-align:center}
.bloom .cs-contact-inner{grid-template-columns:minmax(0,1fr);max-width:760px;margin:0 auto;gap:34px;text-align:center}
.bloom .cs-contact-copy>p{margin-inline:auto}
.bloom .cs-form{text-align:left}

@media (prefers-reduced-motion:reduce){.bl-sprig path,.bl-sprig circle{stroke-dashoffset:0}}
.bl-proof{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 24px;font-size:15.5px;color:var(--cs-soft)}
.bl-proof li{display:flex;align-items:center;gap:9px}
.bl-proof li::before{content:"";flex:none;width:9px;height:9px;border-radius:0 50%;background:var(--coach-accent)}

.bloom .cs-step,.bloom .cs-offer,.bloom .cs-form,.bloom .cs-quals{border:0;box-shadow:var(--cs-shadow)}
.bloom .cs-process .cs-head{margin-inline:auto;text-align:center}
.bloom .cs-steps{grid-template-columns:minmax(0,1fr);max-width:760px;margin:0 auto;gap:0}
.bloom .cs-step{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:24px;padding:26px 0;border-radius:0;background:none;box-shadow:none;border-bottom:1px solid var(--cs-line)}
.bloom .cs-step-num{grid-row:span 2;width:56px;height:56px;margin:0;border-radius:0 50% 50% 50%;font:italic 400 22px/1 var(--cs-head)}
.bloom .cs-offer:nth-child(2){background:color-mix(in srgb,var(--coach-accent) 8%,var(--cs-card))}
.bloom .cs-offer-type{font:italic 400 17px/1.3 var(--cs-head)}
.bloom .cs-story{border:0;border-radius:var(--cs-radius) var(--cs-radius) var(--cs-radius) 6px;box-shadow:var(--cs-shadow)}
.bloom .cs-story blockquote{font:400 21px/1.45 var(--cs-head)}
.bloom .cs-faq-list summary{font:400 21px/1.3 var(--cs-head)}
.bloom .cs-footer{border-top-color:var(--cs-line)}

@media (max-width:960px){
  .bl-hero .cs-hero-inner{grid-template-columns:minmax(0,1fr)}
  .bl-hero-media{order:2;max-width:430px;padding-left:20px}
}
