/* Archivo auto-hospedada. Tira duas conexoes a terceiro e um CSS que bloqueia
   render do caminho critico. O arquivo variavel traz o eixo de largura (wdth),
   que e' justamente o que a marca usa (--wdth 92% no corpo, 100% no display). */
@font-face{font-family:"Archivo";font-style:normal;font-display:swap;
  font-weight:300 700;font-stretch:87.5% 100%;
  src:url("/assets/fontes/archivo-var.woff2") format("woff2-variations")}
@font-face{font-family:"Archivo Black";font-style:normal;font-display:swap;
  font-weight:400;src:url("/assets/fontes/archivo-black.woff2") format("woff2")}

/* reshape.css — só o que a home nova acrescenta ao style.css.
   Nada aqui redefine token nem classe existente: todo seletor começa com .rs-,
   então este arquivo não tem como afetar nenhuma outra página.
   Movimento: reusa o contrato do style.css ([data-anim] + .a = ASSENTAR,
   --dur-acende/--ease-acende = ACENDER). Nada de verbo novo. */

/* ---------- 1. hero em duas colunas ---------- */
.rs-hero{padding:72px 0 88px}
.rs-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);
  gap:56px;align-items:center}
.rs-hero-copy{max-width:60ch}
.rs-hero-mk{min-width:0}
.rs-hero-mk .hv-janela{margin:0;max-width:100%}
@media (max-width:980px){
  .rs-hero-grid{grid-template-columns:1fr;gap:40px}
  .rs-hero-mk{order:2}
}

/* ---------- 1b. hero escuro: texto em cima, palco embaixo ----------
   Fundo escuro com gradiente suave (luz vindo de cima a' direita) e a mesma
   grade de 56px, so' que em branco a 6%. O texto ganha a largura toda e o palco
   conta a historia da esquerda para a direita: o recrutador te acha (leque de
   mensagens) -> as vagas entram no painel -> o aviso chega no celular. */
body[data-page="home"] .rs-escuro{
  --grid:rgba(255,255,255,.06);
  --hz-ink:#FFFFFF; --hz-ink-2:rgba(246,239,233,.80); --hz-muted:rgba(246,239,233,.62);
  padding:clamp(44px,4.6vw,68px) 0 clamp(72px,8vw,112px);
  color:var(--hz-ink);
  background:
    radial-gradient(70% 62% at 86% -6%,rgba(246,239,233,.17) 0%,rgba(246,239,233,.06) 42%,transparent 72%),
    radial-gradient(52% 46% at 4% 104%,rgba(232,67,18,.13) 0%,transparent 70%),
    linear-gradient(168deg,#0B0304 0%,#170609 48%,#26100F 100%);
}
body[data-page="home"] .rs-escuro::before{
  -webkit-mask-image:radial-gradient(ellipse 85% 75% at 50% 38%,#000 20%,transparent 78%);
          mask-image:radial-gradient(ellipse 85% 75% at 50% 38%,#000 20%,transparent 78%)}
body[data-page="home"] .rs-escuro .wrap{display:block}

/* texto: largo e centrado no desktop */
.rs-hz-copy{text-align:center;max-width:1120px}
body[data-page="home"] .rs-escuro .eyebrow{color:var(--hz-muted);justify-content:center}
body[data-page="home"] .rs-escuro h1{color:var(--hz-ink);font-size:clamp(32px,4.1vw,56px);
  line-height:1.08;letter-spacing:-.028em;margin:22px auto 0;max-width:24ch;text-wrap:balance}
body[data-page="home"] .rs-escuro h1 .accent{color:#FF6A3D}
body[data-page="home"] .rs-escuro h1 .accent::after{background:#FF6A3D}
.rs-escuro .rs-br{display:none}
@media (min-width:1100px){
  body[data-page="home"] .rs-escuro h1{max-width:none}
  .rs-escuro .rs-br{display:inline}
}
.rs-hz-lead{max-width:720px;margin:26px auto 0}
body[data-page="home"] .rs-escuro .lead{margin:0;max-width:none;color:var(--hz-ink-2);
  font-size:clamp(16px,1.35vw,18.5px);line-height:1.65}
body[data-page="home"] .rs-escuro .lead + .lead{margin-top:12px}
.rs-escuro .lead b{color:var(--hz-ink);font-weight:600}
.rs-escuro .cta{justify-content:center;margin-top:34px}
.rs-escuro .btn-xl{box-shadow:0 10px 30px -10px rgba(232,67,18,.55)}
.rs-escuro .hero-sub{color:var(--hz-muted)}
.rs-escuro .hero-sub a{color:var(--hz-ink)}
.rs-escuro .hero-sub a:hover{color:#FFA688}
body[data-page="home"] .rs-escuro .trust{justify-content:center;gap:10px 26px;margin-top:22px;color:var(--hz-muted)}
.rs-escuro .trust svg{color:#FF6A3D}
.rs-escuro .trust a{color:var(--hz-ink-2);text-decoration:underline;text-decoration-color:rgba(246,239,233,.35);text-underline-offset:3px}
.rs-escuro .trust a:hover{color:var(--hz-ink)}
@media (max-width:640px){
  .rs-hz-copy{text-align:left}
  body[data-page="home"] .rs-escuro .eyebrow{justify-content:flex-start}
  body[data-page="home"] .rs-escuro h1{margin-left:0;font-size:31px}
  .rs-hz-lead{margin-left:0}
  .rs-escuro .cta{justify-content:flex-start}
  body[data-page="home"] .rs-escuro .trust{justify-content:flex-start;flex-direction:column;gap:8px}
}

/* ---------- palco: leque | painel | celular ----------
   As posicoes laterais sao calculadas a partir da borda do painel (50% +- metade
   da largura dele), entao o conjunto se mantem amarrado em qualquer largura. */
.rs-palco{--pw:min(62%,760px);position:relative;width:min(1180px,calc(100% - 40px));
  margin:clamp(48px,4.4vw,64px) auto 0}
.rs-palco-centro{position:relative;z-index:2;width:var(--pw);margin:0 auto}
.rs-escuro .hv-janela{border-color:rgba(255,255,255,.14);
  box-shadow:0 0 0 1px rgba(0,0,0,.4),0 30px 70px -20px rgba(0,0,0,.7),0 60px 120px -40px rgba(232,67,18,.25)}

/* leque de mensagens de recrutador */
.rs-leque{position:absolute;z-index:3;top:6%;right:calc(50% + var(--pw) / 2 - 56px);
  width:21.5em;height:20em;font-size:13px}
.rs-inmail{position:absolute;left:0;width:21.5em;padding:1em 1.15em .9em;border-radius:14px;
  background:#FFFFFF;color:#1F0A0C;text-align:left;
  box-shadow:0 1px 2px rgba(0,0,0,.25),0 18px 40px -14px rgba(0,0,0,.6);
  transform-origin:100% 100%}
.rs-inmail header{display:flex;align-items:center;gap:.7em}
.rs-av{flex:0 0 auto;width:2.6em;height:2.6em;border-radius:50%;display:grid;place-items:center;
  background:var(--av);color:#fff;font-size:.86em;font-weight:700;letter-spacing:.02em}
.rs-quem{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.rs-quem b{font-size:1em;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rs-quem small{font-size:.84em;color:#6B5A58;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rs-li{flex:0 0 auto;width:1.3em;height:1.3em;margin-left:auto;align-self:flex-start;fill:#0A66C2}
.rs-inmail p{margin:.75em 0 0;font-size:.98em;line-height:1.45;color:#3B2A29}
.rs-inmail p b{color:#1F0A0C;font-weight:650}
.rs-inmail footer{display:flex;align-items:center;gap:.5em;margin-top:.75em;font-size:.8em;color:#8A7774}
.rs-novo{background:#0A66C2;color:#fff;font-weight:700;font-size:.92em;padding:.15em .55em;border-radius:99px}
.rs-c1{top:0;transform:rotate(-7deg)}
.rs-c2{top:4.4em;transform:rotate(-3.5deg)}
.rs-c3{top:8.8em;transform:rotate(0deg)}

/* celular: o aparelho inteiro escala, como no .hv-fone antigo */
.rs-fone-pos{position:absolute;z-index:3;left:calc(50% + var(--pw) / 2 - 64px);bottom:-56px;
  width:360px;height:720px;pointer-events:none}
.rs-fone{width:360px;transform:scale(.58) rotate(3deg);transform-origin:0 100%;
  position:absolute;left:0;bottom:0;filter:drop-shadow(0 30px 50px rgba(0,0,0,.55))}
.rs-fone .phone-wrap{width:360px;margin:0;--ph-w:360px;transform:none}
.rs-fone .phone-wrap:hover{transform:none}
.rs-fone .phone-glow{display:none}

@media (max-width:1180px){
  .rs-palco{--pw:min(60%,700px)}
  .rs-leque{font-size:10.5px}
  .rs-fone{transform:scale(.5) rotate(3deg)}
}
/* tablet e celular: o painel ocupa a largura; o leque vira faixa acima dele e
   o aparelho pousa no canto de baixo, a' direita. Lado a lado nao cabe abaixo
   de 900px sem o leque sair da tela. */
@media (max-width:900px){
  .rs-palco{--pw:100%}
  .rs-leque{position:relative;top:auto;right:auto;font-size:12px;height:13.4em;width:100%;margin-bottom:-.8em}
  .rs-inmail{width:min(26em,92%)}
  .rs-c1{left:2%;top:0;transform:rotate(-4deg)}
  .rs-c1 p,.rs-c1 footer{visibility:hidden}   /* cartao de tras: so' o cabecalho aparece */
  .rs-c2{display:none}
  .rs-c3{left:5%;top:5.2em;transform:rotate(1deg)}
  .rs-fone-pos{left:auto;right:-6px;bottom:-58px}
  .rs-fone{left:auto;right:0;transform:scale(.36) rotate(4deg);transform-origin:100% 100%}
}
@media (max-width:640px){
  .rs-palco{width:calc(100% - 32px);margin-top:44px}
  .rs-leque{font-size:10.5px}
  .rs-fone{transform:scale(.28) rotate(4deg)}
}

/* a prova agora e' a secao #fundador do proprio site, com o CSS dela no
   style.css. Nao duplico aqui. */

/* ---------- 3 e 7. grades de cartão ---------- */
.rs-grid-3,.rs-grid-4{display:grid;gap:20px}
.rs-grid-3{grid-template-columns:repeat(3,1fr)}
.rs-grid-4{grid-template-columns:repeat(4,1fr)}
.rs-grid-3 h3,.rs-grid-4 h3,.rs-passos h3{font-size:16px;letter-spacing:-.01em;margin-bottom:8px}
@media (max-width:980px){.rs-grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.rs-grid-3,.rs-grid-4{grid-template-columns:1fr}}

/* ---------- 4. passos numerados ---------- */
.rs-passos{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:passo}
.rs-passos li{margin:0}
.rs-num{display:block;font-family:var(--font-display);font-weight:400;
  font-size:40px;line-height:1;color:var(--brand-soft-2);margin-bottom:12px}
@media (max-width:760px){.rs-passos{grid-template-columns:1fr}}

/* ---------- 5. ATS e números ---------- */
.rs-ats{list-style:none;margin:0 0 32px;padding:0;display:grid;
  grid-template-columns:repeat(9,1fr);gap:12px}
.rs-ats li{margin:0;min-width:0}
.rs-ats li>span,.rs-ats li>img{display:flex;align-items:center;justify-content:center;
  height:64px;padding:0 10px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--shadow-sm);
  font-size:12.5px;font-weight:600;letter-spacing:.01em;color:var(--ink-2);
  text-align:center;line-height:1.2;overflow:hidden}
.rs-ats li>img{object-fit:contain;width:100%}
@media (max-width:1100px){.rs-ats{grid-template-columns:repeat(5,1fr)}}
@media (max-width:620px){.rs-ats{grid-template-columns:repeat(3,1fr)}}

.rs-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;
  background:var(--brand-soft);border:1px solid var(--brand-line);
  border-radius:var(--r-xl);padding:28px 32px}
.rs-nums .kpi{display:flex;flex-direction:column;gap:4px;min-width:0}
.rs-nums .kpi strong{font-family:var(--font-display);font-weight:400;font-size:34px;
  line-height:1.05;letter-spacing:-.01em;color:var(--brand-ink-on-soft);
  font-variant-numeric:tabular-nums}
.rs-nums .kpi span{font-size:13.5px;color:var(--brand-ink-on-soft)}
.rs-nota{margin-top:16px;font-size:13px;color:var(--faint)}
@media (max-width:760px){.rs-nums{grid-template-columns:repeat(2,1fr);gap:20px}}

/* ---------- 6. produto: a faixa escura da pagina ----------
   A home inteira e' clara. Uma faixa vinho aqui da' espinha ao documento e
   faz a secao parar de parecer "mais uma lista de cards".
   Um acento so': o laranja marca o passo ativo. As seis cores do pipeline
   ficam nos pontos, que sao sinal, nao texto -- em #280309 nenhum --slate
   ou --blue solido passaria contraste como tipografia. */
.pr{position:relative;overflow:hidden;background:var(--wine);color:var(--wine-ink);
  padding:clamp(88px,11vw,160px) 0;isolation:isolate}
.pr-wrap{position:relative;z-index:2}

/* o print do painel ao fundo, quase apagado: da' contexto sem competir */
.pr-fundo{position:absolute;left:38%;right:-10%;top:30%;bottom:-6%;z-index:0;
  opacity:.1;pointer-events:none;filter:saturate(.35) contrast(.9);
  -webkit-mask-image:radial-gradient(100% 80% at 60% 50%,#000 20%,transparent 70%);
          mask-image:radial-gradient(100% 80% at 60% 50%,#000 20%,transparent 70%)}
.pr-fundo .hv-janela{margin:0;width:100%;box-shadow:none;border:0;background:none}
@media (max-width:980px){.pr-fundo{display:none}}

.pr-cab{margin-bottom:clamp(40px,4.5vw,64px)}
.pr-olho{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--brand-on-dark);margin-bottom:18px}
/* tipo como heroi: a Archivo Black finalmente no tamanho pra que serve */
.pr-tit{font-family:var(--font-display);font-weight:400;font-stretch:100%;
  font-size:clamp(34px,5.4vw,76px);line-height:1.02;letter-spacing:-.025em;
  color:var(--wine-ink);margin:0;max-width:15ch;text-wrap:balance}

/* assimetria 7/5, nao tres colunas iguais */
.pr-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  gap:clamp(40px,6vw,96px);align-items:start}
@media (max-width:980px){.pr-grid{grid-template-columns:1fr;gap:56px}}

.pr-trilho{list-style:none;margin:0;padding:0;position:relative}
.pr-passo:first-child{padding-top:0}
.pr-passo:first-child .pr-dot{top:6px}
/* o fio que liga os seis passos */
.pr-trilho::before{content:"";position:absolute;left:5px;top:14px;bottom:14px;width:1px;
  background:linear-gradient(180deg,transparent,rgba(246,239,233,.22) 12%,rgba(246,239,233,.22) 88%,transparent)}

.pr-passo{position:relative;display:grid;grid-template-columns:34px 1fr;
  column-gap:22px;row-gap:4px;padding:clamp(13px,1.5vw,20px) 0}
/* Apagar os passos inativos so' vale quando ha' quem os acenda. Sem JS, ou
   com reduced-motion (onde motion.js sai antes de marcar .m-on), os seis
   ficam legiveis -- caso contrario cinco deles seriam texto a 34% que
   ninguem nunca acende. */
.m-on .pr-passo h3{opacity:.62;transition:opacity .45s cubic-bezier(.16,1,.3,1),color .45s cubic-bezier(.16,1,.3,1)}
.m-on .pr-passo.on h3{opacity:1}
.m-on .pr-dot{opacity:.5;transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1)}
.m-on .pr-passo.on .pr-dot{opacity:1}
.pr-dot{position:absolute;left:0;top:calc(clamp(13px,1.5vw,20px) + 6px);
  width:11px;height:11px;border-radius:50%;background:var(--c);
  box-shadow:0 0 0 4px var(--wine);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.m-on .pr-passo.on .pr-dot{transform:scale(1.35)}
.pr-n{grid-column:2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:11px;letter-spacing:.14em;color:rgba(246,239,233,.58)}
.pr-passo h3{grid-column:2;margin:0;font-size:clamp(19px,1.9vw,25px);
  letter-spacing:-.015em;line-height:1.1;color:var(--wine-ink)}
.m-on .pr-passo.on h3{color:var(--brand-on-dark)}
.pr-passo p{grid-column:2;margin:6px 0 0;max-width:46ch;font-size:15px;
  line-height:1.55;color:rgba(246,239,233,.68)}

.pr-fone{display:flex;flex-direction:column;align-items:center;gap:20px;min-width:0}
.pr-fone .phone-wrap{margin:0}
.pr-leg{max-width:34ch;text-align:center;font-size:13.5px;line-height:1.5;
  color:rgba(246,239,233,.55)}

/* ---------- 8. planos ---------- */
.rs-planos{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
  max-width:860px}
.rs-plano{display:flex;flex-direction:column;gap:14px;padding:32px}
.rs-plano ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;flex:1}
.rs-plano li{margin:0;padding-left:22px;position:relative;font-size:14.5px;color:var(--ink-2)}
.rs-plano li::before{content:"✳";position:absolute;left:0;top:0;color:var(--brand);font-size:12px}
.rs-preco{margin:0;display:flex;align-items:baseline;gap:8px}
.rs-preco strong{font-family:var(--font-display);font-weight:400;font-size:40px;
  line-height:1;letter-spacing:-.015em;color:var(--ink)}
.rs-preco span{font-size:14px;color:var(--muted)}
.rs-plano-nota{margin:0;font-size:14px;color:var(--muted)}
.rs-plano-on{background:var(--brand-soft);border-color:var(--brand-line);
  border-width:2px;box-shadow:var(--shadow-md)}
.rs-plano-on .rs-plano-nota,.rs-plano-on .eyebrow{color:var(--brand-ink-on-soft)}
@media (max-width:760px){.rs-planos{grid-template-columns:1fr}}

/* ---------- quem pediu menos movimento, recebe menos ---------- */
@media (prefers-reduced-motion:reduce){
  .js [data-anim]:not(.in) .rs-prints li{opacity:1;transform:none}
  .js [data-anim].in .rs-prints li{transition:none;transition-delay:0s}
}

/* logo de ATS quando existe o SVG; sem ele o <li> fica só com o nome */
.rs-ats li.tem-logo>span{flex-direction:column;gap:6px;padding:10px}
.rs-ats li.tem-logo svg{width:22px;height:22px;flex:none;color:var(--ink-2)}
.rs-ats li.tem-logo b{font-weight:600;font-size:11px;line-height:1.1;color:var(--muted)}

/* ===========================================================================
   SISTEMA EDITORIAL — aplica a direcao da Etapa 0 na pagina toda.
   Seletores com `main` na frente (0,1,2) para ganhar das regras equivalentes
   do style.css sem !important e sem depender de ordem de arquivo.
   =========================================================================== */

/* 1. REGUA DE AR. 88px uniforme e apertado era boa parte da sensacao de
   "infantil". Secao respira em funcao da largura da tela. */
main .section{padding:clamp(80px,9.5vw,148px) 0}
/* O style.css centraliza o cabecalho de secao. 'Tudo centralizado' esta' na
   lista de vicios da DIRECAO.md, e centralizado briga com a assimetria da
   grade logo abaixo. Volta para a margem. */
main .section-head{margin-bottom:clamp(40px,5vw,72px);max-width:none;
  text-align:left;margin-left:0;margin-right:0}
main .section-head h2,main .section-head p,main .section-head .eyebrow{margin-left:0}

/* 2. TIPO COMO HEROI. A Archivo Black estava sendo usada no tamanho de um
   subtitulo. A medida vai no proprio h1/h2 -- `ch` no pai resolve contra os
   16px do corpo, nao contra os 60px do titulo. */
main .hero h1{font-size:clamp(38px,6.2vw,88px);line-height:.98;letter-spacing:-.03em;
  max-width:13ch;text-wrap:balance}
main .section-head h2{font-size:clamp(30px,4.2vw,58px);line-height:1.02;
  letter-spacing:-.028em;max-width:17ch;text-wrap:balance;
  font-family:var(--font-display);font-weight:400;font-stretch:100%}
main .section-head p{font-size:17.5px;line-height:1.55;max-width:56ch;margin-top:16px}
main .hero .lead{font-size:19px;line-height:1.5;max-width:50ch}

/* 3. NUMERACAO EDITORIAL. Cabe porque a pagina e' uma sequencia de oito
   movimentos, nao porque numero enfeita. */
.rs-num-sec{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-weight:500;font-size:11px;letter-spacing:.12em;opacity:.6;margin-right:2px}

/* 4. ASSIMETRIA onde ela le como decisao: na grade, nao no cabecalho.
   O primeiro cartao de cada trio carrega mais peso -- e e' sempre o que
   enuncia o problema. Tres colunas iguais sao a definicao de layout sem
   hierarquia. */
main .rs-grid-3{grid-template-columns:1.3fr 1fr 1fr;gap:clamp(16px,1.6vw,24px)}
main .rs-grid-3 .card:first-child{background:var(--brand-soft);border-color:var(--brand-line)}
main .rs-grid-3 .card:first-child h3{color:var(--brand-ink-on-soft)}
main .rs-passos{grid-template-columns:1fr 1fr 1.15fr;gap:clamp(16px,1.6vw,24px)}
@media (max-width:860px){
  main .rs-grid-3,main .rs-passos{grid-template-columns:1fr}
}

/* 5. UM ACENTO SO'. Cartao deixa de ser objeto com sombra e virar superficie
   com fio: a sombra em tudo achatava a hierarquia. Elevacao fica reservada
   para o plano em destaque, que e' onde a pagina quer o clique. */
main .card{box-shadow:none;border-color:var(--line);padding:clamp(22px,2.4vw,30px);
  border-radius:var(--r-xl);background:var(--surface)}
main .card h3{font-size:17px;letter-spacing:-.012em;line-height:1.2}
main .rs-plano-on{box-shadow:var(--shadow-md)}

/* 6. MOVIMENTO. O stagger do ASSENTAR ja' vem do motion.js; aqui so' o estado
   de repouso de quem tem JS, para que o primeiro quadro nao fique vazio
   quando a secao ja' esta' na tela ao carregar. */
.m-on [data-m="assenta"] .m{will-change:transform,opacity}

/* o olho da secao do produto tambem recebe seu numero */
.pr-olho .rs-num-sec{opacity:.75}

/* header da home acompanha o hero escuro (so' com o hero escuro na pagina: body[data-hero=escuro]) */
body[data-hero="escuro"] .site-header{background:#0C0304;background:color-mix(in srgb,#0C0304 97%,transparent);
  border-bottom-color:rgba(255,255,255,.08)}
body[data-hero="escuro"] .site-header .logo,
body[data-hero="escuro"] .site-header .logo:hover,
body[data-hero="escuro"] .site-header .logo-word{color:#FFFFFF}
body[data-hero="escuro"] .site-header .logo-sub{color:rgba(246,239,233,.6)}
body[data-hero="escuro"] .nav a{color:rgba(246,239,233,.82)}
body[data-hero="escuro"] .nav a:hover{color:#FFFFFF;background:rgba(255,255,255,.07)}
body[data-hero="escuro"] .nav a.btn{color:var(--btn-ink)}
body[data-hero="escuro"] .nav a.btn:hover{color:var(--btn-ink);background:var(--btn-hover)}
body[data-hero="escuro"] .nav a.btn-quiet{color:#FFFFFF}
body[data-hero="escuro"] .nav a.btn-quiet:hover{background:rgba(255,255,255,.08)}
body[data-hero="escuro"] .avatar-link{color:#FFFFFF;border-color:rgba(255,255,255,.18)}

/* ---------- secoes 01-04: medida larga, cartoes flutuantes, carrossel ----------
   Os titulos de secao estavam presos em 17ch e quebravam em 4 linhas; agora
   seguem a largura do hero (2 a 3 linhas). Cartoes ganham sombra de objeto
   suspenso, a pedido: a hierarquia continua no conteudo, nao na sombra. */
main .section-head h2{max-width:min(30ch,100%)}
main .section-head p{max-width:66ch}
@media (max-width:640px){main .section-head h2{max-width:none}}

/* cartoes flutuantes (O problema, Como funciona) */
main #dores .card,main #como-funciona .card{
  border-color:rgba(40,3,9,.07);
  box-shadow:0 1px 2px rgba(40,3,9,.05),0 16px 36px -16px rgba(40,3,9,.24),0 34px 64px -40px rgba(40,3,9,.22);
  transition:transform .25s ease,box-shadow .25s ease}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  main #dores .card:hover,main #como-funciona .card:hover{transform:translateY(-4px);
    box-shadow:0 2px 4px rgba(40,3,9,.06),0 22px 44px -16px rgba(40,3,9,.30),0 44px 80px -40px rgba(40,3,9,.26)}
}
main #dores .card h3{color:var(--brand-ink-on-soft)}

/* como funciona: cinco passos */
main #como-funciona .rs-passos{grid-template-columns:repeat(5,minmax(0,1fr))}
main #como-funciona .rs-passos h3{font-size:16px}
main #como-funciona .rs-passos p{font-size:14.5px;line-height:1.55}
@media (max-width:1100px){main #como-funciona .rs-passos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){main #como-funciona .rs-passos{grid-template-columns:1fr}}

/* carrossel dos convites: sem barra, setas nas bordas, rolagem automatica */
.fd-carrossel{position:relative}
.fd-carrossel .fd-mural{scrollbar-width:none;-ms-overflow-style:none;padding:24px 8px 44px;scroll-padding-inline:8px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 48px,#000 calc(100% - 48px),transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 48px,#000 calc(100% - 48px),transparent 100%)}
.fd-carrossel .fd-mural::-webkit-scrollbar{display:none}
.fd-carrossel .fd-mural:focus-visible{outline:2px solid var(--brand);outline-offset:4px;border-radius:var(--r-xl)}
.fd-carrossel .fd-mural li{border-color:rgba(40,3,9,.06);
  box-shadow:0 2px 6px rgba(40,3,9,.06),0 22px 44px -18px rgba(40,3,9,.32),0 40px 70px -44px rgba(40,3,9,.24)}
.fd-seta{display:none}
.js .fd-seta{position:absolute;z-index:2;top:calc(50% - 10px);transform:translateY(-50%);display:grid;place-items:center;
  width:46px;height:46px;border-radius:50%;padding:0;cursor:pointer;
  background:var(--surface);color:var(--ink);border:1px solid var(--line);
  box-shadow:0 10px 26px -8px rgba(40,3,9,.38);transition:color .2s ease,transform .2s ease}
.js .fd-seta:hover{color:var(--brand)}
.js .fd-seta:active{transform:translateY(-50%) scale(.94)}
.js .fd-seta:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.fd-seta svg{width:20px;height:20px}
.fd-ant{left:-6px}.fd-prox{right:-6px}
@media (max-width:640px){.js .fd-seta{width:40px;height:40px}.fd-ant{left:-2px}.fd-prox{right:-2px}}

/* secao 01: titulo em 2 linhas e o paragrafo na mesma largura dele. O cabecalho
   leva o tamanho do titulo e a largura em em, entao os dois escalam juntos. */
main #fundador .section-head{font-size:clamp(24px,2.6vw,36px);max-width:min(23.6em,100%)}
main #fundador .section-head h2{max-width:none;font-size:1em}
main #fundador .section-head p{max-width:none}

/* respiro entre secoes: menor e uniforme (era 80-148px por lado) */
main .section{padding:clamp(56px,6vw,92px) 0}
main .pr{padding:clamp(64px,7vw,108px) 0}

/* hero -> secao 01: o escuro desmancha no creme em vez de cortar seco */
body[data-page="home"] .rs-escuro{padding-bottom:clamp(96px,9vw,136px)}
.rs-escuro::after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:0;pointer-events:none;
  height:clamp(130px,13vw,200px);
  background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--bg-tint) 6%,transparent) 28%,
    color-mix(in srgb,var(--bg-tint) 30%,transparent) 58%,color-mix(in srgb,var(--bg-tint) 74%,transparent) 84%,var(--bg-tint) 100%)}
main .rs-escuro + .fundador{border-top:0;padding-top:clamp(28px,3vw,48px)}

/* ===== v18: produto, prova, preco, faixa, faq, rodape ===== */
/* titulos em fundo escuro: a regra global da home (h1-h3 em --ink) vencia as
   classes .pr-tit/.pr-passo/.band e deixava texto preto no vinho */
body[data-page="home"] .pr-tit,body[data-page="home"] .pr-passo h3,body[data-page="home"] .band h2{color:var(--wine-ink)}
body[data-page="home"] .pr-tit{font-size:clamp(28px,4vw,58px);max-width:none;line-height:1.06}

/* produto: a pagina rola normal (sem pin), o celular acompanha ao lado e o
   passo que cruza o meio da tela acende. overflow:clip em vez de hidden porque
   hidden vira container de rolagem e mata o sticky. */
.pr{overflow:hidden;overflow:clip}
.pr-fone{align-self:start}
@media (min-width:981px) and (min-height:860px){.pr-fone{position:sticky;top:calc(64px + 3vh)}}

/* prova: so' os cartoes, flutuantes e com titulo laranja */
main #checar .section-head{margin-bottom:clamp(20px,2.4vw,32px)}
main #checar .card{border-color:rgba(40,3,9,.07);
  box-shadow:0 1px 2px rgba(40,3,9,.05),0 16px 36px -16px rgba(40,3,9,.24),0 34px 64px -40px rgba(40,3,9,.22);
  transition:transform .25s ease,box-shadow .25s ease}
main #checar .card h3{color:var(--brand-ink-on-soft)}

/* preco: cabecalho e planos centrados, titulo em uma linha, planos flutuantes */
main #preco .section-head{text-align:center;margin-left:auto;margin-right:auto}
main #preco .section-head .eyebrow{justify-content:center}
main #preco .section-head h2,main #preco .section-head p{margin-left:auto;margin-right:auto}
main #preco .section-head h2{max-width:none;font-size:clamp(22px,2.1vw,30px)}
@media (min-width:1000px){main #preco .section-head h2{white-space:nowrap}}
main #preco .rs-planos{margin-left:auto;margin-right:auto;max-width:880px}
main #preco .rs-plano{border-color:rgba(40,3,9,.07);
  box-shadow:0 1px 2px rgba(40,3,9,.05),0 16px 36px -16px rgba(40,3,9,.24),0 34px 64px -40px rgba(40,3,9,.22);
  transition:transform .25s ease,box-shadow .25s ease}
main #preco .rs-plano-on{border-color:var(--brand-line);
  box-shadow:0 1px 2px rgba(232,67,18,.08),0 18px 40px -16px rgba(232,67,18,.30),0 36px 70px -40px rgba(40,3,9,.24)}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  main #checar .card:hover,main #preco .rs-plano:hover{transform:translateY(-4px)}
}

/* faixa final: frase em uma linha */
body[data-page="home"] .band h2{max-width:none}
@media (min-width:900px){body[data-page="home"] .band h2{white-space:nowrap;font-size:clamp(24px,2.5vw,34px)}}

/* faq: titulo em uma linha, coluna mais larga */
main #faq .wrap-narrow{max-width:960px}
main #faq .section-head h2{max-width:none;font-size:clamp(22px,2.4vw,32px)}
@media (min-width:760px){main #faq .section-head h2{white-space:nowrap}}
main #faq .faq{max-width:none}

/* rodape: LinkedIn da empresa */
.footer-social{display:inline-flex;align-items:center;gap:10px;margin-top:18px;color:var(--ink-2);
  font-size:14px;font-weight:600;text-decoration:none}
.footer-social svg{width:22px;height:22px;fill:#0A66C2;flex:none}
.footer-social:hover{color:#0A66C2;text-decoration:none}

/* celulares (hero e produto): nome do bot e titulo da mensagem herdavam a cor
   clara da secao escura e sumiam no fundo branco do Telegram */
.phone .tg-name,.phone .tg-head{color:var(--ink)}
