/* ============================================================
   Site Jessica Araujo · folha de estilo unica
   Paleta derivada do logo #500820 (oxblood) · 01/09/2026
   Tres superficies apenas: osso, branco e bordo.
   ============================================================ */

:root{
  /* ---- bordos ---- */
  --bordo:#500820;          /* marca E unica superficie escura */
  --bordo-escuro:#320615;   /* rodape, faixas, hover */
  --bordo-medio:#7A0D2F;    /* bordas e estados sobre o bordo */
  --bordo-claro:#9C1140;    /* graficos; nunca texto sobre bordo */
  /* ---- neutros quentes ---- */
  --grafite:#241E21;        /* titulos sobre fundo claro */
  --taupe:#5C5147;          /* texto de corpo */
  --osso:#F4EFEB;           /* fundo principal */
  --areia:#E9E1DA;          /* fundo secundario */
  --rosa:#F3E4E9;           /* realce sutil */
  --linha:#DFD4CC;          /* filetes e bordas */
  /* ---- metalico ---- */
  --latao:#B08D57;          /* detalhe SO sobre o bordo */
  --branco:#FFFFFF;
  /* aliases internos */
  --bege:var(--osso);
  --bege-2:var(--areia);
  --tinta:var(--grafite);
  --petroleo:var(--bordo);
  --petroleo-claro:var(--bordo-medio);
  --marrom:var(--taupe);
  --vinho:var(--bordo);
  --max:1180px;
  --gut:clamp(20px,5vw,64px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--bege);
  color:var(--marrom);
  font-family:"Jost","Helvetica Neue",Arial,sans-serif;
  font-weight:300;
  font-size:17px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block}
a{color:inherit}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.narrow{max-width:760px}
.wrap.prosa{max-width:var(--max)}
.wrap.prosa > *{max-width:70ch}

/* ---------- tipografia ---------- */
h1,h2,h3{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:600;
  color:var(--tinta);
  margin:0;
  letter-spacing:-.01em;
  text-wrap:balance;
}
h1{font-size:clamp(40px,7vw,84px);line-height:1.02;font-weight:700;letter-spacing:-.018em}
h2{font-size:clamp(32px,4.9vw,58px);line-height:1.06;font-weight:700;letter-spacing:-.016em}
h3{font-size:clamp(22px,2.7vw,30px);line-height:1.16;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 18px;max-width:64ch}

.eyebrow{
  font-size:12px;
  font-weight:400;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--petroleo);
  margin:0 0 22px;
}
.eyebrow.on-dark{color:rgba(255,255,255,.72)}

.lead{font-size:clamp(18px,2vw,21px);line-height:1.65;color:var(--marrom)}

/* ---------- botoes ---------- */
.btn{
  display:inline-block;
  font-size:13px;
  font-weight:400;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
  padding:17px 32px;
  border:1px solid var(--petroleo);
  background:var(--petroleo);
  color:var(--branco);
  transition:background .2s ease,color .2s ease;
}
.btn:hover,.btn:focus-visible{background:var(--bordo-escuro);border-color:var(--bordo-escuro)}
.btn.ghost{background:transparent;color:var(--tinta);border-color:var(--tinta)}
.btn.ghost:hover,.btn.ghost:focus-visible{background:var(--bordo);border-color:var(--bordo);color:var(--branco)}
.btn.on-dark{background:var(--branco);color:var(--tinta);border-color:var(--branco)}
.btn.on-dark:hover,.btn.on-dark:focus-visible{background:transparent;color:var(--branco)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

/* ---------- cabecalho ---------- */
.topbar{
  position:sticky;top:0;z-index:60;
  background:rgba(244,239,235,.95);
  backdrop-filter:saturate(160%) blur(8px);
  border-bottom:1px solid var(--linha);
}
.topbar .wrap{display:flex;align-items:center;gap:24px;min-height:76px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;white-space:nowrap}
.brand img{width:auto;height:44px;flex:none}
.brand b{font-family:"Cormorant Garamond",Georgia,serif;font-size:23px;font-weight:600;
  color:var(--grafite);letter-spacing:.01em;display:block;line-height:1.05}
.brand i{display:block;font-style:normal;font-family:"Jost",sans-serif;font-size:9.5px;
  letter-spacing:.32em;text-transform:uppercase;color:var(--bordo);font-weight:400;margin-top:1px}
.pe-marca{width:auto;height:72px;margin-bottom:18px;opacity:.92}
.nav{margin-left:auto;display:flex;gap:6px;flex-wrap:nowrap}
.nav a{
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  text-decoration:none;color:var(--marrom);padding:9px 13px;
}
.nav a:hover,.nav a:focus-visible{color:var(--tinta)}
.nav a[aria-current="page"]{color:var(--tinta);border-bottom:1px solid var(--petroleo)}

/* ---------- secoes ---------- */
section{padding:clamp(64px,9vw,124px) 0}
section[id]{scroll-margin-top:86px}
@media (max-width:860px){section[id]{scroll-margin-top:118px}}
section.tight{padding:clamp(44px,6vw,72px) 0}
.dark{background:var(--bordo);color:rgba(255,255,255,.80)}
.dark h1,.dark h2,.dark h3{color:var(--branco)}
.solid{background:var(--areia);color:var(--taupe)}
.solid h1,.solid h2,.solid h3{color:var(--grafite)}
.solid .eyebrow.on-dark{color:var(--bordo)}
.paper{background:var(--branco)}

/* ---------- heroi ---------- */
.hero{
  position:relative;
  min-height:clamp(520px,84vh,760px);
  display:flex;align-items:center;
  background:var(--vinho);
  overflow:hidden;
}
.hero .wrap{position:relative;z-index:2;width:100%;padding-top:40px;padding-bottom:40px}
.hero h1{color:var(--branco);max-width:17ch;font-size:clamp(38px,5.4vw,70px)}
.hero .lead{color:rgba(255,255,255,.86);max-width:50ch;margin-top:22px;font-size:clamp(17px,1.8vw,20px)}
.hero-media{position:absolute;inset:0;z-index:1}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(80,8,32,0.94) 0%,rgba(80,8,32,0.93) 14%,rgba(80,8,32,0.915) 26%,rgba(80,8,32,0.895) 36%,rgba(80,8,32,0.86) 44%,rgba(80,8,32,0.79) 50%,rgba(80,8,32,0.68) 54%,rgba(80,8,32,0.5) 57%,rgba(80,8,32,0.26) 59%,rgba(80,8,32,0.1) 60%,rgba(80,8,32,0) 62%)}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-media.even::after{background:rgba(80,8,32,.68)}
.hero.dir-right .hero-media::after{background:linear-gradient(270deg,rgba(80,8,32,0.94) 0%,rgba(80,8,32,0.93) 14%,rgba(80,8,32,0.915) 26%,rgba(80,8,32,0.895) 36%,rgba(80,8,32,0.86) 44%,rgba(80,8,32,0.79) 50%,rgba(80,8,32,0.68) 54%,rgba(80,8,32,0.5) 57%,rgba(80,8,32,0.26) 59%,rgba(80,8,32,0.1) 60%,rgba(80,8,32,0) 62%)}
.hero.dir-right .wrap{display:flex;justify-content:flex-end}
.hero.dir-right .bloco{max-width:660px;width:100%}

/* heroi dividido: painel de cor a esquerda, foto a direita */
/* ---------- heroi de faixa (Inicio) ---------- */
.hero-faixa{background:var(--osso);position:relative;padding:0}
.hero-faixa .palco{position:relative;overflow:hidden;background:var(--bordo-escuro);
  height:clamp(340px,47vw,668px)}
.hero-faixa .palco img{width:100%;height:100%;object-fit:cover;object-position:57% 44%;
  transform:scale(1.02);transition:transform 1.6s cubic-bezier(.2,.8,.2,1)}
.hero-faixa:hover .palco img{transform:scale(1.05)}
.hero-faixa .veu{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(50,6,21,.34) 0%,rgba(50,6,21,.06) 38%,rgba(50,6,21,.30) 100%)}
.hero-faixa .wrap{position:relative;z-index:3}
.hero-faixa .faixa{background:var(--bordo);color:var(--branco);position:relative;
  max-width:1010px;margin-top:calc(-1 * clamp(118px,15vw,258px));
  padding:clamp(28px,3vw,46px) clamp(26px,3.2vw,54px) clamp(30px,3.2vw,50px);
  box-shadow:0 34px 70px -38px rgba(0,0,0,.72)}
.hero-faixa .faixa::before{content:"";position:absolute;left:0;top:0;width:clamp(52px,6vw,92px);height:3px;
  background:var(--latao)}
.hero-faixa .acima{font-family:"Jost",sans-serif;font-weight:400;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,255,255,.74);margin:0 0 20px;text-align:left}
.hero-faixa h1{color:var(--branco);margin:0;max-width:none;
  font-size:clamp(30px,3.25vw,47px);line-height:1.14;letter-spacing:-.01em;text-wrap:balance}
.hero-faixa h1 span{display:block}
.hero-faixa h1 span + span{color:rgba(255,255,255,.82)}
.hero-faixa .sob{padding:clamp(30px,3.4vw,50px) 0 clamp(52px,6vw,88px)}
.hero-faixa .sob .lead{margin:0;max-width:68ch;color:var(--taupe);
  font-size:clamp(16.5px,1.35vw,19px);line-height:1.62}
.hero-faixa .sob .btn-row{margin-top:clamp(26px,2.6vw,36px);justify-content:flex-start}

/* ---------- placeholder de foto ---------- */
.ph{
  position:relative;
  background:
    repeating-linear-gradient(135deg,var(--areia) 0 14px,#DFD3CB 14px 28px);
  display:flex;align-items:center;justify-content:center;
  color:var(--marrom);text-align:center;
  border:1px dashed #C6B3A8;
  min-height:220px;
}
.ph span{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  padding:14px 18px;background:rgba(244,239,235,.92);max-width:80%;line-height:1.7;
}
.ph.tall{aspect-ratio:3/4}
.ph.wide{aspect-ratio:16/9}
.hero .ph{border:0;min-height:100%;height:100%;align-items:flex-end;justify-content:flex-end;padding:24px}
.hero .ph span{max-width:340px;text-align:right;background:rgba(244,239,235,.85);font-size:10px}

/* ---------- faixa de credenciais ---------- */
.creds{background:var(--bordo-escuro);color:var(--branco);padding:0}
.creds .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.creds .wrap > div{padding:30px 26px;border-left:1px solid rgba(255,255,255,.2);min-width:0}
.creds .wrap > div:first-child{border-left:0;padding-left:0}
.creds .wrap > div:last-child{padding-right:0}
.creds b{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;font-weight:600;line-height:1.1;margin-bottom:4px}
.creds p{margin:0;font-size:13px;letter-spacing:.06em;color:rgba(255,255,255,.74);line-height:1.5}

/* ---------- duas colunas ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.split.text-right{direction:rtl}
.split.text-right > *{direction:ltr}

/* ---------- portas (home) ---------- */
.doors{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--linha)}
.door{
  background:var(--branco);padding:clamp(32px,4vw,54px);
  text-decoration:none;color:inherit;display:flex;flex-direction:column;
  transition:background .2s ease;
}
.door:hover,.door:focus-visible{background:var(--rosa)}
.door .eyebrow{margin-bottom:16px}
.door h3{margin-bottom:14px}
.door p{font-size:16px;margin-bottom:22px}
.door .go{margin-top:auto;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--petroleo)}

/* ---------- lista de publico ---------- */
.bullets{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 48px}
.bullets li{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:16.5px;line-height:1.6}
.bullets.on-light li{border-color:var(--linha)}

/* ---------- temas numerados ---------- */
.temas{margin-top:52px}
.tema{display:grid;grid-template-columns:120px 1fr;gap:clamp(16px,3vw,40px);
  align-items:baseline;padding:30px 0;border-top:1px solid var(--linha)}
.tema:last-child{border-bottom:1px solid var(--linha)}
.tema .n{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(52px,7vw,86px);
  line-height:.8;color:var(--bordo);font-weight:600}
.tema .t{font-size:15px;letter-spacing:.13em;text-transform:uppercase;color:var(--grafite);line-height:1.6;margin:0}
.dark .tema{border-top-color:rgba(255,255,255,.22)}
.dark .tema:last-child{border-bottom-color:rgba(255,255,255,.22)}
.dark .tema .n{color:var(--latao)}
.dark .tema .t{color:var(--branco)}

/* ---------- pilares ALMA ---------- */
.pilares{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2px;background:var(--linha);margin-top:44px}
.pilar{background:var(--osso);padding:32px 26px}
.pilar b{font-family:"Cormorant Garamond",Georgia,serif;font-size:46px;color:var(--petroleo);display:block;line-height:1;margin-bottom:10px}
.pilar span{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta)}
.pilar p{font-size:15px;margin:10px 0 0}

/* ---------- passos ---------- */
.passos{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(24px,4vw,48px);margin-top:48px}
.passo .n{font-family:"Cormorant Garamond",Georgia,serif;font-size:52px;color:var(--petroleo);line-height:1;margin-bottom:10px;display:block}
.passo h3{font-size:clamp(21px,2.3vw,24px);margin-bottom:10px;font-weight:700}
.passo p{font-size:16px;margin:0}

/* ---------- prova social ---------- */
.provas{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:44px}
.prova{background:var(--branco);padding:34px 30px;border:1px solid var(--linha)}
.prova p{font-family:"Cormorant Garamond",Georgia,serif;font-size:21px;line-height:1.45;color:var(--tinta);margin-bottom:20px}
.prova cite{font-style:normal;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--petroleo)}
.aviso{
  border:1px dashed var(--bordo);background:var(--rosa);
  padding:22px 26px;margin-top:28px;font-size:14.5px;line-height:1.7;color:var(--marrom);
}
.aviso b{color:var(--tinta)}

/* ---------- formulario ---------- */
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px;max-width:720px}
.form .full{grid-column:1/-1}
.form label{display:block;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--petroleo);margin-bottom:7px}
.dark .form label{color:rgba(255,255,255,.68)}
.dark .form button{background:var(--branco);color:var(--bordo);border-color:var(--branco)}
.dark .form button:hover{background:transparent;color:var(--branco)}
.form input,.form select,.form textarea{
  width:100%;padding:14px 16px;font-family:inherit;font-size:16px;font-weight:300;
  color:var(--tinta);background:var(--branco);border:1px solid var(--linha);border-radius:0;
}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--petroleo);outline-offset:-2px}
.form textarea{min-height:110px;resize:vertical}
.form button{
  font-family:inherit;font-size:13px;letter-spacing:.18em;text-transform:uppercase;
  padding:17px 32px;border:1px solid var(--bordo);background:var(--bordo);color:var(--branco);cursor:pointer;
}
.form button:hover{background:var(--bordo-escuro);border-color:var(--bordo-escuro)}

/* ---------- formacao ---------- */
.formacao{list-style:none;padding:0;margin:36px 0 0}
.formacao li{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:20px 0;border-top:1px solid var(--linha);align-items:baseline}
.formacao li:last-child{border-bottom:1px solid var(--linha)}
.formacao .inst{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--petroleo)}
.formacao .curso{font-size:17px;color:var(--tinta)}

/* ---------- rodape ---------- */
footer.pe{background:var(--bordo-escuro);color:rgba(255,255,255,.6);padding:64px 0 40px;font-size:15px}
footer.pe a{color:rgba(255,255,255,.82);text-decoration:none}
footer.pe a:hover{color:#fff;text-decoration:underline}
.pe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px}
.pe h4{font-family:"Jost",sans-serif;font-size:11px;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(255,255,255,.45);margin:0 0 14px;font-weight:400}
.pe ul{list-style:none;padding:0;margin:0}
.pe li{margin-bottom:8px}
.pe .fim{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);
  font-size:13px;color:rgba(255,255,255,.42);display:flex;flex-wrap:wrap;gap:8px 24px}

/* ---------- whatsapp flutuante ---------- */
.zap{
  position:fixed;right:20px;bottom:20px;z-index:80;
  display:flex;align-items:center;gap:10px;
  background:var(--bordo);color:#fff;text-decoration:none;
  padding:14px 20px;border-radius:999px;
  font-size:13px;letter-spacing:.1em;text-transform:uppercase;
  box-shadow:0 6px 24px rgba(80,8,32,.34);
}
.zap:hover{background:var(--bordo-escuro)}
.zap svg{width:19px;height:19px;fill:currentColor;flex:none}

/* ---------- acessibilidade ---------- */
:focus-visible{outline:2px solid var(--petroleo);outline-offset:3px}
.pular{position:absolute;left:-9999px}
.pular:focus{left:12px;top:12px;z-index:200;background:var(--vinho);color:#fff;padding:12px 18px}

/* ---------- responsivo ---------- */
@media (max-width:860px){
  /* celular: a foto vira uma faixa inteira no topo e o texto fica sobre a cor,
     assim a foto aparece por completo e o texto nunca perde legibilidade */
  .hero{display:block;min-height:0;padding:0;background:var(--bordo)}
  .hero .hero-media{position:relative;inset:auto;height:clamp(230px,52vw,340px)}
  .hero .hero-media::after{background:linear-gradient(180deg,rgba(80,8,32,0) 62%,rgba(80,8,32,.55) 100%)}
  .hero .hero-media img{object-position:66% 26%}
  .hero .wrap{padding-top:34px;padding-bottom:44px}
  .hero .eyebrow{letter-spacing:.2em;font-size:11px}
  .hero.dir-right .wrap{justify-content:flex-start}

  .brand img{height:38px}
  .brand b{font-size:20px}
  .pe-marca{height:60px}
  
  .split,.doors{grid-template-columns:1fr}
  .split.text-right{direction:ltr}
  .form{grid-template-columns:1fr}
  .tema{grid-template-columns:70px 1fr}
  .topbar .wrap{flex-wrap:wrap;padding-top:12px;padding-bottom:4px;min-height:0;gap:10px}
  .nav{margin-left:0;width:100%;gap:0;justify-content:space-between;
       overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .nav::-webkit-scrollbar{display:none}
  .nav a{font-size:10.5px;letter-spacing:.07em;padding:9px 4px;white-space:nowrap}
  .nav a:first-child{padding-left:0}
  .nav a:last-child{padding-right:0}
  .zap span{display:none}
  .zap{padding:15px;border-radius:50%}
}


/* ================= blocos novos ================= */

/* cartoes de resposta ao decisor */
.ofertas{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2px;background:var(--linha);margin-top:48px}
.oferta{background:var(--branco);padding:30px 28px}
.oferta h3{font-size:clamp(20px,2.2vw,23px);margin:0 0 12px;line-height:1.22;font-weight:700}
.oferta p{font-size:15.5px;margin:0;line-height:1.65}
.dark .ofertas{background:rgba(255,255,255,.2)}
.dark .oferta{background:var(--bordo)}
.dark .oferta h3{color:var(--branco)}
.dark .oferta p{color:rgba(255,255,255,.80)}

/* pergunta do decisor + resposta */
.qa{border-top:1px solid var(--linha);padding:26px 0}
.qa:last-of-type{border-bottom:1px solid var(--linha)}
.qa .q{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(23px,2.8vw,31px);
  font-weight:700;color:var(--grafite);margin:0 0 10px;line-height:1.22}
.qa p{margin:0;font-size:16px;max-width:74ch}
.dark .qa{border-color:rgba(255,255,255,.2)}
.dark .qa .q{color:var(--branco)}
.dark .qa p{color:rgba(255,255,255,.80)}

/* cartoes de mentoria */
.mentorias{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:46px}
.mcard{background:var(--branco);border:1px solid var(--linha);padding:34px 32px;display:flex;flex-direction:column}
.mcard .selo{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--bordo);margin:0 0 14px}
.mcard h3{font-size:clamp(26px,2.8vw,32px);font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;margin:0 0 14px;line-height:1.14}
.mcard p{font-size:15.5px;margin:0 0 20px}
.mcard dl{margin:0 0 24px;padding:18px 0 0;border-top:1px solid var(--linha);display:grid;
  grid-template-columns:auto 1fr;gap:9px 18px;font-size:14.5px}
.mcard dt{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe);padding-top:3px}
.mcard dd{margin:0;color:var(--grafite)}
.mcard .btn{margin-top:auto;align-self:flex-start}

/* faixa de numeros / formato */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0;padding:0;list-style:none}
.chips li{font-size:13px;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--linha);padding:9px 16px;color:var(--taupe)}
.dark .chips li{border-color:rgba(255,255,255,.28);color:rgba(255,255,255,.82)}

/* bloco de depoimentos com envio */
.depo-envio{background:var(--branco);border:1px solid var(--linha);padding:32px 30px;margin-top:24px}
.depo-envio h3{margin:0 0 8px;font-size:22px}
.depo-envio p{font-size:15.5px}
.depo-envio .form{margin-top:24px;max-width:none}

/* imagem em bloco */
.figura{position:relative;overflow:hidden}
.figura img{width:100%;height:100%;object-fit:cover;display:block}
.figura.tall{aspect-ratio:3/4}
.figura.wide{aspect-ratio:16/9}
.figura.box{aspect-ratio:4/3}
.legenda{font-size:13px;color:var(--taupe);margin:10px 0 0;letter-spacing:.02em}
.dark .legenda{color:rgba(255,255,255,.6)}

@media (max-width:860px){
  .creds .wrap{grid-template-columns:1fr 1fr}
  .creds .wrap > div{padding:22px 18px}
  .creds .wrap > div:nth-child(odd){padding-left:0;border-left:0}
  .creds .wrap > div:nth-child(even){padding-right:0}
  .creds .wrap > div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.2)}
  .creds b{font-size:26px}
  .creds p{font-size:12.5px;letter-spacing:.04em}
}
@media (max-width:420px){
  .brand img{height:34px}
  .brand b{font-size:18px}
  .brand i{font-size:8.5px;letter-spacing:.22em}
  .nav a{font-size:9.5px;letter-spacing:.05em;padding:9px 3px}
  .creds .wrap > div{padding:18px 12px}
  .creds b{font-size:23px}
  .creds p{font-size:12px;line-height:1.45}
}
@media (max-width:860px){
  .hero-faixa .palco{height:auto;aspect-ratio:16/11}
  .hero-faixa .palco img{object-position:62% 26%}
  .hero-faixa .faixa{max-width:none;margin-top:-40px;padding:26px 22px 30px}
  .hero-faixa h1{max-width:none;font-size:clamp(24px,6.2vw,32px);line-height:1.18}
  .hero-faixa h1 span + span{margin-top:6px}
  .hero-faixa .acima{font-size:9.8px;letter-spacing:.10em;margin-bottom:15px;white-space:nowrap}
  .hero-faixa .sob{padding:28px 0 46px}
  .hero-faixa .sob .btn-row{margin-top:24px}
  .mcard{padding:28px 24px}
}

/* ---------- texto corrido justificado ---------- */
p, .bullets li, .regra li, ul:not(.chips):not(.bullets):not(.itens):not(.formacao):not(.pe ul) li{
  text-align:justify;
  text-justify:inter-word;
  hyphens:none;
  -webkit-hyphens:none;
  overflow-wrap:break-word;
}
/* rotulos, numeros e textos curtos continuam alinhados a esquerda */
.eyebrow, .creds p, .creds b, .legenda, .mcard .selo, .mcard dt, .mcard dd,
.tema .t, .chips li, .prova cite, .form label, .pe h4, .pe li, .pe .fim span,
.pilar span, .door .go, .btn, .passo .n, .formacao li, .formacao span,
.aviso, ol.steps li, .sw p, footer.pe p{
  text-align:left;
  hyphens:none;
}
.hero .lead{text-align:left}

/* ---------- faixa de trajetoria em cartoes ---------- */
.trajeto{background:var(--bordo-escuro);padding:clamp(52px,6.5vw,92px) 0}
.trajeto .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);align-items:stretch}
.trajeto > .wrap > div{
  background:var(--osso);
  padding:clamp(30px,3vw,42px) clamp(22px,2.2vw,30px);
  text-align:center;
  display:flex;flex-direction:column;
  box-shadow:0 18px 40px -28px rgba(0,0,0,.7);
}
.trajeto b{
  display:block;font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;
  font-size:clamp(66px,7.6vw,108px);line-height:.92;color:var(--bordo);
  letter-spacing:-.015em;margin-bottom:18px;
}
.trajeto span{
  display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--bordo);margin-bottom:14px;
}
.trajeto p{
  margin:0;font-size:15px;line-height:1.7;color:var(--taupe);
  text-align:center;hyphens:none;overflow-wrap:break-word;max-width:none;
}

@media (max-width:820px){
  .trajeto .wrap{grid-template-columns:1fr;gap:14px}
  .trajeto b{font-size:68px;margin-bottom:12px}
  .trajeto > .wrap > div{padding:30px 26px}
}

/* ---------- revelacao ao rolar e micro-interacoes ---------- */
.com-anim .rv{opacity:0;transform:translateY(16px);
  transition:opacity .68s cubic-bezier(.22,.75,.25,1),transform .68s cubic-bezier(.22,.75,.25,1)}
.com-anim .rv.ok{opacity:1;transform:none}

.trajeto > .wrap > div,.mcard,.prova,.door,.oferta{
  transition:transform .35s cubic-bezier(.22,.75,.25,1),box-shadow .35s ease,background .2s ease}
.trajeto > .wrap > div:hover,.mcard:hover,.prova:hover{
  transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(0,0,0,.55)}
.door:hover{transform:translateY(-2px)}

.figura{overflow:hidden}
.figura img{transition:transform 1.5s cubic-bezier(.2,.8,.2,1)}
.figura:hover img{transform:scale(1.04)}

.trajeto b{font-variant-numeric:tabular-nums}

@media (prefers-reduced-motion:reduce){
  .com-anim .rv{opacity:1;transform:none;transition:none}
  .trajeto > .wrap > div:hover,.mcard:hover,.prova:hover,.door:hover{transform:none}
  .figura:hover img,.hero-faixa:hover .palco img{transform:none}
}

@media (max-width:430px){
  .hero-faixa .acima{font-size:9.4px;letter-spacing:.07em;white-space:normal;line-height:1.7}
  .hero-faixa .faixa{padding:24px 18px 28px;margin-top:-34px}
}

/* lista curta dentro dos cartoes de servico */
.mcard .itens{list-style:none;margin:14px 0 26px;padding:0;display:grid;gap:11px}
.mcard .itens li{position:relative;padding-left:22px;font-size:16px;line-height:1.55;
  color:var(--taupe);text-align:left}
.mcard .itens li::before{content:"";position:absolute;left:0;top:.66em;
  width:9px;height:1.5px;background:var(--bordo)}

.mel{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.via-zap{display:inline-block;margin-left:18px;font-family:"Jost",sans-serif;font-size:13.5px;
  letter-spacing:.04em;color:var(--taupe);text-decoration:underline;text-underline-offset:4px;
  text-decoration-color:var(--linha)}
.via-zap:hover,.via-zap:focus-visible{color:var(--bordo);text-decoration-color:var(--bordo)}
.form .full:has(> button){display:flex;align-items:center;flex-wrap:wrap;gap:10px 0}
@media (max-width:560px){
  .via-zap{margin-left:0;margin-top:12px;display:block}
}
