/* Fertivie v3 — camada sobre style.css/premium.css do protótipo base */
:root{--mocha:#6D5748;--champ-1:#D8C7A5;--champ-2:#FFFDEA;--blush:#F4ECEB;--nude:#E9DBD8}

/* barra de aviso: atendimento particular */
.notice{background:#6D5748;color:#F4E9DF;letter-spacing:.14em}
.notice span{color:#D8C7A5}

/* cabeçalho */
header{transition:box-shadow .3s,background .3s,height .3s}
header.scrolled{box-shadow:0 10px 30px -20px rgba(63,49,42,.45);position:sticky;top:0;background:rgba(247,244,239,.92);backdrop-filter:blur(10px)}
header nav a{position:relative}
header nav a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:#b59190;transform:scaleX(0);transform-origin:left;transition:transform .35s}
header nav a:hover:after,header nav a[aria-current=page]:after{transform:scaleX(1)}

/* hero: palavras entram em sequência */
.v3 .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em}
.v3 .w>span{display:inline-block;transform:translateY(105%);animation:wIn .9s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes wIn{to{transform:none}}
.hero-photo{will-change:transform;transition:transform .15s linear}

@keyframes spinSlow{to{transform:rotate(360deg)}}

/* números em destaque */
.hero-stats{display:flex;gap:28px;margin:26px 0 4px;flex-wrap:wrap}
.hero-stats div{border-left:1px solid #d9cec3;padding-left:14px}
.hero-stats strong{display:block;font-family:'Prata',Georgia,serif;font-size:30px;line-height:1;color:#4e3c33;font-weight:400}
.hero-stats small{display:block;margin-top:5px;font-size:11px;letter-spacing:.06em;color:#73665e}

/* em resumo (AEO) */
.summary{padding-top:70px;padding-bottom:20px}
.summary .box{display:grid;grid-template-columns:1.3fr 1fr;gap:5%;align-items:start;background:#fff;border:1px solid #e4d9ce;border-radius:4px;padding:38px 42px}
.summary h2{font-size:clamp(26px,2.6vw,36px);margin:6px 0 14px}
.summary p.lead{font-size:16.5px;line-height:1.75;color:#352b26}
.facts{margin:0;display:grid;gap:0}
.facts div{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid #eee3d8;font-size:14px}
.facts div:last-child{border-bottom:0}
.facts dt{color:#a28b60;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding-top:2px}
.facts dd{margin:0;color:#352b26;line-height:1.5}
@media(max-width:820px){.summary .box{grid-template-columns:1fr;padding:26px 22px;gap:22px}.facts div{grid-template-columns:92px 1fr}}

/* carrossel de serviços */
.svc-section{padding-top:80px}
.svc-head{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;margin-bottom:30px}
.svc-controls{display:flex;gap:8px;align-items:center}
.svc-controls button{width:44px;height:44px;border:1px solid #b7a18b;background:transparent;color:#4e3c33;cursor:pointer;border-radius:50%;font-size:16px;transition:background .2s,color .2s}
.svc-controls button:hover{background:#4e3c33;color:#fff}
.svc-controls span{font-size:12px;letter-spacing:.12em;color:#73665e;min-width:58px;text-align:center}
.svc-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 26px;margin:0 -2px}
.svc-track::-webkit-scrollbar{display:none}
.svc-card{flex:0 0 min(310px,80vw);scroll-snap-align:start;min-height:380px;border-radius:6px;padding:30px 26px;display:flex;flex-direction:column;position:relative;overflow:hidden;text-decoration:none;color:#352b26;background:#eee8e1;border:1px solid #e1d5c9;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;will-change:transform}
.svc-card:hover{box-shadow:0 26px 50px -28px rgba(63,49,42,.55)}
.svc-card:before{content:"";position:absolute;right:-46px;bottom:-46px;width:190px;height:190px;background:url(/assets/simbolo.png) center/contain no-repeat;opacity:.09;pointer-events:none}
.svc-card .n{font-family:'Prata',Georgia,serif;font-size:15px;color:#a28b60;letter-spacing:.1em}
.svc-card .tag{margin-top:auto;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#a28b60}
.svc-card h3{font-family:'Prata',Georgia,serif;font-weight:400;font-size:27px;line-height:1.1;margin:10px 0 12px;letter-spacing:-.5px}
.svc-card p{font-size:14px;line-height:1.6;color:#5b4e46;margin:0 0 18px}
.svc-card .go{margin-top:auto;font-size:13px;letter-spacing:.04em;border-bottom:1px solid currentColor;align-self:flex-start;padding-bottom:2px}
.svc-card.dark{background:#6D5748;color:#F7EFE9;border-color:#6D5748}
.svc-card.dark p{color:#E6D7CC}.svc-card.dark .n,.svc-card.dark .tag{color:#D8C7A5}
.svc-card.rose{background:#E9DBD8;border-color:#dcc8c4}
.svc-card.champ{background:linear-gradient(150deg,#F1E7D2,#FFFDEA 60%,#E6D6B4);border-color:#e3d3ae}
.svc-note{font-size:13px;color:#73665e;margin-top:6px}

/* cookies */
.cookie-bar{position:fixed;left:18px;bottom:18px;z-index:60;max-width:430px;background:#fff;border:1px solid #d9cec3;box-shadow:0 20px 50px -20px rgba(53,43,38,.45);padding:16px 18px;border-radius:6px;display:flex;gap:16px;align-items:center;font-size:13px;line-height:1.5;color:#352b26}
.cookie-bar p{margin:0}.cookie-bar a{color:#6D5748}
.cookie-bar div{display:flex;gap:8px;flex-shrink:0}
.cookie-bar button{border:1px solid #6D5748;background:transparent;color:#6D5748;padding:9px 14px;cursor:pointer;font:inherit;font-size:12px;border-radius:3px}
.cookie-bar .yes{background:#6D5748;color:#fff}
@media(max-width:700px){.cookie-bar{left:10px;right:10px;bottom:78px;max-width:none;flex-direction:column;align-items:stretch}.cookie-bar div{justify-content:flex-end}}

/* páginas de serviço novas */
.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.pill-row span{font-size:12px;border:1px solid #d9cec3;padding:7px 13px;border-radius:30px;color:#5b4e46;background:#fff}
.svc-art-block{position:relative;border-radius:6px;overflow:hidden;min-height:420px;background:linear-gradient(150deg,#6D5748,#4e3c33);display:flex;align-items:flex-end}
.svc-art-block img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}
.svc-art-block:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(53,43,38,.7),transparent 55%)}
.svc-art-block .image-label{position:relative;z-index:2;color:#F4E9DF;padding:20px 24px;font-size:11px;letter-spacing:.18em}
.svc-art-mark{position:absolute;right:-40px;top:-40px;width:260px;opacity:.14;z-index:1}
.notice-box{background:#F4ECEB;border-left:3px solid #b59190;padding:16px 20px;font-size:14px;line-height:1.6;color:#4e3c33;margin-top:22px;border-radius:0 4px 4px 0}

@media(prefers-reduced-motion:reduce){.v3 .w>span{animation:none;transform:none}.hero .circle{animation:none}.hero-photo{transition:none}.svc-card{transition:none}}

/* ===== marca do protótipo 1 (header e rodapé mocha) ===== */
.notice{background:#54443A}
header,header.scrolled{background:#6D5748;border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:none}
header.scrolled{position:sticky;top:0;box-shadow:0 12px 30px -18px rgba(0,0,0,.55)}
header .brand,footer .brand{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none}
header .brand img{height:46px;width:auto;margin:0}
header .brand span{font-family:'Prata','Prata',Georgia,serif;font-size:1.3rem;line-height:1.05;color:#F7EFE9;display:block}
header .brand small{display:block;font-family:'DM Sans',system-ui,sans-serif;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:#D8C7A5;margin-top:4px}
header nav a,header .mobile-menu summary{color:#EADFD6}
header nav a:hover,header nav a[aria-current=page]{color:#fff}
header nav a:after{background:#D8C7A5}
header .btn.small{background:linear-gradient(120deg,#D8C7A5,#FFFDEA 55%,#D8C7A5);color:#3F312A;border-color:transparent}
header .soc{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid rgba(216,199,165,.55);border-radius:50%;color:#D8C7A5;margin-right:10px;transition:background .25s,color .25s}
header .soc:hover{background:#D8C7A5;color:#3F312A}
footer{background:#6D5748;color:#E3D6CE}
footer .brand img.flogo{width:min(280px,70%);height:auto;margin:-10px 0 4px -8px}
.foot-social{display:flex;gap:18px;flex-wrap:wrap;margin:14px 0 6px}
.foot-social a{display:inline-flex;gap:8px;align-items:center;color:#F1E6DC;text-decoration:none;font-size:13px;border-bottom:1px solid rgba(216,199,165,.4);padding-bottom:3px}
.foot-social a:hover{color:#fff;border-color:#D8C7A5}
@media(max-width:560px){header .brand span{display:none}}

/* menu: Serviços com lista */
header nav .nav-dd{position:relative;display:inline-block}
header nav .nav-dd>a i{font-style:normal;font-size:10px;opacity:.8}
.dd-panel{position:absolute;top:100%;left:-14px;min-width:290px;padding:14px 8px 10px;margin-top:14px;background:#fff;border:1px solid #e1d5c9;border-radius:6px;box-shadow:0 26px 50px -24px rgba(53,43,38,.55);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s,transform .22s,visibility .22s;z-index:40;display:grid}
.dd-panel:before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
header nav .dd-panel a{color:#4e3c33;padding:9px 14px;font-size:13.5px;border-radius:4px;display:block}
header nav .dd-panel a:after{display:none}
header nav .dd-panel a:hover{background:#F4ECEB;color:#352b26}
header nav .dd-panel a.all{border-top:1px solid #eee3d8;margin-top:6px;padding-top:12px;color:#6D5748;font-weight:600}
.nav-dd:hover .dd-panel,.nav-dd:focus-within .dd-panel{opacity:1;visibility:visible;transform:none}
header .mobile-menu[open]>nav{max-height:78vh;overflow:auto}

/* botão flutuante de WhatsApp */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:55;display:flex;align-items:center;gap:10px;background:#25D366;color:#fff;border-radius:40px;padding:14px 16px;text-decoration:none;font-size:14px;font-weight:600;box-shadow:0 14px 34px -10px rgba(18,140,70,.6);transition:transform .25s,box-shadow .25s}
.wa-float:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 20px 40px -10px rgba(18,140,70,.65)}
.wa-float span{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .35s}
.wa-float:hover span,.wa-float:focus-visible span{max-width:170px}
.wa-float:before{content:"";position:absolute;inset:0;border-radius:40px;border:2px solid #25D366;animation:waPulse 2.6s ease-out infinite}
@keyframes waPulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.35,1.6);opacity:0}}
@media(max-width:700px){.wa-float{right:14px;bottom:14px}.cookie-bar{bottom:84px}}
@media(prefers-reduced-motion:reduce){.wa-float:before{animation:none}}

/* ===== avaliações: faixa mocha com dourado e troca animada ===== */
.reviews-band{background:radial-gradient(ellipse at 85% 10%,rgba(216,199,165,.18),transparent 55%),linear-gradient(160deg,#54443A,#6D5748 60%,#5a483d);color:#F7EFE9;position:relative;overflow:hidden}
.reviews-band:before{content:"";position:absolute;right:-90px;bottom:-110px;width:520px;height:520px;background:url(/assets/simbolo.png) center/contain no-repeat;opacity:.07;pointer-events:none}
.reviews-band .eyebrow{color:#D8C7A5}
.reviews-band h2{color:#F7EFE9}
.reviews-band h2 em{background:linear-gradient(100deg,#D8C7A5,#FFFDEA 50%,#D8C7A5);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#D8C7A5}
.reviews-band .google-rating{color:#F7EFE9;border:1px solid rgba(216,199,165,.5);padding:12px 18px;border-radius:40px;background:rgba(255,255,255,.04);transition:background .3s,border-color .3s}
.reviews-band .google-rating:hover{background:rgba(216,199,165,.16);border-color:#D8C7A5}
.reviews-band .google-rating small{color:#D8C7A5}
.reviews-band .rating-stars{color:#E8CF8E;letter-spacing:2px;text-shadow:0 0 12px rgba(232,207,142,.55)}
.reviews-band .rating-date{color:#CDBBAA}
.reviews-band .review-player{border-left:1px solid rgba(216,199,165,.35);position:relative}
.reviews-band .quote-symbol{font-family:'Prata','Prata',Georgia,serif;font-size:120px;line-height:.7;height:70px;background:linear-gradient(160deg,#FFFDEA,#D8C7A5 45%,#B89A63);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.reviews-band .review-content blockquote{font-family:'Prata','Prata',Georgia,serif;color:#F7EFE9;font-size:26px;line-height:1.5}
.reviews-band .review-avatar{background:linear-gradient(140deg,#FFFDEA,#D8C7A5 55%,#B89A63);color:#3F312A;font-weight:600;box-shadow:0 0 0 3px rgba(216,199,165,.25)}
.reviews-band .review-author strong{color:#fff}
.reviews-band .review-author small{color:#D8C7A5}
.reviews-band .review-controls>button{border-color:rgba(216,199,165,.55);color:#D8C7A5;border-radius:50%;width:38px;min-width:38px;height:38px}
.reviews-band .review-controls>button:hover{background:#D8C7A5;color:#3F312A}
.reviews-band .review-controls>[data-review-count]{color:#D8C7A5;letter-spacing:.12em}
.reviews-band .review-dots button{border-color:#D8C7A5;transition:width .35s,background .35s}
.reviews-band .review-dots button.active{background:#D8C7A5;width:26px;border-radius:6px}
.reviews-band .review-source{color:#D8C7A5;border-color:rgba(216,199,165,.6)}
.reviews-band .review-source:hover{color:#fff}
/* barra de progresso dourada: mostra quando a próxima avaliação entra */
.rv-progress{position:absolute;left:0;right:0;top:-1px;height:2px;background:rgba(216,199,165,.18);overflow:hidden}
.rv-progress i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#B89A63,#FFFDEA,#D8C7A5);transform-origin:left;transform:scaleX(0);animation:rvBar 8s linear forwards}
.rv-paused .rv-progress i,.rv-hover .rv-progress i{animation-play-state:paused}
@keyframes rvBar{to{transform:scaleX(1)}}
@keyframes reviewEnter{from{opacity:0;transform:translateX(46px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.review-enter{animation:reviewEnter .85s cubic-bezier(.2,.7,.2,1) both}
.review-enter .review-avatar{animation:avPop .9s cubic-bezier(.2,.9,.3,1.4) .15s both}
@keyframes avPop{from{transform:scale(.4) rotate(-40deg);opacity:0}to{transform:none;opacity:1}}
@media(max-width:820px){.reviews-band .review-player{border-left:0;border-top:1px solid rgba(216,199,165,.35)}}
@media(prefers-reduced-motion:reduce){.rv-progress i{animation:none;transform:scaleX(1)}.review-enter .review-avatar{animation:none}}
.reviews-band .google-letter{color:#E8CF8E;font-weight:700}
.reviews-band .quote-symbol{line-height:1.05;height:auto;margin-bottom:-6px;font-size:96px}

/* ===== linha do tempo: caminho até a consulta ===== */
.tl{list-style:none;margin:56px auto 0;padding:0;position:relative;max-width:1000px;--p:0}
.tl:before,.tl:after{content:"";position:absolute;left:50%;top:28px;width:2px;margin-left:-1px;border-radius:2px}
.tl:before{bottom:28px;background:repeating-linear-gradient(180deg,rgba(109,87,72,.28) 0 6px,transparent 6px 12px)}
.tl:after{height:calc((100% - 56px)*var(--p));background:linear-gradient(180deg,#B89A63,#FFFDEA 60%,#D8C7A5);box-shadow:0 0 14px rgba(216,199,165,.9)}
.tl-item{display:grid;grid-template-columns:1fr 64px 1fr;align-items:start;margin:0 0 46px;position:relative}
.tl-item:last-child{margin-bottom:0}
.tl-node{grid-column:2;grid-row:1;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;justify-self:center;background:#F4ECEB;color:#9a8672;border:1px solid #d9cec3;position:relative;z-index:2;transition:background .6s,color .6s,border-color .6s,transform .6s cubic-bezier(.2,.9,.3,1.4),box-shadow .6s}
.tl-card{grid-row:1;background:#fff;border:1px solid #e4d9ce;border-radius:6px;padding:24px 26px;opacity:.28;filter:blur(2px);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1),filter .8s,box-shadow .8s;box-shadow:0 20px 40px -34px rgba(63,49,42,.6)}
.tl-item:nth-child(odd) .tl-card{grid-column:1;transform:translateX(-36px);text-align:right;margin-right:18px}
.tl-item:nth-child(even) .tl-card{grid-column:3;transform:translateX(36px);margin-left:18px}
.tl-n{display:block;font-size:10.5px;letter-spacing:.22em;color:#a28b60;margin-bottom:8px}
.tl-card h3{font-family:'Prata','Prata',Georgia,serif;font-weight:400;font-size:22px;line-height:1.2;margin:0 0 9px;color:#352b26}
.tl-card p{margin:0;font-size:14px;line-height:1.7;color:#5b4e46}
.tl-item.on .tl-card{opacity:1;filter:none;transform:none;box-shadow:0 26px 50px -30px rgba(63,49,42,.55)}
.tl-item.on .tl-node{background:linear-gradient(140deg,#FFFDEA,#D8C7A5 55%,#B89A63);color:#3F312A;border-color:#D8C7A5;transform:scale(1.08);box-shadow:0 0 0 6px rgba(216,199,165,.28),0 12px 24px -10px rgba(120,92,40,.6)}
.tl-item.on .tl-node:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid #D8C7A5;animation:tlPulse 2.4s ease-out 1}
@keyframes tlPulse{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.7);opacity:0}}
@media(max-width:760px){
  .tl{margin-top:40px}
  .tl:before,.tl:after{left:28px}
  .tl-item{grid-template-columns:58px 1fr;column-gap:16px;margin-bottom:30px}
  .tl-node{grid-column:1}
  .tl-item:nth-child(odd) .tl-card,.tl-item:nth-child(even) .tl-card{grid-column:2;text-align:left;margin:0;transform:translateX(26px)}
  .tl-item.on .tl-card{transform:none}
}
@media(prefers-reduced-motion:reduce){.tl-card{opacity:1;filter:none;transform:none!important;transition:none}.tl-item.on .tl-node:after{animation:none}.tl:after{height:calc(100% - 56px)}}

/* rodapé: mesma marca do menu e texto com contraste alto */
footer{padding:44px 5% 48px;align-items:flex-start}
footer .brand.foot-brand img{height:52px;width:auto;margin:0}
footer .brand.foot-brand span{font-family:'Prata','Prata',Georgia,serif;font-size:1.4rem;line-height:1.05;color:#FFFDF7;display:block}
footer .brand.foot-brand small{display:block;font-family:'DM Sans',system-ui,sans-serif;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:#E8D7B0;margin-top:5px}
footer p{font-size:14px;line-height:1.75;color:#F7EFE9;max-width:470px}
footer p a{color:#FFFDF7;text-decoration:underline;text-underline-offset:3px}
footer>small{font-size:12.5px;line-height:1.7;color:#E9DDD3}
footer .foot-social a{color:#FFFDF7;font-size:14px;border-color:rgba(232,215,176,.7)}
footer .foot-social a:hover{color:#E8D7B0}
@media(max-width:560px){footer .brand.foot-brand span{display:block}}
.legal h2{font-size:28px;margin:34px 0 10px;letter-spacing:-.5px}.legal p{font-size:15px;line-height:1.75}

/* ===== faixas de chamada para ação ===== */
.cta-wrap{padding-top:10px;padding-bottom:10px}
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;padding:26px 34px;border-radius:6px;background:linear-gradient(120deg,#F1E7D2,#FFFDEA 55%,#E9D9B6);border:1px solid #e3d3ae;box-shadow:0 24px 50px -36px rgba(120,92,40,.7);position:relative;overflow:hidden}
.cta-band:before{content:"";position:absolute;right:-30px;top:-40px;width:170px;height:170px;background:url(/assets/simbolo.png) center/contain no-repeat;opacity:.1;pointer-events:none}
.cta-band p{margin:0;font-family:'Prata','Prata',Georgia,serif;font-size:clamp(19px,2vw,25px);line-height:1.3;color:#3F312A;max-width:640px;position:relative}
.cta-band .btn{position:relative;white-space:nowrap}
@media(max-width:700px){.cta-band{padding:22px 20px}.cta-band .btn{width:100%;justify-content:center}}

/* ===== linha do tempo compacta (home) ===== */
.tlh{list-style:none;margin:40px 0 8px;padding:0;display:grid;grid-template-columns:repeat(6,1fr);position:relative;--w:0}
.tlh:before,.tlh:after{content:"";position:absolute;top:28px;left:8.33%;height:2px;border-radius:2px}
.tlh:before{right:8.33%;background:repeating-linear-gradient(90deg,rgba(109,87,72,.3) 0 6px,transparent 6px 12px)}
.tlh:after{width:calc(83.34%*var(--w));background:linear-gradient(90deg,#B89A63,#FFFDEA 60%,#D8C7A5);box-shadow:0 0 12px rgba(216,199,165,.9);transition:width .5s linear}
.tlh-item{text-align:center;padding:0 10px;position:relative}
.tlh-node{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:#F4ECEB;color:#9a8672;border:1px solid #d9cec3;position:relative;z-index:2;transition:background .5s,color .5s,transform .5s cubic-bezier(.2,.9,.3,1.4),box-shadow .5s,border-color .5s}
.tlh-item.on .tlh-node{background:linear-gradient(140deg,#FFFDEA,#D8C7A5 55%,#B89A63);color:#3F312A;border-color:#D8C7A5;transform:scale(1.1);box-shadow:0 0 0 5px rgba(216,199,165,.28),0 10px 20px -10px rgba(120,92,40,.6)}
.tlh-item h3{font-family:'Prata','Prata',Georgia,serif;font-weight:400;font-size:17px;line-height:1.2;margin:2px 0 7px;color:#352b26}
.tlh-item p{margin:0;font-size:12.5px;line-height:1.6;color:#5b4e46}
.tlh-item .tl-n{margin-bottom:6px}
.tlh-item{opacity:.35;transform:translateY(10px);transition:opacity .6s,transform .6s}
.tlh-item.on{opacity:1;transform:none}
.tl-cta{display:flex;gap:26px;align-items:center;justify-content:center;flex-wrap:wrap;margin:34px 0 0}
@media(max-width:900px){.tlh{grid-template-columns:1fr 1fr;row-gap:26px}.tlh:before,.tlh:after{display:none}}
@media(prefers-reduced-motion:reduce){.tlh-item{opacity:1;transform:none;transition:none}.tlh:after{transition:none}}

/* versão completa do horizontal (páginas de serviço): textos inteiros */
.service-journey .tlh{margin-top:48px;column-gap:6px}
.service-journey .tlh-item{padding:0 8px}
.service-journey .tlh-item h3{font-size:16px}
.service-journey .tlh-item p{font-size:12.5px;line-height:1.65}
@media(max-width:900px){.service-journey .tlh{grid-template-columns:1fr;row-gap:0;padding-left:0}
  .service-journey .tlh-item,.tlh-item{text-align:left}
}

/* ===== mobile ===== */
header .mobile-menu nav a,header .mobile-menu nav a:hover,header .mobile-menu nav a[aria-current=page]{color:#4e3c33}
header .mobile-menu nav a:after{display:none}
header .mobile-menu nav a[aria-current=page]{font-weight:600}
@media(max-width:560px){
  header .brand span{display:block!important;font-size:1.08rem}
  header .brand small{font-size:.5rem;letter-spacing:.16em}
  header .brand img{height:40px}
}
@media(max-width:900px){
  .tlh{grid-template-columns:1fr;row-gap:0;margin-top:34px}
  .tlh:before,.tlh:after{display:block;left:27px;right:auto;top:28px;width:2px}
  .tlh:before{bottom:28px;height:auto;background:repeating-linear-gradient(180deg,rgba(109,87,72,.3) 0 6px,transparent 6px 12px)}
  .tlh:after{bottom:auto;height:calc((100% - 56px)*var(--w));width:2px;transition:height .5s linear;background:linear-gradient(180deg,#B89A63,#FFFDEA 60%,#D8C7A5)}
  .tlh-item,.service-journey .tlh-item{display:grid;grid-template-columns:56px 1fr;column-gap:18px;text-align:left;padding:0 0 28px;align-items:start}
  .tlh-node{grid-row:1/span 3;margin:0}
  .tlh-item .tl-n{margin:4px 0 4px}
  .tlh-item h3{margin:0 0 6px;font-size:18px}
  .tlh-item p,.service-journey .tlh-item p{font-size:14px}
  .tl-cta{margin-top:12px}
}

/* menu mobile: painel escuro, texto claro, alvos de toque grandes */
header .mobile-menu{margin-left:auto;margin-right:10px}
header .mobile-menu summary{color:#F7EFE9;font-size:15px;padding:8px 4px}
header .mobile-menu>nav{background:#4a3a31;border:1px solid rgba(216,199,165,.35);border-radius:8px;box-shadow:0 30px 60px -20px rgba(0,0,0,.7);padding:8px;width:min(92vw,340px);right:0;left:auto;max-height:76vh;overflow:auto}
header .mobile-menu>nav a,header .mobile-menu nav a:hover,header .mobile-menu nav a[aria-current=page]{color:#F7EFE9;display:block;padding:14px 14px;font-size:15.5px;border-bottom:1px solid rgba(216,199,165,.16);border-radius:0}
header .mobile-menu>nav a:last-child{border-bottom:0;color:#E8D7B0}
header .mobile-menu>nav a:hover,header .mobile-menu>nav a:active{background:rgba(216,199,165,.14)}
header .mobile-menu>nav a[aria-current=page]{color:#E8D7B0;font-weight:600}
@media(max-width:420px){header .brand span{font-size:.98rem!important}header .brand small{display:none}header .brand img{height:38px}}
@media(max-width:900px){
  header .brand{flex:1 1 auto;min-width:0;margin-right:8px}
  header .brand span{white-space:nowrap}
  header .mobile-menu{flex:0 0 auto;margin-left:0;margin-right:10px}
  header .soc{flex:0 0 40px;width:40px;height:40px;margin-right:0}
}
@media(max-width:420px){header .brand span{font-size:.9rem!important}header .brand img{height:34px}header .mobile-menu summary{font-size:14px}}
@media(max-width:900px){
  header .mobile-menu{position:static;margin-left:14px}
  header .mobile-menu>nav{position:absolute;top:calc(100% + 6px);right:10px;left:auto;width:min(calc(100vw - 20px),340px);transform:none;margin:0}
  header .brand span{font-size:.92rem!important}
}
@media(max-width:480px){header .brand{gap:9px}header .brand span{font-size:.84rem!important;letter-spacing:0!important}header .mobile-menu{margin-left:8px;margin-right:8px}}

/* ===== experiência mobile: mais direta, menos rolagem ===== */
@media(max-width:900px){
  header .soc{display:none}
  header .btn.small{display:inline-flex!important;align-items:center;gap:4px;padding:10px 14px;font-size:12.5px;white-space:nowrap}
  header .mobile-menu{margin-right:10px}
}
@media(max-width:480px){header .btn.small .lg{display:none}}
@media(max-width:700px){
  body{font-size:15px}
  .section{padding-top:42px!important;padding-bottom:42px!important}
  h1{font-size:34px!important;line-height:1.08!important;letter-spacing:-1px!important}
  h2{font-size:27px!important;line-height:1.12!important;letter-spacing:-.6px!important}
  .section-head{gap:12px!important;margin-bottom:22px!important}
  .section-head>p{font-size:14px!important}
  /* hero */
  .hero{padding-top:26px!important;padding-bottom:30px!important;gap:22px!important}
  .hero-desc,.hero .vertical,.hero .circle,.hero .photo-note{display:none!important}
  .hero .intro{font-size:15.5px!important;margin-top:12px!important}
  .hero-art .image-frame,.hero-art{max-height:330px;overflow:hidden}
  .hero-photo{width:100%;height:330px!important;object-fit:cover;object-position:50% 18%}
  .hero-credentials{font-size:12px!important}
  .hero-stats{flex-wrap:nowrap;gap:10px;margin:20px 0 6px}
  .hero-stats div{flex:1 1 0;min-width:0;padding-left:10px}
  .hero-stats strong{font-size:23px}
  .hero-stats small{font-size:10px;line-height:1.25}
  /* resumo */
  .summary{padding-top:34px!important}
  .summary .box{padding:20px 18px!important;gap:14px!important}
  .summary p.lead{font-size:14.5px;line-height:1.65}
  .facts div:nth-child(n+2):nth-last-child(n+3){display:none}
  .facts div{padding:8px 0;font-size:13px}
  /* serviços */
  .svc-section{padding-top:34px!important}
  .svc-card{min-height:300px;padding:22px 20px}
  .svc-card h3{font-size:23px}
  .svc-note{display:none}
  /* faixas de CTA */
  .cta-wrap{padding-top:4px!important;padding-bottom:4px!important}
  .cta-band{padding:18px 16px;gap:14px}
  .cta-band p{font-size:17px}
  /* sensação / escuta */
  .listening .topics,.listening .large+p{display:none}
  .listening .large{font-size:17px}
  /* avaliação */
  .modality-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0!important}
  .modality-strip>div{padding:12px 10px!important}
  .modality-strip strong{font-size:12.5px!important}
  .modality-strip small{font-size:10.5px!important}
  .tlh-item p{display:none}
  .service-journey .tlh-item p{display:block}
  .tlh-item,.service-journey .tlh-item{padding-bottom:18px}
  .tlh-item h3{margin-bottom:0;font-size:17px}
  .tlh-node{width:48px;height:48px}
  .tlh:before,.tlh:after{left:23px}
  .tlh-item{grid-template-columns:48px 1fr!important;column-gap:14px!important}
  .eval-bottom{display:none}
  /* médica */
  .doctor-image img{height:300px;object-fit:cover;object-position:50% 20%;width:100%}
  .qualifications{font-size:13px}
  .qualifications li:nth-child(n+3){display:none}
  /* formas de cuidado */
  .catalog-link{margin-bottom:16px!important}
  .care-grid{gap:14px!important}
  .experience{display:none!important}
  .couple{padding:26px 20px!important}
  .couple .couple-background{opacity:.35}
  /* conteúdos: carrossel horizontal curto */
  .journal-grid{display:flex!important;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}
  .journal-card{flex:0 0 78%;scroll-snap-align:start}
  .journal-card h3{font-size:18px}
  .journal-card p:not(.eyebrow){display:none}
  /* rodapé/contato */
  .contact-with-form{gap:22px!important}
}
@media(max-width:900px){
  header .mobile-menu summary{font-size:0;list-style:none;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(216,199,165,.55);border-radius:50%;padding:0}
  header .mobile-menu summary::-webkit-details-marker{display:none}
  header .mobile-menu summary span{display:none}
  header .mobile-menu summary:before{content:"";width:18px;height:12px;background:linear-gradient(#EADFD6,#EADFD6) 0 0/100% 2px no-repeat,linear-gradient(#EADFD6,#EADFD6) 0 50%/100% 2px no-repeat,linear-gradient(#EADFD6,#EADFD6) 0 100%/100% 2px no-repeat}
  header .mobile-menu[open] summary:before{background:linear-gradient(#D8C7A5,#D8C7A5) 0 50%/100% 2px no-repeat;transform:rotate(45deg);box-shadow:none}
  header .brand span{font-size:.9rem!important}
}
@media(max-width:900px){
  header .mobile-menu summary{position:relative;display:block}
  header .mobile-menu summary:before{position:absolute;left:50%;top:50%;margin:-6px 0 0 -9px}
  header .brand{overflow:hidden}
  header .brand span{font-size:.86rem!important}
}
@media(max-width:700px){
  .care-primary,.care-secondary{padding:22px 20px!important;min-height:0!important}
  .care-primary h3{font-size:30px!important}
  .care-secondary p:nth-of-type(2){display:none}
  .care-primary p.detail{margin-bottom:10px}
  .couple h3{font-size:26px!important}
}
@media(max-width:480px){header .brand span{font-size:.78rem!important}header .btn.small{padding:9px 11px!important}header .brand img{height:32px}}
@media(max-width:700px){
  .couple{min-height:0!important;padding:24px 20px!important}
  .couple>p:not(.eyebrow){display:none}
  .care-primary{min-height:0!important}
  .care-primary>div:first-child p{font-size:14px}
}

/* faixa do topo: "particular" em destaque */
.notice b{color:#F3E2B8;font-weight:700;letter-spacing:.2em}
/* avaliações: menos espaço vertical */
.reviews-band .section{padding-top:54px!important;padding-bottom:48px!important}
.reviews-band .review-content{min-height:170px}
.reviews-band .review-content blockquote{min-height:96px;margin:6px 0 20px}
.reviews-band .review-controls{margin-top:16px}
.reviews-band .review-source{margin-top:14px}
.reviews-band .google-rating{margin-top:18px}
@media(max-width:700px){
  .reviews-band .section{padding-top:34px!important;padding-bottom:30px!important}
  .reviews-band .review-layout{gap:22px!important}
  .reviews-band .review-heading h2{font-size:26px!important}
  .reviews-band .review-player{padding-top:18px!important}
  .reviews-band .review-content{min-height:190px}
  .reviews-band .review-content blockquote{font-size:20px!important;min-height:120px;margin:4px 0 16px}
  .reviews-band .quote-symbol{font-size:64px;margin-bottom:-4px}
  .reviews-band .review-controls{margin-top:12px}
}

/* ===== revisão tipográfica (só celular) + números legíveis ===== */
.hero-stats strong,.google-rating strong{font-family:'DM Sans',system-ui,sans-serif;font-weight:500;letter-spacing:-.5px}
.google-letter{font-family:'DM Sans',system-ui,sans-serif!important}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@media(max-width:700px){
  .notice,.notice b,.notice span{font-size:10.5px!important;letter-spacing:.1em}
  .eyebrow,.tag,.tl-n,.facts dt,.image-label,.review-source,.catalog-link{font-size:11px!important}
  small,.under,.form-note,.rating-date,.journal-meta,.breadcrumb,.breadcrumb a,.gallery-caption,.gallery-review-note,.catalogue-note,.detail,.review-author small,.google-rating small,.editorial-note,.article-reference,.article-summary{font-size:12px!important}
  header .brand small{font-size:.5rem!important}
  .hero-stats small{font-size:11px!important}
  .btn,button,.filter-bar button,.contact-form .btn{font-size:13px}
  .gallery-thumbs button span,.review-dots button{font-size:11px}
  /* arco do hero: anel dourado e texto vertical voltam no celular */
  .hero-art{max-height:none!important;overflow:visible!important;height:410px!important;min-height:0!important;padding-bottom:40px!important;margin:0 4% 0 14px!important}
  .hero-art .image-frame{height:100%!important;max-height:none!important}
  .hero-photo{height:100%!important}
  .hero .circle,.hero .vertical{display:block!important}
  .vertical{font-size:9px!important}
}

@media(max-width:480px){.notice .np{display:none}.notice{padding:9px 0}}

/* ===== celular: leitura confortável (fontes maiores) + título das avaliações sem palavras coladas ===== */
.review-heading h2 br{display:inline!important}
@media(max-width:700px){
  body{font-size:16px}
  body p:not(.eyebrow):not(.under):not(.form-note):not(.rating-date):not(.detail):not(.catalogue-note):not(.photo-note):not(.editorial-note):not(.article-reference):not(.hero-credentials):not(.quote-symbol),
  body li,body dd,body summary,body label{font-size:16px!important;line-height:1.6}
  .cta-band p{font-size:18px!important;line-height:1.4}
  .section-head>p,.hero .intro,.summary p.lead{font-size:16px!important}
  .notice,.notice b,.notice span{font-size:11.5px!important}
  .eyebrow,.tag,.tl-n,.facts dt,.image-label,.review-source,.catalog-link{font-size:12.5px!important}
  small,.under,.form-note,.rating-date,.journal-meta,.breadcrumb,.breadcrumb a,.gallery-caption,.gallery-review-note,.catalogue-note,.detail,.review-author small,.google-rating small,.editorial-note,.article-reference,.article-summary,.hero-credentials{font-size:13.5px!important}
  .hero-stats small{font-size:12.5px!important}
  .btn,button,.filter-bar button,.contact-form .btn,.textlink,.form-direct{font-size:14.5px!important}
  .facts div{font-size:14.5px!important}
  .modality-strip strong{font-size:14px!important}
  .modality-strip small{font-size:12px!important}
  footer a,footer li,footer p{font-size:14.5px!important}
  .tlh-item h3{font-size:18px}
  header nav a,.mobile-menu a,.mobile-menu nav a{font-size:15.5px!important}
  .go,.svc-card .go,.journal-card .go{font-size:14px!important}
  .form-note,.counter,[data-review-count],.carousel-count{font-size:12.5px!important}
  header .mobile-menu summary,header .mobile-menu summary span{font-size:0!important}
  header .btn.small{font-size:12.5px!important}
}

/* hero com foto da Dra. (emagrecimento, reposição hormonal) */
.doc-art img{width:100%;height:100%;object-fit:cover}
@media(max-width:700px){
  .doc-hero{display:flex!important;flex-direction:column;gap:0!important}
  .doc-hero>div:first-child{display:contents}
  .doc-hero .eyebrow{order:1}
  .doc-hero h1{order:2}
  .doc-hero .service-subtitle{order:3;margin-top:14px!important}
  .doc-hero .doc-art{order:4;height:360px!important;margin:18px 0 6px;width:100%}
  .doc-hero .intro{order:5;margin-top:14px!important}
  .doc-hero .btn{order:6;margin-top:18px;align-self:stretch}
  .doc-hero .under{order:7}
  .doc-hero .service-doctor{order:8}
  .doc-hero>*,.doc-hero>div:first-child>*{margin-left:0!important;margin-right:0!important;text-align:left!important;align-self:stretch}
  .doc-hero .doc-art{align-self:stretch}
}

/* home, celular: título -> texto -> arco com a foto -> botão -> números -> nome/CRM */
@media(max-width:700px){
  .hero{display:flex!important;flex-direction:column;gap:0!important}
  .hero-copy{display:contents}
  .hero-copy>.eyebrow{order:1}
  .hero-copy>h1{order:2}
  .hero-copy>.intro{order:3}
  .hero>.hero-art{order:4;align-self:stretch;height:360px!important;margin:20px 4% 6px 14px!important;padding-bottom:30px!important}
  .hero-copy>.btn{order:5;margin-top:16px;align-self:stretch}
  .hero-copy>.under{order:6;margin-top:10px}
  .hero-copy>.hero-stats{order:7}
  .hero-copy>.hero-credentials{order:8}
}

