/* Camada de modernização (nível B). Carregada DEPOIS de site.css. Mantém cores, fontes e textos. */
:root{
  --radius:12px;
  --r-sm:10px; --r-md:16px; --r-lg:22px; --r-xl:28px; --r-pill:999px;
  --fs-body:clamp(1.03rem,.99rem + .16vw,1.1rem);
  --fs-h2:clamp(1.95rem,1.4rem + 2.3vw,3rem);
  --fs-h1:clamp(2.5rem,1.45rem + 4.2vw,4.5rem);
  --shadow-sm:0 1px 2px rgba(12,33,28,.05),0 4px 14px -8px rgba(12,33,28,.12);
  --shadow-md:0 2px 4px rgba(12,33,28,.04),0 22px 44px -26px rgba(12,33,28,.32);
  --card:#F5F7F4;
}
body{line-height:1.72}

/* ---------- Tipografia: menos maiúsculas ---------- */
.eyebrow{letter-spacing:.13em}
.h2{letter-spacing:-.024em;line-height:1.1}
.link-arrow{font-size:.94rem;font-weight:700;letter-spacing:0;text-transform:none}
.kicker{letter-spacing:.1em}

/* ---------- Botões: pílula, texto normal ---------- */
.btn{border-radius:var(--r-pill);min-height:54px;padding:14px 28px;font-size:.98rem;font-weight:700;letter-spacing:0;text-transform:none;transition:background-color .25s var(--ease),box-shadow .3s var(--ease),transform .2s var(--ease),border-color .25s var(--ease),color .25s var(--ease)}
.btn svg{width:19px;height:19px}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn--gold{box-shadow:0 10px 24px -14px rgba(217,166,92,.9)}
.hdr-cta{min-height:44px;padding:10px 20px;font-size:.9rem}
@media (max-width:420px){.btn{letter-spacing:0}}

/* ---------- Cabeçalho e menu ---------- */
.site-header{border-bottom-color:rgba(255,255,255,.08)}
.nav a{font-size:.92rem;border-radius:var(--r-pill)}
.nav a::after{display:none}
.nav a:hover,.nav a[aria-current=true]{background:rgba(255,255,255,.08)}
.menu-bt{display:none}
@media (max-width:860px){
  :root{--header-h:64px}
  .hdr{flex-wrap:nowrap;min-height:64px;gap:10px}
  .is-compact .hdr{min-height:58px}
  .menu-bt{order:3;display:inline-flex;align-items:center;justify-content:center;flex:none;width:46px;height:46px;border:1px solid rgba(255,255,255,.18);border-radius:var(--r-pill);background:rgba(255,255,255,.06);color:#fff}
  .menu-bt svg{width:22px;height:22px}
  .menu-bt .x{display:none}
  .menu-aberto .menu-bt .x{display:block}.menu-aberto .menu-bt .h{display:none}
  .site-header .nav{order:4;position:fixed;left:10px;right:10px;top:calc(var(--header-h) + 8px);flex:none;flex-direction:column;gap:2px;margin:0;padding:10px;overflow:visible;
    background:rgba(12,33,28,.98);border:1px solid rgba(217,166,92,.25);border-radius:var(--r-lg);box-shadow:0 30px 60px -20px rgba(0,0,0,.6);
    -webkit-mask-image:none;mask-image:none;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top;transition:opacity .25s var(--ease),transform .3s var(--ease-out),visibility .25s}
  .menu-aberto .site-header .nav{opacity:1;visibility:visible;transform:none}
  .site-header .nav a{display:block;min-height:52px;line-height:52px;padding-inline:16px;font-size:1.06rem;color:#fff;border-radius:var(--r-md)}
  .site-header .nav a::first-letter{text-transform:uppercase}
  .menu-aberto .site-header{transform:none!important}
  .menu-fundo{position:fixed;inset:0;z-index:45;background:rgba(6,18,15,.5);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
  .menu-aberto .menu-fundo{opacity:1;visibility:visible}
}
@media (max-width:380px){.hdr-cta{padding-inline:14px;font-size:.84rem}}
@media (prefers-reduced-motion:reduce){.nav,.menu-fundo{transition:none}}

/* ---------- Hero ---------- */
.hero{background:var(--ink-900)}
.hero::after{content:'';position:absolute;z-index:-1;right:-180px;top:-60px;width:620px;height:620px;border-radius:50%;border:1px solid rgba(217,166,92,.26);
  outline:1px solid rgba(217,166,92,.13);outline-offset:-80px;pointer-events:none}
.hero-in{padding-bottom:clamp(72px,9vw,120px)}
.hero-sub{font-size:clamp(1.06rem,1rem + .3vw,1.2rem)}
.pontos{gap:8px}
.pontos span{padding:7px 14px;border:1px solid rgba(217,166,92,.4);border-radius:var(--r-pill);font-size:.86rem;font-weight:600;background:rgba(217,166,92,.08)}
.pontos i{display:none}
.hero-ctas{gap:14px 22px}
.retrato{max-width:380px}
.retrato::before{display:none}
.retrato-frame{padding:0;background:transparent;border-radius:var(--r-xl);overflow:hidden;box-shadow:0 40px 70px -34px rgba(0,0,0,.75),0 0 0 1px rgba(217,166,92,.25)}
.retrato figcaption{left:14px;right:14px;bottom:14px;padding:12px 16px;border:1px solid rgba(255,255,255,.14);border-radius:var(--r-md);background:rgba(12,33,28,.72)}
@supports (backdrop-filter:blur(8px)){.retrato figcaption{background:rgba(12,33,28,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}
.retrato figcaption span{letter-spacing:.08em}

.provas{border-top:0;gap:12px;margin-top:clamp(36px,5vw,60px)}
.prova,.prova+.prova,.prova:nth-child(even),.prova:nth-child(n+3){padding:18px 18px 20px;border:1px solid rgba(255,255,255,.1);border-radius:var(--r-md);background:rgba(255,255,255,.045)}
.prova b{font-weight:400;font-size:clamp(1.5rem,1.15rem + 1.1vw,2rem)}
.hero-notch{clip-path:none;height:30px;border-radius:30px 30px 0 0}
@media (max-width:860px){
  .hero::after{right:-300px;top:90px;width:480px;height:480px;opacity:.8}
  .retrato-frame{border-radius:var(--r-lg);box-shadow:0 0 0 1px rgba(217,166,92,.25)}
  .provas{gap:10px}
}

/* ---------- Áreas de cuidado: grade em tamanhos diferentes ---------- */
.areas{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.area{grid-column:span 6;padding:clamp(22px,2.6vw,30px);border-top:0;border-radius:var(--r-lg);background:var(--card);gap:14px;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),background-color .3s var(--ease)}
.area::before{display:none}
.area:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);background:#fff}
.area-ic{width:46px;height:46px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;background:#fff;color:var(--gold-ink);box-shadow:var(--shadow-sm)}
.area-ic svg{width:24px;height:24px}
.area:hover .area-ic{background:var(--ink-800);color:var(--gold)}
.area h3.kicker{font-family:var(--sans);font-size:.8rem;letter-spacing:.08em;color:var(--gold-ink)}
.ab-l{font-size:.74rem;letter-spacing:.04em;text-transform:none;font-weight:600}
/* home: 1 destaque, 4 médios e a acupuntura em faixa escura */
#cuidado .area{grid-column:span 4}
#cuidado .area:nth-child(1){grid-column:span 7}
#cuidado .area:nth-child(2){grid-column:span 5}
#cuidado .area:nth-child(6){grid-column:span 12;background:var(--ink-800);color:var(--on-dark-2)}
#cuidado .area:nth-child(6):hover{background:var(--ink-750)}
#cuidado .area:nth-child(1) .ab--a .ab-t{font-size:clamp(1.35rem,1.1rem + 1vw,1.75rem)}
#cuidado .area:nth-child(6) h3.kicker,#cuidado .area:nth-child(6) .link-arrow{color:var(--gold)}
#cuidado .area:nth-child(6) .ab--a .ab-t{color:#fff}
#cuidado .area:nth-child(6) .ab--b .ab-t{color:var(--on-dark-3)}
#cuidado .area:nth-child(6) .ab-l{color:var(--on-dark-muted)}
#cuidado .area:nth-child(6) .area-ic{background:rgba(255,255,255,.08);color:var(--gold);box-shadow:none}
@media (min-width:900px){#cuidado .area:nth-child(6){display:grid;grid-template-columns:auto 1fr 1.2fr auto;align-items:center;gap:8px 28px}#cuidado .area:nth-child(6) h3.kicker{grid-column:2/-1}#cuidado .area:nth-child(6) .area-ic{grid-row:1/3}#cuidado .area:nth-child(6) .link-arrow{margin-top:0}}
@media (max-width:899px){.area,#cuidado .area,#cuidado .area:nth-child(1),#cuidado .area:nth-child(2),#cuidado .area:nth-child(6){grid-column:span 12}}
@media (min-width:640px) and (max-width:899px){.area,#cuidado .area:nth-child(n+2):nth-child(-n+5){grid-column:span 6}}

/* ---------- Atalhos ---------- */
.atalhos{border-bottom:0;display:grid;gap:10px}
.atalhos li{padding:16px 20px;border-top:0;border-radius:var(--r-md);background:#fff;box-shadow:var(--shadow-sm)}
.atalhos li:hover{padding-left:20px;transform:translateX(4px)}
.atalhos li{transition:transform .35s var(--ease-out)}
.atalhos .a{padding:4px 12px;border-radius:var(--r-pill);background:rgba(217,166,92,.16)}

/* ---------- Passos ---------- */
.passos{padding-top:0;gap:14px}
.passos::before,.passo::before,.passo::after{display:none}
.passo{border-top:0;border-radius:var(--r-lg);background:var(--card);box-shadow:none;padding:clamp(22px,2.4vw,28px)}
.passo:hover{background:#fff}
.passo-no{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--ink-800);color:var(--gold);font-size:1.05rem;font-weight:400}
.passo h3{font-family:var(--serif);font-size:1.28rem;font-weight:400;letter-spacing:-.01em;text-transform:none;line-height:1.25}
.foto-frame{padding:0;background:transparent;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md)}

/* ---------- Acompanhamento (seção escura) ---------- */
.sec--green strong{color:#fff}
.sec--green{background:var(--ink-900)}
.modos{gap:14px}
.modo{border:1px solid rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);background:rgba(255,255,255,.045);transition:transform .35s var(--ease-out),background-color .3s var(--ease),border-color .3s var(--ease)}
.modo:hover{transform:translateY(-4px);background:rgba(255,255,255,.07);border-color:rgba(217,166,92,.45)}
.modo .kicker{display:inline-block;justify-self:start;padding:5px 12px;border-radius:var(--r-pill);background:rgba(217,166,92,.14);letter-spacing:.06em}
.stat{margin-top:26px;display:grid;grid-template-columns:auto 1fr;gap:6px 22px;align-items:center;padding:20px 24px;border-radius:var(--r-lg);border:1px solid rgba(217,166,92,.3);background:rgba(217,166,92,.07);max-width:720px}
.stat b{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,1.8rem + 2.6vw,3.6rem);line-height:1;color:var(--gold);letter-spacing:-.03em;white-space:nowrap}
.stat span{font-size:.97rem;line-height:1.55;color:var(--on-dark-2)}
@media (max-width:520px){.stat{grid-template-columns:1fr}}

/* ---------- Sobre, blog, cartões ---------- */
.rules{border-bottom:0}
.rules li:first-child{border-top:0}
.post,.insta-card{border:0;border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.insta-card{background:var(--card);border-left:0}
.insta-card:hover{background:#fff;box-shadow:var(--shadow-md);transform:translateY(-2px)}
.insta-card{transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out),background-color .3s var(--ease)}
.insta-card-cta{border-radius:var(--r-pill);font-size:.86rem;letter-spacing:0;text-transform:none}

/* ---------- Locais ---------- */
.online{border:1px solid rgba(217,166,92,.35);border-top:1px solid rgba(217,166,92,.35);border-radius:var(--r-xl);overflow:hidden}
.unidade{border-radius:var(--r-lg);overflow:hidden;border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.04)}
.unidade:hover{border-color:rgba(217,166,92,.55)}

/* ---------- Perguntas frequentes em cartões ---------- */
.faq-grupo h3{border-bottom:0;padding-bottom:4px}
.faq-grupo details{margin-top:10px;border:0;border-radius:var(--r-md);background:var(--card);padding:0 20px;transition:background-color .3s var(--ease),box-shadow .3s var(--ease)}
.faq-grupo details[open]{background:#fff;box-shadow:var(--shadow-md)}
.faq-grupo summary{padding:18px 0;align-items:center}
.sinal{width:30px;height:30px;margin-top:0;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm)}
.sinal::before,.sinal::after{left:9px;right:9px}
details[open] .sinal{background:var(--ink-800)}
details[open] .sinal::before,details[open] .sinal::after{background:var(--gold)}
.faq-resp{padding:0 12px 20px 0}

/* ---------- Formulário ---------- */
.form{border-top:0;border-radius:var(--r-xl);box-shadow:var(--shadow-md)}
.campo input,.campo select{border-radius:var(--r-sm);min-height:54px}
.form-status.ok{border-left:0;border-radius:var(--r-sm)}

/* ---------- Barra de agendamento no celular: flutuante ---------- */
@media (max-width:760px){
  .cta-fixo{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:6px;border:1px solid rgba(217,166,92,.35);border-radius:var(--r-pill);box-shadow:0 18px 40px -16px rgba(0,0,0,.6);transform:translateY(160%)}
  .cta-fixo .btn{min-height:50px;font-size:.95rem;letter-spacing:0}
  body{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
}

/* ---------- Avisos ---------- */
.cookies{border-radius:var(--r-lg)}

/* ---------- Movimento ---------- */
.js-anim .rv{transform:translate3d(0,22px,0) scale(.985)}
.rv{transition-duration:.9s}
@media (prefers-reduced-motion:reduce){.btn:hover,.area:hover,.modo:hover,.insta-card:hover,.atalhos li:hover{transform:none}}

/* ---------- Páginas de campanha, artigos, guia e teste ---------- */
@media (min-width:761px){.vsl-tela{border-radius:var(--r-lg);overflow:hidden}}
.depo{border:0;border-top:0;border-radius:var(--r-lg);background:var(--card);box-shadow:none}
.depo-est{letter-spacing:.12em}
.artigo-cta{border-top:0!important;border-radius:var(--r-lg)}
.artigo-cta[style]{border:1px solid var(--line)!important;box-shadow:var(--shadow-sm)}
.artigo-capa img{border-radius:var(--r-lg)}
.legal-voltar{font-size:.92rem;letter-spacing:0;text-transform:none}
.capa-mini{border-radius:10px}
.tr-item label{border-radius:var(--r-md)}
.tr-res{border-radius:var(--r-xl)}
.tr-alerta{border-radius:0 var(--r-sm) var(--r-sm) 0}
.site-footer--lp .foot-pref{border-radius:var(--r-pill)}

/* ---------- Cabeçalho em telas muito estreitas: nome em uma linha, sem sobrepor o botão ---------- */
@media (max-width:860px){
  .brand{min-width:0;overflow:hidden}
  .brand-name,.brand-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media (max-width:350px){
  .hdr-cta{display:none}            /* a barra "Agendar com a secretária" já fica fixa no rodapé */
  .brand-sub{font-size:.5rem;letter-spacing:.08em}
}
