/* ---------- selo de anúncio no topo ---------- */
.announce{display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 8px 0 6px;border-radius:999px;font-size:14.5px;font-weight:600;margin-bottom:18px;color:#fff;transition:transform .2s}
.announce>*{position:relative;z-index:1}
.announce:hover{transform:translateY(-1px)}
.announce .dot{height:26px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;font-size:12.5px;font-weight:700;color:#1A1206;background:linear-gradient(180deg,var(--gold-2),var(--gold))}
.announce svg{width:16px;height:16px;opacity:.85}

/* ---------- linha do tempo de 5 dias ---------- */
.d5{border-radius:var(--r-xl);padding:clamp(26px,4vw,52px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);align-items:center}
.d5>*{position:relative;z-index:1}
.d5 .h-sec{margin:0}
.d5 .lead{margin-top:16px}
.d5 .btn-row{margin-top:28px}
.d5-note{margin-top:14px;font-size:13.5px;color:var(--grey-2)}
.days{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:0;margin:0}
.days::before{content:"";position:absolute;left:10%;right:10%;top:27px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--gold-2),rgba(255,80,110,.75) 25%,rgba(120,255,210,.6) 50%,rgba(80,170,255,.75) 75%,var(--gold-2))}
.days li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;position:relative}
.days .node{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:15px;position:relative;z-index:1;
  background:rgba(13,26,56,.9);border:1px solid rgba(255,255,255,.18);color:var(--grey)}
.days li.on .node{width:56px;height:56px;color:#1A1206;background:linear-gradient(180deg,var(--gold-2),var(--gold));border:0;
  box-shadow:0 0 0 6px rgba(201,164,92,.16),-4px 0 16px -4px rgba(255,80,110,.7),4px 0 16px -4px rgba(80,190,255,.7)}
.days .lbl{font-size:13.5px;font-weight:600;color:var(--grey)}
.days li.on .lbl{color:var(--gold-2)}
.days .txt{font-size:14.5px;line-height:1.4;color:#E3E6EC;max-width:16ch}
.days .mid{grid-column:2 / span 3;align-self:start;margin-top:4px;font-size:14px;color:var(--grey);text-align:center}
.days .mid-row{display:contents}
@media(max-width:900px){
  .d5{grid-template-columns:1fr}
}
@media(max-width:560px){
  .days{grid-template-columns:1fr;gap:18px;padding-left:4px}
  .days::before{left:31px;right:auto;top:28px;bottom:28px;width:2px;height:auto;
    background:linear-gradient(180deg,var(--gold-2),rgba(255,80,110,.75) 25%,rgba(120,255,210,.6) 50%,rgba(80,170,255,.75) 75%,var(--gold-2))}
  .days li{flex-direction:row;text-align:left;gap:16px;align-items:center}
  .days li .stack{display:flex;flex-direction:column;gap:2px}
  .days li:not(.on) .node{width:44px;height:44px;margin:0 6px}
  .days .txt{max-width:none}
}

/* ---------- página de facetas ---------- */
.fx-hero{padding-top:clamp(120px,14vw,170px)}
.fx-hero-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,5vw,64px);align-items:center}
.fx-hero h1{font-size:clamp(44px,6.6vw,84px);font-weight:700;letter-spacing:-.045em;line-height:1.02}
.fx-hero .lead{margin:20px 0 30px;max-width:540px}
.fx-hero figure{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--prism-in),var(--prism-out)}
.fx-hero figure img{width:100%;height:100%;object-fit:cover;object-position:74% center}
@media(max-width:900px){.fx-hero-grid{grid-template-columns:1fr}.fx-hero figure{aspect-ratio:4/3}}

.fx-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center}
.fx-intro p+p{margin-top:16px}
.fx-intro figure{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:3/2;box-shadow:var(--prism-out)}
.fx-intro figure img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.fx-intro{grid-template-columns:1fr}}

.smile-row .sm{flex:0 0 clamp(260px,32vw,380px);scroll-snap-align:start;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/9;box-shadow:var(--prism-in),0 18px 40px -20px rgba(0,0,0,.7)}
.smile-row .sm img{width:100%;height:100%;object-fit:cover}

.steps4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.st{border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}
.st .ph{aspect-ratio:4/3;overflow:hidden;position:relative;z-index:1}
.st .ph img{width:100%;height:100%;object-fit:cover}
.st .b{position:relative;z-index:1;padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px}
.st .day{align-self:flex-start;font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:999px;color:#1A1206;background:linear-gradient(180deg,var(--gold-2),var(--gold))}
.st h3{font-size:20px;font-weight:600;letter-spacing:-.02em}
.st p{font-size:15.5px;color:var(--grey);line-height:1.45}
@media(max-width:1000px){.steps4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.steps4{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(var(--pad) * -1);padding:4px var(--pad) 8px;scroll-padding-left:var(--pad)}.steps4::-webkit-scrollbar{display:none}.steps4 .st{flex:0 0 80%;scroll-snap-align:start}}

.case-row .cs{flex:0 0 clamp(260px,30vw,360px);scroll-snap-align:start;border-radius:var(--r-lg);overflow:hidden}
.case-row .cs .ph{position:relative;z-index:1;aspect-ratio:1/1;overflow:hidden}
.case-row .cs img{width:100%;height:100%;object-fit:cover}
.case-row .cs figcaption{position:relative;z-index:1;display:flex;justify-content:space-between;padding:14px 18px;font-size:15px;font-weight:600}
.case-row .cs figcaption span{font-weight:400;color:var(--grey)}

.ppl-row .pp{flex:0 0 clamp(280px,34vw,400px);scroll-snap-align:start;border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}
.ppl-row .pp .ph{position:relative;z-index:1;aspect-ratio:16/9;overflow:hidden}
.ppl-row .pp img{width:100%;height:100%;object-fit:cover}
.ppl-row .pp .b{position:relative;z-index:1;padding:20px 22px 24px}
.ppl-row .pp h3{font-size:20px;font-weight:600;letter-spacing:-.02em;margin-bottom:8px}
.ppl-row .pp p{font-size:15px;color:var(--grey);line-height:1.5}

.faq{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,64px)}
.faq-list{border-radius:var(--r-xl);padding:8px clamp(20px,3vw,32px)}
.faq-list>*{position:relative;z-index:1}
.faq details{border-bottom:1px solid rgba(255,255,255,.1)}
.faq details:last-child{border-bottom:0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-size:clamp(18px,1.8vw,21px);font-weight:600;letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;font-weight:300;color:var(--gold-2);transition:transform .25s;flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 22px;color:var(--grey);font-size:16.5px;line-height:1.55}
@media(max-width:900px){.faq{grid-template-columns:1fr}}

.rv-match{columns:3 300px;column-gap:var(--gap)}
.rv-match .rv{break-inside:avoid;margin-bottom:var(--gap);display:block}
.days .stack{display:flex;flex-direction:column;align-items:center;gap:6px}
@media(max-width:560px){.days .stack{align-items:flex-start}}
/* título "2 consultas. 5 dias." sempre em uma linha */
.d5 .d5-title{white-space:nowrap;font-size:clamp(24px,3.3vw,46px)}
@media(max-width:900px){.d5 .d5-title{font-size:clamp(24px,7.6vw,52px)}}
.days .lbl{white-space:nowrap}
@media(min-width:561px){.days .lbl{font-size:12.5px}}
/* enquadramento da foto do topo no celular (sorriso no centro) */
@media(max-width:900px){.hero-fx .hero-bg{height:auto;aspect-ratio:4/5;max-height:80svh}.hero-fx .hero-bg img{object-position:94% 50%}}
/* "Estética não é deixar todos os sorrisos iguais": foto como fundo escuro */
.fx-intro-bg{position:relative;display:block;border-radius:var(--r-xl);overflow:hidden;padding:clamp(48px,8vw,110px) clamp(24px,6vw,80px);
  box-shadow:var(--prism-in),0 30px 60px -30px rgba(0,0,0,.8);isolation:isolate}
.fx-intro-bg>div{position:relative;z-index:2;max-width:680px}
.fx-intro-bg figure{position:absolute;inset:0;z-index:0;border-radius:0;aspect-ratio:auto;box-shadow:none;margin:0}
.fx-intro-bg figure img{width:100%;height:100%;object-fit:cover;object-position:center 65%;opacity:.42;filter:saturate(.8)}
.fx-intro-bg::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(4,6,11,.8) 0%,rgba(4,6,11,.4) 50%,rgba(4,6,11,.1) 100%)}
@media(max-width:900px){.fx-intro-bg::after{background:linear-gradient(180deg,rgba(4,6,11,.5),rgba(4,6,11,.65))}}
