/* Dra. Stefânia Pediatra — Home pública v0.60.4 */
.stef-home-v604,.stef-home-v604 *{box-sizing:border-box}
.stef-home-v604{
  --green:#4A8C84;--green-dark:#7A5230;--nude:#E8BFB3;--ink:#2C2C2C;--cream:#F0EDE6;--line:rgba(122,82,48,.16);
  width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden;
  background:var(--cream);color:var(--ink);font-family:"Lato",Arial,sans-serif;
}
.stef-home-v604__inner{width:min(1440px,100%);margin:0 auto;padding-left:clamp(24px,5vw,72px);padding-right:clamp(24px,5vw,72px)}

/* Desktop: a imagem inteira define a altura do hero. Nada é recortado. */
.stef-home-v604__hero{position:relative;width:100%;overflow:hidden;background:var(--cream)}
.stef-home-v604__hero-image{display:block;width:100%;height:auto;max-width:none;margin:0;padding:0;object-fit:contain;object-position:center}
.stef-home-v604__hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,237,227,.32) 0%,rgba(244,237,227,.22) 26%,rgba(244,237,227,.08) 43%,rgba(244,237,227,0) 60%);pointer-events:none}
.stef-home-v604__inner--hero{position:absolute;z-index:2;inset:0;display:flex;align-items:center}
.stef-home-v604__content{width:min(610px,45vw);display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.stef-home-v604__eyebrow{margin:0 0 22px;color:var(--green-dark);font-size:12px;line-height:1;font-weight:700;letter-spacing:.17em}
.stef-home-v604 h1,.stef-home-v604 h2,.stef-home-v604 h3{margin:0;font-family:"Nunito",Arial,sans-serif}
.stef-home-v604 h1{color:var(--green);font-size:clamp(58px,4.4vw,78px);line-height:.94;font-weight:600;letter-spacing:-.035em}
.stef-home-v604__lead{max-width:585px;margin:26px 0 0;color:#34403a;font-size:18px;line-height:1.58}
.stef-home-v604__divider{margin:22px 0 20px;display:flex;align-items:center;gap:12px;color:var(--green)}
.stef-home-v604__divider span{width:38px;height:1px;background:var(--green)}.stef-home-v604__divider i{font-style:normal;font-size:15px}
.stef-home-v604__support{max-width:585px;margin:0;color:#34403a;font-size:17px;line-height:1.58;font-weight:500}
.stef-home-v604__cta{min-height:54px;margin-top:30px;padding:14px 22px;display:inline-flex;align-items:center;justify-content:flex-start;gap:18px;align-self:flex-start;border:1px solid var(--green);border-radius:10px;background:var(--green);color:#fff!important;text-decoration:none!important;font-size:16px;font-weight:600;transition:.18s ease}
.stef-home-v604__cta:hover,.stef-home-v604__cta:focus{background:var(--green-dark);border-color:var(--green-dark);transform:translateY(-1px);color:#fff!important}

/* Segunda seção */
@media(max-width:1180px){
 .stef-home-v604__content{width:min(520px,48vw)}
 .stef-home-v604 h1{font-size:58px}
 .stef-home-v604__lead{font-size:16px}.stef-home-v604__support{font-size:15px}
}

/* Tablet e celular: imagem inteira primeiro, conteúdo depois; sem crop da arte. */
@media(max-width:900px){
 .stef-home-v604__hero{display:flex;flex-direction:column;background:var(--cream)}
 .stef-home-v604__hero-image{position:relative;order:1;width:100%;height:auto}
 .stef-home-v604__hero-shade{display:none}
 .stef-home-v604__inner--hero{position:relative;inset:auto;order:2;display:block;padding-top:42px;padding-bottom:48px}
 .stef-home-v604__content{width:min(680px,100%);margin:0 auto;align-items:center;text-align:center}
 .stef-home-v604 h1{font-size:56px}.stef-home-v604__divider{justify-content:center}.stef-home-v604__cta{align-self:center;justify-content:center}
}
@media(max-width:600px){
 .stef-home-v604__inner{padding-left:20px;padding-right:20px}
 .stef-home-v604__inner--hero{padding-top:32px;padding-bottom:38px}
 .stef-home-v604__eyebrow{margin-bottom:14px;font-size:10px}
 .stef-home-v604 h1{font-size:44px;line-height:.96}
 .stef-home-v604__lead{margin-top:18px;font-size:15px;line-height:1.56}
 .stef-home-v604__divider{margin:18px 0 16px}.stef-home-v604__support{font-size:15px;line-height:1.56}
 .stef-home-v604__cta{width:100%;min-height:54px;margin-top:24px;font-size:15px}
}

/* v0.60.5 — Como funciona o agendamento online */
.stef-home-v604__how{
  padding:96px 0 104px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.54)),
    var(--cream);
}

.stef-home-v604__inner--how{
  display:block;
}

.stef-home-v604__how-head{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:clamp(36px,6vw,92px);
  align-items:end;
}

.stef-home-v604__how-head h2{
  max-width:700px;
  color:var(--green);
  font-family:"Nunito",Arial,sans-serif;
  font-size:clamp(46px,4.2vw,62px);
  line-height:.98;
  font-weight:600;
  letter-spacing:-.03em;
}

.stef-home-v604__how-intro{
  max-width:540px;
  margin:0 0 4px;
  color:#425049;
  font-size:18px;
  line-height:1.68;
}

.stef-home-v604__steps{
  margin-top:54px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.stef-home-v604__step{
  min-height:290px;
  padding:30px 34px 34px;
  border-right:1px solid var(--line);
  background:rgba(255,255,255,.30);
}
.stef-home-v604__step:last-child{
  border-right:0;
}

.stef-home-v604__step-top{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:42px;
}

.stef-home-v604__step-number{
  flex:0 0 auto;
  width:48px;
  height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  font-size:13px;
  line-height:1;
  font-weight:700;
  letter-spacing:.08em;
}

.stef-home-v604__step-line{
  flex:1 1 auto;
  height:1px;
  background:linear-gradient(90deg,var(--green),rgba(74,140,132,.10));
}

.stef-home-v604__step h3{
  color:var(--green);
  font-family:"Nunito",Arial,sans-serif;
  font-size:34px;
  line-height:1.02;
  font-weight:600;
}

.stef-home-v604__step p{
  max-width:360px;
  margin:16px 0 0;
  color:#425049;
  font-size:16px;
  line-height:1.72;
}

.stef-home-v604__how-footer{
  margin-top:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.stef-home-v604__how-footer p{
  max-width:650px;
  margin:0;
  color:#607067;
  font-size:14px;
  line-height:1.6;
}
.stef-home-v604__how-link{
  display:inline-flex;
  align-items:center;
  gap:14px;
  color:var(--green)!important;
  text-decoration:none!important;
  font-size:15px;
  font-weight:700;
}
.stef-home-v604__how-link:hover,
.stef-home-v604__how-link:focus{
  color:var(--green-dark)!important;
}

@media(max-width:900px){
  .stef-home-v604__how{
    padding:76px 0 84px;
  }
  .stef-home-v604__how-head{
    grid-template-columns:1fr;
    gap:20px;
  }
  .stef-home-v604__how-intro{
    max-width:680px;
  }
  .stef-home-v604__steps{
    grid-template-columns:1fr;
    margin-top:38px;
  }
  .stef-home-v604__step{
    min-height:auto;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .stef-home-v604__step:last-child{
    border-bottom:0;
  }
  .stef-home-v604__step-top{
    margin-bottom:24px;
  }
  .stef-home-v604__step-line{
    display:none;
  }
  .stef-home-v604__how-footer{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:600px){
  .stef-home-v604__how{
    padding:62px 0 70px;
  }
  .stef-home-v604__how-head h2{
    font-size:39px;
  }
  .stef-home-v604__how-intro{
    font-size:15px;
    line-height:1.62;
  }
  .stef-home-v604__steps{
    margin-top:30px;
  }
  .stef-home-v604__step{
    padding:24px 20px 28px;
  }
  .stef-home-v604__step-number{
    width:42px;
    height:42px;
    font-size:12px;
  }
  .stef-home-v604__step h3{
    font-size:30px;
  }
  .stef-home-v604__step p{
    font-size:15px;
    line-height:1.65;
  }
  .stef-home-v604__how-footer{
    margin-top:26px;
  }
}

/* ==========================================================
   v0.60.6 — Motion system público
   1) reveal-on-scroll para seções
   2) timeline progressiva de 3 etapas
   ========================================================== */

/* Reveal reutilizável para esta e futuras seções da Home. */
.stef-home-v604 [data-stef-reveal]{
  opacity:0;
  transform:translateY(34px);
  transition:
    opacity .72s cubic-bezier(.22,.61,.36,1),
    transform .72s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}

.stef-home-v604 [data-stef-reveal].is-stef-visible{
  opacity:1;
  transform:translateY(0);
}

/* Timeline: linha-base completa entre os centros dos passos 1 e 3. */
.stef-home-v604__steps{
  position:relative;
  overflow:visible;
}

.stef-home-v604__steps::before,
.stef-home-v604__steps::after{
  content:"";
  position:absolute;
  top:54px;
  left:calc(100% / 6);
  right:calc(100% / 6);
  height:2px;
  border-radius:999px;
  pointer-events:none;
}

.stef-home-v604__steps::before{
  background:rgba(74,140,132,.13);
}

.stef-home-v604__steps::after{
  background:var(--green);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 1s cubic-bezier(.4,0,.2,1);
  z-index:1;
}

/* A linha progride por metade até o passo 2 e depois completa até o 3. */
.stef-home-v604__steps.is-to-step-2::after,
.stef-home-v604__steps.is-at-step-2::after{
  transform:scaleX(.5);
}

.stef-home-v604__steps.is-to-step-3::after,
.stef-home-v604__steps.is-at-step-3::after{
  transform:scaleX(1);
}

/* Esconde as linhas individuais antigas: a timeline agora é contínua. */
.stef-home-v604__step-line{
  visibility:hidden!important;
}

/* Os passos começam apagados. */
.stef-home-v604__step{
  position:relative;
  z-index:2;
  transition:
    background .45s ease,
    opacity .45s ease;
}

.stef-home-v604__step-number{
  position:relative;
  z-index:3;
  background:var(--cream);
  border:1px solid rgba(74,140,132,.30);
  color:rgba(74,140,132,.50);
  box-shadow:0 0 0 7px var(--cream);
  transition:
    background .35s ease,
    color .35s ease,
    border-color .35s ease,
    transform .35s ease,
    box-shadow .35s ease;
}

.stef-home-v604__step h3,
.stef-home-v604__step p{
  opacity:.34;
  transform:translateY(7px);
  transition:
    opacity .42s ease,
    transform .42s ease,
    color .42s ease;
}

/* Quando o tópico é alcançado, número e textos acendem juntos. */
.stef-home-v604__step.is-stef-active .stef-home-v604__step-number{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
  transform:scale(1.06);
  box-shadow:
    0 0 0 7px var(--cream),
    0 8px 22px rgba(74,140,132,.16);
}

.stef-home-v604__step.is-stef-active h3,
.stef-home-v604__step.is-stef-active p{
  opacity:1;
  transform:translateY(0);
}

.stef-home-v604__step.is-stef-active h3{
  color:var(--green);
}

/* O cabeçalho e rodapé da seção surgem suavemente em sequência. */
.stef-home-v604__how-head,
.stef-home-v604__how-footer{
  opacity:0;
  transform:translateY(18px);
  transition:
    opacity .62s ease,
    transform .62s ease;
}

.stef-home-v604__how.is-stef-visible .stef-home-v604__how-head{
  opacity:1;
  transform:translateY(0);
}

.stef-home-v604__how.is-stef-visible .stef-home-v604__how-footer{
  opacity:1;
  transform:translateY(0);
  transition-delay:.22s;
}

/* Mobile/tablet: a timeline vira vertical para preservar leitura. */
@media(max-width:900px){
  .stef-home-v604__steps::before,
  .stef-home-v604__steps::after{
    top:54px;
    bottom:54px;
    left:45px;
    right:auto;
    width:2px;
    height:auto;
  }

  .stef-home-v604__steps::after{
    transform:scaleY(0);
    transform-origin:center top;
    transition:transform 1s cubic-bezier(.4,0,.2,1);
  }

  .stef-home-v604__steps.is-to-step-2::after,
  .stef-home-v604__steps.is-at-step-2::after{
    transform:scaleY(.5);
  }

  .stef-home-v604__steps.is-to-step-3::after,
  .stef-home-v604__steps.is-at-step-3::after{
    transform:scaleY(1);
  }

  .stef-home-v604__step{
    padding-left:82px;
  }

  .stef-home-v604__step-top{
    position:absolute;
    left:21px;
    top:30px;
    margin:0;
  }
}

@media(max-width:600px){
  .stef-home-v604__steps::before,
  .stef-home-v604__steps::after{
    left:41px;
    top:48px;
    bottom:48px;
  }

  .stef-home-v604__step{
    padding-left:72px;
  }

  .stef-home-v604__step-top{
    left:20px;
    top:24px;
  }
}

/* Acessibilidade: sem animação temporal quando o usuário prefere menos movimento. */
@media(prefers-reduced-motion:reduce){
  .stef-home-v604 [data-stef-reveal],
  .stef-home-v604__how-head,
  .stef-home-v604__how-footer,
  .stef-home-v604__step h3,
  .stef-home-v604__step p{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }

  .stef-home-v604__steps::after{
    transform:scaleX(1)!important;
    transition:none!important;
  }

  .stef-home-v604__step-number{
    transition:none!important;
  }
}



/* ==========================================================
   v0.60.7 — Cuidado em cada fase da infância
   Composição editorial + cards animados
   ========================================================== */

.stef-home-v604__phases{
  position:relative;
  padding:104px 0 116px;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 16%, rgba(74,140,132,.06), transparent 28%),
    radial-gradient(circle at 92% 88%, rgba(74,140,132,.05), transparent 30%),
    #F0EDE6;
}

.stef-home-v604__inner--phases{
  position:relative;
  z-index:1;
}

.stef-home-v604__phases-head{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);
  gap:clamp(38px,6vw,92px);
  align-items:end;
}

.stef-home-v604__phases-head h2{
  max-width:780px;
  color:var(--green);
  font-family:"Nunito",Arial,sans-serif;
  font-size:clamp(48px,4.5vw,66px);
  line-height:.97;
  font-weight:600;
  letter-spacing:-.032em;
}

.stef-home-v604__phases-intro{
  max-width:540px;
  margin:0 0 4px;
  color:#435149;
  font-size:18px;
  line-height:1.68;
}

.stef-home-v604__phase-grid{
  margin-top:54px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  perspective:1200px;
}

.stef-home-v604__phase-card{
  --phase-accent:#4A8C84;
  position:relative;
  min-height:540px;
  padding:24px;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(74,140,132,.13);
  border-radius:24px;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.66)),
    #f8f4ee;
  box-shadow:0 22px 60px rgba(31,61,48,.07);
  opacity:0;
  transform:translateY(42px) rotateX(4deg);
  transition:
    opacity .72s cubic-bezier(.22,.61,.36,1),
    transform .72s cubic-bezier(.22,.61,.36,1),
    border-color .25s ease,
    box-shadow .25s ease;
}

.stef-home-v604__phase-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 78% 24%, rgba(74,140,132,.07), transparent 28%),
    linear-gradient(135deg,transparent 0 72%,rgba(74,140,132,.035) 72% 100%);
  pointer-events:none;
}

.stef-home-v604__phases.is-stef-visible .stef-home-v604__phase-card.is-stef-phase-visible{
  opacity:1;
  transform:translateY(0) rotateX(0);
}

.stef-home-v604__phase-card:hover{
  transform:translateY(-8px);
  border-color:rgba(74,140,132,.28);
  box-shadow:0 30px 70px rgba(31,61,48,.12);
}

.stef-home-v604__phase-top{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.stef-home-v604__phase-index{
  color:#6a7a71;
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
}

.stef-home-v604__phase-age{
  padding:8px 11px;
  border:1px solid rgba(74,140,132,.14);
  border-radius:999px;
  background:rgba(255,255,255,.65);
  color:var(--green);
  font-size:10px;
  font-weight:700;
  letter-spacing:.06em;
}

.stef-home-v604__phase-visual{
  position:relative;
  z-index:1;
  width:180px;
  height:180px;
  margin:28px auto 22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(74,140,132,.035);
  color:var(--green);
}

.stef-home-v604__phase-orbit{
  position:absolute;
  inset:12px;
  border:1px solid rgba(74,140,132,.18);
  border-radius:50%;
  border-top-color:var(--green);
  transform:rotate(-22deg);
  transition:transform 1.4s cubic-bezier(.22,.61,.36,1);
}

.stef-home-v604__phase-card.is-stef-phase-visible .stef-home-v604__phase-orbit{
  transform:rotate(338deg);
}

.stef-home-v604__phase-visual::after{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  top:27px;
  right:37px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 6px rgba(74,140,132,.07);
}

.stef-home-v604__phase-visual strong{
  position:relative;
  z-index:2;
  font-family:"Nunito",Arial,sans-serif;
  font-size:76px;
  line-height:.78;
  font-weight:600;
  letter-spacing:-.07em;
}

.stef-home-v604__phase-visual small{
  position:relative;
  z-index:2;
  margin-top:9px;
  color:#718077;
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.stef-home-v604__phase-copy{
  position:relative;
  z-index:2;
  margin-top:auto;
}

.stef-home-v604__phase-copy h3{
  max-width:320px;
  color:var(--green);
  font-family:"Nunito",Arial,sans-serif;
  font-size:34px;
  line-height:1.02;
  font-weight:600;
}

.stef-home-v604__phase-copy p{
  margin:15px 0 0;
  color:#45524b;
  font-size:15px;
  line-height:1.68;
}

.stef-home-v604__phase-tags{
  margin-top:20px;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.stef-home-v604__phase-tags span{
  padding:7px 9px;
  border-radius:999px;
  background:rgba(74,140,132,.06);
  color:#486257;
  font-size:9px;
  font-weight:700;
  letter-spacing:.03em;
  opacity:0;
  transform:translateY(5px);
  transition:
    opacity .38s ease,
    transform .38s ease,
    background .25s ease;
}

.stef-home-v604__phase-card.is-stef-phase-visible .stef-home-v604__phase-tags span{
  opacity:1;
  transform:translateY(0);
}

.stef-home-v604__phase-card.is-stef-phase-visible .stef-home-v604__phase-tags span:nth-child(1){transition-delay:.18s}
.stef-home-v604__phase-card.is-stef-phase-visible .stef-home-v604__phase-tags span:nth-child(2){transition-delay:.26s}
.stef-home-v604__phase-card.is-stef-phase-visible .stef-home-v604__phase-tags span:nth-child(3){transition-delay:.34s}
.stef-home-v604__phase-card.is-stef-phase-visible .stef-home-v604__phase-tags span:nth-child(4){transition-delay:.42s}

.stef-home-v604__phase-card:hover .stef-home-v604__phase-tags span{
  background:rgba(74,140,132,.095);
}

.stef-home-v604__phases-note{
  margin-top:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#63736a;
  opacity:0;
  transform:translateY(12px);
  transition:
    opacity .55s ease,
    transform .55s ease;
}

.stef-home-v604__phases-note span{
  color:var(--green);
}

.stef-home-v604__phases-note p{
  margin:0;
  font-size:13px;
  line-height:1.5;
}

.stef-home-v604__phases.is-stef-visible .stef-home-v604__phases-note{
  opacity:1;
  transform:translateY(0);
  transition-delay:.72s;
}

/* Cabeçalho desta seção segue o mesmo reveal editorial da Home. */
.stef-home-v604__phases-head{
  opacity:0;
  transform:translateY(22px);
  transition:
    opacity .66s ease,
    transform .66s ease;
}

.stef-home-v604__phases.is-stef-visible .stef-home-v604__phases-head{
  opacity:1;
  transform:translateY(0);
}

@media(max-width:1100px){
  .stef-home-v604__phase-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .stef-home-v604__phase-card:last-child{
    grid-column:1 / -1;
    min-height:440px;
  }

  .stef-home-v604__phase-card:last-child .stef-home-v604__phase-visual{
    margin-top:18px;
    margin-bottom:18px;
  }
}

@media(max-width:900px){
  .stef-home-v604__phases{
    padding:80px 0 88px;
  }

  .stef-home-v604__phases-head{
    grid-template-columns:1fr;
    gap:20px;
  }

  .stef-home-v604__phases-intro{
    max-width:680px;
  }

  .stef-home-v604__phase-grid{
    grid-template-columns:1fr;
    margin-top:38px;
  }

  .stef-home-v604__phase-card,
  .stef-home-v604__phase-card:last-child{
    grid-column:auto;
    min-height:430px;
  }

  .stef-home-v604__phase-card:hover{
    transform:translateY(0);
  }
}

@media(max-width:600px){
  .stef-home-v604__phases{
    padding:64px 0 72px;
  }

  .stef-home-v604__phases-head h2{
    font-size:39px;
  }

  .stef-home-v604__phases-intro{
    font-size:15px;
    line-height:1.62;
  }

  .stef-home-v604__phase-card{
    min-height:410px;
    padding:20px;
    border-radius:18px;
  }

  .stef-home-v604__phase-visual{
    width:150px;
    height:150px;
    margin:24px auto 18px;
  }

  .stef-home-v604__phase-visual strong{
    font-size:64px;
  }

  .stef-home-v604__phase-copy h3{
    font-size:30px;
  }

  .stef-home-v604__phase-copy p{
    font-size:14px;
    line-height:1.64;
  }

  .stef-home-v604__phases-note{
    align-items:flex-start;
    text-align:left;
  }
}

@media(prefers-reduced-motion:reduce){
  .stef-home-v604__phase-card,
  .stef-home-v604__phase-tags span,
  .stef-home-v604__phase-orbit,
  .stef-home-v604__phases-note,
  .stef-home-v604__phases-head{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

/* ==========================================================
   v0.60.8 — Cronologia animada das fases
   3 segundos por card; ao terminar, o período completo fica em destaque.
   ========================================================== */

.stef-home-v604__phase-card{
  --phase-progress:0deg;
  opacity:.42;
  filter:saturate(.58);
  transform:translateY(18px);
  transition:
    opacity .52s ease,
    filter .52s ease,
    transform .52s cubic-bezier(.22,.61,.36,1),
    border-color .28s ease,
    box-shadow .28s ease;
}

.stef-home-v604__phases.is-stef-visible .stef-home-v604__phase-card{
  opacity:.42;
  transform:translateY(0);
}

.stef-home-v604__phase-card.is-stef-phase-running,
.stef-home-v604__phase-card.is-stef-phase-complete{
  opacity:1;
  filter:none;
  border-color:rgba(74,140,132,.26);
  box-shadow:0 26px 66px rgba(31,61,48,.11);
}

.stef-home-v604__phase-card.is-stef-phase-running{
  transform:translateY(-4px);
}

.stef-home-v604__phase-card.is-stef-phase-complete{
  transform:translateY(0);
}

/* Anel cronológico: fundo neutro + progresso verde controlado pelo JS. */
.stef-home-v604__phase-orbit{
  inset:10px;
  border:0;
  background:
    conic-gradient(
      from -90deg,
      var(--green) 0deg,
      var(--green) var(--phase-progress),
      rgba(74,140,132,.12) var(--phase-progress),
      rgba(74,140,132,.12) 360deg
    );
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));
  transform:none!important;
  transition:none!important;
}

/* Ponto luminoso que percorre o círculo junto com a idade. */
.stef-home-v604__phase-dot{
  position:absolute;
  left:50%;
  top:50%;
  width:10px;
  height:10px;
  margin:-5px 0 0 -5px;
  border-radius:50%;
  background:var(--green);
  box-shadow:
    0 0 0 6px rgba(74,140,132,.08),
    0 0 18px rgba(74,140,132,.36);
  transform:
    rotate(calc(var(--phase-progress) - 90deg))
    translateY(-79px);
  transform-origin:center;
  opacity:.28;
  transition:opacity .25s ease;
  z-index:3;
}

.stef-home-v604__phase-card.is-stef-phase-running .stef-home-v604__phase-dot,
.stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-dot{
  opacity:1;
}

/* Remove o ponto decorativo antigo para não duplicar a leitura. */
.stef-home-v604__phase-visual::after{
  display:none!important;
}

/* Conteúdo central passa de "idade atual" para "faixa completa". */
.stef-home-v604__phase-age-live{
  position:relative;
  z-index:4;
  width:130px;
  min-height:82px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.stef-home-v604__phase-age-live strong{
  display:block;
  max-width:128px;
  color:var(--green);
  font-family:"Nunito",Arial,sans-serif;
  font-size:36px;
  line-height:.92;
  font-weight:600;
  letter-spacing:-.035em;
  transition:
    opacity .22s ease,
    transform .22s ease,
    font-size .32s ease;
}

.stef-home-v604__phase-age-live small{
  display:block;
  margin-top:8px;
  color:#718077;
  font-size:9px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.stef-home-v604__phase-card.is-stef-phase-running .stef-home-v604__phase-age-live strong{
  animation:stef-age-pulse .72s ease-in-out infinite alternate;
}

.stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-age-live strong{
  font-size:30px;
  line-height:.92;
}

.stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-visual{
  background:rgba(74,140,132,.065);
}

@keyframes stef-age-pulse{
  from{transform:scale(.98);opacity:.86}
  to{transform:scale(1.03);opacity:1}
}

/* Textos e tags ficam "apagados" até o card entrar na sequência. */
.stef-home-v604__phase-card .stef-home-v604__phase-copy h3,
.stef-home-v604__phase-card .stef-home-v604__phase-copy p,
.stef-home-v604__phase-card .stef-home-v604__phase-tags span{
  opacity:.28;
  transform:translateY(5px);
}

.stef-home-v604__phase-card.is-stef-phase-running .stef-home-v604__phase-copy h3,
.stef-home-v604__phase-card.is-stef-phase-running .stef-home-v604__phase-copy p,
.stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-copy h3,
.stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-copy p{
  opacity:1;
  transform:translateY(0);
}

.stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-tags span{
  opacity:1;
  transform:translateY(0);
}

/* Enquanto a animação está acontecendo, hover não compete com a cronologia. */
.stef-home-v604__phases.is-stef-phase-sequence-running .stef-home-v604__phase-card:hover{
  transform:translateY(0);
}

@media(max-width:600px){
  .stef-home-v604__phase-dot{
    transform:
      rotate(calc(var(--phase-progress) - 90deg))
      translateY(-64px);
  }

  .stef-home-v604__phase-age-live strong{
    font-size:31px;
  }

  .stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-age-live strong{
    font-size:27px;
  }
}

@media(prefers-reduced-motion:reduce){
  .stef-home-v604__phase-card{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
  }

  .stef-home-v604__phase-orbit{
    background:conic-gradient(from -90deg,var(--green) 0 360deg)!important;
  }

  .stef-home-v604__phase-dot{
    display:none!important;
  }

  .stef-home-v604__phase-copy h3,
  .stef-home-v604__phase-copy p,
  .stef-home-v604__phase-tags span{
    opacity:1!important;
    transform:none!important;
  }

  .stef-home-v604__phase-age-live strong{
    animation:none!important;
  }
}



/* ==========================================================
   v0.60.9 — Cards de fases: acendimento real + conteúdo central
   ========================================================== */

/* Topo sem a tag duplicada de faixa etária. */
.stef-home-v604__phase-top{
  justify-content:flex-start;
}

/* Centralização editorial do conteúdo dos cards. */
.stef-home-v604__phase-copy{
  width:100%;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.stef-home-v604__phase-copy h3{
  max-width:340px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.stef-home-v604__phase-copy p{
  max-width:360px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.stef-home-v604__phase-tags{
  justify-content:center;
}

/* Estado apagado: perceptível, mas legível. */
.stef-home-v604__phase-card{
  opacity:.44!important;
  filter:grayscale(.18) saturate(.48)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.62),rgba(250,247,242,.58)),
    #f5f1eb!important;
  border-color:rgba(74,140,132,.09)!important;
  box-shadow:0 14px 34px rgba(31,61,48,.035)!important;
}

.stef-home-v604__phase-card .stef-home-v604__phase-copy h3,
.stef-home-v604__phase-card .stef-home-v604__phase-copy p,
.stef-home-v604__phase-card .stef-home-v604__phase-tags span,
.stef-home-v604__phase-card .stef-home-v604__phase-index,
.stef-home-v604__phase-card .stef-home-v604__phase-age-live strong,
.stef-home-v604__phase-card .stef-home-v604__phase-age-live small{
  opacity:.42!important;
  transition:
    opacity .45s ease,
    color .45s ease,
    transform .45s ease,
    background .45s ease;
}

/* Card atual e cards já concluídos realmente "acendem". */
.stef-home-v604__phase-card.is-stef-phase-running,
.stef-home-v604__phase-card.is-stef-phase-complete{
  opacity:1!important;
  filter:none!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.88)),
    #fff!important;
  border-color:rgba(74,140,132,.24)!important;
  box-shadow:
    0 24px 58px rgba(31,61,48,.10),
    0 0 0 1px rgba(255,255,255,.62) inset!important;
}

.stef-home-v604__phase-card.is-stef-phase-running .stef-home-v604__phase-copy h3,
.stef-home-v604__phase-card.is-stef-phase-running .stef-home-v604__phase-copy p,
.stef-home-v604__phase-card.is-stef-phase-running .stef-home-v604__phase-index,
.stef-home-v604__phase-card.is-stef-phase-running .stef-home-v604__phase-age-live strong,
.stef-home-v604__phase-card.is-stef-phase-running .stef-home-v604__phase-age-live small,
.stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-copy h3,
.stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-copy p,
.stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-tags span,
.stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-index,
.stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-age-live strong,
.stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-age-live small{
  opacity:1!important;
}

/* Enquanto o card está percorrendo a fase, o texto principal já fica aceso. */
.stef-home-v604__phase-card.is-stef-phase-running .stef-home-v604__phase-copy h3{
  color:var(--green)!important;
}

.stef-home-v604__phase-card.is-stef-phase-running .stef-home-v604__phase-copy p,
.stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-copy p{
  color:#3e4b45!important;
}

/* Tags só terminam de acender quando a volta daquele card é concluída. */
.stef-home-v604__phase-card.is-stef-phase-running .stef-home-v604__phase-tags span{
  opacity:.38!important;
}

.stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-tags span{
  color:#355b4b!important;
  background:rgba(74,140,132,.075)!important;
}

/* Faixa concluída é o foco principal dentro do círculo. */
.stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-age-live strong{
  color:var(--green-dark)!important;
  font-size:31px;
  font-weight:600;
}

.stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-age-live small{
  color:#50665b!important;
}

/* O primeiro card usa apenas meses, incluindo o ponto final da animação. */
.stef-home-v604__phase-card[data-stef-phase-card="1"].is-stef-phase-complete .stef-home-v604__phase-age-live strong{
  font-size:29px;
}

@media(max-width:600px){
  .stef-home-v604__phase-copy h3,
  .stef-home-v604__phase-copy p{
    max-width:100%;
  }

  .stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-age-live strong{
    font-size:27px;
  }

  .stef-home-v604__phase-card[data-stef-phase-card="1"].is-stef-phase-complete .stef-home-v604__phase-age-live strong{
    font-size:25px;
  }
}

@media(prefers-reduced-motion:reduce){
  .stef-home-v604__phase-card{
    opacity:1!important;
    filter:none!important;
  }
}


/* ==========================================================
   v0.61.0 — Conheça a Dra. Stefânia
   Foto editorial + princípios + reveal em sequência
   ========================================================== */

.stef-home-v604__doctor{
  position:relative;
  padding:112px 0 122px;
  overflow:hidden;
  background:#F0EDE6;
}

.stef-home-v604__doctor::before{
  content:"";
  position:absolute;
  width:460px;
  height:460px;
  right:-180px;
  top:-170px;
  border-radius:50%;
  border:1px solid rgba(74,140,132,.08);
  pointer-events:none;
}

.stef-home-v604__inner--doctor{
  display:grid;
  grid-template-columns:minmax(390px,.88fr) minmax(0,1.12fr);
  gap:clamp(58px,7vw,112px);
  align-items:center;
}

.stef-home-v604__doctor-media{
  min-width:0;
}

.stef-home-v604__doctor-photo-wrap{
  position:relative;
  width:100%;
  max-width:560px;
  aspect-ratio:4 / 5;
  overflow:hidden;
  border-radius:220px 220px 26px 26px;
  background:#ece5dc;
  clip-path:inset(0 100% 0 0 round 220px 220px 26px 26px);
  transition:clip-path 1.05s cubic-bezier(.22,.61,.36,1);
}

.stef-home-v604__doctor.is-stef-visible .stef-home-v604__doctor-photo-wrap{
  clip-path:inset(0 0 0 0 round 220px 220px 26px 26px);
}

.stef-home-v604__doctor-photo{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:52% 43%;
  transform:scale(1.035);
  transition:transform 1.25s cubic-bezier(.22,.61,.36,1);
}

.stef-home-v604__doctor.is-stef-visible .stef-home-v604__doctor-photo{
  transform:scale(1);
}

.stef-home-v604__doctor-photo-line{
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:205px 205px 18px 18px;
  pointer-events:none;
}

.stef-home-v604__doctor-caption{
  max-width:430px;
  margin:18px 0 0 4px;
  color:#718078;
  font-size:11px;
  line-height:1.55;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.stef-home-v604__doctor-content{
  max-width:690px;
}

.stef-home-v604__doctor-content h2{
  max-width:690px;
  color:var(--green);
  font-family:"Nunito",Arial,sans-serif;
  font-size:clamp(48px,4.45vw,66px);
  line-height:.98;
  font-weight:600;
  letter-spacing:-.033em;
}

.stef-home-v604__doctor-lead{
  max-width:650px;
  margin:26px 0 0;
  color:#435149;
  font-size:18px;
  line-height:1.7;
}

.stef-home-v604__doctor-principles{
  margin-top:36px;
  border-top:1px solid var(--line);
}

.stef-home-v604__doctor-principles article{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:20px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}

.stef-home-v604__doctor-principles article > span{
  padding-top:3px;
  color:#8aa197;
  font-size:10px;
  line-height:1;
  font-weight:700;
  letter-spacing:.12em;
}

.stef-home-v604__doctor-principles h3{
  color:var(--green);
  font-family:"Nunito",Arial,sans-serif;
  font-size:28px;
  line-height:1;
  font-weight:600;
}

.stef-home-v604__doctor-principles p{
  max-width:550px;
  margin:8px 0 0;
  color:#58675f;
  font-size:14px;
  line-height:1.65;
}

.stef-home-v604__doctor-cta{
  min-height:54px;
  margin-top:34px;
  padding:13px 22px;
  display:inline-flex;
  align-items:center;
  gap:16px;
  border:1px solid var(--green);
  border-radius:10px;
  background:var(--green);
  color:#fff!important;
  text-decoration:none!important;
  font-size:15px;
  line-height:1.2;
  font-weight:700;
  transition:
    transform .2s ease,
    background .2s ease,
    border-color .2s ease;
}

.stef-home-v604__doctor-cta:hover,
.stef-home-v604__doctor-cta:focus{
  transform:translateY(-2px);
  background:var(--green-dark);
  border-color:var(--green-dark);
  color:#fff!important;
}

/* Reveal em cascata: imagem primeiro, depois conteúdo. */
.stef-home-v604__doctor [data-stef-doctor-item]{
  opacity:0;
  transform:translateY(22px);
  transition:
    opacity .62s ease,
    transform .62s cubic-bezier(.22,.61,.36,1);
}

.stef-home-v604__doctor.is-stef-visible [data-stef-doctor-item].is-stef-doctor-visible{
  opacity:1;
  transform:translateY(0);
}

@media(max-width:1000px){
  .stef-home-v604__doctor{
    padding:88px 0 96px;
  }

  .stef-home-v604__inner--doctor{
    grid-template-columns:minmax(310px,.82fr) minmax(0,1.18fr);
    gap:48px;
  }

  .stef-home-v604__doctor-content h2{
    font-size:50px;
  }

  .stef-home-v604__doctor-lead{
    font-size:16px;
  }
}

@media(max-width:800px){
  .stef-home-v604__inner--doctor{
    grid-template-columns:1fr;
    gap:48px;
  }

  .stef-home-v604__doctor-media{
    width:min(520px,100%);
    margin:0 auto;
  }

  .stef-home-v604__doctor-content{
    max-width:680px;
    margin:0 auto;
    text-align:center;
  }

  .stef-home-v604__doctor-content .stef-home-v604__eyebrow{
    text-align:center;
  }

  .stef-home-v604__doctor-lead{
    margin-left:auto;
    margin-right:auto;
  }

  .stef-home-v604__doctor-principles{
    text-align:left;
  }

  .stef-home-v604__doctor-cta{
    justify-content:center;
  }

  .stef-home-v604__doctor-caption{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }
}

@media(max-width:600px){
  .stef-home-v604__doctor{
    padding:68px 0 76px;
  }

  .stef-home-v604__doctor-photo-wrap{
    border-radius:160px 160px 20px 20px;
  }

  .stef-home-v604__doctor-photo-line{
    inset:12px;
    border-radius:150px 150px 14px 14px;
  }

  .stef-home-v604__doctor-content h2{
    font-size:39px;
  }

  .stef-home-v604__doctor-lead{
    margin-top:20px;
    font-size:15px;
    line-height:1.64;
  }

  .stef-home-v604__doctor-principles{
    margin-top:28px;
  }

  .stef-home-v604__doctor-principles article{
    grid-template-columns:34px minmax(0,1fr);
    gap:14px;
    padding:19px 0;
  }

  .stef-home-v604__doctor-principles h3{
    font-size:25px;
  }

  .stef-home-v604__doctor-principles p{
    font-size:13px;
  }

  .stef-home-v604__doctor-cta{
    width:100%;
    justify-content:center;
  }
}

@media(prefers-reduced-motion:reduce){
  .stef-home-v604__doctor-photo-wrap{
    clip-path:none!important;
    transition:none!important;
  }

  .stef-home-v604__doctor-photo{
    transform:none!important;
    transition:none!important;
  }

  .stef-home-v604__doctor [data-stef-doctor-item]{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}


/* ==========================================================
   v0.61.1 — Seu cuidado continua depois da consulta
   Contraste tecnológico + painel visual do acompanhamento
   ========================================================== */

.stef-home-v604__continuity{
  position:relative;
  padding:116px 0 124px;
  overflow:hidden;
  background:#7A5230;
  color:#f7f1e8;
}

.stef-home-v604__continuity::before,
.stef-home-v604__continuity::after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.07);
  pointer-events:none;
}

.stef-home-v604__continuity::before{
  width:520px;
  height:520px;
  left:-290px;
  top:-260px;
}

.stef-home-v604__continuity::after{
  width:720px;
  height:720px;
  right:-410px;
  bottom:-510px;
}

.stef-home-v604__inner--continuity{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);
  gap:clamp(56px,7vw,104px);
  align-items:center;
}

.stef-home-v604__continuity-copy{
  max-width:590px;
}

.stef-home-v604__continuity-eyebrow{
  margin:0 0 24px;
  color:#d8e6dd;
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:.18em;
}

.stef-home-v604__continuity h2{
  margin:0;
  color:#F0EDE6;
  font-family:"Nunito",Arial,sans-serif;
  font-size:clamp(50px,4.5vw,68px);
  line-height:.96;
  font-weight:600;
  letter-spacing:-.034em;
}

.stef-home-v604__continuity-lead{
  max-width:570px;
  margin:28px 0 0;
  color:rgba(248,244,237,.78);
  font-size:18px;
  line-height:1.72;
}

.stef-home-v604__continuity-points{
  margin-top:36px;
  border-top:1px solid rgba(255,255,255,.12);
}

.stef-home-v604__continuity-points > div{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:15px;
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.stef-home-v604__continuity-points span{
  padding-top:3px;
  color:#9fc1ae;
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
}

.stef-home-v604__continuity-points p{
  margin:0;
  color:rgba(255,250,243,.84);
  font-size:14px;
  line-height:1.62;
}

.stef-home-v604__continuity-note{
  margin:26px 0 0;
  color:#c8dbcf;
  font-size:12px;
  line-height:1.6;
  font-weight:600;
  letter-spacing:.03em;
}

.stef-home-v604__care-stage{
  position:relative;
  min-width:0;
  padding:28px;
}


.stef-home-v604__care-panel{
  position:relative;
  z-index:2;
  width:100%;
  max-width:680px;
  margin:0 auto;
  padding:24px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:26px;
  background:rgba(250,247,241,.97);
  color:#26352e;
  box-shadow:
    0 34px 90px rgba(4,22,15,.28),
    0 1px 0 rgba(255,255,255,.74) inset;
  transform:perspective(1200px) rotateY(-4deg) rotateX(1.5deg);
  transform-origin:center;
  transition:transform .9s cubic-bezier(.22,.61,.36,1);
}

.stef-home-v604__continuity.is-stef-visible .stef-home-v604__care-panel{
  transform:perspective(1200px) rotateY(0) rotateX(0);
}

.stef-home-v604__care-panel::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  overflow:hidden;
  background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.58) 44%,transparent 62%);
  transform:translateX(-130%);
  pointer-events:none;
}

.stef-home-v604__continuity.is-stef-care-active .stef-home-v604__care-panel::after{
  animation:stef-care-scan 1.15s ease .2s 1 forwards;
}

@keyframes stef-care-scan{
  to{transform:translateX(130%)}
}

.stef-home-v604__care-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:2px 2px 18px;
}

.stef-home-v604__care-panel-head div{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.stef-home-v604__care-panel-head div span{
  color:#7f9188;
  font-size:8px;
  font-weight:700;
  letter-spacing:.16em;
}

.stef-home-v604__care-panel-head div strong{
  color:#194735;
  font-family:"Nunito",Arial,sans-serif;
  font-size:30px;
  line-height:1;
  font-weight:600;
}

.stef-home-v604__care-status{
  padding:7px 10px;
  border-radius:999px;
  background:#e6efe9;
  color:#2b654d;
  font-size:9px;
  font-weight:700;
}

.stef-home-v604__care-next{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px;
  border-radius:16px;
  background:#4A8C84;
  color:#fff;
}

.stef-home-v604__care-next div{
  min-width:0;
  display:flex;
  flex-direction:column;
}

.stef-home-v604__care-next span{
  color:#cfe1d6;
  font-size:8px;
  line-height:1;
  font-weight:700;
  letter-spacing:.14em;
}

.stef-home-v604__care-next strong{
  margin-top:7px;
  color:#fff;
  font-size:16px;
  line-height:1.2;
  font-weight:700;
}

.stef-home-v604__care-next small{
  margin-top:5px;
  color:rgba(255,255,255,.68);
  font-size:9px;
  line-height:1.4;
}

.stef-home-v604__care-arrow{
  flex:0 0 auto;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,.10);
  color:#fff!important;
  font-size:17px!important;
}

.stef-home-v604__care-grid{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.stef-home-v604__care-card{
  min-height:156px;
  padding:17px;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(74,140,132,.10);
  border-radius:16px;
  background:#F7F4EF;
  opacity:.24;
  transform:translateY(14px) scale(.985);
  transition:
    opacity .48s ease,
    transform .48s cubic-bezier(.22,.61,.36,1),
    border-color .35s ease,
    box-shadow .35s ease;
}

.stef-home-v604__care-card.is-stef-care-card-on{
  opacity:1;
  transform:translateY(0) scale(1);
  border-color:rgba(74,140,132,.20);
  box-shadow:0 12px 28px rgba(74,140,132,.07);
}

.stef-home-v604__care-icon{
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:#edf3ef;
  color:#4A8C84;
  font-size:14px;
  font-weight:700;
}

.stef-home-v604__care-card small{
  margin-top:18px;
  color:#8a9a92;
  font-size:7px;
  line-height:1;
  font-weight:700;
  letter-spacing:.13em;
}

.stef-home-v604__care-card strong{
  margin-top:6px;
  color:#244638;
  font-size:13px;
  line-height:1.3;
  font-weight:700;
}

.stef-home-v604__care-card > i:not(.stef-home-v604__care-dots){
  position:relative;
  height:30px;
  margin-top:auto;
  display:block;
  border-bottom:1px solid #dfe8e3;
}

.stef-home-v604__care-card > i:not(.stef-home-v604__care-dots)::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:7px;
  height:1px;
  background:#edf1ee;
}

.stef-home-v604__care-card > i:not(.stef-home-v604__care-dots) b{
  position:absolute;
  left:3px;
  right:3px;
  bottom:4px;
  height:18px;
  display:block;
  border-bottom:2px solid #4f856c;
  border-radius:50%;
  transform:skewX(-22deg) rotate(-5deg);
}

.stef-home-v604__care-dots{
  margin-top:auto;
  display:flex;
  gap:5px;
}

.stef-home-v604__care-dots b{
  width:9px;
  height:9px;
  display:block;
  border-radius:50%;
  background:#d8e5de;
}

.stef-home-v604__care-dots b:nth-child(-n+3){
  background:#4f856c;
}

.stef-home-v604__care-lines{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:5px;
}

.stef-home-v604__care-lines b{
  height:4px;
  display:block;
  border-radius:999px;
  background:#e2e9e5;
}

.stef-home-v604__care-lines b:nth-child(1){width:88%}
.stef-home-v604__care-lines b:nth-child(2){width:68%}
.stef-home-v604__care-lines b:nth-child(3){width:77%}

.stef-home-v604__care-timeline{
  position:relative;
  margin-top:auto;
  display:flex;
  justify-content:space-between;
}

.stef-home-v604__care-timeline::before{
  content:"";
  position:absolute;
  left:4px;
  right:4px;
  top:4px;
  height:1px;
  background:#cbdcd3;
}

.stef-home-v604__care-timeline b{
  position:relative;
  z-index:1;
  width:9px;
  height:9px;
  display:block;
  border:2px solid #fff;
  border-radius:50%;
  background:#4f856c;
  box-shadow:0 0 0 1px #9bb8a9;
}

.stef-home-v604__care-footer{
  margin-top:15px;
  padding-top:14px;
  display:flex;
  align-items:center;
  gap:10px;
  border-top:1px solid rgba(74,140,132,.09);
}

.stef-home-v604__care-footer > span{
  width:7px;
  height:7px;
  flex:0 0 auto;
  border-radius:50%;
  background:#5c8f76;
}

.stef-home-v604__care-footer p{
  margin:0;
  color:#718078;
  font-size:9px;
  line-height:1.5;
}

/* Reveal sequencial dos elementos da seção. */
.stef-home-v604__continuity [data-stef-care-item]{
  opacity:0;
  transform:translateY(22px);
  transition:
    opacity .62s ease,
    transform .62s cubic-bezier(.22,.61,.36,1);
}

.stef-home-v604__continuity.is-stef-visible [data-stef-care-item].is-stef-care-visible{
  opacity:1;
  transform:translateY(0);
}

@media(max-width:1050px){
  .stef-home-v604__inner--continuity{
    grid-template-columns:minmax(0,.82fr) minmax(460px,1.18fr);
    gap:48px;
  }

  .stef-home-v604__care-stage{
    padding:10px 0;
  }
}

@media(max-width:880px){
  .stef-home-v604__continuity{
    padding:88px 0 96px;
  }

  .stef-home-v604__inner--continuity{
    grid-template-columns:1fr;
    gap:58px;
  }

  .stef-home-v604__continuity-copy{
    max-width:680px;
    margin:0 auto;
    text-align:center;
  }

  .stef-home-v604__continuity-points{
    text-align:left;
  }

  .stef-home-v604__care-stage{
    width:min(680px,100%);
    margin:0 auto;
  }
}

@media(max-width:600px){
  .stef-home-v604__continuity{
    padding:68px 0 76px;
  }

  .stef-home-v604__continuity h2{
    font-size:40px;
  }

  .stef-home-v604__continuity-lead{
    margin-top:20px;
    font-size:15px;
    line-height:1.66;
  }

  .stef-home-v604__continuity-points{
    margin-top:28px;
  }

  .stef-home-v604__care-stage{
    padding:0;
  }

  .stef-home-v604__care-panel{
    padding:15px;
    border-radius:20px;
  }

  .stef-home-v604__care-panel-head div strong{
    font-size:25px;
  }

  .stef-home-v604__care-next{
    padding:15px;
  }

  .stef-home-v604__care-grid{
    grid-template-columns:1fr;
  }

  .stef-home-v604__care-card{
    min-height:132px;
  }
}

@media(prefers-reduced-motion:reduce){
  .stef-home-v604__continuity [data-stef-care-item],
  .stef-home-v604__care-card{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }

  .stef-home-v604__care-panel{
    transform:none!important;
  }

  .stef-home-v604__care-panel::after{
    display:none!important;
  }
}


/* ==========================================================
   v0.61.2 — Continuidade: composição limpa, sem feixe/brilho
   ========================================================== */

/* Remove qualquer decoração que ocupe espaço ou gere brilho lateral. */
.stef-home-v604__continuity::before,
.stef-home-v604__continuity::after{
  display:none!important;
  content:none!important;
}

.stef-home-v604__care-glow{
  display:none!important;
}

/* O painel não recebe mais varredura de luz nem reflexos. */
.stef-home-v604__care-panel::after{
  display:none!important;
  content:none!important;
  animation:none!important;
}

.stef-home-v604__continuity.is-stef-care-active .stef-home-v604__care-panel::after{
  animation:none!important;
}

/* Aproveita melhor toda a largura útil: texto à esquerda + painel à direita. */
.stef-home-v604__inner--continuity{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  gap:clamp(48px,5.5vw,86px)!important;
}

.stef-home-v604__continuity-copy{
  max-width:640px!important;
}

.stef-home-v604__care-stage{
  padding:0!important;
  width:100%;
}

.stef-home-v604__care-panel{
  width:100%;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
  box-shadow:0 28px 74px rgba(4,22,15,.20)!important;
}

.stef-home-v604__continuity.is-stef-visible .stef-home-v604__care-panel{
  transform:none!important;
}

/* Botão de entrada no painel do paciente/responsável. */
.stef-home-v604__continuity-cta{
  min-height:54px;
  margin-top:30px;
  padding:13px 22px;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:16px;
  border:1px solid rgba(255,255,255,.92);
  border-radius:10px;
  background:#F0EDE6;
  color:#7A5230!important;
  text-decoration:none!important;
  font-size:15px;
  line-height:1.2;
  font-weight:700;
  box-shadow:none!important;
  transition:
    transform .2s ease,
    background .2s ease,
    color .2s ease;
}

.stef-home-v604__continuity-cta:hover,
.stef-home-v604__continuity-cta:focus{
  transform:translateY(-2px);
  background:#e6efe9;
  color:#7A5230!important;
}

/* Mantém a animação de entrada, mas sem efeitos luminosos. */
.stef-home-v604__care-stage[data-stef-care-item]{
  transform:translateY(22px)!important;
}

.stef-home-v604__continuity.is-stef-visible .stef-home-v604__care-stage.is-stef-care-visible{
  transform:translateY(0)!important;
}

@media(max-width:1050px){
  .stef-home-v604__inner--continuity{
    grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)!important;
    gap:42px!important;
  }
}

@media(max-width:880px){
  .stef-home-v604__inner--continuity{
    grid-template-columns:1fr!important;
  }

  .stef-home-v604__continuity-cta{
    justify-content:center;
  }
}

@media(max-width:600px){
  .stef-home-v604__continuity-cta{
    width:100%;
    justify-content:center;
  }
}


/* ==========================================================
   v0.62.0 — Conclusão da Home pública
   Diferenças + Perguntas frequentes + CTA final
   ========================================================== */

/* ---------- Por que esse acompanhamento faz diferença ---------- */

.stef-home-v604__difference{
  padding:110px 0 118px;
  background:#F0EDE6;
}

.stef-home-v604__inner--difference{
  display:grid;
  grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);
  gap:clamp(56px,7vw,112px);
  align-items:start;
}

.stef-home-v604__difference-head{
  position:sticky;
  top:54px;
  max-width:580px;
}

.stef-home-v604__difference-head h2{
  margin:0;
  color:var(--green);
  font-family:"Nunito",Arial,sans-serif;
  font-size:clamp(48px,4.35vw,64px);
  line-height:.97;
  font-weight:600;
  letter-spacing:-.034em;
}

.stef-home-v604__difference-head > p:last-child{
  max-width:520px;
  margin:24px 0 0;
  color:#536159;
  font-size:17px;
  line-height:1.68;
}

.stef-home-v604__difference-list{
  border-top:1px solid rgba(74,140,132,.16);
}

.stef-home-v604__difference-row{
  position:relative;
  display:grid;
  grid-template-columns:50px minmax(180px,.8fr) minmax(260px,1.2fr);
  gap:20px;
  align-items:start;
  padding:27px 0 30px;
  border-bottom:1px solid rgba(74,140,132,.14);
  opacity:.28;
  transform:translateY(12px);
  transition:
    opacity .5s ease,
    transform .5s ease,
    background .35s ease;
}

.stef-home-v604__difference-row > span{
  padding-top:5px;
  color:#8aa096;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
}

.stef-home-v604__difference-row h3{
  margin:0;
  color:var(--green);
  font-family:"Nunito",Arial,sans-serif;
  font-size:30px;
  line-height:1;
  font-weight:600;
}

.stef-home-v604__difference-row p{
  margin:0;
  color:#536159;
  font-size:14px;
  line-height:1.67;
}

.stef-home-v604__difference-row i{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  overflow:hidden;
}

.stef-home-v604__difference-row i::after{
  content:"";
  display:block;
  width:100%;
  height:100%;
  background:var(--green);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .82s cubic-bezier(.22,.61,.36,1);
}

.stef-home-v604__difference-row.is-stef-difference-on{
  opacity:1;
  transform:translateY(0);
}

.stef-home-v604__difference-row.is-stef-difference-on i::after{
  transform:scaleX(1);
}

.stef-home-v604__difference [data-stef-difference-item]{
  opacity:0;
  transform:translateY(20px);
  transition:
    opacity .62s ease,
    transform .62s cubic-bezier(.22,.61,.36,1);
}

.stef-home-v604__difference.is-stef-visible [data-stef-difference-item].is-stef-difference-visible{
  opacity:1;
  transform:translateY(0);
}

/* ---------- Perguntas frequentes ---------- */

.stef-home-v604__questions{
  padding:108px 0 116px;
  background:#F0EDE6;
}

.stef-home-v604__inner--questions{
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  gap:clamp(56px,7vw,110px);
  align-items:start;
}

.stef-home-v604__questions-head{
  max-width:520px;
}

.stef-home-v604__questions-head h2{
  margin:0;
  color:var(--green);
  font-family:"Nunito",Arial,sans-serif;
  font-size:clamp(46px,4vw,60px);
  line-height:.98;
  font-weight:600;
  letter-spacing:-.032em;
}

.stef-home-v604__questions-head > p:last-child{
  margin:22px 0 0;
  color:#58665e;
  font-size:16px;
  line-height:1.68;
}

.stef-home-v604__faq-list{
  border-top:1px solid rgba(74,140,132,.16);
}

.stef-home-v604__faq-item{
  border-bottom:1px solid rgba(74,140,132,.14);
  opacity:0;
  transform:translateY(12px);
  transition:
    opacity .5s ease,
    transform .5s ease;
}

.stef-home-v604__faq-item.is-stef-faq-visible{
  opacity:1;
  transform:translateY(0);
}

.stef-home-v604__faq-item summary{
  min-height:74px;
  padding:22px 2px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  cursor:pointer;
  list-style:none;
  color:#274638;
  font-size:17px;
  line-height:1.42;
  font-weight:600;
}

.stef-home-v604__faq-item summary::-webkit-details-marker{
  display:none;
}

.stef-home-v604__faq-item summary i{
  position:relative;
  width:30px;
  height:30px;
  flex:0 0 auto;
  border:1px solid rgba(74,140,132,.18);
  border-radius:50%;
}

.stef-home-v604__faq-item summary i::before,
.stef-home-v604__faq-item summary i::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:10px;
  height:1px;
  background:var(--green);
  transform:translate(-50%,-50%);
  transition:transform .25s ease;
}

.stef-home-v604__faq-item summary i::after{
  transform:translate(-50%,-50%) rotate(90deg);
}

.stef-home-v604__faq-item[open] summary i::after{
  transform:translate(-50%,-50%) rotate(0deg);
}

.stef-home-v604__faq-answer{
  padding:0 56px 24px 2px;
}

.stef-home-v604__faq-answer p{
  max-width:720px;
  margin:0;
  color:#5c6a62;
  font-size:14px;
  line-height:1.72;
}

.stef-home-v604__faq-answer a{
  margin-top:14px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--green)!important;
  text-decoration:none!important;
  font-size:13px;
  font-weight:700;
}

.stef-home-v604__questions [data-stef-faq-item]{
  opacity:0;
  transform:translateY(18px);
}

.stef-home-v604__questions [data-stef-faq-item].is-stef-faq-visible{
  opacity:1;
  transform:translateY(0);
  transition:
    opacity .55s ease,
    transform .55s cubic-bezier(.22,.61,.36,1);
}

/* ---------- CTA final ---------- */

.stef-home-v604__final{
  position:relative;
  padding:112px 0 100px;
  overflow:hidden;
  background:#E8BFB3;
  text-align:center;
}

.stef-home-v604__final::before{
  content:"";
  position:absolute;
  width:620px;
  height:620px;
  left:50%;
  top:50%;
  border:1px solid rgba(74,140,132,.10);
  border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}

.stef-home-v604__inner--final{
  position:relative;
  z-index:2;
  max-width:980px;
}

.stef-home-v604__final-copy{
  max-width:820px;
  margin:0 auto;
}

.stef-home-v604__final-eyebrow{
  margin:0 0 22px;
  color:var(--green);
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:.18em;
}

.stef-home-v604__final h2{
  margin:0;
  color:var(--green);
  font-family:"Nunito",Arial,sans-serif;
  font-size:clamp(52px,5vw,74px);
  line-height:.94;
  font-weight:600;
  letter-spacing:-.037em;
}

.stef-home-v604__final-copy > p:last-child{
  max-width:650px;
  margin:24px auto 0;
  color:#4f5d55;
  font-size:17px;
  line-height:1.68;
}

.stef-home-v604__final-actions{
  margin-top:34px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:12px;
}

.stef-home-v604__final-primary,
.stef-home-v604__final-secondary{
  min-height:56px;
  padding:14px 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  border-radius:10px;
  text-decoration:none!important;
  font-size:15px;
  line-height:1.2;
  font-weight:700;
  transition:
    transform .2s ease,
    background .2s ease,
    border-color .2s ease;
}

.stef-home-v604__final-primary{
  border:1px solid var(--green);
  background:var(--green);
  color:#fff!important;
}

.stef-home-v604__final-secondary{
  border:1px solid rgba(74,140,132,.24);
  background:rgba(255,255,255,.52);
  color:var(--green)!important;
}

.stef-home-v604__final-primary:hover,
.stef-home-v604__final-primary:focus{
  background:var(--green-dark);
  border-color:var(--green-dark);
  transform:translateY(-2px);
  color:#fff!important;
}

.stef-home-v604__final-secondary:hover,
.stef-home-v604__final-secondary:focus{
  background:#F7F4EF;
  border-color:rgba(74,140,132,.38);
  transform:translateY(-2px);
  color:var(--green-dark)!important;
}

.stef-home-v604__final-foot{
  margin-top:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#748279;
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.stef-home-v604__final-foot i{
  width:28px;
  height:1px;
  background:rgba(74,140,132,.24);
}

.stef-home-v604__final [data-stef-final-item]{
  opacity:0;
  transform:translateY(20px);
  transition:
    opacity .65s ease,
    transform .65s cubic-bezier(.22,.61,.36,1);
}

.stef-home-v604__final.is-stef-visible [data-stef-final-item].is-stef-final-visible{
  opacity:1;
  transform:translateY(0);
}

@media(max-width:960px){
  .stef-home-v604__inner--difference,
  .stef-home-v604__inner--questions{
    grid-template-columns:1fr;
    gap:44px;
  }

  .stef-home-v604__difference-head{
    position:relative;
    top:auto;
    max-width:720px;
  }

  .stef-home-v604__difference-row{
    grid-template-columns:44px minmax(180px,.75fr) minmax(250px,1.25fr);
  }

  .stef-home-v604__questions-head{
    max-width:700px;
  }
}

@media(max-width:700px){
  .stef-home-v604__difference,
  .stef-home-v604__questions{
    padding:76px 0 84px;
  }

  .stef-home-v604__difference-head h2,
  .stef-home-v604__questions-head h2{
    font-size:40px;
  }

  .stef-home-v604__difference-row{
    grid-template-columns:34px 1fr;
    gap:8px 14px;
    padding:23px 0 26px;
  }

  .stef-home-v604__difference-row h3{
    font-size:27px;
  }

  .stef-home-v604__difference-row p{
    grid-column:2;
    font-size:13px;
  }

  .stef-home-v604__faq-item summary{
    min-height:68px;
    padding:19px 0;
    font-size:15px;
  }

  .stef-home-v604__faq-answer{
    padding:0 42px 20px 0;
  }

  .stef-home-v604__final{
    padding:82px 0 74px;
  }

  .stef-home-v604__final h2{
    font-size:44px;
  }

  .stef-home-v604__final-copy > p:last-child{
    font-size:15px;
  }

  .stef-home-v604__final-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .stef-home-v604__final-primary,
  .stef-home-v604__final-secondary{
    width:100%;
  }

  .stef-home-v604__final-foot{
    gap:8px;
    font-size:8px;
    letter-spacing:.08em;
  }

  .stef-home-v604__final-foot i{
    width:14px;
  }
}

@media(prefers-reduced-motion:reduce){
  .stef-home-v604__difference [data-stef-difference-item],
  .stef-home-v604__difference-row,
  .stef-home-v604__questions [data-stef-faq-item],
  .stef-home-v604__final [data-stef-final-item]{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }

  .stef-home-v604__difference-row i::after{
    transform:scaleX(1)!important;
    transition:none!important;
  }
}


/* v0.64.0 — tipografia e paleta oficiais na Home */
.stef-home-v604{
  background:var(--cream)!important;
  color:var(--ink)!important;
  font-family:"Lato",Arial,sans-serif!important;
}

.stef-home-v604 h1,
.stef-home-v604 h2,
.stef-home-v604 h3{
  font-family:"Nunito",Arial,sans-serif!important;
  font-weight:800!important;
  letter-spacing:-.035em!important;
}

.stef-home-v604__eyebrow,
.stef-home-v604 [class*="eyebrow"]{
  font-family:"Lato",Arial,sans-serif!important;
  font-weight:700!important;
  letter-spacing:.16em!important;
  text-transform:uppercase;
}

.stef-home-v604__cta,
.stef-home-v604__doctor-cta,
.stef-home-v604__final-primary{
  background:#4A8C84!important;
  border-color:#4A8C84!important;
  font-family:"Lato",Arial,sans-serif!important;
  font-weight:700!important;
}

.stef-home-v604__cta:hover,
.stef-home-v604__doctor-cta:hover,
.stef-home-v604__final-primary:hover{
  background:#7A5230!important;
  border-color:#7A5230!important;
}


/* ==========================================================
   v0.64.1 — marca como detalhe, sem poluir a Home
   ========================================================== */

.stef-home-brand-watermark{
  position:absolute;
  z-index:0;
  display:block;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  pointer-events:none;
}

.stef-home-brand-watermark--hero{
  width:270px;
  height:270px;
  left:clamp(28px,5vw,84px);
  bottom:-78px;
  opacity:.065;
  background-image:url("../img/brand/monogram-sr-green-fallback.svg");
}

.stef-home-brand-watermark--doctor{
  width:340px;
  height:340px;
  right:-84px;
  bottom:-120px;
  opacity:.045;
  background-image:url("../img/brand/monogram-sr-green-fallback.svg");
}

.stef-home-brand-watermark--final{
  width:280px;
  height:280px;
  right:3vw;
  top:50%;
  opacity:.07;
  transform:translateY(-50%);
  background-image:url("../img/brand/monogram-sr-green-fallback.svg");
}

.stef-home-v604__hero .stef-home-v604__inner,
.stef-home-v604__doctor .stef-home-v604__inner,
.stef-home-v604__final .stef-home-v604__inner{
  position:relative;
  z-index:2;
}

.stef-home-v604__how,
.stef-home-v604__doctor,
.stef-home-v604__questions{
  background:#F0EDE6!important;
}

.stef-home-v604__phases,
.stef-home-v604__difference{
  background:#F7F4EF!important;
}

.stef-home-v604__continuity{
  background:#4A8C84!important;
}

.stef-home-v604__continuity h2,
.stef-home-v604__continuity h3,
.stef-home-v604__continuity strong{
  color:#F0EDE6!important;
}

.stef-home-v604__continuity-lead,
.stef-home-v604__continuity-points p,
.stef-home-v604__continuity-note{
  color:rgba(240,237,230,.82)!important;
}

.stef-home-v604__continuity-eyebrow{
  color:#F0EDE6!important;
}

.stef-home-v604__continuity-cta{
  background:#F0EDE6!important;
  color:#7A5230!important;
  border-color:#F0EDE6!important;
}

.stef-home-v604__care-panel,
.stef-home-v604__care-card{
  background:#F7F4EF!important;
}

.stef-home-v604__final{
  background:rgba(232,191,179,.40)!important;
}

.stef-home-v604__faq-item summary{
  color:#2C2C2C!important;
}

@media(max-width:700px){
  .stef-home-brand-watermark--hero{
    width:180px;
    height:180px;
    left:-28px;
    bottom:-42px;
  }
  .stef-home-brand-watermark--doctor,
  .stef-home-brand-watermark--final{
    width:200px;
    height:200px;
  }
}


/* ==========================================================
   v0.64.2 — correção do banner + escala tipográfica mais suave
   ========================================================== */

/*
 * A v0.64.1 colocou position:relative no .inner genérico do hero,
 * fazendo o texto cair abaixo da imagem. Em telas grandes o conteúdo
 * volta a ocupar o banner, exatamente sobre a área clara da fotografia.
 */
@media(min-width:901px){
  .stef-home-v604__hero{
    position:relative!important;
    display:block!important;
  }

  .stef-home-v604__hero-image{
    position:relative!important;
    z-index:0!important;
    width:100%!important;
    height:auto!important;
    display:block!important;
    object-fit:contain!important;
  }

  .stef-home-v604__hero .stef-home-v604__inner--hero{
    position:absolute!important;
    z-index:3!important;
    inset:0!important;
    width:min(1440px,100%)!important;
    margin:0 auto!important;
    padding-left:clamp(28px,5vw,78px)!important;
    padding-right:clamp(28px,5vw,78px)!important;
    display:flex!important;
    align-items:center!important;
  }

  .stef-home-v604__hero .stef-home-v604__content{
    width:min(620px,43vw)!important;
    margin:0!important;
    align-items:flex-start!important;
    text-align:left!important;
  }
}

/* Nova hierarquia: Nunito continua forte, mas sem dominar a tela. */
.stef-home-v604 h1{
  font-size:clamp(42px,3.35vw,58px)!important;
  line-height:1.02!important;
  letter-spacing:-.03em!important;
}

.stef-home-v604__how-head h2,
.stef-home-v604__phases-head h2,
.stef-home-v604__doctor-content h2,
.stef-home-v604__continuity h2,
.stef-home-v604__difference-head h2,
.stef-home-v604__questions-head h2{
  font-size:clamp(36px,3vw,50px)!important;
  line-height:1.04!important;
  letter-spacing:-.027em!important;
}

.stef-home-v604__final h2{
  font-size:clamp(38px,3.25vw,54px)!important;
  line-height:1.02!important;
  letter-spacing:-.03em!important;
}

/* Mais largura para frases respirarem sem quebras excessivas. */
.stef-home-v604__content{
  max-width:620px!important;
}

.stef-home-v604__how-head h2{
  max-width:760px!important;
}

.stef-home-v604__phases-head h2{
  max-width:860px!important;
}

.stef-home-v604__doctor-content{
  max-width:760px!important;
}

.stef-home-v604__doctor-content h2{
  max-width:760px!important;
}

.stef-home-v604__continuity-copy{
  max-width:700px!important;
}

.stef-home-v604__difference-head{
  max-width:650px!important;
}

.stef-home-v604__questions-head{
  max-width:610px!important;
}

.stef-home-v604__final-copy{
  max-width:900px!important;
}

/* O título de continuidade não precisa ficar espremido ao lado do painel. */
.stef-home-v604__inner--continuity{
  grid-template-columns:minmax(0,1fr) minmax(500px,1fr)!important;
}

/* Corpo ligeiramente menor para acompanhar a nova escala. */
.stef-home-v604__lead,
.stef-home-v604__how-intro,
.stef-home-v604__phases-intro,
.stef-home-v604__doctor-lead,
.stef-home-v604__continuity-lead{
  font-size:16px!important;
}

@media(max-width:900px){
  .stef-home-v604__hero .stef-home-v604__inner--hero{
    position:relative!important;
    inset:auto!important;
  }

  .stef-home-v604 h1{
    font-size:clamp(38px,7vw,50px)!important;
    line-height:1.03!important;
  }

  .stef-home-v604__how-head h2,
  .stef-home-v604__phases-head h2,
  .stef-home-v604__doctor-content h2,
  .stef-home-v604__continuity h2,
  .stef-home-v604__difference-head h2,
  .stef-home-v604__questions-head h2,
  .stef-home-v604__final h2{
    font-size:clamp(34px,6vw,44px)!important;
    line-height:1.05!important;
  }

  .stef-home-v604__inner--continuity{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:600px){
  .stef-home-v604 h1{
    font-size:38px!important;
  }

  .stef-home-v604__how-head h2,
  .stef-home-v604__phases-head h2,
  .stef-home-v604__doctor-content h2,
  .stef-home-v604__continuity h2,
  .stef-home-v604__difference-head h2,
  .stef-home-v604__questions-head h2,
  .stef-home-v604__final h2{
    font-size:34px!important;
  }
}


/* ==========================================================
   v0.78.0 — Integração final da Home com o novo site
   ========================================================== */

.stef-home-v078__paths,
.stef-home-v078__guide,
.stef-home-v078__prepare{
  padding:clamp(64px,8vw,108px) 0;
  background:#F0EDE6;
}
.stef-home-v078__paths-head,
.stef-home-v078__guide-head{
  display:grid;grid-template-columns:1fr .72fr;gap:48px;align-items:end
}
.stef-home-v078__paths-head h2,
.stef-home-v078__guide-head h2,
.stef-home-v078__prepare-head h2{
  max-width:790px;margin:12px 0 0;color:#4A8C84;
  font:800 clamp(30px,4vw,48px)/1.02 "Nunito",Arial,sans-serif;letter-spacing:-.035em
}
.stef-home-v078__paths-head>p{
  margin:0;color:#626965;font-size:12px;line-height:1.65
}
.stef-home-v078__paths-grid{
  margin-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:12px
}
.stef-home-v078__path{
  min-height:350px;padding:30px;display:flex;flex-direction:column;border-radius:22px;
  color:#2C2C2C;text-decoration:none;border:1px solid rgba(122,82,48,.10)
}
.stef-home-v078__path.is-baby{background:rgba(232,191,179,.22)}
.stef-home-v078__path.is-illness{background:rgba(74,140,132,.07)}
.stef-home-v078__path>span,
.stef-home-v078__guide-grid article>span,
.stef-home-v078__prepare-grid article>span{
  color:#7A5230;font-size:8px;font-weight:700;letter-spacing:.13em
}
.stef-home-v078__path h3{
  max-width:520px;margin:24px 0 0;color:#4A8C84;font:800 32px/1.04 "Nunito",Arial,sans-serif
}
.stef-home-v078__path>p{
  max-width:570px;margin:14px 0 0;color:#626965;font-size:11px;line-height:1.6
}
.stef-home-v078__path>div{
  margin-top:auto;padding-top:28px;display:flex;justify-content:space-between;align-items:center;
  border-top:1px solid rgba(122,82,48,.12);color:#4A8C84
}
.stef-home-v078__path b{font-size:9px}.stef-home-v078__path i{font-style:normal;font-size:18px}

.stef-home-v078__guide{background:#F7F4EF}
.stef-home-v078__guide-head>a{
  justify-self:end;color:#4A8C84;font-size:9px;font-weight:700;text-decoration:none
}
.stef-home-v078__guide-grid{
  margin-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:10px
}
.stef-home-v078__guide-grid article{
  min-height:275px;padding:28px;border-radius:18px;background:#F0EDE6;border:1px solid rgba(122,82,48,.09)
}
.stef-home-v078__guide-grid article.is-featured{
  background:rgba(74,140,132,.065)
}
.stef-home-v078__guide-grid h3{
  margin:24px 0 0;color:#4A8C84;font:800 25px/1.05 "Nunito",Arial,sans-serif
}
.stef-home-v078__guide-grid p{
  margin:13px 0 0;color:#626965;font-size:10px;line-height:1.58
}
.stef-home-v078__guide-grid small{
  display:block;margin-top:18px;color:#7A5230;font-size:7px;font-weight:700
}
.stef-home-v078__guide-note{
  margin-top:10px;padding:15px 17px;border-radius:12px;background:rgba(232,191,179,.16)
}
.stef-home-v078__guide-note strong{color:#7A5230;font-size:10px}
.stef-home-v078__guide-note p{margin:4px 0 0;color:#666D69;font-size:9px;line-height:1.5}

.stef-home-v078__doctor-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.stef-home-v078__doctor-booking{
  color:#4A8C84;font-size:9px;font-weight:700;text-decoration:none
}

.stef-home-v078__prepare{background:rgba(232,191,179,.10)}
.stef-home-v078__prepare-head{max-width:800px}
.stef-home-v078__prepare-grid{
  margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:10px
}
.stef-home-v078__prepare-grid article{
  padding:25px;border-radius:17px;background:#F7F4EF;border:1px solid rgba(122,82,48,.09)
}
.stef-home-v078__prepare-grid ul{margin:14px 0 0;padding:0;list-style:none}
.stef-home-v078__prepare-grid li{
  padding:9px 0;border-top:1px solid rgba(122,82,48,.09);color:#626965;font-size:10px
}
.stef-home-v078__prepare-grid li:first-child{border-top:0}
.stef-home-v078__prepare .stef-home-v604__inner>a{
  display:inline-block;margin-top:18px;color:#4A8C84;font-size:9px;font-weight:700;text-decoration:none
}

.stef-home-v078__faq-actions{
  margin-top:24px;display:flex;gap:9px;flex-wrap:wrap
}
.stef-home-v078__faq-actions>a{
  padding:10px 12px;border:1px solid rgba(74,140,132,.18);border-radius:9px;
  color:#4A8C84;font-size:9px;font-weight:700;text-decoration:none
}
.stef-home-v078__faq-actions>a:first-child{background:#4A8C84;color:#F0EDE6;border-color:#4A8C84}

@media(max-width:900px){
  .stef-home-v078__paths-head,.stef-home-v078__guide-head{grid-template-columns:1fr}
  .stef-home-v078__guide-head>a{justify-self:start}
}
@media(max-width:700px){
  .stef-home-v078__paths,.stef-home-v078__guide,.stef-home-v078__prepare{padding:58px 0}
  .stef-home-v078__paths-grid,.stef-home-v078__guide-grid,.stef-home-v078__prepare-grid{grid-template-columns:1fr}
  .stef-home-v078__path{min-height:300px;padding:23px}
  .stef-home-v078__guide-grid article{min-height:auto;padding:23px}
}


/* v0.78.2 — Home: leitura confortável em qualquer tela */
.stef-home-v604 p,
.stef-home-v604 li{font-size:13px!important;line-height:1.65!important}
.stef-home-v604 small,
.stef-home-v604 [class*="eyebrow"],
.stef-home-v604 article>span{font-size:11px!important;line-height:1.4!important}
.stef-home-v604 a{font-size:12px!important}
.stef-home-v604__faq-item summary{font-size:15px!important}
@media(max-width:700px){
  .stef-home-v604 p,.stef-home-v604 li{font-size:14px!important}
  .stef-home-v604 small,
  .stef-home-v604 [class*="eyebrow"],
  .stef-home-v604 article>span{font-size:12px!important}
  .stef-home-v604 a{font-size:13px!important}
  .stef-home-v604__inner{padding-left:20px!important;padding-right:20px!important}
  .stef-home-v078__paths-head,
  .stef-home-v078__guide-head{gap:18px!important}
  .stef-home-v078__path,
  .stef-home-v078__guide-grid article,
  .stef-home-v078__prepare-grid article{padding:22px!important}
}


/* ==========================================================
   v0.78.3 — Padronização textual da Home
   - menos quebras de linha
   - botões centralizados na FAQ
   - títulos mais amigáveis e equilibrados
   ========================================================== */
.stef-home-v604 h1,
.stef-home-v604 h2,
.stef-home-v604 h3,
.stef-home-v078__paths-head h2,
.stef-home-v078__guide-head h2,
.stef-home-v078__prepare-head h2{
  text-wrap:balance;
  word-break:normal;
  hyphens:none;
}

.stef-home-v604__eyebrow,
.stef-home-v604__final-eyebrow,
.stef-home-v078__paths-head>span,
.stef-home-v078__guide-head>span,
.stef-home-v078__prepare-head>span{
  display:block;
  margin-bottom:12px;
}

.stef-home-v604 h1{
  max-width:11.2ch!important;
  font-size:clamp(40px,3.15vw,54px)!important;
  line-height:1.03!important;
  letter-spacing:-.028em!important;
}

.stef-home-v604__how-head h2,
.stef-home-v604__phases-head h2,
.stef-home-v604__doctor-content h2,
.stef-home-v604__continuity h2,
.stef-home-v604__difference-head h2,
.stef-home-v604__questions-head h2,
.stef-home-v604__final h2,
.stef-home-v078__paths-head h2,
.stef-home-v078__guide-head h2,
.stef-home-v078__prepare-head h2{
  font-size:clamp(31px,2.55vw,42px)!important;
  line-height:1.08!important;
  letter-spacing:-.024em!important;
}

.stef-home-v604__questions-head h2{max-width:11.8ch!important}
.stef-home-v604__difference-head h2{max-width:13ch!important}
.stef-home-v604__doctor-content h2{max-width:12.8ch!important}
.stef-home-v604__continuity h2{max-width:12ch!important}
.stef-home-v604__final h2{max-width:12.5ch!important}
.stef-home-v078__paths-head h2,
.stef-home-v078__guide-head h2,
.stef-home-v078__prepare-head h2{max-width:13ch!important}

.stef-home-v604__lead,
.stef-home-v604__how-intro,
.stef-home-v604__phases-intro,
.stef-home-v604__doctor-lead,
.stef-home-v604__continuity-lead,
.stef-home-v604__questions-head>p:last-child,
.stef-home-v078__paths-head>p,
.stef-home-v078__guide-head>p,
.stef-home-v078__prepare-head>p,
.stef-home-v604__final-copy>p:last-child{
  max-width:44ch!important;
  font-size:15px!important;
  line-height:1.72!important;
  color:#5d6a63!important;
  text-wrap:pretty;
}

.stef-home-v604__how-intro,
.stef-home-v604__phases-intro,
.stef-home-v604__doctor-lead,
.stef-home-v604__continuity-lead,
.stef-home-v604__questions-head>p:last-child,
.stef-home-v078__paths-head>p,
.stef-home-v078__guide-head>p,
.stef-home-v078__prepare-head>p,
.stef-home-v604__final-copy>p:last-child{
  margin-top:18px!important;
}

.stef-home-v078__faq-actions{
  grid-column:1/-1!important;
  justify-content:center!important;
  align-items:center!important;
  gap:14px!important;
  margin-top:34px!important;
}
.stef-home-v078__faq-actions>a{
  min-height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 20px!important;
  border-radius:12px!important;
  font-size:13px!important;
  line-height:1!important;
  text-align:center!important;
  white-space:nowrap;
}

.stef-home-v604__faq-item summary{font-size:18px!important;line-height:1.45!important}
.stef-home-v604__faq-answer p{font-size:15px!important;line-height:1.72!important;color:#5b6761!important}
.stef-home-v604__faq-answer a{font-size:13px!important;display:inline-flex!important;align-items:center!important;gap:8px}

.stef-home-v604__final-actions{
  gap:14px!important;
}
.stef-home-v604__final-primary,
.stef-home-v604__final-secondary{
  min-height:50px!important;
  padding:0 22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:13px!important;
  text-align:center!important;
}

@media(max-width:1024px){
  .stef-home-v604 h1{
    max-width:12ch!important;
    font-size:clamp(38px,5.1vw,48px)!important;
  }
  .stef-home-v604__how-head h2,
  .stef-home-v604__phases-head h2,
  .stef-home-v604__doctor-content h2,
  .stef-home-v604__continuity h2,
  .stef-home-v604__difference-head h2,
  .stef-home-v604__questions-head h2,
  .stef-home-v604__final h2,
  .stef-home-v078__paths-head h2,
  .stef-home-v078__guide-head h2,
  .stef-home-v078__prepare-head h2{
    font-size:clamp(30px,4.6vw,40px)!important;
  }
}

@media(max-width:700px){
  .stef-home-v604 h1{
    max-width:12ch!important;
    font-size:36px!important;
    line-height:1.05!important;
  }
  .stef-home-v604__how-head h2,
  .stef-home-v604__phases-head h2,
  .stef-home-v604__doctor-content h2,
  .stef-home-v604__continuity h2,
  .stef-home-v604__difference-head h2,
  .stef-home-v604__questions-head h2,
  .stef-home-v604__final h2,
  .stef-home-v078__paths-head h2,
  .stef-home-v078__guide-head h2,
  .stef-home-v078__prepare-head h2{
    font-size:31px!important;
    line-height:1.08!important;
  }
  .stef-home-v604__lead,
  .stef-home-v604__how-intro,
  .stef-home-v604__phases-intro,
  .stef-home-v604__doctor-lead,
  .stef-home-v604__continuity-lead,
  .stef-home-v604__questions-head>p:last-child,
  .stef-home-v078__paths-head>p,
  .stef-home-v078__guide-head>p,
  .stef-home-v078__prepare-head>p,
  .stef-home-v604__final-copy>p:last-child,
  .stef-home-v604__faq-answer p{
    font-size:15px!important;
    line-height:1.7!important;
  }
  .stef-home-v604__inner--questions{
    gap:28px!important;
  }
  .stef-home-v078__faq-actions{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .stef-home-v078__faq-actions>a,
  .stef-home-v604__final-primary,
  .stef-home-v604__final-secondary{
    width:100%!important;
    white-space:normal!important;
  }
}


/* ==========================================================
   v0.78.4 — Correção de quebras excessivas em títulos
   Referência visual: títulos devem ocupar largura suficiente
   para formar 1–3 linhas naturais, nunca colunas estreitas.
   ========================================================== */

/* Remove a lógica estreita em ch introduzida na v0.78.3. */
.stef-home-v604 h1,
.stef-home-v604__how-head h2,
.stef-home-v604__phases-head h2,
.stef-home-v604__doctor-content h2,
.stef-home-v604__continuity h2,
.stef-home-v604__difference-head h2,
.stef-home-v604__questions-head h2,
.stef-home-v604__final h2,
.stef-home-v078__paths-head h2,
.stef-home-v078__guide-head h2,
.stef-home-v078__prepare-head h2{
  max-width:none!important;
  width:auto!important;
  text-wrap:balance!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

/* Padrão editorial desktop: frases respiram horizontalmente. */
.stef-home-v604__content,
.stef-home-v604__how-head,
.stef-home-v604__phases-head,
.stef-home-v604__doctor-content,
.stef-home-v604__continuity-copy,
.stef-home-v604__difference-head,
.stef-home-v604__questions-head,
.stef-home-v604__final-copy,
.stef-home-v078__paths-head>div:first-child,
.stef-home-v078__guide-head>div:first-child,
.stef-home-v078__prepare-head{
  max-width:900px!important;
}

/* Títulos principais: largura generosa + escala equilibrada. */
.stef-home-v604 h1{
  max-width:780px!important;
  font-size:clamp(40px,3.15vw,54px)!important;
  line-height:1.04!important;
}
.stef-home-v604__how-head h2,
.stef-home-v604__phases-head h2,
.stef-home-v604__doctor-content h2,
.stef-home-v604__continuity h2,
.stef-home-v604__difference-head h2,
.stef-home-v604__questions-head h2,
.stef-home-v604__final h2,
.stef-home-v078__paths-head h2,
.stef-home-v078__guide-head h2,
.stef-home-v078__prepare-head h2{
  max-width:820px!important;
  font-size:clamp(32px,2.55vw,42px)!important;
  line-height:1.09!important;
  letter-spacing:-.022em!important;
}

/* Seções em duas colunas precisam dar espaço real ao título. */
.stef-home-v604__inner--difference{
  grid-template-columns:minmax(480px,.9fr) minmax(0,1.1fr)!important;
  gap:clamp(48px,6vw,90px)!important;
}
.stef-home-v604__inner--questions{
  grid-template-columns:minmax(440px,.86fr) minmax(0,1.14fr)!important;
  gap:clamp(48px,6vw,90px)!important;
}
.stef-home-v604__difference-head,
.stef-home-v604__questions-head{
  max-width:620px!important;
}

/* Evita títulos de cards se transformarem em colunas. */
.stef-home-v604__step h3,
.stef-home-v604__phase-copy h3,
.stef-home-v078__path h3,
.stef-home-v078__guide-grid h3{
  max-width:100%!important;
  text-wrap:balance!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Tablet: abandona layout lateral cedo para preservar leitura. */
@media(max-width:1040px){
  .stef-home-v604__inner--difference,
  .stef-home-v604__inner--questions{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .stef-home-v604__difference-head,
  .stef-home-v604__questions-head{
    max-width:760px!important;
  }
}

/* Mobile: títulos ainda largos dentro da viewport, com 2–4 linhas naturais. */
@media(max-width:700px){
  .stef-home-v604 h1{
    max-width:100%!important;
    font-size:36px!important;
  }
  .stef-home-v604__how-head h2,
  .stef-home-v604__phases-head h2,
  .stef-home-v604__doctor-content h2,
  .stef-home-v604__continuity h2,
  .stef-home-v604__difference-head h2,
  .stef-home-v604__questions-head h2,
  .stef-home-v604__final h2,
  .stef-home-v078__paths-head h2,
  .stef-home-v078__guide-head h2,
  .stef-home-v078__prepare-head h2{
    max-width:100%!important;
    font-size:31px!important;
    line-height:1.1!important;
  }
}

/* ==========================================================
   v0.79.1 — Banner mobile dedicado + centralização editorial
   iPhone Pro / Pro Max e demais telas móveis
   ========================================================== */
.stef-home-v604__hero-media{display:block;width:100%}
.stef-home-v604__hero-media .stef-home-v604__hero-image{display:block;width:100%;height:auto}

@media(max-width:900px){
  /* O banner deixa de herdar o formato horizontal do desktop. */
  .stef-home-v604__hero{
    position:relative!important;
    display:block!important;
    min-height:calc(100svh - 68px)!important;
    max-height:none!important;
    overflow:hidden!important;
    background:#F0EDE6!important;
  }
  .stef-home-v604__hero-media{
    position:absolute!important;
    z-index:0!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }
  .stef-home-v604__hero-media .stef-home-v604__hero-image{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .stef-home-v604__hero-shade{
    display:block!important;
    z-index:1!important;
    background:linear-gradient(
      180deg,
      rgba(240,237,230,.98) 0%,
      rgba(240,237,230,.96) 28%,
      rgba(240,237,230,.84) 43%,
      rgba(240,237,230,.38) 61%,
      rgba(240,237,230,.08) 78%,
      rgba(240,237,230,0) 100%
    )!important;
  }
  .stef-home-v604__hero .stef-home-v604__inner--hero{
    position:relative!important;
    z-index:3!important;
    inset:auto!important;
    min-height:calc(100svh - 68px)!important;
    padding:clamp(92px,12svh,118px) 22px 330px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
  }
  .stef-home-v604__hero .stef-home-v604__content{
    width:min(370px,100%)!important;
    max-width:370px!important;
    margin:0 auto!important;
    align-items:center!important;
    text-align:center!important;
  }
  .stef-home-v604__hero .stef-home-v604__eyebrow{
    margin:0 0 14px!important;
    text-align:center!important;
  }
  .stef-home-v604__hero h1{
    max-width:360px!important;
    margin:0 auto!important;
    font-size:clamp(36px,9.4vw,42px)!important;
    line-height:1.04!important;
    text-align:center!important;
  }
  .stef-home-v604__hero .stef-home-v604__lead,
  .stef-home-v604__hero .stef-home-v604__support{
    max-width:340px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  .stef-home-v604__hero .stef-home-v604__lead{
    margin-top:17px!important;
    font-size:15px!important;
    line-height:1.56!important;
  }
  .stef-home-v604__hero .stef-home-v604__support{
    font-size:14px!important;
    line-height:1.52!important;
  }
  .stef-home-v604__hero .stef-home-v604__divider{
    justify-content:center!important;
    margin:15px 0!important;
  }
  .stef-home-v604__hero .stef-home-v604__cta{
    width:min(320px,100%)!important;
    min-height:50px!important;
    margin:22px auto 0!important;
    align-self:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
}

/* Ajuste fino para iPhone Pro (~393 px) e Pro Max (~430 px). */
@media(min-width:375px) and (max-width:440px){
  .stef-home-v604__hero{
    min-height:calc(100svh - 68px)!important;
  }
  .stef-home-v604__hero .stef-home-v604__inner--hero{
    padding-top:clamp(88px,11svh,112px)!important;
    padding-bottom:42svh!important;
  }
}

/* Mobile público: padrão centrado em todas as seções da Home. */
@media(max-width:700px){
  .stef-home-v604 section,
  .stef-home-v604 section *{
    text-align:center;
  }
  .stef-home-v604 section h1,
  .stef-home-v604 section h2,
  .stef-home-v604 section h3,
  .stef-home-v604 section p,
  .stef-home-v604 section small,
  .stef-home-v604 section [class*="eyebrow"]{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .stef-home-v604__how-head,
  .stef-home-v078__paths-head,
  .stef-home-v078__guide-head,
  .stef-home-v604__difference-head,
  .stef-home-v604__questions-head{
    justify-items:center!important;
    align-items:center!important;
  }
  .stef-home-v604__how-footer,
  .stef-home-v604__phases-note,
  .stef-home-v078__doctor-actions,
  .stef-home-v604__final-actions,
  .stef-home-v078__faq-actions{
    justify-content:center!important;
    align-items:center!important;
  }
  .stef-home-v604__phase-tags{
    justify-content:center!important;
  }
  .stef-home-v604__faq-item summary{
    position:relative!important;
    justify-content:center!important;
    padding-left:38px!important;
    padding-right:38px!important;
    text-align:center!important;
  }
  .stef-home-v604__faq-item summary i{
    position:absolute!important;
    right:2px!important;
  }
  .stef-home-v604__how-link,
  .stef-home-v078__guide-head>a,
  .stef-home-v078__prepare .stef-home-v604__inner>a,
  .stef-home-v604__faq-answer a{
    justify-self:center!important;
    align-self:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* ==========================================================
   v0.79.2 — ajustes solicitados de mobile e legibilidade
   ========================================================== */

/* Acompanhamento contínuo: texto descritivo com contraste real. */
.stef-home-v604__continuity-lead,
.stef-home-v604__continuity-points p,
.stef-home-v604__continuity-note{
  color:#FFFFFF!important;
  opacity:1!important;
}
.stef-home-v604__continuity-points span{
  color:rgba(255,255,255,.78)!important;
}

/* Cuidado em cada fase: círculo maior e tipografia menor dentro dele. */
.stef-home-v604__phase-visual{
  width:210px!important;
  height:210px!important;
  flex:0 0 210px!important;
}
.stef-home-v604__phase-orbit{inset:13px!important}
.stef-home-v604__phase-age-live{
  width:162px!important;
  min-height:94px!important;
  max-width:162px!important;
  padding:0 8px!important;
}
.stef-home-v604__phase-age-live strong{
  max-width:156px!important;
  font-size:30px!important;
  line-height:.98!important;
  letter-spacing:-.025em!important;
  white-space:normal!important;
  text-wrap:balance!important;
}
.stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-age-live strong{
  font-size:26px!important;
  line-height:1!important;
}
.stef-home-v604__phase-card[data-stef-phase-card="1"].is-stef-phase-complete .stef-home-v604__phase-age-live strong{
  font-size:24px!important;
}
.stef-home-v604__phase-age-live small{
  max-width:150px!important;
  margin-top:7px!important;
  font-size:7.5px!important;
  line-height:1.22!important;
  letter-spacing:.08em!important;
  white-space:normal!important;
  text-wrap:balance!important;
}

@media(max-width:700px){
  .stef-home-v604__phase-visual{
    width:196px!important;
    height:196px!important;
    flex-basis:196px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .stef-home-v604__phase-age-live{
    width:154px!important;
    max-width:154px!important;
    min-height:88px!important;
  }
  .stef-home-v604__phase-age-live strong{
    max-width:148px!important;
    font-size:27px!important;
  }
  .stef-home-v604__phase-card.is-stef-phase-complete .stef-home-v604__phase-age-live strong{
    font-size:23px!important;
  }
  .stef-home-v604__phase-card[data-stef-phase-card="1"].is-stef-phase-complete .stef-home-v604__phase-age-live strong{
    font-size:21px!important;
  }
  .stef-home-v604__phase-age-live small{
    max-width:142px!important;
    font-size:7px!important;
    line-height:1.2!important;
  }
}


/* v0.79.3 — Home sem deslocamento lateral */
.stef-home-v604{
  max-width:100%!important;
  overflow-x:hidden!important;
}
.stef-home-v604__inner{
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
@media(max-width:700px){
  .stef-home-v604{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}
