/* Chama Cigana: vermelho de rosas e velas, preto e dourado, a partir do Instagram.
   A referência aprovada é Thaila: fotos em arco, tipografia legível e consultas em cards.
   Fotografias reais e o jogo de avaliação em destaque conduzem esta nova composição. */
:root {
  --fundo:#10080d; --fundo-2:#190c13; --fundo-3:#25101c; --vinho:#381020;
  --rubi:#d32346; --rubi-claro:#f54865; --ouro:#edc477; --ouro-claro:#ffe1a5;
  --texto:#fff6eb; --suave:#ddc5cc; --linha:rgba(237,196,119,.2);
  --display:"Quicksand",system-ui,sans-serif; --corpo:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --largura:1280px; --gutter:clamp(20px,4.5vw,64px); --secao:clamp(64px,7.5vw,104px); --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; -webkit-text-size-adjust:100%; overflow-x:clip; }
body { margin:0; background:var(--fundo); color:var(--texto); font:400 17px/1.7 var(--corpo); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img,svg,video { display:block; max-width:100%; } img,video { height:auto; }
button,select { font:inherit; color:inherit; } button { cursor:pointer; }
p,figure,blockquote { margin:0; } p+p { margin-top:1em; }
ul,ol { list-style:none; padding:0; margin:0; }
h1,h2,h3 { margin:0; font-family:var(--display); font-weight:700; line-height:1.14; letter-spacing:-.025em; }
h2 { font-size:clamp(32px,4.1vw,52px); } h3 { font-size:25px; }
em { font-style:normal; color:var(--ouro); }
[hidden] { display:none !important; }
:focus-visible { outline:3px solid var(--ouro-claro); outline-offset:5px; border-radius:6px; }
::selection { background:var(--ouro); color:var(--fundo); }
.container { max-width:var(--largura); padding:0 var(--gutter); margin:0 auto; }
.secao { padding:var(--secao) 0; position:relative; }
.sprite { position:absolute; } .ico { width:22px; height:22px; flex:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.pular { position:fixed; top:-80px; left:20px; z-index:100; background:var(--ouro); color:var(--fundo); padding:12px 20px; border-radius:10px; }
.pular:focus { top:12px; }
.rotulo { font-size:12px; font-weight:800; line-height:1.5; letter-spacing:.14em; text-transform:uppercase; color:var(--ouro); margin-bottom:17px; }
.cabeca { max-width:760px; margin:0 auto 40px; text-align:center; }
.cabeca h2 { margin-bottom:20px; } .cabeca p:not(.rotulo) { color:var(--suave); max-width:60ch; margin:0 auto; }

/* Botões arredondados e contornos da referência escolhida pela cliente. */
.btn { display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:54px; border:1px solid transparent; padding:14px 23px; border-radius:999px; font:700 15px/1.4 var(--display); text-align:center; cursor:pointer; transition:transform .25s,border-color .25s,background .25s; }
.btn:hover { transform:translateY(-2px); }
.btn-ouro { background:var(--ouro); color:#24110a; border-color:var(--ouro); box-shadow:0 8px 28px -15px #edc477aa; }
.btn-ouro:hover { background:var(--ouro-claro); border-color:var(--ouro-claro); }
.btn-linha { border-color:#79505e; background:transparent; color:var(--texto); }
.btn-linha:hover { border-color:var(--ouro); background:#edc4770a; }
.btn-pequeno { min-height:45px; padding:10px 20px; font-size:13px; }
.link-papel,.link-claro { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--ouro); border-bottom:1px solid var(--linha); font-size:14px; }

/* Navegação. Sem JS, os links permanecem disponíveis. */
.topo { position:fixed; top:0; left:0; right:0; z-index:40; background:#10080de8; backdrop-filter:blur(14px); }
.topo.rolado,.topo.menu-aberto { background:#10080df5; box-shadow:0 1px 0 var(--linha); }
.topo-linha { display:flex; align-items:center; gap:13px; min-height:84px; }
.marca { display:flex; align-items:center; gap:10px; margin-right:auto; flex:none; }
.marca>.ico { width:28px; height:40px; color:var(--ouro); }
.marca>span { font:700 22px/1.12 var(--display); white-space:nowrap; }
.marca small { display:block; margin-top:5px; font:600 10px/1.3 var(--corpo); letter-spacing:.06em; color:var(--suave); }
.menu { display:flex; align-items:center; gap:4px; }
.menu>a:not(.btn) { display:flex; align-items:center; min-height:44px; padding:8px 11px; color:var(--suave); font-size:13px; font-weight:700; border-radius:24px; }
.menu>a:hover,.menu>a.ativo { color:var(--ouro); background:#edc4770a; }
.menu .btn { margin-left:6px; }
.som-botao,.menu-botao { display:grid; place-items:center; flex:none; width:43px; height:43px; padding:0; background:transparent; border:1px solid var(--linha); border-radius:50%; color:var(--ouro); }
.som-botao[aria-pressed="true"] { background:var(--ouro); color:var(--fundo); }
.menu-botao,.ico-fechar { display:none; }
.menu-botao[aria-expanded="true"] .ico-abrir { display:none; } .menu-botao[aria-expanded="true"] .ico-fechar { display:block; }

/* Abertura: a foto real assume o lugar do antigo leque desenhado. */
.hero { padding:138px 0 64px; position:relative; overflow:clip; background:radial-gradient(ellipse at 85% 36%,#8b173243,transparent 58%),var(--fundo); }
.hero-grade { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:64px; }
.hero-saudacao { display:inline-flex; align-items:center; gap:9px; border:1px solid var(--linha); border-radius:99px; padding:7px 14px; font-size:13px; color:var(--ouro); font-weight:700; margin-bottom:24px; }
.hero-saudacao .ico { height:20px; width:16px; }
.hero h1 { font-size:clamp(48px,5.3vw,70px); line-height:1.08; }
.hero-profissao { margin-top:21px; font-weight:700; font-size:15px; color:var(--ouro); }
.hero-lead { margin-top:17px; color:var(--suave); max-width:48ch; font-size:17px; line-height:1.8; }
.hero-acoes { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.hero-acoes>.btn:first-child { width:100%; max-width:420px; }
.hero-acoes>.btn-linha { min-height:46px; font-size:13px; padding:10px 20px; }
.hero-nota { color:var(--suave); font-size:12px; margin-top:15px; }
.hero-numeros { display:flex; gap:30px; padding-top:24px; margin-top:26px; border-top:1px solid var(--linha); }
.hero-numeros li+li { border-left:1px solid var(--linha); padding-left:30px; }
.hero-numeros strong { display:block; color:var(--ouro); font:700 23px/1.3 var(--display); }
.hero-numeros span { display:block; margin-top:6px; color:var(--suave); font-size:12px; max-width:24ch; }
.hero-foto { position:relative; width:100%; max-width:470px; justify-self:center; padding:13px; }
.foto-aura { position:absolute; inset:-25px -18px; border:1px solid #edc47719; border-radius:48% 48% 8% 8%; transform:rotate(7deg); pointer-events:none; }
.arco-foto { position:relative; border:1px solid #bb875b; padding:9px; border-radius:48% 48% 24px 24px; background:#6b1a2826; }
.arco-foto>.foto-link { border-radius:48% 48% 18px 18px; aspect-ratio:4/5; }
.hero-foto img { object-position:50% 25%; }
.hero-assinatura { position:absolute; right:-16px; bottom:40px; display:flex; align-items:center; gap:14px; padding:17px 23px; background:#230e18ed; border:1px solid #b88351; border-radius:18px; box-shadow:0 10px 35px #0007; font-size:14px; line-height:1.6; }
.hero-assinatura strong { color:var(--ouro); } .assinatura-brilho { font-size:30px; color:var(--ouro); }
.faixa-mistica { display:flex; align-items:center; gap:26px; color:var(--ouro); padding:0 var(--gutter); opacity:.65; }
.faixa-mistica span { height:1px; flex:1; background:linear-gradient(90deg,transparent,#b42a49,#edc47766,transparent); }
.faixa-mistica b { font-size:16px; font-weight:400; }

/* Consultas: composição principal da Thaila, com a avaliação junto e em destaque. */
.atend-grid { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:20px; }
.card { display:flex; flex-direction:column; gap:17px; padding:28px; border:1px solid #69404e; background:linear-gradient(150deg,#2a1220,#180c14); border-radius:24px; min-width:0; transition:transform .3s,border-color .3s; }
.card:hover { border-color:#c89a5c; transform:translateY(-3px); }
.card h3 { font-size:24px; line-height:1.23; letter-spacing:-.015em; }
.card p:not(.preco) { color:var(--suave); font-size:15px; line-height:1.7; }
.card .btn { margin-top:auto; width:100%; font-size:13px; padding:13px 14px; }
.card .preco { margin:0; color:var(--ouro); }
.card-principal { grid-row:span 2; border-color:#b6864e; background:radial-gradient(ellipse at 100% 0%,#a43b2445,transparent 60%),linear-gradient(160deg,#361120,#1b0b14); }
.card-principal h3 { font-size:29px; }
.selo { align-self:flex-start; display:inline-block; border-radius:99px; background:var(--ouro); color:#25100c; padding:6px 13px; font:700 11px/1.5 var(--display); letter-spacing:.04em; }
.card-simbolo { margin:8px 0 0; display:grid; place-items:center; width:62px; height:70px; border:1px solid var(--linha); border-radius:17px; color:var(--ouro); }
.card-simbolo .ico { width:31px; height:42px; }
.card-cabecalho { display:flex; align-items:center; justify-content:space-between; gap:15px; color:var(--ouro); }
.card-cabecalho>.ico { width:28px; height:32px; } .card-cabecalho>span { font-size:11px; text-align:right; }
.preco { display:flex; align-items:baseline; flex-wrap:wrap; gap:9px; font:700 41px/1.2 var(--display); color:var(--ouro); }
.preco small { font:600 12px/1.5 var(--corpo); color:var(--suave); }
.chips { display:flex; flex-wrap:wrap; gap:7px; }
.chips li { border:1px solid #edc47729; background:#edc47709; padding:5px 11px; border-radius:99px; font-size:12px; font-weight:600; color:var(--texto); }
.lista-check { margin:3px 0 8px; }
.lista-check li { display:flex; align-items:flex-start; gap:9px; padding:6px 0; font-size:14px; color:var(--suave); }
.lista-check .ico { width:17px; height:20px; color:var(--ouro); margin-top:2px; }
.card-avaliacao { grid-column:span 2; flex-direction:row; align-items:center; gap:25px; background:radial-gradient(ellipse at 100% 50%,#b8224150,transparent 70%),#2e0d1d; border-color:#d34965; }
.avaliacao-texto { flex:1; min-width:0; } .avaliacao-texto h3 { margin:14px 0; font-size:25px; }
.selo-rubi { background:#eec57b; font-size:10px; }
.avaliacao-texto>.avaliacao-aviso { font-size:12px; line-height:1.65; margin-top:14px; color:#f4d5d9; }
.avaliacao-acao { width:200px; flex:none; } .avaliacao-acao>.preco { display:block; margin-bottom:18px; font-size:44px; }
.avaliacao-acao>.preco>small { display:block; margin-top:7px; }
.atend-outros { margin-top:37px; } .outros-titulo { font-size:19px; margin-bottom:20px; color:var(--suave); }
.outros-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.card-menor { padding:25px; } .card-menor h3 { font-size:21px; } .card-menor .preco { font-size:32px; }
.card-nota { color:var(--ouro); font-size:12px; }
.consulta-nota { color:var(--suave); font-size:12px; text-align:center; margin-top:23px; }

/* Trabalhos e apresentação com fotografias da própria cliente. */
.trabalhos { background:linear-gradient(135deg,#2e0e1e,#170a12 75%); border-block:1px solid var(--linha); }
.trabalhos-grade,.sobre-grade { display:grid; grid-template-columns:.95fr 1.05fr; gap:70px; align-items:center; }
.trabalhos-foto { position:relative; }
.trabalhos-foto>.foto-link { aspect-ratio:4/5; border-radius:26px; border:1px solid #ad7652; }
.trabalhos-foto img { object-position:center; }
.foto-legenda { position:absolute; inset:auto 15px 15px; padding:17px 20px; background:#180c14ec; border:1px solid #b9855470; border-radius:15px; font-size:14px; }
.foto-legenda>span { display:block; font:700 18px var(--display); color:var(--ouro); margin-top:5px; }
.trabalhos-lead { color:var(--suave); margin-top:24px; font-size:16px; }
.finalidades { display:grid; gap:18px; margin-top:27px; }
.finalidades p { padding-left:18px; border-left:2px solid var(--rubi); margin:0; }
.finalidades strong { display:block; font:700 17px/1.4 var(--display); }
.finalidades span { display:block; color:var(--suave); font-size:14px; margin-top:6px; }
.compromisso { display:flex; align-items:flex-start; gap:10px; background:#12091166; border:1px solid #c1656744; padding:17px; border-radius:16px; margin:25px 0; }
.compromisso>.ico { width:18px; color:var(--ouro); margin-top:2px; }
.compromisso p { color:var(--suave); font-size:13px; } .compromisso strong { color:var(--texto); }
.trabalhos .btn { font-size:13px; } .limite { color:var(--suave); font-size:11px; margin-top:15px; }
.sobre-grade { grid-template-columns:.9fr 1.1fr; }
.sobre-foto { width:100%; max-width:430px; justify-self:center; }
.sobre-foto .arco-foto>.foto-link { aspect-ratio:4/5; }
.sobre-foto img { object-position:50% 42%; }
.social-link { display:flex; justify-content:center; align-items:center; gap:10px; min-height:48px; color:var(--ouro); margin-top:17px; font-size:14px; }
.sobre-corpo>p:not(.rotulo) { color:var(--suave); font-size:16px; margin-top:20px; }
.sobre-corpo>.sobre-abertura { color:var(--texto)!important; font-size:19px!important; font-weight:700; line-height:1.6; }
.sobre-corpo blockquote { border-left:2px solid var(--rubi); padding:10px 0 10px 20px; margin-top:25px; font:600 18px/1.6 var(--display); color:var(--ouro); }
.sobre-tradicoes { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.sobre-tradicoes li { color:var(--suave); font-size:12px; padding:6px 13px; border:1px solid var(--linha); border-radius:99px; }

/* Simulador de consultas, sem promessas ou diagnóstico automático. */
.simulador { background:radial-gradient(ellipse at 20% 0%,#66142c55,transparent 65%),#1a0b14; border-block:1px solid var(--linha); }
.sim-grade { display:grid; grid-template-columns:1fr 1fr; gap:75px; align-items:center; }
.sim-lead { color:var(--suave); margin-top:22px; font-size:16px; }
.sim-controles { display:grid; gap:19px; margin-top:26px; }
.sim-controles label { display:block; color:var(--ouro); font-size:14px; font-weight:700; }
.sim-controles select { display:block; width:100%; min-height:53px; margin-top:9px; padding:12px 13px; border:1px solid #7c4e60; background:#190d15; border-radius:13px; color:var(--texto); font-size:14px; }
.sim-rodape { color:var(--suave); font-size:12px; margin-top:17px; }
.sim-resultado { background:linear-gradient(145deg,#381320,#20101a); border:1px solid #c29659; border-radius:26px; padding:34px; }
.sim-resultado h3 { font-size:31px; }
.sim-descricao { color:var(--suave); font-size:15px; margin-top:20px; }
.sim-detalhes { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0; }
.sim-detalhes span { font-size:12px; padding:5px 10px; border:1px solid var(--linha); border-radius:99px; color:var(--ouro); }
.sim-valor { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; border-top:1px solid var(--linha); padding-top:20px; margin:0; color:var(--ouro); }
.sim-valor>span { font-size:17px; } .sim-valor strong { font:700 52px/1.1 var(--display); } .sim-valor small { margin-left:auto; color:var(--suave); font-size:12px; }
.sim-observacao { color:var(--suave); font-size:12px; margin:17px 0 23px; }
.sim-resultado .btn { width:100%; font-size:13px; }
.sim-link { display:block; text-align:center; min-height:44px; padding-top:14px; font-size:13px; color:var(--ouro); text-decoration:underline; text-underline-offset:4px; }

/* Depoimentos com os prints reais e fotografias ampliáveis. */
.feedbacks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.feedback { min-width:0; overflow:hidden; border:1px solid var(--linha); border-radius:22px; background:var(--fundo-3); }
.feedback-imagem { display:block; height:270px; overflow:hidden; position:relative; background:#110c10; }
.feedback-imagem img { width:100%; height:100%; object-fit:cover; object-position:center 42%; }
.feedback:nth-child(5) img { object-position:center 50%; } .feedback:nth-child(6) img { object-position:center 28%; }
.ampliar { position:absolute; bottom:12px; right:12px; display:flex; align-items:center; gap:7px; padding:7px 11px; background:#1c0b17ef; border:1px solid var(--linha); color:var(--ouro); border-radius:99px; font-size:11px; }
.ampliar .ico { width:15px; height:15px; }
.feedback-texto { padding:23px; } .feedback-texto>span { color:var(--ouro); text-transform:uppercase; letter-spacing:.08em; font-size:10px; font-weight:800; }
.feedback blockquote { font:600 17px/1.6 var(--display); margin:13px 0 17px; }
.feedback-texto>p { color:var(--suave); font-size:12px; }
.relatos-nota { margin-top:25px; color:var(--suave); font-size:12px; }
.relatos .link-papel { margin-top:13px; }
.vivencias { background:#1b0b14; border-block:1px solid var(--linha); }
.fotos-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.foto-link { display:block; position:relative; overflow:hidden; background:#230d18; }
.foto-link>img { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.foto-link:hover>img { transform:scale(1.025); }
.foto-ampliar { position:absolute; right:12px; bottom:12px; display:grid; place-items:center; width:35px; height:35px; border:1px solid #edc47766; border-radius:50%; color:var(--ouro); background:#1b0c15de; }
.foto-ampliar>.ico { width:16px; height:16px; }
.foto-item>.foto-link { height:345px; border:1px solid #996b4b77; border-radius:19px; }
.foto-item:first-child img { object-position:42% 30%; }
.galeria-instagram { display:flex; width:fit-content; margin:27px auto 0; }

/* Curso: aulas e programa informados pela cliente, com validade da próxima turma. */
.curso { background:radial-gradient(ellipse at 95% 5%,#78152b44,transparent 60%); }
.curso-grade { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.curso-lead { color:var(--suave); margin-top:24px; font-size:16px; }
.curso-detalhes { display:grid; gap:10px; margin:25px 0 28px; color:var(--suave); font-size:15px; }
.curso-detalhes li::before { content:'✦'; color:var(--ouro); margin-right:12px; font-size:12px; }
.curso .btn { font-size:14px; } .curso-valor { color:var(--suave); font-size:12px; margin-top:14px; }
.curso-programa { padding:29px; background:linear-gradient(145deg,#351120,#1b0c15); border:1px solid #ac7b4c99; border-radius:25px; }
.curso-data { padding:21px; background:#ae254027; border:1px solid #d2466266; border-radius:18px; }
.curso-data>span { display:block; font-size:12px; color:var(--suave); }
.curso-data time { display:block; font:700 29px/1.35 var(--display); color:var(--ouro); margin:9px 0 12px; }
.modulos { display:grid; gap:19px; margin-top:25px; }
.modulos li { display:flex; gap:15px; align-items:flex-start; }
.modulos li>span { display:grid; place-items:center; width:33px; height:33px; flex:none; background:#edc47710; border:1px solid var(--linha); color:var(--ouro); border-radius:50%; font-size:12px; font-weight:800; }
.modulos p { color:var(--suave); font-size:13px; } .modulos strong { display:block; font-size:15px; color:var(--texto); margin-bottom:5px; }

/* Agendamento, nota fiscal, dúvidas e contato. */
.agendamento { background:#190c14; border-block:1px solid var(--linha); }
.passos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.passos li { display:flex; align-items:flex-start; gap:14px; padding:23px; border:1px dashed #edc47740; border-radius:20px; }
.passos li>span { display:grid; place-items:center; width:35px; height:35px; background:var(--rubi); color:white; border-radius:50%; flex:none; font:700 16px var(--display); }
.passos h3 { font-size:18px; margin-bottom:10px; } .passos p { color:var(--suave); font-size:14px; }
.nota-fiscal { display:grid; grid-template-columns:.9fr 1.1fr; gap:35px; align-items:center; border:1px solid var(--linha); border-radius:20px; padding:25px 29px; margin-top:27px; background:#edc47706; }
.nota-fiscal>div { display:flex; align-items:center; gap:12px; color:var(--ouro); } .nota-fiscal h3 { font-size:19px; } .nota-fiscal p { font-size:14px; color:var(--suave); }
.pagamentos { margin-top:28px; text-align:center; }
.pagamentos>p { font-weight:700; font-size:14px; color:var(--ouro); }
.pagamentos ul { display:flex; justify-content:center; flex-wrap:wrap; gap:9px 19px; font-size:14px; margin:15px 0; }
.pagamentos>span { color:var(--suave); font-size:12px; }
.duvidas-grade { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; }
.duvidas-grade>div>p:not(.rotulo) { color:var(--suave); font-size:16px; margin-top:22px; }
.duvidas .link-papel { margin-top:20px; }
.faq details { border-bottom:1px solid var(--linha); }
.faq summary { display:flex; justify-content:space-between; align-items:center; gap:20px; list-style:none; padding:21px 0; cursor:pointer; font-size:16px; font-weight:700; line-height:1.55; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:'+'; color:var(--ouro); font:500 25px var(--display); flex:none; }
.faq details[open]>summary::after { content:'−'; } .faq details>p { color:var(--suave); font-size:15px; padding:0 0 22px; }
.contato { background:radial-gradient(ellipse at 0% 50%,#9e1a3a45,transparent 65%),#220d18; border-top:1px solid var(--linha); }
.contato-grade { display:grid; grid-template-columns:1.2fr .8fr; gap:80px; align-items:center; }
.contato-grade>div>p:not(.rotulo) { color:var(--suave); margin-top:23px; } .contato .btn { margin-top:27px; }
.contato-info { border:1px solid var(--linha); border-radius:23px; padding:29px; background:#12091066; }
.contato-info p { font-size:18px; color:var(--texto)!important; }
.contato-info p>span { display:block; color:var(--ouro); font-size:12px; text-transform:uppercase; font-weight:800; letter-spacing:.08em; margin-bottom:10px; }
.contato-info p>strong { font-size:26px; font-family:var(--display); }
.contato-info>.contato-fuso { color:var(--suave)!important; font-size:13px; }
.rodape { padding:45px 0 30px; border-top:1px solid var(--linha); }
.rodape-topo { display:flex; align-items:center; flex-wrap:wrap; gap:30px; }
.rodape-topo nav { display:flex; gap:22px; } .rodape-topo nav a { display:flex; align-items:center; gap:8px; min-height:44px; color:var(--ouro); font-size:14px; }
.rodape-topo nav .ico { width:16px; }
.som-texto { display:inline-flex; gap:8px; align-items:center; min-height:44px; padding:0; background:transparent; border:0; color:var(--suave); font-size:13px; }
.som-status { font-size:11px; color:var(--suave); margin-top:14px; text-align:right; }
.rodape-base { display:flex; justify-content:space-between; gap:45px; align-items:end; margin-top:30px; padding-top:25px; border-top:1px solid var(--linha); color:var(--suave); font-size:11px; }
.rodape-base>p { max-width:75ch; } .rodape-base>div { flex:none; text-align:right; } .rodape-base a { color:var(--ouro); }
.whats-flutuante { position:fixed; right:25px; bottom:25px; z-index:35; width:57px; height:57px; display:grid; place-items:center; border-radius:50%; background:#bd1b3c; border:1px solid #edc47788; box-shadow:0 8px 25px #0008; opacity:0; visibility:hidden; transform:translateY(12px); transition:opacity .3s,transform .3s,visibility .3s; }
.whats-flutuante>.ico { width:29px; height:29px; } .whats-flutuante.visivel { opacity:1; visibility:visible; transform:none; }

/* Um visualizador nativo para os relatos e as sete fotografias. */
.visualizador { position:fixed; inset:0; display:flex; flex-direction:column; width:min(740px,94vw); max-height:94vh; max-height:94dvh; border:1px solid #b88b58; padding:0; border-radius:15px; color:var(--texto); background:#180b13; overflow:hidden; margin:auto; }
.visualizador:not([open]) { display:none; } .visualizador::backdrop { background:#070308d9; }
.visualizador-barra { display:flex; align-items:center; gap:15px; padding:9px 16px; flex:none; }
.visualizador-barra h2 { font:600 14px/1.5 var(--corpo); letter-spacing:0; }
.fechar-relato { width:44px; height:44px; display:grid; place-items:center; margin-left:auto; border:1px solid var(--linha); border-radius:9px; background:transparent; color:var(--ouro); }
.visualizador-corpo { overflow:auto; min-height:0; overscroll-behavior:contain; background:#080608; }
.visualizador-corpo img { width:100%; height:auto; }
.visualizador-base { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:7px 13px; flex:none; border-top:1px solid var(--linha); }
.visualizador-base button { min-height:44px; padding:8px; background:transparent; color:var(--ouro); border:0; font-size:13px; }
.visualizador-base span { font-size:12px; color:var(--suave); }
.motion [data-reveal] { opacity:0; transform:translateY(15px); transition:opacity .7s var(--ease),transform .7s var(--ease); }
.motion [data-reveal].is-in { opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition-duration:.01ms!important; } .motion [data-reveal] { opacity:1; transform:none; } }

/* Tablet e menu compacto. */
@media(max-width:1080px) {
  .js .menu-botao { display:grid; }
  .js .topo-linha>.marca,.js .topo-linha>.som-botao,.js .topo-linha>.menu-botao { position:relative; z-index:1; }
  .js .menu { position:fixed; inset:0 0 auto; z-index:0; display:flex; flex-direction:column; align-items:stretch; gap:0; min-height:100dvh; padding:100px var(--gutter) 25px; max-height:100dvh; overflow:auto; background:var(--fundo); visibility:hidden; transform:translateY(-105%); transition:transform .3s,visibility .3s; }
  .js .menu.aberto { visibility:visible; transform:none; }
  .js .menu>a:not(.btn) { min-height:51px; border-bottom:1px solid var(--linha); border-radius:0; font-size:16px; padding-left:0; }
  .js .menu .btn { margin:18px 0 0; }
  html:not(.js) .topo { position:static; } html:not(.js) .topo-linha { flex-wrap:wrap; padding-top:15px; padding-bottom:15px; } html:not(.js) .menu { flex:1 0 100%; flex-wrap:wrap; } html:not(.js) .hero { padding-top:35px; }
  .hero-grade { gap:35px; } .hero h1 { font-size:52px; } .hero-foto { max-width:390px; }
  .hero-assinatura { right:0; padding:13px 17px; bottom:30px; }
  .hero-lead { font-size:16px; } .hero-numeros { gap:20px; } .hero-numeros li+li { padding-left:20px; }
  .hero-numeros strong { font-size:19px; }
  .atend-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .card-principal { grid-row:span 2; } .card-avaliacao { grid-column:1/-1; }
  .outros-grid { gap:16px; } .card-menor { padding:23px; } .card-menor .btn { font-size:12px; }
  .trabalhos-grade,.sobre-grade,.sim-grade,.curso-grade,.duvidas-grade,.contato-grade { gap:38px; }
  .fotos-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .foto-item>.foto-link { height:350px; }
  .feedbacks { gap:16px; } .feedback-texto { padding:19px; }
  .passos { gap:15px; } .passos li { padding:18px; gap:10px; }
}

/* Celular: texto, preço e contato antes da fotografia. */
@media(max-width:760px) {
  body { font-size:16px; } .topo-linha { min-height:74px; gap:9px; } .marca>span { font-size:20px; } .marca small { font-size:9px; } .marca>.ico { width:24px; height:36px; }
  .hero { padding:109px 0 49px; } .hero-grade { grid-template-columns:minmax(0,1fr); gap:40px; } .hero h1 { font-size:clamp(42px,10.8vw,66px); }
  .hero-saudacao { font-size:11px; margin-bottom:20px; padding:6px 12px; } .hero-profissao { font-size:13px; margin-top:18px; }
  .hero-lead { font-size:16px; line-height:1.75; margin-top:15px; }
  .hero-acoes { gap:10px; margin-top:23px; } .hero-acoes>.btn { width:100%; max-width:none!important; } .hero-acoes>.btn:first-child { font-size:14px; }
  .hero-note { font-size:11px; } .hero-numeros { margin-top:22px; padding-top:21px; } .hero-numeros strong { font-size:18px; } .hero-numeros span { font-size:11px; }
  .hero-foto { width:100%; max-width:390px; padding:10px; } .foto-aura { inset:-12px 0; } .hero-assinatura { right:0; bottom:28px; font-size:13px; }
  .rotulo { font-size:10px; letter-spacing:.12em; } .cabeca { margin-bottom:29px; } .cabeca h2 { margin-bottom:18px; } .cabeca p:not(.rotulo) { font-size:15px; }
  .atend-grid,.outros-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
  .card { padding:26px; } .card-principal { grid-row:auto; } .card-principal h3 { font-size:28px; } .card h3 { font-size:24px; }
  .card .btn { font-size:14px; } .card-avaliacao { grid-column:auto; flex-direction:column; align-items:stretch; gap:23px; border-width:2px; }
  .avaliacao-acao { width:auto; } .avaliacao-acao>.preco { display:flex; align-items:baseline; gap:12px; margin-bottom:18px; } .avaliacao-acao>.preco>small { display:inline; margin:0; }
  .atend-outros { margin-top:29px; } .outros-titulo { font-size:18px; } .card-menor h3 { font-size:22px; }
  .card-menor { gap:14px; } .card-menor .preco { font-size:35px; }
  .trabalhos-grade,.sobre-grade,.sim-grade,.curso-grade,.duvidas-grade,.contato-grade { grid-template-columns:minmax(0,1fr); gap:32px; }
  .trabalhos-grade>div:first-child { order:2; } .trabalhos-foto { max-width:430px; width:100%; margin:auto; }
  .trabalhos-lead { font-size:15px; } .trabalhos .btn { width:100%; } .finalidades { gap:17px; }
  .sobre-foto { order:2; max-width:370px; } .sobre-corpo>p:not(.rotulo) { font-size:16px; } .sobre-corpo>.sobre-abertura { font-size:18px!important; }
  .sim-resultado { padding:26px; } .sim-resultado h3 { font-size:29px; } .sim-lead { font-size:15px; }
  .sim-valor strong { font-size:47px; } .sim-resultado .btn { font-size:13px; padding:13px 16px; }
  .feedbacks { grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; } .feedback-imagem { height:230px; } .feedback blockquote { font-size:16px; } .feedback-texto { padding:19px; }
  .foto-item>.foto-link { height:260px; } .fotos-grid { gap:13px; }
  .curso-programa { padding:23px; } .curso-data { padding:18px; } .curso-data time { font-size:27px; } .curso .btn { width:100%; font-size:13px; }
  .passos { grid-template-columns:minmax(0,1fr); } .passos li { padding:23px; gap:15px; } .passos h3 { margin:0 0 8px; }
  .nota-fiscal { grid-template-columns:minmax(0,1fr); gap:15px; padding:23px; } .nota-fiscal h3 { font-size:18px; }
  .pagamentos ul { gap:9px 16px; font-size:13px; }
  .duvidas .link-papel { font-size:13px; } .faq summary { font-size:15px; }
  .contato .btn { width:100%; font-size:14px; } .contato-info { padding:25px; }
  .rodape-topo { gap:21px; } .rodape-topo>.marca { flex:1 0 100%; } .rodape-topo nav { margin-right:auto; gap:17px; }
  .som-status { text-align:left; } .rodape-base { display:block; margin-top:22px; } .rodape-base>div { text-align:left; margin-top:20px; }
  .whats-flutuante { width:53px; height:53px; right:15px; bottom:calc(15px + env(safe-area-inset-bottom)); }
}
@media(max-width:550px) {
  .feedbacks { grid-template-columns:minmax(0,1fr); } .feedback-imagem { height:275px; } .feedback-texto { padding:22px; } .feedback blockquote { font-size:17px; }
}
@media(max-width:370px) {
  .topo-linha { gap:7px; } .marca>span { font-size:18px; } .marca>.ico { width:21px; } .marca small { font-size:8px; } .som-botao,.menu-botao { width:39px; height:39px; }
  .hero h1 { font-size:39px; } .hero-profissao { font-size:11px; } .hero-acoes>.btn:first-child { font-size:12px; padding-inline:14px; } .hero-numeros { gap:15px; } .hero-numeros li+li { padding-left:15px; } .hero-numeros strong { font-size:16px; }
  .card { padding:23px; } .preco { font-size:37px; } .sim-resultado { padding:23px; } .sim-valor small { margin-left:0; }
  .fotos-grid { gap:11px; } .foto-item>.foto-link { height:225px; }
  .rodape-topo nav a { font-size:12px; }
}
