@font-face { font-family: "Playfair Display"; src: url("assets/fonts/playfair-display.woff2") format("woff2"); font-weight: 400 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Playfair Display"; src: url("assets/fonts/playfair-display-italic.woff2") format("woff2"); font-weight: 400 900; font-style: italic; font-display: swap; }
@font-face { font-family: "Manrope"; src: url("assets/fonts/manrope.woff2") format("woff2"); font-weight: 400 800; font-display: swap; }

:root {
  --cafe: #2B1A12;
  --cafe-2: #3A2418;
  --marrom: #5A3A26;
  --caramelo: #A97B50;
  --ouro: #C9A267;
  --ouro-claro: #E4C894;
  --creme: #F4ECDF;
  --marfim: #FBF7F0;
  --tinta: #2B1A12;
  --tinta-2: #6A5446;
  --linha: rgba(201, 162, 103, .35);
  --serif: "Playfair Display", Georgia, serif;
  --sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gut: clamp(16px, 4.5vw, 64px);
  --max: 1200px;
  --raio: 18px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 76px; }
body { margin: 0; background: var(--marfim); color: var(--tinta); font: 400 17px/1.65 var(--sans); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button { font: inherit; color: inherit; cursor: pointer; }
h1, h2, h3 { font-family: var(--serif); font-weight: 600; line-height: 1.08; margin: 0; letter-spacing: -0.005em; }
h2 { font-size: clamp(32px, 3.8vw, 52px); }
h2 em, h1 em { font-style: italic; font-weight: 500; color: var(--caramelo); }
p { margin: 0 0 1em; }
.pular { position: absolute; left: -999px; top: 8px; background: var(--cafe); color: #fff; padding: 10px 16px; border-radius: 10px; z-index: 100; }
.pular:focus { left: 8px; }
:focus-visible { outline: 2px solid var(--ouro); outline-offset: 3px; }

/* botões */
.botao { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 0 30px; border-radius: 999px; font: 700 16px/1 var(--sans); letter-spacing: .02em; text-decoration: none; border: 0; position: relative; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease, background .2s; }
.botao--ouro { background: linear-gradient(135deg, #E9D2A2 0%, var(--ouro) 45%, #A9814B 100%); color: var(--cafe); box-shadow: 0 10px 26px rgba(169, 123, 80, .35), inset 0 1px 0 rgba(255,255,255,.5); }
.botao--ouro::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.55) 50%, transparent 70%); transform: translateX(-120%); animation: brilho 4.5s ease-in-out infinite; }
@keyframes brilho { 0%, 62% { transform: translateX(-120%); } 82%, 100% { transform: translateX(120%); } }
.botao--ouro:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(169, 123, 80, .45), inset 0 1px 0 rgba(255,255,255,.5); }
.botao--linha { color: var(--creme); box-shadow: inset 0 0 0 1.5px var(--linha); }
.botao--linha:hover { box-shadow: inset 0 0 0 1.5px var(--ouro); }
.botao--p { min-height: 44px; padding: 0 20px; font-size: 14.5px; }
.botao--cheio { width: 100%; }

/* barra fixa (aparece após o topo) */
.barra { position: fixed; inset: 0 0 auto; z-index: 50; background: rgba(43, 26, 18, .92); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(201, 162, 103, .2); transform: translateY(-110%); transition: transform .35s ease; }
.barra.on { transform: none; }
.barra__in { max-width: calc(var(--max) + 2 * var(--gut)); margin: 0 auto; padding: 10px var(--gut); display: flex; align-items: center; gap: 24px; }
.barra__marca img { width: 128px; }
.barra__info { margin: 0 0 0 auto; display: flex; gap: 18px; color: var(--creme); font-size: 14px; font-weight: 600; }
.barra__info span + span { color: var(--ouro-claro); }

/* hero */
.hero { position: relative; background: radial-gradient(120% 90% at 78% 30%, #6B4630 0%, var(--cafe-2) 42%, var(--cafe) 75%); color: var(--creme); overflow: hidden; }
.hero__luz { position: absolute; inset: -20% -10% auto 40%; height: 120%; background: linear-gradient(115deg, transparent 35%, rgba(255, 222, 170, .14) 48%, transparent 62%); filter: blur(10px); animation: luz 9s ease-in-out infinite alternate; pointer-events: none; }
@keyframes luz { from { transform: translateX(-4%); opacity: .7; } to { transform: translateX(4%); opacity: 1; } }
.hero__in { position: relative; max-width: calc(var(--max) + 2 * var(--gut)); margin: 0 auto; padding: 0 var(--gut); display: grid; grid-template-columns: minmax(0, 6.2fr) minmax(0, 5.8fr); gap: 24px; align-items: end; min-height: min(100svh, 900px); }
.hero__texto { padding: 110px 0 90px; position: relative; z-index: 2; }
.hero__pre { font-weight: 700; font-size: 15px; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro-claro); margin-bottom: 20px; display: flex; align-items: center; gap: 14px; }
.hero__pre::before { content: ""; width: 36px; height: 1px; background: var(--ouro); }
.hero__titulo { font-size: clamp(54px, 7.4vw, 104px); font-weight: 600; line-height: .95; color: var(--marfim); }
.hero__titulo em { display: block; font-style: normal; font-weight: 600; background: linear-gradient(100deg, #F1DDB0 0%, var(--ouro) 40%, #B88B52 75%, #E9D2A2 100%); -webkit-background-clip: text; background-clip: text; color: transparent; white-space: nowrap; }
.hero__lead { font-size: 19px; max-width: 30em; color: #E6D8C6; margin: 26px 0 30px; }
.fatos { list-style: none; margin: 0 0 34px; padding: 18px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 250px)); gap: 18px 30px; justify-content: start; border-top: 1px solid rgba(201,162,103,.22); border-bottom: 1px solid rgba(201,162,103,.22); max-width: 560px; }
.fatos li { display: flex; align-items: center; gap: 10px; }
.fatos svg { width: 30px; height: 30px; flex: none; fill: none; stroke: var(--ouro); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.fatos span { display: grid; font-size: 13px; color: #CDB9A3; line-height: 1.3; }
.fatos b { font-size: 15.5px; color: var(--marfim); font-weight: 700; }
.hero__acoes { display: flex; flex-wrap: wrap; gap: 14px; }
.contagem { display: flex; align-items: center; gap: 14px; margin-top: 30px; color: #CDB9A3; font-size: 14px; }
.contagem__num { display: grid; justify-items: center; min-width: 54px; padding: 6px 8px; border-radius: 10px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(201, 162, 103, .25); }
.contagem__num b { font: 600 24px/1.1 var(--serif); color: var(--marfim); font-variant-numeric: tabular-nums; }
.contagem__num i { font-style: normal; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.contagem.fim .contagem__num { display: none; }
.hero__cena { position: relative; align-self: end; height: 100%; min-height: 640px; }
.hero__arco { position: absolute; left: 8%; right: -6%; top: 9%; bottom: 0; border: 1px solid rgba(201, 162, 103, .45); border-bottom: 0; border-radius: 999px 999px 0 0; }
.hero__arco::before { content: ""; position: absolute; inset: 22px 22px 0; border-radius: 999px 999px 0 0; background: radial-gradient(70% 55% at 50% 30%, rgba(255, 226, 180, .22), transparent 70%); }
.hero__janela { position: absolute; left: calc(8% + 18px); right: calc(-6% + 18px); top: calc(9% + 18px); bottom: 0; border-radius: 999px 999px 0 0; overflow: hidden; animation: entra 1.1s .1s cubic-bezier(.2, .8, .2, 1) both; --tx: 0; box-shadow: 0 30px 60px rgba(0, 0, 0, .35); }
.hero__janela::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(43,26,18,0) 55%, rgba(43,26,18,.55) 100%), radial-gradient(120% 80% at 50% 30%, transparent 55%, rgba(43,26,18,.35) 100%); pointer-events: none; }
.hero__foto { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; filter: sepia(.12) saturate(1.04); }
.hero__ampolas { position: absolute; left: -12%; bottom: -2%; width: 46%; max-width: 300px; animation: entra 1.1s .45s cubic-bezier(.2, .8, .2, 1) both, flutua 7s 1.6s ease-in-out infinite alternate; filter: drop-shadow(0 20px 26px rgba(0, 0, 0, .4)); }
@keyframes entra { from { opacity: 0; transform: translate(var(--tx, -46%), 40px); } to { opacity: 1; } }
.hero__ampolas { --tx: 0; }
@keyframes flutua { from { transform: translateY(0); } to { transform: translateY(-10px); } }

/* frase */
.frase { background: var(--marfim); padding: 120px 0; }
.frase__in { max-width: 920px; margin: 0 auto; padding: 0 var(--gut); text-align: center; }
.frase h2 { font-size: clamp(34px, 4.6vw, 62px); line-height: 1.1; }
.frase h2::after { content: ""; display: block; width: 80px; height: 1px; background: var(--ouro); margin: 34px auto 30px; }
.frase p { font-size: 19px; color: var(--tinta-2); max-width: 40em; margin: 0 auto; }

/* chave */
.chave { background: var(--creme); padding: 120px 0; }
.chave__in, .quem__in, .faq__in { max-width: calc(var(--max) + 2 * var(--gut)); margin: 0 auto; padding: 0 var(--gut); }
.cab { max-width: 760px; margin-bottom: 48px; }
.cab p { color: var(--tinta-2); font-size: 18px; margin-top: 18px; }
.chave__painel { background: var(--marfim); border-radius: 26px; padding: 34px 40px 38px; box-shadow: 0 30px 60px -30px rgba(43, 26, 18, .35), inset 0 0 0 1px rgba(169, 123, 80, .2); }
.chave__controle { display: flex; align-items: center; justify-content: center; gap: 18px; margin-bottom: 30px; font-weight: 700; font-size: 16px; }
.chave__lado { transition: color .3s, opacity .3s; }
.chave__lado--a { color: var(--tinta); }
.chave__lado--b { color: var(--tinta-2); opacity: .55; }
[data-modo="razao"] .chave__lado--a { color: var(--tinta-2); opacity: .55; }
[data-modo="razao"] .chave__lado--b { color: var(--caramelo); opacity: 1; }
.chave__botao { width: 74px; height: 40px; border-radius: 999px; border: 0; background: #D9CBB8; position: relative; transition: background .35s; padding: 0; }
.chave__botao span { position: absolute; top: 4px; left: 4px; width: 32px; height: 32px; border-radius: 50%; background: #fff; box-shadow: 0 3px 8px rgba(0,0,0,.2); transition: transform .4s cubic-bezier(.3, 1.4, .5, 1); }
[data-modo="razao"] .chave__botao { background: linear-gradient(135deg, #E9D2A2, var(--ouro)); }
[data-modo="razao"] .chave__botao span { transform: translateX(34px); }
.chave__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.chave__lista li { position: relative; min-height: 104px; border-radius: 16px; padding: 22px 24px 22px 62px; background: #F3EEE6; overflow: hidden; transition: background .4s; }
.chave__lista li::before { content: ""; position: absolute; left: 22px; top: 24px; width: 24px; height: 24px; border-radius: 50%; background: #CFC2B2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 8l8 8M16 8l-8 8' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center/16px no-repeat; transition: background .4s; }
[data-modo="razao"] .chave__lista li { background: #F7EBD7; }
[data-modo="razao"] .chave__lista li::before { background: var(--ouro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 12.5l3.5 3.5 7.5-8' fill='none' stroke='%232B1A12' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat; }
.chave__lista span { display: block; font-size: 17px; line-height: 1.45; transition: opacity .35s, transform .45s cubic-bezier(.2, .8, .2, 1); }
.cl-a { color: var(--tinta-2); text-decoration: line-through; text-decoration-color: rgba(106, 84, 70, .35); }
.cl-b { position: absolute; inset: 22px 24px 22px 62px; opacity: 0; transform: translateY(14px); color: var(--tinta); font-weight: 600; }
[data-modo="razao"] .cl-a { opacity: 0; transform: translateY(-14px); }
[data-modo="razao"] .cl-b { opacity: 1; transform: none; }
.chave__lista li:nth-child(2) span { transition-delay: .06s; } .chave__lista li:nth-child(3) span { transition-delay: .12s; } .chave__lista li:nth-child(4) span { transition-delay: .18s; }

/* ficha de conduta */
.ficha { position: relative; background: var(--cafe); color: var(--creme); padding: 120px 0; overflow: hidden; }
.ficha__fundo { position: absolute; inset: 0; }
.ficha__fundo img { width: 100%; height: 100%; object-fit: cover; object-position: right center; opacity: .85; }
.ficha__fundo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(43,26,18,.96) 0%, rgba(43,26,18,.82) 45%, rgba(43,26,18,.35) 100%); }
.ficha__in { position: relative; max-width: calc(var(--max) + 2 * var(--gut)); margin: 0 auto; padding: 0 var(--gut); display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); gap: 60px; align-items: start; }
.ficha__cab { position: sticky; top: 120px; }
.ficha__cab h2 { color: var(--marfim); }
.ficha__cab p { color: #DCCAB4; font-size: 18px; margin-top: 18px; }
.prontuario { background: #FBF6EC; color: var(--tinta); border-radius: 6px 6px 18px 18px; padding: 0 0 26px; box-shadow: 0 40px 80px rgba(0, 0, 0, .45); position: relative; }
.prontuario::before { content: ""; position: absolute; top: -14px; left: 50%; width: 120px; height: 28px; transform: translateX(-50%); border-radius: 8px; background: linear-gradient(180deg, #E0C48E, #A9814B); box-shadow: 0 4px 10px rgba(0,0,0,.3); }
.prontuario__topo { display: flex; justify-content: space-between; padding: 30px 34px 16px; border-bottom: 1px solid #E6D8C2; font: 600 italic 20px/1 var(--serif); color: var(--marrom); }
.prontuario__topo span + span { font: 700 13px/1.6 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--caramelo); font-style: normal; }
.prontuario__lista { list-style: none; margin: 0; padding: 8px 34px 0; }
.prontuario__lista li { display: grid; grid-template-columns: 34px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px dashed #E6D8C2; }
.prontuario__lista li:last-child { border-bottom: 0; }
.prontuario__lista h3 { font-size: 21px; font-weight: 600; margin-bottom: 4px; }
.prontuario__lista p { margin: 0; color: var(--tinta-2); font-size: 15.5px; line-height: 1.5; }
.prontuario__lista li.destaque { background: linear-gradient(90deg, #F7E8CC, transparent); margin: 0 -34px; padding-left: 34px; padding-right: 34px; }
.visto { width: 30px; height: 30px; margin-top: 2px; }
.visto rect { fill: none; stroke: #CDB8996; stroke: #CDB899; stroke-width: 1.6; }
.visto path { fill: none; stroke: var(--caramelo); stroke-width: 2.8; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 26; stroke-dashoffset: 26; transition: stroke-dashoffset .6s cubic-bezier(.6, 0, .2, 1) .15s; }
.prontuario__lista li.marcado .visto path { stroke-dashoffset: 0; }
.prontuario__rodape { margin: 22px 34px 0; font: 600 italic 19px/1.3 var(--serif); color: var(--marrom); text-align: right; }

/* para quem */
.quem { background: var(--marfim); padding: 120px 0 100px; }
.quem__lista { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.quem__lista li { background: #fff; border-radius: var(--raio); padding: 30px 28px; box-shadow: inset 0 0 0 1px rgba(169, 123, 80, .2); }
.quem__ic { width: 44px; height: 44px; padding: 10px; border-radius: 50%; background: var(--creme); fill: none; stroke: var(--caramelo); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 18px; }
.quem__lista p { margin: 0; font-size: 17.5px; color: var(--tinta-2); }
.quem__lista strong { color: var(--tinta); }

/* mentora */
.mentora { background: var(--creme); padding: 120px 0; overflow: hidden; }
.mentora__in { max-width: calc(var(--max) + 2 * var(--gut)); margin: 0 auto; padding: 0 var(--gut); display: grid; grid-template-columns: minmax(0, 5.6fr) minmax(0, 6.4fr); gap: 70px; align-items: center; }
.mentora__fotos { position: relative; padding-bottom: 90px; }
.mentora__fotos figure { margin: 0; position: relative; }
.mentora__fotos img { width: 100%; object-fit: cover; }
.mentora__fotos figcaption { position: absolute; left: 14px; bottom: 14px; background: rgba(43, 26, 18, .82); color: var(--creme); font-size: 13px; font-weight: 700; padding: 6px 12px; border-radius: 99px; }
.mentora__militar { width: 82%; border-radius: 200px 200px 18px 18px; overflow: hidden; box-shadow: 0 30px 60px -20px rgba(43, 26, 18, .45); }
.mentora__militar img { aspect-ratio: 4 / 5; object-position: 28% center; }
.mentora__clinica { position: absolute !important; right: 0; bottom: 0; width: 58%; border-radius: 16px; overflow: hidden; border: 8px solid var(--creme); box-shadow: 0 24px 40px -14px rgba(43, 26, 18, .45); }
.mentora__clinica img { aspect-ratio: 3 / 2; }
.mentora__texto h2 { font-size: 22px; font-family: var(--sans); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--caramelo); }
.mentora__assinatura { width: min(380px, 80%); margin: 14px 0 22px -6px; filter: brightness(.82) saturate(1.1); }
.mentora__lead { font-size: 19px; color: var(--tinta-2); }
.mentora__voz { margin: 26px 0; padding: 0 0 0 22px; border-left: 2px solid var(--ouro); font: 500 italic clamp(21px, 2vw, 26px)/1.4 var(--serif); color: var(--tinta); }
.trajeto { list-style: none; padding: 0; margin: 0 0 24px; display: flex; flex-wrap: wrap; gap: 8px; }
.trajeto li { background: var(--marfim); border-radius: 99px; padding: 8px 16px; font-size: 14.5px; font-weight: 700; box-shadow: inset 0 0 0 1px rgba(169, 123, 80, .3); }
.mentora__fecho { font-size: 16px; color: var(--tinta-2); font-style: italic; margin: 0; }

/* oferta */
.oferta { background: var(--marfim); padding: 120px 0; }
.oferta__in { max-width: calc(var(--max) + 2 * var(--gut)); margin: 0 auto; padding: 0 var(--gut); display: grid; grid-template-columns: minmax(0, 6.4fr) minmax(0, 5.6fr); gap: 56px; align-items: center; }
.oferta__cert { margin: 0; border-radius: 20px; overflow: hidden; box-shadow: 0 40px 70px -30px rgba(43, 26, 18, .5); transform: rotate(-1.5deg); }
.oferta__card { background: var(--cafe); color: var(--creme); border-radius: 26px; padding: 40px; box-shadow: 0 40px 70px -30px rgba(43, 26, 18, .6), inset 0 0 0 1px rgba(201, 162, 103, .3); }
.oferta__card h2 { font-size: clamp(30px, 3vw, 40px); color: var(--marfim); margin-bottom: 22px; }
.incluso { list-style: none; padding: 0; margin: 0 0 28px; display: grid; gap: 14px; }
.incluso li { position: relative; padding-left: 34px; display: grid; }
.incluso li::before { content: ""; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--ouro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 12.5l3.5 3.5 7.5-8' fill='none' stroke='%232B1A12' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }
.incluso b { font-size: 17px; color: var(--marfim); }
.incluso span { font-size: 14.5px; color: #CDB9A3; }
.preco { display: grid; padding: 22px 0 24px; border-top: 1px solid rgba(201, 162, 103, .3); margin-bottom: 18px; }
.preco__rot { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro-claro); font-weight: 700; }
.preco__valor { font: 600 72px/1 var(--serif); color: var(--marfim); margin: 8px 0 6px; }
.preco__valor small { font-size: .38em; font-weight: 500; color: var(--ouro-claro); }
.preco__valor small:first-child { margin-right: 6px; vertical-align: .9em; }
.preco__nota { font-size: 14.5px; color: #CDB9A3; }
.oferta__aviso { margin: 14px 0 0; text-align: center; font-size: 13.5px; color: #B7A08A; }
.oferta__quando { margin: 22px 0 0; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 14px; font-weight: 700; color: var(--ouro-claro); }

/* faq */
.faq { background: var(--creme); padding: 110px 0; }
.faq__in { max-width: 860px; }
.faq h2 { margin-bottom: 36px; }
.faq details { border-bottom: 1px solid rgba(169, 123, 80, .3); }
.faq summary { list-style: none; cursor: pointer; padding: 22px 44px 22px 0; position: relative; font: 600 20px/1.3 var(--serif); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 14px; height: 14px; border-right: 2px solid var(--caramelo); border-bottom: 2px solid var(--caramelo); transform: translateY(-70%) rotate(45deg); transition: transform .3s; }
.faq details[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.faq details p { margin: 0 0 24px; color: var(--tinta-2); font-size: 16.5px; max-width: 46em; }

/* fecho */
.fecho { background: radial-gradient(80% 120% at 50% 0%, #5A3A26 0%, var(--cafe) 70%); color: var(--creme); padding: 120px 0; text-align: center; }
.fecho__in { max-width: 900px; margin: 0 auto; padding: 0 var(--gut); }
.fecho h2 { font-size: clamp(38px, 5.4vw, 72px); color: var(--marfim); }
.fecho h2 em { color: var(--ouro); white-space: nowrap; }
.fecho p { margin: 22px 0 34px; color: #DCCAB4; font-size: 17px; }

/* rodapé */
.rodape { background: var(--cafe); color: #B7A08A; padding: 40px 0 44px; font-size: 14px; text-align: center; border-top: 1px solid rgba(201, 162, 103, .18); }
.rodape__in { max-width: var(--max); margin: 0 auto; padding: 0 var(--gut); }
.rodape img { width: 170px; margin: 0 auto 12px; }
.rodape p { margin: 0 0 6px; }
.rodape a { color: var(--ouro-claro); }

/* barra inferior (celular) */
.fixo { display: none; }

/* revelar */
.rv { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s cubic-bezier(.2, .8, .2, 1); }
.rv.on { opacity: 1; transform: none; }
.oferta__cert.rv.on { transform: rotate(-1.5deg); }

/* ---------- tablet ---------- */
@media (max-width: 1080px) {
  .fatos { grid-template-columns: repeat(2, auto); }
  .hero__titulo em { white-space: normal; }
  .chave__lista { grid-template-columns: 1fr; }
  .ficha__in, .mentora__in, .oferta__in { grid-template-columns: 1fr; }
  .ficha__cab { position: static; }
  .mentora__fotos { max-width: 620px; }
  .oferta__cert { max-width: 620px; }
  .quem__lista { grid-template-columns: 1fr; }
}

/* ---------- celular ---------- */
@media (max-width: 760px) {
  body { font-size: 16px; }
  .barra__info { display: none; }
  .barra__in { justify-content: space-between; }
  .barra__marca img { width: 112px; }
  .barra .botao { display: none; }

  .hero__in { grid-template-columns: 1fr; min-height: 0; gap: 0; }
  .hero__texto { padding: 46px 0 0; order: 2; }
  .hero__cena { order: 1; min-height: 0; height: 430px; margin: 0 -16px; }
  .hero__arco { left: 14%; right: 14%; top: 26px; }
  .hero__janela { left: calc(14% + 12px); right: calc(14% + 12px); top: 38px; }
  .hero__ampolas { left: 2%; width: 38%; bottom: -4%; }
  .hero__pre { font-size: 12.5px; letter-spacing: .12em; margin-bottom: 14px; }
  .hero__pre::before { width: 22px; }
  .hero__titulo { font-size: 50px; }
  .hero__lead { font-size: 17px; margin: 18px 0 24px; }
  .fatos { grid-template-columns: 1fr 1fr; gap: 16px 14px; margin-bottom: 26px; }
  .fatos svg { width: 26px; height: 26px; }
  .fatos b { font-size: 14.5px; }
  .hero__acoes .botao { flex: 1 1 100%; }
  .contagem { flex-wrap: wrap; gap: 10px; margin: 24px 0 0; padding-bottom: 50px; }
  .contagem__rot { flex: 1 1 100%; }

  .frase, .chave, .ficha, .quem, .mentora, .oferta, .faq, .fecho { padding: 80px 0; }
  .frase h2 { font-size: 33px; }
  .frase p, .cab p { font-size: 16.5px; }
  .cab { margin-bottom: 30px; }
  h2 { font-size: 32px; }

  .chave__painel { padding: 24px 16px 18px; border-radius: 20px; margin: 0 -4px; }
  .chave__controle { gap: 10px; font-size: 14px; }
  .chave__botao { width: 64px; height: 36px; flex: none; }
  .chave__botao span { width: 28px; height: 28px; }
  [data-modo="razao"] .chave__botao span { transform: translateX(28px); }
  .chave__lista li { min-height: 96px; padding: 18px 16px 18px 52px; }
  .chave__lista li::before { left: 16px; top: 20px; }
  .cl-b { inset: 18px 16px 18px 52px; }
  .chave__lista span { font-size: 15.5px; }

  .ficha__fundo img { object-position: 75% center; opacity: .5; }
  .ficha__in { gap: 34px; }
  .prontuario { margin: 0 -4px; }
  .prontuario__topo { padding: 26px 20px 14px; font-size: 18px; }
  .prontuario__lista { padding: 4px 20px 0; }
  .prontuario__lista li { grid-template-columns: 28px 1fr; gap: 12px; padding: 14px 0; }
  .prontuario__lista li.destaque { margin: 0 -20px; padding-left: 20px; padding-right: 20px; }
  .prontuario__lista h3 { font-size: 19px; }
  .prontuario__lista p { font-size: 14.5px; }
  .visto { width: 26px; height: 26px; }
  .prontuario__rodape { margin: 18px 20px 0; font-size: 17px; }

  .quem__lista li { padding: 22px 20px; display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; }
  .quem__ic { margin: 0; }
  .quem__lista p { font-size: 16px; }

  .mentora__in { gap: 40px; }
  .mentora__fotos { padding-bottom: 70px; }
  .mentora__militar { width: 84%; }
  .mentora__clinica { width: 62%; border-width: 6px; }
  .mentora__lead { font-size: 17px; }
  .trajeto li { font-size: 13.5px; padding: 7px 13px; }

  .oferta__in { gap: 36px; }
  .oferta__card { padding: 28px 22px; margin: 0 -4px; }
  .preco__valor { font-size: 62px; }

  .faq summary { font-size: 18px; padding: 18px 40px 18px 0; }
  .fecho h2 { font-size: 40px; }
  .fecho .botao { width: 100%; }

  .rodape { padding-bottom: 110px; }
  .fixo { position: fixed; left: 10px; right: 10px; bottom: 10px; z-index: 60; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 10px 10px 18px; border-radius: 999px; background: rgba(43, 26, 18, .95); backdrop-filter: blur(10px); box-shadow: 0 14px 34px rgba(0, 0, 0, .35), inset 0 0 0 1px rgba(201, 162, 103, .3); transform: translateY(140%); transition: transform .35s ease; }
  .fixo.on { transform: none; }
  .fixo__info { display: grid; line-height: 1.2; }
  .fixo__info b { font: 600 20px/1.1 var(--serif); color: var(--marfim); }
  .fixo__info i { font-style: normal; font-size: 12px; color: var(--ouro-claro); font-weight: 700; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .rv { opacity: 1; transform: none; }
  .visto path { stroke-dashoffset: 0; }
  .mesa .lugar rect { fill: var(--ouro); }
}

/* ===== Refinamentos ===== */
/* grão sutil nas áreas escuras */
.hero::after, .ficha::after, .fecho::after, .oferta__card::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .07; mix-blend-mode: overlay; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.fecho, .oferta__card { position: relative; }
.oferta__card > * { position: relative; z-index: 1; }

.hero__selo { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 22px; padding: 7px 16px 7px 12px; border-radius: 99px; font-size: 13.5px; font-weight: 700; letter-spacing: .04em; color: var(--marfim); background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(201, 162, 103, .45); }
.pulso { width: 8px; height: 8px; border-radius: 50%; background: #E9C47F; box-shadow: 0 0 0 0 rgba(233, 196, 127, .7); animation: pulso 2.2s ease-out infinite; }
@keyframes pulso { to { box-shadow: 0 0 0 10px rgba(233, 196, 127, 0); } }
.seta-i { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s; position: relative; z-index: 1; }
.botao:hover .seta-i { transform: translateX(4px); }
.play-i { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.play-i path { fill: currentColor; stroke: none; }
.botao--linha small { font-size: 12px; font-weight: 600; opacity: .7; }
.hero__ampolas { transition: translate .4s ease-out; }

/* convite em vídeo */
.convite { background: var(--marfim); padding: 120px 0; }
.convite__in { max-width: calc(var(--max) + 2 * var(--gut)); margin: 0 auto; padding: 0 var(--gut); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4.4fr); gap: 80px; align-items: center; }
.convite h2 { font-size: clamp(36px, 4.4vw, 60px); line-height: 1.08; }
.convite h2::after { content: ""; display: block; width: 80px; height: 1px; background: var(--ouro); margin: 30px 0 26px; }
.convite__texto p { font-size: 19px; color: var(--tinta-2); max-width: 34em; }
.convite__texto .convite__assina { font: 500 italic 22px/1.4 var(--serif); color: var(--marrom); margin-top: 26px; }
.video { margin: 0; justify-self: center; width: min(100%, 380px); }
.video__moldura { position: relative; aspect-ratio: 9 / 16; border-radius: 120px 120px 22px 22px; overflow: hidden; background: var(--cafe); box-shadow: 0 0 0 1px rgba(201, 162, 103, .5), 0 0 0 10px var(--marfim), 0 0 0 11px rgba(201, 162, 103, .35), 0 40px 70px -24px rgba(43, 26, 18, .55); }
.video video { width: 100%; height: 100%; object-fit: cover; display: block; }
.video__play { position: absolute; inset: 0; border: 0; padding: 0 0 7% 7%; background: radial-gradient(70% 34% at 0% 100%, rgba(251,247,240,.85), rgba(251,247,240,0) 100%); display: flex; flex-direction: row; align-items: flex-end; justify-content: flex-start; gap: 12px; color: var(--cafe); text-align: left; transition: opacity .3s; }
.video__disco { width: 62px; height: 62px; flex: none; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, #E9D2A2, var(--ouro) 50%, #A9814B); color: var(--cafe); box-shadow: 0 10px 30px rgba(0,0,0,.35); position: relative; }
.video__disco::before { content: ""; position: absolute; inset: -8px; border-radius: 50%; border: 1px solid rgba(233, 210, 162, .7); animation: anel 2.4s ease-out infinite; }
@keyframes anel { from { transform: scale(.9); opacity: 1; } to { transform: scale(1.35); opacity: 0; } }
.video__disco .play-i { width: 34px; height: 34px; stroke: none; }
.video__disco .play-i circle { display: none; }
.video__rot { font-weight: 800; font-size: 15px; display: grid; justify-items: start; line-height: 1.25; padding-bottom: 8px; }
.video__rot small { font-weight: 700; font-size: 12px; color: var(--caramelo); letter-spacing: .04em; }
.video.tocando .video__play { opacity: 0; pointer-events: none; }
.video figcaption { text-align: center; margin-top: 22px; font: 600 italic 17px/1 var(--serif); color: var(--marrom); }

/* mesa de 8 */
.mesa { background: var(--creme); padding: 120px 0; overflow: hidden; }
.mesa__in { max-width: calc(var(--max) + 2 * var(--gut)); margin: 0 auto; padding: 0 var(--gut); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 70px; align-items: center; }
.mesa__arte { position: relative; width: min(100%, 460px); justify-self: center; }
.mesa__arte svg { width: 100%; display: block; overflow: visible; }
.mesa__aura { fill: none; stroke: rgba(169, 123, 80, .3); stroke-dasharray: 2 7; }
.lugar rect { fill: #E6D8C4; stroke: rgba(169, 123, 80, .35); stroke-width: 1; transition: fill .5s ease; }
.mesa.on .lugar rect { fill: var(--ouro); transition-delay: calc(var(--i) * .14s); }
.mesa__tampo { filter: drop-shadow(0 18px 24px rgba(43, 26, 18, .25)); }
.mesa__veio { fill: none; stroke: rgba(169, 123, 80, .35); stroke-width: 1.2; }
.mesa__borda { fill: none; stroke: rgba(201, 162, 103, .8); stroke-width: 1.5; }
.mesa__conta { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; margin: 0; pointer-events: none; }
.mesa__conta b { font: 600 92px/1 var(--serif); color: var(--cafe); }
.mesa__conta span { font-size: 13px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--caramelo); margin-top: 4px; }
.mesa h2 em { white-space: nowrap; }
.mesa__lead { font-size: 19px; color: var(--tinta-2); margin: 20px 0 34px; max-width: 34em; }
.duas { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.duas > div { background: var(--marfim); border-radius: var(--raio); padding: 26px 26px 10px; box-shadow: inset 0 0 0 1px rgba(169, 123, 80, .22); }
.duas h3 { font-size: 22px; margin-bottom: 14px; }
.lista-ouro { list-style: none; padding: 0; margin: 0; }
.lista-ouro li { position: relative; padding: 0 0 16px 28px; font-size: 15.5px; color: var(--tinta-2); line-height: 1.5; }
.lista-ouro li::before { content: ""; position: absolute; left: 2px; top: 7px; width: 9px; height: 9px; background: var(--ouro); transform: rotate(45deg); border-radius: 1px; }

/* coluna esquerda da ficha */
.ficha__extra { display: flex; align-items: center; gap: 18px; margin: 34px 0 26px; padding: 18px 20px 18px 8px; border-radius: 18px; background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px rgba(201, 162, 103, .25); }
.ficha__extra img { width: 120px; flex: none; filter: drop-shadow(0 12px 16px rgba(0, 0, 0, .4)); }
.ficha__extra blockquote { margin: 0; font: 500 italic 21px/1.35 var(--serif); color: var(--marfim); }
.ficha__extra cite { display: block; margin-top: 10px; font: 700 12.5px/1 var(--sans); font-style: normal; letter-spacing: .12em; text-transform: uppercase; color: var(--ouro-claro); }
.ficha__resumo { list-style: none; padding: 0; margin: 0 0 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ficha__resumo li { display: grid; gap: 2px; padding: 16px 18px; border-radius: 14px; border: 1px solid rgba(201, 162, 103, .25); }
.ficha__resumo b { font: 600 38px/1 var(--serif); color: var(--ouro); }
.ficha__resumo span { font-size: 13.5px; color: #CDB9A3; line-height: 1.35; }
@media (max-width: 1080px) { .ficha__extra, .ficha__resumo, .ficha__cab > .botao { display: none; } }

/* trajetória em linha do tempo */
.trajeto { display: grid; gap: 0; flex-wrap: nowrap; margin: 6px 0 26px; padding-left: 6px; }
.trajeto li { background: none; box-shadow: none; border-radius: 0; padding: 0 0 14px 26px; position: relative; font-size: 15.5px; font-weight: 600; color: var(--tinta); }
.trajeto li::before { content: ""; position: absolute; left: 0; top: 7px; width: 9px; height: 9px; border-radius: 50%; background: var(--creme); box-shadow: 0 0 0 1.5px var(--ouro); }
.trajeto li::after { content: ""; position: absolute; left: 4px; top: 18px; bottom: 0; width: 1px; background: rgba(201, 162, 103, .5); }
.trajeto li:last-child { padding-bottom: 0; color: var(--caramelo); }
.trajeto li:last-child::before { background: var(--ouro); }
.trajeto li:last-child::after { display: none; }

/* passos na oferta */
.passos { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 10px; }
.passos li { display: flex; align-items: center; gap: 12px; font-size: 14px; color: #D9C7B1; }
.passos svg { width: 30px; height: 30px; padding: 6px; flex: none; border-radius: 50%; background: rgba(201, 162, 103, .14); fill: none; stroke: var(--ouro-claro); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* ornamento */
.ornato { width: 120px; height: 24px; margin: 0 auto 26px; display: block; fill: none; stroke: var(--ouro); stroke-width: 1; }
.ornato path:last-child { fill: var(--ouro); stroke: none; }

@media (max-width: 1080px) {
  .convite__in, .mesa__in { grid-template-columns: 1fr; gap: 50px; }
  .mesa__arte { width: min(100%, 360px); }
}
@media (max-width: 760px) {
  .hero__selo { font-size: 12.5px; margin-bottom: 16px; }
  .botao--linha .play-i { width: 20px; height: 20px; }
  .convite, .mesa { padding: 80px 0; }
  .convite h2 { font-size: 33px; }
  .convite h2::after { margin: 24px 0 20px; }
  .convite__texto p { font-size: 16.5px; }
  .convite__texto .convite__assina { font-size: 19px; }
  .video { width: min(86%, 320px); }
  .mesa__arte { width: min(78%, 300px); }
  .mesa__conta b { font-size: 64px; }
  .mesa__lead { font-size: 16.5px; }
  .duas { grid-template-columns: 1fr; gap: 14px; }
  .duas > div { padding: 22px 20px 6px; }
}
