/* assets/estilo.css
   Estilo único do portal Instituto Felipe Lopes.
   Cores e fontes ficam nas variáveis abaixo. */

@font-face{
  font-family:"Anton";
  src:url("fontes/anton.woff2") format("woff2");
  font-weight:400;font-display:swap;
}
@font-face{
  font-family:"Saira";
  src:url("fontes/saira.woff2") format("woff2");
  font-weight:100 900;font-stretch:50% 125%;font-display:swap;
}

:root{
  /* Preto com o vinho institucional #3A1A1D:
     fundo quadriculado em preto, seções lisas no vinho */
  --branco:#0b0809;         /* fundo da página (preto, com a grade) */
  --nevoa:#3a1a1d;          /* seções lisas (vinho institucional) */
  --superficie:#241113;     /* cartões e caixas (preto avinhado, aparece no preto e no vinho) */
  --superficie-2:#33191c;   /* caixas dentro de cartões */
  --linha:rgba(255,255,255,.12);
  --vinho:#b02a40;          /* botões e detalhes (vermelho da logo, vivo sobre o vinho) */
  --vinho-escuro:#8e1f33;
  --vinho-texto:#e56b7e;    /* rosado da logo, para destaques e links */
  --marrom:#3a1a1d;         /* faixas lisas de destaque, vinho institucional */
  --grafite:#f4ece7;        /* texto principal (creme da logo) */
  --suave:rgba(244,236,231,.72);
  --cinza:#8c8889;
  --dourado:#c9a84c;        /* rótulos e contornos, como no primeiro projeto */
  --verde:#55c28a;          /* textos de confirmação */
  --verde-fundo:#1f7a4a;
  --titulo:"Anton","Bebas Neue",Impact,"Arial Narrow",sans-serif;

  --fonte:"Saira",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --largura:1160px;
  --corte:14px;             /* tamanho do corte diagonal dos botões e caixas */
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{font-family:var(--fonte);font-stretch:100%;color:var(--grafite);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;
  background-color:var(--branco);
  background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:64px 64px}
::selection{background:var(--vinho);color:#fff}
.v{color:var(--vinho-texto)}
img{max-width:100%;height:auto;display:block}
a{color:var(--vinho-texto)}
[hidden]{display:none!important}
.container{max-width:var(--largura);margin:0 auto;padding:0 24px}
:focus-visible{outline:3px solid var(--dourado);outline-offset:2px}
.pular{position:absolute;left:-999px;top:8px;background:var(--vinho);color:#fff;padding:8px 14px;z-index:300}
.pular:focus{left:8px}

/* ---------- títulos ---------- */
h1,h2,h3{font-family:var(--titulo);font-weight:400;text-transform:uppercase;letter-spacing:.008em;line-height:1.04;color:var(--grafite);text-wrap:balance}
.expandido{font-stretch:122%;font-weight:700}
h1{font-size:clamp(2.6rem,5.6vw,4.4rem)}
h2{font-size:clamp(2.1rem,4vw,3.2rem);margin-bottom:16px}
h3{font-size:1.45rem;letter-spacing:.01em}
.intro{color:var(--suave);max-width:62ch;font-size:1.08rem}
.centro{text-align:center}.centro .intro{margin-left:auto;margin-right:auto}
.sobretitulo{display:block;font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--dourado);margin-bottom:14px}
section{padding:92px 0}
.nevoa{background:var(--nevoa);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.escuro{background:radial-gradient(ellipse at 80% 0%,rgba(176,42,64,.22),transparent 60%),var(--marrom);color:#f3ecec}
.escuro h2,.escuro h3{color:#fff}
.escuro .intro{color:rgba(243,236,236,.78)}

/* ---------- botões (cantos cortados como as hastes da logo) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;border:0;cursor:pointer;
  font-family:var(--fonte);font-stretch:112%;font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
  background:var(--vinho);color:#fff;
  clip-path:polygon(0 0,calc(100% - var(--corte)) 0,100% var(--corte),100% 100%,var(--corte) 100%,0 calc(100% - var(--corte)));
  transition:background .15s}
.btn:hover{background:var(--vinho-escuro)}
.btn:focus-visible{outline:none;box-shadow:inset 0 0 0 3px var(--dourado)}
.btn-claro{background:#fff;color:var(--vinho)}
.btn-claro:hover{background:#f2e9ea}
/* contorno: o fundo vinho vira a borda e uma camada interna recortada faz o miolo */
.btn-contorno{--miolo:var(--branco);--borda:var(--dourado);position:relative;isolation:isolate;background:var(--borda);color:var(--dourado)}
.btn-contorno::before{content:"";position:absolute;inset:2px;z-index:-1;background:var(--miolo);
  clip-path:polygon(0 0,calc(100% - var(--corte) + 1px) 0,100% calc(var(--corte) - 1px),100% 100%,calc(var(--corte) - 1px) 100%,0 calc(100% - var(--corte) + 1px))}
.btn-contorno:hover{background:var(--borda)}
.btn-contorno:hover::before{--miolo:#2a1f14}
.nevoa .btn-contorno{--miolo:var(--nevoa)}
.janela .btn-contorno,.oferta-combo .btn-contorno{--miolo:var(--superficie)}
.escuro .btn-contorno{--miolo:var(--marrom);--borda:var(--dourado);color:var(--dourado)}
.escuro .btn-contorno:hover::before{--miolo:#4a2a22}
.btn svg{width:20px;height:20px;flex-shrink:0}
.botoes{display:flex;flex-wrap:wrap;gap:12px}
.link-seta{font-weight:600;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}

/* ---------- topo ---------- */
.topo{position:sticky;top:0;z-index:50;background:rgba(11,8,9,.93);backdrop-filter:blur(8px);border-bottom:1px solid var(--linha)}
.topo .container{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.marca img{height:50px;width:auto}
.marca span{display:flex;flex-direction:column;line-height:1.05;font-stretch:125%;font-weight:700;letter-spacing:.14em}
.marca small{font-size:.66rem;color:var(--vinho-texto)}
.marca b{font-size:.86rem;color:var(--grafite)}
.menu{display:flex;align-items:center;gap:4px;list-style:none}
.menu a{display:block;padding:10px 9px;color:var(--suave);text-decoration:none;font-size:.74rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;border-bottom:2px solid transparent}
.menu a:hover{color:var(--grafite)}
.menu a[aria-current="page"]{color:var(--grafite);border-bottom-color:var(--vinho-texto)}
.topo .btn{min-height:42px;padding:0 18px;font-size:.72rem;white-space:nowrap;--corte:10px}
.abrir-menu{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;align-items:center;justify-content:center;color:var(--grafite)}
.abrir-menu svg{width:26px;height:26px}
@media(max-width:1180px){
  .abrir-menu{display:inline-flex}
  .topo .acao-topo{display:none}
  .topo nav{position:absolute;left:0;right:0;top:76px;background:var(--superficie);border-bottom:1px solid var(--linha);box-shadow:0 18px 30px -18px rgba(0,0,0,.8);display:none}
  .topo nav.aberto{display:block}
  .menu{flex-direction:column;align-items:stretch;padding:8px 16px 16px;gap:0}
  .menu a{padding:14px 8px;border-bottom:1px solid var(--linha)}
  .menu a[aria-current="page"]{border-bottom-color:var(--linha);box-shadow:inset 3px 0 0 var(--vinho);padding-left:14px}
}
@media(max-width:340px){.marca span{display:none}}

/* ---------- hero do instituto ---------- */
.hero{position:relative;overflow:hidden;padding:84px 0 96px}
.hero .container{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;position:relative;z-index:1}
.hero h1{margin-bottom:22px}
.hero .intro{margin-bottom:30px;font-size:1.15rem}
.hero-marca{position:relative;justify-self:center;width:min(300px,70%)}
.hero-marca img{position:relative;z-index:1;width:100%}
/* faixa diagonal atrás da logo, no ângulo das hastes */
.hero::after{content:"";position:absolute;right:-6%;top:-20%;width:60%;height:150%;background:radial-gradient(circle at 60% 45%,rgba(176,42,64,.38),rgba(90,20,48,.18) 38%,transparent 66%);z-index:0}
.hero-marca img{filter:drop-shadow(0 30px 50px rgba(0,0,0,.35))}
.areas{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:34px;padding-top:24px;border-top:1px solid var(--linha);font-size:.95rem;color:var(--suave)}
.areas b{color:var(--dourado);font-weight:600}
@media(max-width:900px){.hero .container{grid-template-columns:1fr}.hero-marca{order:-1;width:min(170px,45%)}.hero::after{display:none}.hero{padding:48px 0 64px}}

/* ---------- vitrine (carrossel) ---------- */
.vitrine{position:relative;padding:110px 0 84px;clip-path:polygon(0 56px,100% 0,100% 100%,0 100%);margin-top:-56px}
.vitrine-topo{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:42px}
.vitrine-topo h2{margin:0}
.carrossel{overflow:hidden}
.trilho-c{display:flex;transition:transform .55s cubic-bezier(.65,0,.35,1)}
.slide{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;padding:4px}
.slide-capa{display:flex;justify-content:center;position:relative;isolation:isolate}
.slide-capa::before{content:"";position:absolute;inset:6% 14% -4% 22%;background:rgba(255,255,255,.07);transform:skewX(-20deg);z-index:-1}
.slide-capa img{width:min(300px,100%);box-shadow:0 30px 50px -20px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.14)}
.slide h3{font-size:clamp(2rem,3.6vw,2.8rem);margin:6px 0 12px}
.slide p{color:rgba(243,236,236,.8);max-width:56ch}
.slide ul{list-style:none;margin:18px 0 22px}
.slide li{position:relative;padding:6px 0 6px 26px}
.slide li::before{content:"";position:absolute;left:0;top:15px;width:12px;height:2px;background:var(--dourado)}
.slide .tipo{font-size:.95rem;color:#e5c58c;font-weight:600}
.slide .preco-linha{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}
.slide .preco-linha .de{color:rgba(243,236,236,.6)}
.slide .preco-linha strong{font-family:var(--titulo);font-weight:400;font-size:2.4rem;color:#fff}
.controles{display:flex;align-items:center;gap:12px;margin-top:44px;flex-wrap:wrap}
.seta{width:48px;height:48px;border:0;cursor:pointer;background:rgba(255,255,255,.1);color:#fff;font-size:1.4rem;display:flex;align-items:center;justify-content:center;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}
.seta:hover{background:rgba(255,255,255,.2)}
.abas-c{display:flex;gap:6px;flex-wrap:wrap}
.abas-c button{background:none;border:0;border-bottom:2px solid rgba(255,255,255,.2);color:rgba(243,236,236,.7);font-family:var(--fonte);font-size:.92rem;font-weight:500;padding:10px 12px;cursor:pointer}
.abas-c button[aria-current="true"]{color:#fff;border-bottom-color:var(--dourado);font-weight:600}
@media(max-width:800px){.slide{grid-template-columns:1fr;gap:28px}.slide-capa img{width:min(200px,60%)}.vitrine{padding-top:96px}}
@media(prefers-reduced-motion:reduce){.trilho-c{transition:none}}

/* mockup do relatório do simulador (sem imagem) */
.tela{width:min(420px,100%);background:var(--superficie-2);color:var(--grafite);border:1px solid var(--linha);font-size:.8rem;box-shadow:0 30px 50px -20px rgba(0,0,0,.6);
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.tela-barra{display:flex;align-items:center;gap:6px;padding:11px 14px;background:var(--vinho);color:#fff;font-size:.72rem;font-weight:600;font-stretch:115%}
.tela-barra i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4)}
.tela-barra span{margin-left:8px}
.tela-corpo{padding:16px}
.tela-emp{display:flex;justify-content:space-between;gap:8px;color:var(--suave);font-size:.74rem;margin-bottom:12px}
.tela-emp b{color:var(--grafite)}
.regime{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--linha);padding:9px 12px;margin-bottom:6px}
.regime small{color:var(--suave);font-size:.74rem}
.regime strong{font-stretch:118%;font-size:1rem}
.regime.melhor{border-color:var(--verde);background:rgba(85,194,138,.1)}
.regime.melhor small{color:var(--verde);font-weight:600}
.barras{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;align-items:end;height:70px;margin-top:12px;border-bottom:1px solid var(--linha)}
.barras i{display:block;background:linear-gradient(180deg,var(--vinho),var(--marrom))}
.anos{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;font-size:.62rem;color:var(--suave);text-align:center;margin-top:3px}
.ilustrativo{font-size:.76rem;color:inherit;opacity:.7;text-align:center;margin-top:10px}

/* ---------- combos e preços ---------- */
.combos{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:44px}
.combo{position:relative;background:var(--superficie);padding:34px 32px 32px;border:1px solid var(--linha);display:flex;flex-direction:column}
.combo.destaque{border:2px solid var(--vinho)}
.combo .selo{align-self:flex-start;font-size:.82rem;font-weight:700;color:#fff;background:var(--vinho);padding:5px 12px;margin-bottom:16px}
.combo h3{font-size:1.4rem;margin-bottom:6px}
.combo .desc{color:var(--suave);font-size:.95rem;margin-bottom:18px}
.itens-combo{list-style:none;border-top:1px solid var(--linha);margin-bottom:18px}
.itens-combo li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--linha);font-size:.95rem}
.itens-combo li > span:last-child{color:var(--suave);white-space:nowrap}
.preco-bloco{margin:auto 0 20px}
.de{color:var(--suave);text-decoration:line-through;font-size:.95rem}
.preco{font-family:var(--titulo);font-weight:400;font-size:3.2rem;line-height:1.05;color:var(--grafite)}
.preco small{font-size:1.1rem;color:var(--suave);font-weight:600}
.economia{color:var(--verde);font-weight:600;font-size:.95rem;margin-top:4px}
.combo .btn{width:100%}
@media(max-width:860px){.combos{grid-template-columns:1fr}}

/* ---------- instituto e áreas ---------- */
.instituto .container{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
.instituto p{color:var(--suave);margin-bottom:16px;max-width:60ch}
.lista-areas{list-style:none}
.lista-areas li{padding:22px 0 22px 24px;border-left:3px solid var(--vinho);margin-bottom:14px;background:var(--nevoa);padding-right:22px}
.lista-areas h3{font-size:1.05rem;margin-bottom:4px}
.lista-areas p{margin:0 0 8px;font-size:.96rem}
@media(max-width:900px){.instituto .container{grid-template-columns:1fr;gap:32px}}

/* ---------- equipe ---------- */
.equipe{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:48px}
.equipe.duas{grid-template-columns:repeat(2,1fr);max-width:820px;margin-left:auto;margin-right:auto}
.pessoa img{width:100%;aspect-ratio:4/5;object-fit:cover;margin-bottom:22px;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%)}
.pessoa h3{font-size:1.2rem}
.pessoa .papel{color:var(--dourado);font-weight:700;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;margin:6px 0 14px}
.pessoa p{font-size:.95rem;color:var(--suave);text-align:justify;hyphens:none;-webkit-hyphens:none}
.nq{white-space:nowrap}
@media(max-width:900px){.equipe{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.equipe,.equipe.duas{grid-template-columns:1fr}.pessoa img{max-width:320px}}

/* ---------- páginas de produto ---------- */
.migalha{font-size:.88rem;color:var(--suave);margin-bottom:22px}
.migalha a{color:var(--suave)}
.produto-hero{padding:56px 0 80px;overflow:hidden}
.produto-hero .container{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.produto-hero h1{margin-bottom:18px}
.produto-hero .intro{margin-bottom:26px}
.checks{list-style:none;margin:0 0 28px}
.checks li{position:relative;padding:7px 0 7px 32px}
.checks li::before{content:"";position:absolute;left:0;top:13px;width:18px;height:10px;border-left:3px solid var(--vinho);border-bottom:3px solid var(--vinho);transform:rotate(-45deg)}
.produto-capa{justify-self:center;position:relative;width:min(360px,100%)}
.produto-capa img{width:100%;box-shadow:0 34px 60px -26px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.12)}
.produto-capa::before{content:"";position:absolute;inset:8% -10% -6% 18%;background:rgba(176,42,64,.16);transform:skewX(-20deg);z-index:-1}
.caixa-preco{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:20px 22px;background:var(--nevoa);margin-bottom:14px;
  clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)}
.caixa-preco .preco{font-size:2.4rem}
.nota{font-size:.88rem;color:var(--suave)}
@media(max-width:900px){.produto-hero .container{grid-template-columns:1fr;gap:36px}.produto-capa{order:-1;width:min(240px,62%)}}

.duas-colunas{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
@media(max-width:900px){.duas-colunas{grid-template-columns:1fr;gap:32px}}
.sumario{list-style:none;counter-reset:cap;border-top:1px solid var(--linha);margin-top:28px}
.sumario li{display:flex;gap:16px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--linha)}
.sumario li::before{counter-increment:cap;content:counter(cap,decimal-leading-zero);font-stretch:122%;font-weight:700;color:var(--vinho-texto);min-width:2.2em}
.sumario li.extra::before{content:"+";counter-increment:none}
.colunas-sumario{columns:2;column-gap:48px}
.colunas-sumario li{break-inside:avoid}
@media(max-width:800px){.colunas-sumario{columns:1}}
.marcadores{list-style:none}
.marcadores li{position:relative;padding:10px 0 10px 26px;border-bottom:1px solid var(--linha)}
.marcadores li::before{content:"";position:absolute;left:0;top:21px;width:12px;height:2px;background:var(--vinho)}
.destaques{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.destaques div{border-top:3px solid var(--vinho);padding-top:18px}
.destaques h3{font-size:1.02rem;margin-bottom:8px}
.destaques p{color:var(--suave);font-size:.95rem}
.escuro .destaques div{border-top-color:var(--dourado)}
.escuro .destaques p{color:rgba(243,236,236,.75)}
@media(max-width:860px){.destaques{grid-template-columns:1fr}}
.citacao{color:var(--suave);font-style:italic;font-stretch:100%;font-size:1.25rem;line-height:1.5;max-width:46ch;border-left:3px solid var(--dourado);padding-left:22px}
.riscos{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 26px}
.riscos li{background:var(--superficie);border-left:3px solid var(--vinho);padding:15px 16px;font-weight:600}
.publico{background:var(--nevoa);padding:28px 30px}
.publico h3{font-size:1rem;margin-bottom:10px}
.publico ul{list-style:none}
.publico li{padding:10px 0;border-bottom:1px solid var(--linha)}
.publico li:last-child{border:0}
.fator{margin:22px 0;padding:20px 22px;background:var(--nevoa);border-left:3px solid var(--vinho);color:var(--suave)}
.fator b{color:var(--grafite)}
.ressalva{font-size:.88rem;color:var(--suave);max-width:80ch;margin-top:28px}

/* oferta de combo dentro da página do produto */
.oferta-combo{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:30px 32px;background:var(--superficie);border:2px solid var(--vinho)}
.oferta-combo h3{margin-bottom:6px}
.oferta-combo p{color:var(--suave)}
@media(max-width:760px){.oferta-combo{grid-template-columns:1fr}}

/* ---------- depoimentos ---------- */
.faixa{overflow:hidden;margin-top:40px;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.trilho{display:flex;gap:20px;width:max-content;animation:rolar 80s linear infinite}
.faixa:hover .trilho{animation-play-state:paused}
@keyframes rolar{to{transform:translateX(-50%)}}
.depo{width:320px;flex-shrink:0;background:var(--superficie);border:1px solid var(--linha);padding:24px}
.depo p{font-size:.95rem;margin-bottom:16px}
.depo strong{display:block;font-size:.92rem}
.depo span{font-size:.82rem;color:var(--suave)}
@media(prefers-reduced-motion:reduce){.trilho{animation:none;flex-wrap:wrap;width:auto}.faixa{mask-image:none}}

/* ---------- dúvidas ---------- */
.faq{max-width:840px;margin:36px auto 0}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{cursor:pointer;padding:20px 4px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--vinho-texto);font-size:1.4rem;line-height:1;font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 4px 22px;color:var(--suave)}

/* ---------- formulários ---------- */
.contato .container{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px}
form{display:grid;gap:16px}
label{font-size:.92rem;font-weight:600}
label em{color:var(--vinho-texto);font-style:normal}
label small{font-weight:400;color:var(--suave)}
input,textarea,select{width:100%;margin-top:6px;padding:13px 14px;border:1px solid rgba(255,255,255,.18);border-radius:0;font:inherit;font-size:1rem;background:#140c0d;color:var(--grafite)}
input:focus,textarea:focus{outline:2px solid var(--dourado);outline-offset:0;border-color:var(--dourado)}
textarea{min-height:110px;resize:vertical}
.opcoes{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:8px;font-weight:400}
.opcoes label{display:flex;align-items:center;gap:8px;font-weight:400}
.opcoes input{width:18px;height:18px;margin:0;accent-color:var(--vinho)}
.aviso{font-size:.86rem;color:var(--suave)}
.sucesso{padding:18px 20px;background:rgba(85,194,138,.1);border-left:3px solid var(--verde)}
.armadilha{position:absolute;left:-9999px;width:1px;height:1px}
@media(max-width:900px){.contato .container{grid-template-columns:1fr}}

/* ---------- textos legais ---------- */
.texto-legal{max-width:760px}
.texto-legal h2{font-size:1.25rem;margin:36px 0 10px}
.texto-legal p,.texto-legal li{color:var(--suave);margin-bottom:12px}
.texto-legal ul{padding-left:20px}

/* ---------- rodapé ---------- */
footer{background:#3a1a1d;border-top:1px solid var(--linha);padding:64px 0 28px;font-size:.93rem;color:var(--suave)}
footer .grade{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:36px;margin-bottom:40px}
footer .logo-rodape{width:auto;height:150px}
footer h4{color:var(--dourado);font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:12px}
footer a{display:block;color:var(--suave);text-decoration:none;padding:4px 0}
footer a:hover{color:var(--grafite)}
footer .legal{border-top:1px solid var(--linha);padding-top:22px;font-size:.82rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
@media(max-width:900px){footer .grade{grid-template-columns:1fr 1fr}}
@media(max-width:520px){footer .grade{grid-template-columns:1fr}}
.flutuante{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:8px;background:#1f8f4e;color:#fff;padding:12px 18px;font-weight:600;font-size:.9rem;text-decoration:none;box-shadow:0 10px 24px rgba(0,0,0,.25);border-radius:999px}
.flutuante svg{width:20px;height:20px}
@media(max-width:600px){.flutuante span{display:none}.flutuante{padding:14px}}

/* ---------- janela de compra Pix ---------- */
.modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.78)}
.modal.aberto{display:flex}
.janela{background:var(--superficie);border:1px solid var(--linha);width:100%;max-width:460px;max-height:calc(100vh - 32px);overflow:auto;padding:32px 28px;position:relative}
.fechar{position:absolute;right:10px;top:8px;background:none;border:0;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--suave);padding:6px 10px}
.janela h3{font-size:1.4rem;margin-bottom:14px;padding-right:30px}
.janela .btn{width:100%}
.resumo{color:var(--suave);font-size:.95rem;margin-bottom:16px}
.erro{color:#ff8f9c;font-size:.9rem;min-height:1.2em}
.etapa{display:none}.etapa.ativa{display:block}
.pedido{padding:14px 16px;background:var(--nevoa);margin-bottom:18px}
.pedido-topo{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.pedido-topo strong{font-stretch:118%;font-size:1.15rem;white-space:nowrap}
.pedido ul{list-style:none;margin-top:6px;font-size:.88rem;color:var(--suave)}
.upgrade{display:flex;gap:12px;align-items:flex-start;padding:14px;border:2px dashed var(--vinho-texto);background:rgba(176,42,64,.12);cursor:pointer;font-weight:400}
.upgrade input{width:20px;height:20px;margin:2px 0 0;flex-shrink:0;accent-color:var(--vinho)}
.upgrade b{display:block;font-size:.95rem;margin-bottom:2px}
.upgrade span{font-size:.86rem;color:var(--suave)}
.qr{width:240px;height:240px;margin:8px auto 16px;border:1px solid var(--linha);padding:8px;background:#fff}
.copia{display:flex;gap:8px;margin:8px 0 6px}
.copia input{margin:0;font-size:.78rem;color:var(--suave)}
.copia button{flex-shrink:0;border:0;background:var(--vinho);color:#fff;font-family:var(--fonte);font-weight:600;padding:0 16px;cursor:pointer}
.aguardando{display:flex;align-items:center;gap:10px;justify-content:center;background:var(--nevoa);padding:12px;margin:16px 0 8px;font-size:.92rem}
.aguardando i{width:10px;height:10px;border-radius:50%;background:var(--vinho);animation:pulsar 1.2s ease-in-out infinite}
@keyframes pulsar{50%{opacity:.25}}
@media(prefers-reduced-motion:reduce){.aguardando i{animation:none}}
.passos{font-size:.88rem;color:var(--suave);padding-left:18px;margin-top:12px}
.ok{text-align:center}
.ok .icone{width:64px;height:64px;border-radius:50%;background:var(--verde-fundo);color:#fff;font-size:2rem;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.entregas{display:grid;gap:10px;margin:18px 0;text-align:left}
.licenca{text-align:left;margin:18px 0;padding:16px;background:var(--nevoa)}
.licenca p{font-size:.9rem;margin-bottom:8px}
.licenca textarea{min-height:78px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;margin:0 0 8px;word-break:break-all}
.licenca .botoes .btn{flex:1;min-height:46px;font-size:.82rem;padding:0 12px}
.demo-aviso{background:rgba(201,168,76,.12);border-left:3px solid var(--dourado);color:var(--dourado);font-size:.82rem;padding:9px 12px;margin-bottom:16px}
.btn-demo{width:100%;margin-top:10px;background:none;border:1px dashed var(--cinza);color:var(--suave);padding:10px;cursor:pointer;font:inherit;font-size:.86rem}
/* um autor só: foto ao lado do texto */
.equipe.uma{grid-template-columns:1fr;max-width:860px}
.equipe.uma .pessoa{display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:start}
.equipe.uma .pessoa img{margin:0}

@media(max-width:700px){.equipe.uma .pessoa{grid-template-columns:1fr;gap:0}.equipe.uma .pessoa img{margin-bottom:22px}}

/* ---------- tabela de preços (página inicial) ---------- */
.precos{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px;align-items:stretch}
.preco-card{position:relative;display:flex;flex-direction:column;gap:6px;background:var(--superficie);border:1px solid var(--linha);padding:28px 24px 24px}
.preco-card.destaque{border:2px solid var(--vinho);box-shadow:0 24px 50px -24px rgba(176,42,64,.6)}
.preco-card .tipo{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--dourado)}
.preco-card h3{font-size:1.5rem}
.preco-card .desc{color:var(--suave);font-size:.92rem;min-height:3em}
.preco-card .de[hidden]{display:block!important;visibility:hidden}
.preco-card .preco{font-size:2.5rem}
.preco-card .incluso{list-style:none;flex:1;margin:12px 0 18px;padding-top:12px;border-top:1px solid var(--linha)}
.preco-card .incluso li{position:relative;padding:5px 0 5px 22px;font-size:.92rem}
.preco-card .incluso li::before{content:"";position:absolute;left:0;top:14px;width:12px;height:2px;background:var(--vinho)}
.preco-card .incluso li.economia{color:var(--verde);font-weight:600}
.preco-card .incluso li.economia::before{background:var(--verde)}
.preco-card .btn{width:100%}
.preco-card .link-seta{align-self:center;margin-top:12px;font-size:.92rem}
@media(max-width:1060px){.precos{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.precos{grid-template-columns:1fr}.preco-card .desc{min-height:0}.preco-card.destaque{order:-1}}
@media(min-width:1061px){.preco-card h3{min-height:2.5em}.preco-card .desc{min-height:4.6em}}

/* ---------- ajustes do modo escuro (títulos na fonte condensada) ---------- */
.lista-areas h3,.destaques h3{font-size:1.35rem;margin-bottom:6px}
.pessoa h3{font-size:1.6rem}
.janela h3{font-size:1.9rem}
.oferta-combo h3{font-size:1.8rem}
.texto-legal h2{font-size:1.7rem}
.publico h3{font-family:var(--fonte);text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.2em;color:var(--dourado)}
.combo .selo{background:var(--dourado);color:#16100a;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}
.vitrine{border-top:1px solid var(--linha)}
.slide-capa::before{background:rgba(176,42,64,.22)}
.caixa-preco{border:1px solid var(--linha)}
.licenca .botoes .btn{letter-spacing:.06em}

/* ---------- página de retorno do Mercado Pago ---------- */
.obrigado{padding:72px 0 96px}
.caixa-obrigado{max-width:640px;margin:0 auto;background:var(--superficie);border:1px solid var(--linha);padding:40px 36px}
.caixa-obrigado h1{font-size:clamp(2rem,4.4vw,3rem);margin-bottom:14px}
.caixa-obrigado .intro{margin-bottom:18px}
.caixa-obrigado .ok{text-align:left}
.caixa-obrigado .ok .icone{margin:0 0 18px}
.caixa-obrigado form{margin-top:10px}
@media(max-width:600px){.caixa-obrigado{padding:28px 20px}}
