:root {
  --escuro: #0f1420;
  --escuro-2: #161c2b;
  --claro: #f6f3ee;
  --bege: #ebe5da;
  --texto: #1c1f26;
  --texto-suave: #5d6170;
  --dourado: #b89a5e;
  --linha: rgba(184,154,94,.35);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: Inter, system-ui, sans-serif; font-weight: 300; color: var(--texto); background: var(--claro); line-height: 1.7; }
.serif { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 500; }
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
.eyebrow { font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: var(--dourado); font-weight: 500; }

/* Textura: grão sutil sobre a página inteira */
body::after { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 50; opacity: .07; mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* Entrada suave dos blocos ao rolar */
.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .9s ease, transform .9s ease; }
.js .reveal.visivel { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js .reveal { opacity: 1; transform: none; transition: none; } }

.btn { display: inline-block; padding: 16px 34px; border: 1px solid var(--dourado); color: var(--dourado); text-decoration: none; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; transition: .3s; }
.btn:hover { background: var(--dourado); color: var(--escuro); }
.btn-cheio { background: var(--escuro); border-color: var(--escuro); color: var(--claro); }
.btn-cheio:hover { background: var(--dourado); border-color: var(--dourado); color: var(--escuro); }
.link-sec { display: inline-block; margin-left: 28px; color: rgba(246,243,238,.7); font-size: 13px; letter-spacing: .08em; text-decoration: none; border-bottom: 1px solid rgba(246,243,238,.25); padding-bottom: 3px; }
.link-sec:hover { color: var(--dourado); border-color: var(--dourado); }

header { position: fixed; top: 0; left: 0; right: 0; z-index: 20; padding: 28px 0; transition: background .4s, padding .4s, border-color .4s; border-bottom: 1px solid transparent; }
header.solido { background: rgba(15,20,32,.94); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); padding: 14px 0; border-color: rgba(184,154,94,.2); }
header .wrap { display: flex; justify-content: space-between; align-items: center; }
.logo { color: var(--claro); font-size: 22px; letter-spacing: .3em; text-decoration: none; }
header nav { display: flex; align-items: center; }
header nav a { color: rgba(246,243,238,.75); text-decoration: none; font-size: 13px; margin-left: 28px; letter-spacing: .05em; }
header nav a:hover { color: var(--dourado); }
header nav .nav-cta { border: 1px solid var(--dourado); color: var(--dourado); padding: 9px 18px; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
header nav .nav-cta:hover { background: var(--dourado); color: var(--escuro); }
header .wrap { position: relative; z-index: 1; }
.menu-btn, .menu-movel { display: none; }

/* Hero: desejo, quem é, ação */
.hero { background: radial-gradient(ellipse at 70% 30%, #1d2537 0%, var(--escuro) 65%); color: var(--claro); min-height: 100vh; display: flex; align-items: center; padding: 120px 0 80px; position: relative; overflow: hidden; }
.hero::before { content: "LEVATTI"; position: absolute; left: 50%; bottom: -0.18em; transform: translateX(-50%); font-family: "Cormorant Garamond", Georgia, serif; font-size: 24vw; letter-spacing: .12em; line-height: 1; color: rgba(246,243,238,.028); white-space: nowrap; pointer-events: none; }
.hero .wrap { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr .85fr; gap: 72px; align-items: center; width: 100%; }
.hero h1 { font-size: clamp(44px, 7vw, 84px); line-height: 1.05; margin: 22px 0 26px; font-weight: 400; }
.hero h1 em { color: var(--dourado); font-style: italic; }
.hero p { max-width: 520px; color: rgba(246,243,238,.72); font-size: 17px; margin-bottom: 42px; }
.hero .meta { margin-top: 56px; font-size: 12px; color: rgba(246,243,238,.45); letter-spacing: .12em; }
.hero-foto { position: relative; max-width: 330px; justify-self: end; width: 100%; }
.hero-foto img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: center 30%; filter: saturate(.9) brightness(.96); }
.selo { position: absolute; left: -28px; bottom: 28px; background: var(--escuro); border: 1px solid var(--linha); padding: 14px 20px; }
.selo small { display: block; font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: rgba(246,243,238,.55); }
.selo span { font-family: "Cormorant Garamond", Georgia, serif; font-size: 20px; color: var(--claro); }

section { padding: 110px 0; }
h2 { font-size: clamp(34px, 4.5vw, 52px); line-height: 1.15; margin: 16px 0 24px; font-weight: 400; }
.lead { font-size: 18px; color: var(--texto-suave); max-width: 620px; }
.cta-linha { margin-top: 56px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.cta-linha p { color: var(--texto-suave); font-size: 15px; }

/* Experiências: prova social logo depois do hero */
.experiencias { background: var(--bege); }
.destaques { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 56px; }
.video { position: relative; aspect-ratio: 9/16; background: #d9d1c3; overflow: hidden; }
.video video { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.03); }
.play { position: absolute; inset: 0; width: 100%; border: 0; background: transparent; cursor: pointer; }
.play::before { content: ""; position: absolute; left: 50%; top: 58%; width: 68px; height: 68px; transform: translate(-50%, -50%); border-radius: 50%; border: 1px solid rgba(246,243,238,.85); background: rgba(15,20,32,.35); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); transition: .3s; }
.play::after { content: ""; position: absolute; left: calc(50% + 3px); top: 58%; transform: translate(-50%, -50%); border-style: solid; border-width: 10px 0 10px 16px; border-color: transparent transparent transparent #f6f3ee; }
.play:hover::before { background: var(--dourado); border-color: var(--dourado); }
.video.tocando .play { display: none; }
.legenda { margin-top: 14px; font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-size: 20px; line-height: 1.35; color: var(--texto); }
.legenda.simples { font-family: Inter, sans-serif; font-style: normal; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--texto-suave); }
.citacao-destaque { background: var(--escuro); color: var(--claro); padding: 56px 56px; margin-top: 40px; display: grid; grid-template-columns: auto 1.1fr 1fr; gap: 0 40px; align-items: center; }
.citacao-destaque blockquote { margin: 0 !important; }
.aspas { font-family: "Cormorant Garamond", Georgia, serif; font-size: 80px; line-height: .6; color: var(--dourado); }
.citacao-destaque blockquote { font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-weight: 500; font-size: 34px; line-height: 1.2; margin: 22px 0 24px; }
.citacao-destaque p { color: rgba(246,243,238,.78); font-size: 16px; font-weight: 300; line-height: 1.7; }
.origem { margin-top: 26px; font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--dourado); }

.mensagens { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; }
.msg { background: var(--claro); padding: 40px 38px; border: 1px solid rgba(184,154,94,.22); display: flex; flex-direction: column; }
.msg h3 { font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-weight: 500; font-size: 28px; line-height: 1.22; margin-bottom: 16px; color: var(--texto); }
.msg p { color: #464a57; font-size: 16px; font-weight: 300; line-height: 1.75; }
.msg .origem { margin-top: auto; padding-top: 22px; }

/* Filosofia em destaque */
.sobre .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.manifesto { border-left: 1px solid var(--linha); padding-left: 48px; }
.manifesto blockquote { font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-size: clamp(28px, 3vw, 38px); line-height: 1.25; color: var(--claro); }
.manifesto .origem { margin-top: 28px; }

/* Como funciona: tira o medo do processo */
.metodo .wrap { display: grid; grid-template-columns: 1.3fr .7fr; gap: 80px; align-items: center; }
.passos { margin-top: 48px; border-top: 1px solid var(--linha); }
.passo { display: grid; grid-template-columns: 64px 1fr; padding: 28px 0; border-bottom: 1px solid var(--linha); }
.passo .num { font-size: 34px; color: var(--dourado); line-height: 1; }
.passo h3 { font-weight: 500; font-size: 16px; margin-bottom: 6px; }
.passo p { color: var(--texto-suave); font-size: 15px; }
.bastidor video { width: 100%; aspect-ratio: 9/16; object-fit: cover; display: block; background: var(--escuro); }

/* Sobre: autoridade */
.sobre { background: var(--escuro); color: var(--claro); }
.sobre .wrap > div { max-width: 640px; }
.sobre p { color: rgba(246,243,238,.72); margin-bottom: 18px; }
.sobre .cro { font-size: 13px; color: var(--dourado); letter-spacing: .12em; margin-top: 28px; }
.sobre .link-sec { margin: 28px 0 0; }

/* Dúvidas: objeções */
.faq details { border-bottom: 1px solid var(--linha); padding: 26px 0; }
.faq summary { cursor: pointer; font-size: 18px; font-weight: 400; list-style: none; display: flex; justify-content: space-between; gap: 20px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--dourado); font-size: 22px; line-height: 1; }
.faq details[open] summary::after { content: "×"; }
.faq details p { color: var(--texto-suave); margin-top: 14px; max-width: 680px; }
.faq .lista { margin-top: 48px; }

.local { padding-top: 0; }
.local .wrap { display: grid; grid-template-columns: .8fr 1.2fr; gap: 64px; align-items: center; }
.local address { font-style: normal; color: var(--texto-suave); font-size: 17px; margin-bottom: 20px; }
.local .info { font-size: 14px; color: var(--texto-suave); margin-bottom: 32px; }
.local .acoes { display: flex; gap: 28px; align-items: center; flex-wrap: wrap; }
.local .link { color: var(--texto); font-size: 13px; letter-spacing: .15em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid var(--dourado); padding-bottom: 4px; }
.mapa { width: 100%; aspect-ratio: 4/3; border: 0; display: block; }

.cta { background: var(--escuro); color: var(--claro); text-align: center; }
.cta p { color: rgba(246,243,238,.65); max-width: 480px; margin: 0 auto 40px; }

.link-insta, .insta-rodape { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; letter-spacing: .08em; }
.link-insta { color: var(--texto); font-size: 13px; }
.link-insta span { border-bottom: 1px solid var(--dourado); padding-bottom: 2px; }
.ico-insta { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.4; flex: none; transition: .3s; }
.ico-insta .ponto { fill: currentColor; stroke: none; }
.link-insta:hover .ico-insta, .insta-rodape:hover .ico-insta { color: var(--dourado); }
.link-insta:hover { color: var(--dourado); }
.dica { display: none; }

footer { background: #0a0d15; color: rgba(246,243,238,.45); font-size: 12px; padding: 40px 0; letter-spacing: .05em; }
footer .wrap { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
footer a { color: var(--dourado); text-decoration: none; }

.whats { position: fixed; right: 20px; bottom: 20px; background: var(--dourado); color: var(--escuro); padding: 14px 22px; border-radius: 40px; text-decoration: none; font-size: 13px; font-weight: 500; letter-spacing: .05em; box-shadow: 0 8px 24px rgba(0,0,0,.25); z-index: 10; }

@media (max-width: 760px) {
  header nav a { display: none; }
  header nav .nav-cta { display: inline-block; margin-left: 0; padding: 8px 14px; }
  .menu-btn { display: inline-flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 6px; width: 40px; height: 38px; margin-left: 10px; background: none; border: 0; cursor: pointer; }
  .menu-btn span { display: block; width: 24px; height: 1px; background: var(--claro); transition: transform .3s; }
  header.menu-aberto .menu-btn span:first-child { transform: translateY(3.5px) rotate(45deg); }
  header.menu-aberto .menu-btn span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .menu-movel { display: flex; position: fixed; inset: 0; flex-direction: column; justify-content: center; padding: 0 32px; background: var(--escuro); opacity: 0; visibility: hidden; transition: opacity .35s, visibility .35s; }
  header.menu-aberto .menu-movel { opacity: 1; visibility: visible; }
  .menu-movel a { font-family: "Cormorant Garamond", Georgia, serif; font-size: 32px; color: var(--claro); text-decoration: none; padding: 12px 0; border-bottom: 1px solid rgba(184,154,94,.2); }
  .menu-movel a.btn { margin-top: 36px; border: 1px solid var(--dourado); color: var(--dourado); font-family: Inter, sans-serif; font-size: 13px; text-align: center; padding: 18px; transition: background .3s, color .3s; }
  .sobre .wrap { grid-template-columns: 1fr; gap: 48px; }
  .manifesto { padding-left: 24px; }
  .msg { padding: 32px 26px; }
  .msg h3 { font-size: 24px; }
  .citacao-destaque blockquote { font-size: 28px; }
  section { padding: 80px 0; }
  .hero { min-height: auto; padding: 110px 0 72px; }
  .hero .wrap { grid-template-columns: 1fr; gap: 44px; }
  .hero h1 { margin-top: 16px; }
  .hero-foto { order: -1; max-width: 260px; justify-self: start; }
  .hero-foto img { aspect-ratio: 1/1; }
  .selo { left: auto; right: -16px; bottom: 16px; padding: 10px 14px; }
  .selo span { font-size: 17px; }
  .link-sec { margin: 24px 0 0; display: table; }

  .destaques, .mensagens { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin-left: -24px; margin-right: -24px; padding: 0 24px; scroll-padding-left: 24px; scrollbar-width: none; }
  .destaques::-webkit-scrollbar, .mensagens::-webkit-scrollbar { display: none; }
  .destaques > *, .mensagens > * { flex: 0 0 78%; scroll-snap-align: start; }
  .mensagens { margin-top: 14px; }
  .citacao-destaque { padding: 36px 28px; grid-template-columns: 1fr; gap: 18px; margin-top: 28px; }

  .metodo .wrap { grid-template-columns: 1fr; gap: 48px; }
  .local .wrap { grid-template-columns: 1fr; gap: 36px; }
  .dica { display: block; margin-top: 18px; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--texto-suave); text-align: right; }
  .dica::after { content: " →"; color: var(--dourado); }
  .dica-topo { margin: 40px 0 -24px; }
  .bastidor { max-width: 300px; margin: 0 auto; text-align: center; }
}

/* ===== v2: páginas internas ===== */
header nav a.ativo { color: var(--dourado); }
.menu-movel a.ativo { color: var(--dourado); }

/* Topo das páginas internas */
.topo-pagina { background: radial-gradient(ellipse at 75% 20%, #1d2537 0%, var(--escuro) 70%); color: var(--claro); padding: 180px 0 100px; }
.topo-pagina h1 { font-size: clamp(42px, 6vw, 72px); line-height: 1.08; font-weight: 400; margin: 20px 0 22px; }
.topo-pagina h1 em { color: var(--dourado); font-style: italic; }
.topo-pagina p { max-width: 600px; color: rgba(246,243,238,.72); font-size: 18px; }

/* Link "ver mais" pra outra página */
.ver-mais { display: inline-block; margin-top: 40px; color: var(--texto); font-size: 13px; letter-spacing: .15em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid var(--dourado); padding-bottom: 4px; }
.ver-mais::after { content: " →"; color: var(--dourado); }
.ver-mais:hover { color: var(--dourado); }
.sobre .ver-mais, .escuro .ver-mais { color: var(--claro); }

/* Quem já passou pela clínica */
.clinica { background: var(--claro); }
.cards-famosos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 56px; }
.famoso { text-decoration: none; color: inherit; display: block; }
.famoso figure { position: relative; overflow: hidden; aspect-ratio: 4/5; background: var(--bege); }
.famoso img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s ease; filter: saturate(.92); }
.famoso:hover img { transform: scale(1.04); }
.famoso h3 { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 500; font-size: 28px; margin-top: 20px; line-height: 1.2; }
.famoso p { color: var(--texto-suave); font-size: 15px; margin-top: 6px; }
.famoso .tag { display: inline-block; margin-top: 14px; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--dourado); }

/* Página de casos: um bloco por pessoa */
.caso { padding: 100px 0; border-bottom: 1px solid var(--linha); }
.caso:nth-of-type(even) { background: var(--bege); }
.caso .cabeca { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; align-items: center; }
.caso .cabeca img { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; }
.caso h2 { margin-top: 12px; }
.caso .quem { color: var(--texto-suave); font-size: 17px; margin-bottom: 18px; }
.caso .numeros { display: flex; gap: 40px; margin: 28px 0 8px; flex-wrap: wrap; }
.caso .numeros div { border-left: 1px solid var(--linha); padding-left: 18px; }
.caso .numeros strong { display: block; font-family: "Cormorant Garamond", Georgia, serif; font-weight: 500; font-size: 34px; line-height: 1.1; color: var(--texto); }
.caso .numeros span { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--texto-suave); }
.caso .insta { margin-top: 26px; }
.galeria { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 56px; }
.galeria figure img { width: 100%; display: block; }
.galeria figcaption { margin-top: 12px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--texto-suave); }

/* Na mídia */
.midia-selo { margin-top: 36px; padding-top: 26px; border-top: 1px solid rgba(184,154,94,.25); }
.midia-selo small { display: block; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--dourado); margin-bottom: 8px; }
.midia-selo a { color: var(--claro); font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-size: 22px; text-decoration: none; border-bottom: 1px solid rgba(246,243,238,.25); }
.midia-selo a:hover { color: var(--dourado); border-color: var(--dourado); }

/* Texto corrido das páginas internas */
.texto { max-width: 720px; }
.texto p { color: var(--texto-suave); font-size: 17px; margin-bottom: 20px; }
.texto h3 { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 500; font-size: 30px; margin: 44px 0 14px; color: var(--texto); }
.principios { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 56px; }
.principio { background: var(--claro); border: 1px solid rgba(184,154,94,.22); padding: 38px 32px; }
.principio .num { font-family: "Cormorant Garamond", Georgia, serif; font-size: 34px; color: var(--dourado); line-height: 1; }
.principio h3 { font-weight: 500; font-size: 17px; margin: 18px 0 8px; }
.principio p { color: var(--texto-suave); font-size: 15px; }

@media (max-width: 760px) {
  .topo-pagina { padding: 140px 0 72px; }
  .cards-famosos { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin-left: -24px; margin-right: -24px; padding: 0 24px; scroll-padding-left: 24px; scrollbar-width: none; }
  .cards-famosos::-webkit-scrollbar { display: none; }
  .cards-famosos > * { flex: 0 0 78%; scroll-snap-align: start; }
  .caso { padding: 72px 0; }
  .caso .cabeca { grid-template-columns: 1fr; gap: 36px; }
  .galeria { grid-template-columns: 1fr; gap: 28px; margin-top: 40px; }
  .principios { grid-template-columns: 1fr; }
  .caso .numeros { gap: 28px; }
}

/* Sobre: foto + trajetória */
.trajetoria .wrap { display: grid; grid-template-columns: .75fr 1.25fr; gap: 72px; align-items: center; }
.trajetoria img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: center 30%; display: block; filter: saturate(.9); }
@media (max-width: 760px) { .trajetoria .wrap { grid-template-columns: 1fr; gap: 40px; } .trajetoria img { max-width: 300px; } }

/* ===== Botão de agendar: mais chamativo (dourado cheio, ícone, sombra) ===== */
.btn, .btn-cheio, header nav .nav-cta, .menu-movel a.btn {
  background: var(--dourado); border-color: var(--dourado); color: var(--escuro); font-weight: 500;
}
.btn { padding: 19px 38px; box-shadow: 0 10px 30px rgba(184,154,94,.28); display: inline-flex; align-items: center; gap: 12px; }
.btn:hover, .btn-cheio:hover, header nav .nav-cta:hover { background: #cbb07a; border-color: #cbb07a; color: var(--escuro); transform: translateY(-2px); box-shadow: 0 14px 34px rgba(184,154,94,.38); }
.ico-whats { width: 18px; height: 18px; flex: none; fill: currentColor; }
.local .acoes .btn { box-shadow: none; }
.menu-movel a.btn { color: var(--escuro) !important; justify-content: center; }

/* Botão flutuante: aparece depois do topo */
.whats { display: inline-flex; align-items: center; gap: 10px; opacity: 0; transform: translateY(16px); pointer-events: none; transition: opacity .4s, transform .4s, background .3s; letter-spacing: .12em; text-transform: uppercase; font-size: 12px; padding: 15px 22px; }
.whats.visivel { opacity: 1; transform: none; pointer-events: auto; }
.whats:hover { background: #cbb07a; }
@media (max-width: 760px) { .whats { left: 16px; right: 16px; bottom: 16px; justify-content: center; border-radius: 0; padding: 17px; } }

/* ===== Tema claro (versão de teste) ===== */
.tema-claro header nav a, .tema-claro .logo { color: var(--texto); }
.tema-claro header.solido { background: rgba(246,243,238,.95); border-color: rgba(184,154,94,.3); }
.tema-claro .menu-btn span { background: var(--texto); }
.tema-claro .menu-movel { background: var(--claro); }
.tema-claro .menu-movel a { color: var(--texto); }
.tema-claro .hero, .tema-claro .topo-pagina { background: radial-gradient(ellipse at 70% 30%, #fbf9f5 0%, var(--bege) 75%); color: var(--texto); }
.tema-claro .hero::before { color: rgba(28,31,38,.04); }
.tema-claro .hero p, .tema-claro .topo-pagina p { color: var(--texto-suave); }
.tema-claro .hero .meta { color: rgba(28,31,38,.45); }
.tema-claro .link-sec { color: var(--texto); border-color: rgba(28,31,38,.25); }
.tema-claro .selo { background: var(--claro); }
.tema-claro .selo small { color: var(--texto-suave); }
.tema-claro .selo span { color: var(--texto); }
.tema-claro .sobre { background: var(--bege); color: var(--texto); }
.tema-claro .sobre p { color: var(--texto-suave); }
.tema-claro .manifesto blockquote { color: var(--texto); }
.tema-claro .sobre .ver-mais { color: var(--texto); }
.tema-claro .midia-selo a { color: var(--texto); border-color: rgba(28,31,38,.25); }
.tema-claro .citacao-destaque { background: #fbf9f5; color: var(--texto); border: 1px solid rgba(184,154,94,.3); }
.tema-claro .citacao-destaque p { color: var(--texto-suave); }
.tema-claro .cta { background: var(--bege); color: var(--texto); }
.tema-claro .cta p { color: var(--texto-suave); }
.tema-claro footer { background: #e3dccf; color: rgba(28,31,38,.6); }
.tema-claro footer a, .tema-claro .insta-rodape { color: #8c7340; }

/* ===== Moldura padrão de feedback (print real do WhatsApp) =====
   Pra adicionar um novo: salvar o print em midia/feedbacks/ e copiar um <figure class="feedback">. */
.feedbacks { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 24px; }
.feedback { background: var(--claro); border: 1px solid rgba(184,154,94,.3); padding: 22px; display: grid; grid-template-columns: 1.15fr .85fr; grid-template-rows: auto 1fr auto; column-gap: 26px; position: relative; }
.feedback-topo { grid-column: 1 / -1; }
.feedback-print { grid-row: 2 / 4; }
.feedback figcaption { align-self: center; }
.feedback::before { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(184,154,94,.14); pointer-events: none; }
.feedback-topo { display: flex; justify-content: space-between; font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--dourado); font-weight: 500; padding: 4px 4px 14px; }
.feedback-print { background: #f2efe9; aspect-ratio: 1080/1382; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: 4px; box-shadow: inset 0 0 0 1px rgba(28,31,38,.05); }
.feedback-print img { width: 100%; height: 100%; object-fit: contain; display: block; }
.feedback figcaption { font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-weight: 500; font-size: 22px; line-height: 1.25; margin: 20px 4px 0; color: var(--texto); }
.feedback-assina { margin: auto 4px 0; padding-top: 16px; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--texto-suave); }
@media (max-width: 760px) {
  .feedbacks { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin-left: -24px; margin-right: -24px; padding: 0 24px; scroll-padding-left: 24px; scrollbar-width: none; margin-top: 14px; }
  .feedbacks::-webkit-scrollbar { display: none; }
  .feedbacks > * { flex: 0 0 82%; scroll-snap-align: start; }
  .feedback { display: flex; flex-direction: column; padding: 18px 18px 24px; }
}

/* ===== Celular mais compacto: menos rolagem, próximo card aparecendo na borda ===== */
@media (max-width: 760px) {
  .btn { letter-spacing: .1em; padding: 18px 26px; white-space: nowrap; }
  section { padding: 60px 0; }
  h2 { font-size: 30px; margin: 10px 0 14px; }
  .lead { font-size: 16px; }
  .eyebrow { font-size: 11px; }
  .hero { padding: 96px 0 48px; }
  .hero .wrap { gap: 28px; }
  .hero h1 { font-size: 42px; margin: 12px 0 16px; }
  .hero p { font-size: 15px; margin-bottom: 28px; }
  .hero .meta { margin-top: 28px; }
  .hero-foto { max-width: 190px; }
  .topo-pagina { padding: 116px 0 52px; }
  .topo-pagina h1 { font-size: 38px; }
  .topo-pagina p { font-size: 16px; }
  .dica-topo { margin: 24px 0 -10px; }
  .destaques { margin-top: 32px; }
  .destaques > * { flex: 0 0 60%; }
  .cards-famosos { margin-top: 32px; }
  .cards-famosos > * { flex: 0 0 68%; }
  .famoso h3 { font-size: 24px; margin-top: 14px; }
  .famoso p { font-size: 14px; }
  .feedbacks > * { flex: 0 0 76%; }
  .feedback figcaption { font-size: 19px; margin-top: 14px; }
  .ver-mais { margin-top: 28px; }
  .cta-linha { margin-top: 32px; }
  .passos { margin-top: 28px; }
  .passo { padding: 18px 0; }
  .metodo .wrap { gap: 32px; }
  .bastidor { max-width: 220px; }
  .faq details { padding: 18px 0; }
  .faq summary { font-size: 16px; }
  .faq .lista { margin-top: 24px; }
  .local .wrap { gap: 24px; }
  .mapa { aspect-ratio: 16/10; }
  .caso { padding: 56px 0; }
}
@media (max-width: 760px) {
  .selo { right: auto; left: calc(100% + 14px); bottom: 12px; white-space: nowrap; }
  .hero .meta { margin-top: 22px; }
}

/* Correção: menu do celular abria cortado depois de rolar.
   O fundo com blur do cabeçalho prendia o menu dentro dele; com o menu aberto o blur sai. */
header.menu-aberto, header.solido.menu-aberto { backdrop-filter: none; -webkit-backdrop-filter: none; }
@media (max-width: 760px) { .destaques > * { flex: 0 0 64%; } }
@media (min-width: 761px) { .destaques { grid-template-columns: repeat(3, 1fr); } }

/* Correção iPhone: o menu aberto não cobria a área do relógio nem a barra de endereço.
   O menu passa a ultrapassar a tela e o fundo da página fica da cor do menu enquanto aberto. */
@media (max-width: 760px) {
  .menu-movel { top: -150px; bottom: -150px; height: auto; padding: calc(150px + env(safe-area-inset-top)) 32px calc(150px + env(safe-area-inset-bottom)); }
  html.menu-aberto, html.menu-aberto body { background: var(--escuro); overflow: hidden; }
  html.menu-aberto.claro-ativo, html.menu-aberto.claro-ativo body { background: var(--claro); }
}
/* iPhone: cabeçalho e botão flutuante respeitam a área do relógio e da barra inferior */
header { padding-top: calc(28px + env(safe-area-inset-top)); }
header.solido { padding-top: calc(14px + env(safe-area-inset-top)); }
@media (max-width: 760px) { .whats { bottom: calc(16px + env(safe-area-inset-bottom)); } }
/* iPhone: a área do relógio e da barra inferior pega a cor do html; no tema escuro ela fica escura sempre */
html { background: var(--escuro); }
html.claro-ativo { background: var(--claro); }

/* ===== Experiências v3: resultados + feedbacks no padrão (imagem já sai pronta, 900x1100) ===== */
.sub-bloco { margin-top: 80px; }
.sub-bloco h3 { font-size: clamp(26px, 3vw, 36px); font-weight: 400; margin-top: 10px; }
.resultados { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 32px; }
.resultados figure { margin: 0; }
.resultados img { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; border: 1px solid rgba(184,154,94,.25); }
.resultados figcaption { margin-top: 10px; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--texto-suave); }
.feedbacks { grid-template-columns: repeat(3, 1fr); margin-top: 32px; }
.feedback { display: flex; flex-direction: column; padding: 16px 16px 22px; }
.feedback .feedback-print { width: 100%; aspect-ratio: 900/1100; height: auto; object-fit: cover; display: block; border-radius: 0; box-shadow: none; }
.feedback figcaption { align-self: auto; font-size: 20px; margin: 18px 4px 0; }
@media (max-width: 760px) {
  .sub-bloco { margin-top: 52px; }
  .resultados { grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 22px; }
  .feedbacks { margin-top: 22px; }
  .feedback { padding: 14px 14px 20px; }
  .feedback figcaption { font-size: 18px; }
}
.resultados video { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; border: 1px solid rgba(184,154,94,.25); background: var(--bege); }
.o-que-sao { display: grid; grid-template-columns: .7fr 1.3fr; gap: 64px; align-items: center; }
.o-que-sao img { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; }
@media (max-width: 760px) { .o-que-sao { grid-template-columns: 1fr; gap: 32px; } .o-que-sao img { max-width: 280px; } }

/* Agenda limitada (escassez real): linha pequena perto dos botões. Usada na versão /nova/ */
p.escassez, .hero p.escassez, .cta-linha p.escassez { font-size: 12px; letter-spacing: .12em; color: var(--texto-suave); margin: 18px 0 0; max-width: none; flex-basis: 100%; }
.hero p.escassez, .metodo p.escassez { color: rgba(246,243,238,.55); }
.metodo.experiencias p.escassez, .experiencias p.escassez { color: var(--texto-suave); }
.tema-claro .hero p.escassez { color: var(--texto-suave); }

/* Versão /nova/: antes e depois no topo, famosos em 2 cards, matéria sem link */
.cards-famosos.dois { grid-template-columns: repeat(2, 1fr); max-width: 760px; }
.midia-selo .materia { color: var(--claro); font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-size: 22px; }
.hero-foto.hero-resultado { max-width: 400px; }
@media (max-width: 760px) {
  .hero-foto.hero-resultado { max-width: none; width: 100%; }
  .hero-foto.hero-resultado img { aspect-ratio: 4/3; object-position: center 24%; }
  .hero-foto.hero-resultado .selo { right: 10px; left: auto; bottom: 10px; top: auto; padding: 7px 11px; }
  .hero-foto.hero-resultado .selo span { font-size: 14px; }
  .hero-foto.hero-resultado .selo small { font-size: 9px; letter-spacing: .18em; }
}

/* /nova/: cartões de feedback menores no celular, pra não ocupar a tela inteira */
@media (max-width: 760px) {
  body.v-nova .feedbacks > * { flex: 0 0 58%; }
  body.v-nova .feedback { padding: 10px 10px 14px; }
  body.v-nova .feedback figcaption { font-size: 16px; margin-top: 10px; }
}

/* /nova/ home mais curta: Método sem o vídeo, passos abertos e compactos */
.metodo.metodo-curto .wrap { grid-template-columns: 1fr; }
.metodo-curto .passos { margin-top: 32px; }
.metodo-curto .passo { padding: 20px 0; }

/* /nova/: pergunta que provoca, logo acima do botão */
.cta-linha p.pergunta-cta, .pergunta-cta { flex-basis: 100%; margin: 0 0 4px; font-family: "Cormorant Garamond", Georgia, serif; font-size: 30px; line-height: 1.2; color: var(--texto); }

/* /nova/: link das dúvidas com cara de clicável */
.mais-duvidas { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 28px; padding: 18px 22px; border: 1px solid var(--dourado); color: var(--texto); text-decoration: none; font-size: 15px; transition: background .3s; }
.mais-duvidas small { display: block; font-size: 12px; letter-spacing: .04em; color: var(--texto-suave); margin-bottom: 2px; }
.mais-duvidas::after { content: "→"; color: var(--dourado); font-size: 20px; flex: none; }
.mais-duvidas:hover { background: rgba(184,154,94,.12); }

/* /nova/ celular: menos espaço entre as partes */
@media (max-width: 760px) {
  body.v-nova section { padding: 44px 0; }
  body.v-nova .hero { padding: 92px 0 30px; }
  body.v-nova .hero .wrap { gap: 22px; }
  body.v-nova .hero p { margin-bottom: 22px; }
  body.v-nova .hero .link-sec { margin-top: 14px; }
  body.v-nova .hero p.escassez { margin-top: 12px; }
  body.v-nova .hero .meta { margin-top: 14px; }
  body.v-nova .local { padding-top: 0; }
  body.v-nova .sub-bloco { margin-top: 36px; }
  body.v-nova .dica { margin-top: 10px; }
  body.v-nova .dica-topo { margin: 16px 0 -8px; }
  body.v-nova .cta-linha { margin-top: 24px; gap: 14px; }
  body.v-nova .cta-linha p { margin: 0; }
  body.v-nova .cta-linha p.escassez { margin-top: 0; }
  body.v-nova .cta-linha p.pergunta-cta { font-size: 24px; }
  body.v-nova .ver-mais { margin-top: 20px; }
  body.v-nova .cards-famosos { margin-top: 22px; }
  body.v-nova .destaques { margin-top: 22px; }
  body.v-nova .metodo-curto .passos { margin-top: 18px; }
  body.v-nova .metodo-curto .passo { padding: 13px 0; grid-template-columns: 48px 1fr; }
  body.v-nova .metodo-curto .passo .num { font-size: 28px; }
  body.v-nova .metodo-curto .passo h3 { margin-bottom: 2px; }
  body.v-nova .metodo-curto .passo p { font-size: 14px; line-height: 1.55; }
  body.v-nova .faq details { padding: 15px 0; }
  body.v-nova .mais-duvidas { margin-top: 18px; padding: 15px 16px; font-size: 14px; }
  body.v-nova .local address { font-size: 14px; margin-bottom: 10px; }
  body.v-nova .local .info { font-size: 13px; margin-bottom: 20px; }
  body.v-nova .cta p { margin-bottom: 26px; }
  body.v-nova footer { padding: 28px 0 96px; }
}
body.v-nova .local address { font-size: 15px; }

/* Quem já passou: bloco de acabamento (veio da home) */
.caso.acabamento .resultados { margin-top: 32px; }

/* /nova/: tudo alinhado. Cartões da mesma fileira com a mesma altura e o link sempre no pé */
body.v-nova .famoso { display: flex; flex-direction: column; }
body.v-nova .famoso .tag { margin-top: auto; padding-top: 14px; align-self: flex-start; }
body.v-nova .famoso p { margin-bottom: 0; }

/* /nova/ computador: feedbacks numa fileira só que rola pro lado (7 cartões não fecham a grade de 3) */
@media (min-width: 761px) {
  body.v-nova .feedbacks { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 20px; padding-bottom: 14px; scrollbar-width: thin; scrollbar-color: var(--dourado) transparent; }
  body.v-nova .feedbacks > * { flex: 0 0 calc((100% - 60px) / 3.4); scroll-snap-align: start; }
  body.v-nova .feedbacks::-webkit-scrollbar { height: 4px; }
  body.v-nova .feedbacks::-webkit-scrollbar-thumb { background: var(--dourado); }
  body.v-nova .experiencias .dica { display: block; margin-top: 10px; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--texto-suave); text-align: right; }
  body.v-nova .experiencias .dica::after { content: " →"; color: var(--dourado); }
}
