/* Negócios Felizes · LP Código Único
   Direção visual Dani × NF (20/10/2026): "Dani é a voz. NF é o método. Mesmo DNA, intensidades diferentes."
   - Voz da Dani: frase solta, peso forte, entrelinha apertada, coral só na palavra final (.titulo-voz).
   - Método NF: caixa alta, estruturado (.titulo-metodo).
   - Linguagem gráfica: enquadrar (L), abrir (quadrado com canto), conectar (foto com canto), expandir (grade + bloco coral).
   Paleta pendente de confirmação (A1). Fontes provisórias até o manual (A2). */

/* Fontes hospedadas no próprio site (sem Google Fonts): variáveis, recortadas para o português */
@font-face { font-family: "Inter Tight"; font-style: normal; font-weight: 600 900; font-display: swap; src: url(../fonts/inter-tight.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 300 700; font-display: swap; src: url(../fonts/inter.woff2) format("woff2"); }
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 300 400; font-display: swap; src: url(../fonts/fraunces.woff2) format("woff2"); }
:root {
  --preto: #0A0A0A;
  --offwhite: #F7F4ED;
  --coral: #FF5A4F;
  --coral-2: #FF6B5B;
  --coral-3: #F65B4E;
  --cinza: #D8D4CE;
  --areia: #EFEBE3;
  --grafite: #1A1918;
  --linha-escura: #2A2927;
  --texto: #1C1B19;
  --texto-suave: #5E5A54;
  --pendente-bg: #FFF4C2;
  --pendente-borda: #E0B400;

  --f-titulo: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --f-editorial: "Fraunces", Georgia, serif;
  --f-texto: "Inter", "Helvetica Neue", Arial, sans-serif;

  --gutter: 20px;
  --max: 1200px;
  --l: 8px;          /* espessura da moldura em L */
}
@media (min-width: 900px) { :root { --gutter: 40px; --l: 10px; } }

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--offwhite); color: var(--texto);
  font-family: var(--f-texto); font-weight: 400; font-size: 17px; line-height: 1.6;
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
figure { margin: 0; }

.container { width: 100%; max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); position: relative; }
section { padding: 72px 0; position: relative; }
@media (min-width: 900px) { section { padding: 120px 0; } }
.escura { background: var(--preto); color: var(--offwhite); }
.clara { background: var(--areia); }

/* Tipografia */
h1, h2, h3 { font-family: var(--f-titulo); margin: 0 0 24px; }
h3 { font-size: 22px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; }
p { margin: 0 0 16px; }

.titulo-voz {
  font-weight: 800; letter-spacing: -0.055em; line-height: .98;
  font-size: clamp(34px, 7.4vw, 64px); max-width: 17ch;
}
.titulo-metodo {
  font-weight: 900; text-transform: uppercase; letter-spacing: -0.035em; line-height: .95;
  font-size: clamp(34px, 7.6vw, 72px); max-width: 14ch;
}
.rotulo {
  display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-bottom: 18px;
  font-family: var(--f-texto); font-size: 12px; font-weight: 700; letter-spacing: .16em;
  text-transform: uppercase; color: var(--coral-3);
}
.rotulo::before { content: ""; width: 22px; height: 2px; background: currentColor; }
.escura .rotulo { color: var(--coral); }
.destaque { color: var(--coral); }
.editorial { font-family: var(--f-editorial); font-weight: 300; letter-spacing: -0.01em; font-style: normal; }
.linha-apoio { font-size: 19px; color: var(--texto-suave); max-width: 46ch; }
.linha-apoio .editorial { font-size: 1.5em; color: var(--texto); }

/* ENQUADRAR: L coral no canto superior direito e inferior esquerdo */
.enquadrar { position: relative; }
.enquadrar::before, .enquadrar::after { content: ""; position: absolute; pointer-events: none; z-index: 2; }
.enquadrar::before { top: calc(var(--l) * -1.4); right: calc(var(--l) * -1.4); width: 26%; height: 34%; border-top: var(--l) solid var(--coral); border-right: var(--l) solid var(--coral); }
.enquadrar::after  { bottom: calc(var(--l) * -1.4); left: calc(var(--l) * -1.4); width: 26%; height: 34%; border-bottom: var(--l) solid var(--coral); border-left: var(--l) solid var(--coral); }

/* ABRIR: quadrado em linha fina com o canto coral */
.abrir { position: relative; border: 1px solid var(--texto); }
.abrir::after { content: ""; position: absolute; top: 10px; right: 10px; width: 26px; height: 26px; border-top: 4px solid var(--coral); border-right: 4px solid var(--coral); }

/* CONECTAR: foto com canto coral deslocado */
.conectar { position: relative; }
.conectar::before { content: ""; position: absolute; top: -14px; right: -14px; width: 38%; height: 30%; border-top: var(--l) solid var(--coral); border-right: var(--l) solid var(--coral); z-index: 2; pointer-events: none; }

/* EXPANDIR: grade de linhas finas com um bloco coral */
.grade-linhas {
  position: absolute; top: 0; right: 0; width: min(46vw, 560px); height: 100%; pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(247,244,237,.09) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(247,244,237,.09) 1px, transparent 1px);
  background-size: 92px 92px; background-position: -1px -1px;
  -webkit-mask-image: linear-gradient(to left, #000 30%, transparent);
          mask-image: linear-gradient(to left, #000 30%, transparent);
}
.grade-linhas .bloco { position: absolute; right: 92px; bottom: 92px; width: 92px; height: 46px; background: var(--coral); }
.grade-linhas.canto { width: 280px; height: 280px; top: auto; bottom: 0; }
.grade-linhas.canto .bloco { right: 0; bottom: 0; }

/* Botão: um único tipo na página */
.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 58px; padding: 16px 30px; border: 0; border-radius: 0;
  background: var(--coral); color: var(--preto);
  font-family: var(--f-titulo); font-weight: 800; font-size: 17px; letter-spacing: -0.01em;
  text-decoration: none; cursor: pointer; width: 100%; text-align: center;
  box-shadow: 6px 6px 0 var(--offwhite); transition: transform .15s, box-shadow .15s, background .15s;
}
.clara .botao, .espelho .botao { box-shadow: 6px 6px 0 var(--preto); }
.botao:hover { background: var(--coral-2); transform: translate(-2px, -2px); box-shadow: 8px 8px 0 var(--offwhite); }
.botao:active { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--offwhite); }
.botao:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, .topo-cta:focus-visible, .video:focus-visible {
  outline: 3px solid var(--coral); outline-offset: 3px;
}
.botao .seta { font-size: 20px; line-height: 1; transition: transform .15s; }
.botao:hover .seta { transform: translateX(4px); }
@media (min-width: 768px) { .botao { width: auto; } }
@media (max-width: 420px) { .botao { font-size: 16px; padding: 14px 18px; } .botao .seta { display: none; } }
@media (max-width: 359px) { .botao, .cta-fixo .botao { font-size: 15px; padding: 14px 12px; letter-spacing: -0.02em; } }
/* Etiqueta do topo numa linha só a partir de 360px; abaixo disso quebra sem o separador solto */
@media (max-width: 389px) { .hero .rotulo { font-size: 11px; letter-spacing: .13em; gap: 4px 8px; } .hero .rotulo::before { width: 16px; } }
@media (max-width: 359px) { .hero .rotulo-sep { display: none; } }
.nota-botao { font-size: 14px; color: var(--cinza); margin-top: 20px; max-width: 46ch; }

/* Aviso visível de pendência: nunca vai para o ar */
.pendente {
  background: var(--pendente-bg); border: 2px dashed var(--pendente-borda); color: #4A3B00;
  font-family: var(--f-texto); font-size: 13px; font-style: normal; font-weight: 400; line-height: 1.45;
  padding: 10px 12px; margin: 16px 0; text-transform: none; letter-spacing: 0;
}
.pendente::before { content: "PENDENTE · "; font-weight: 800; letter-spacing: .06em; }

/* Topo */
.topo { position: relative; z-index: 50; background: rgba(10,10,10,.92); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-bottom: 1px solid var(--linha-escura); }
.topo-linha { display: flex; align-items: center; justify-content: space-between; min-height: 64px; }
.logo { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: var(--offwhite); text-decoration: none; font-family: var(--f-titulo); }
.logo-nf { font-weight: 900; font-size: 30px; letter-spacing: -0.07em; line-height: 1; position: relative; padding-right: 2px; }
.logo-nf span { position: relative; }
.logo-nf span::before { content: ""; position: absolute; top: -.12em; left: .12em; width: .62em; height: .2em; background: var(--coral); }
.logo small { font-family: var(--f-texto); font-size: 10px; font-weight: 600; letter-spacing: .26em; line-height: 1.35; text-transform: uppercase; }
.topo-cta {
  font-family: var(--f-titulo); font-weight: 800; font-size: 14px; color: var(--preto); background: var(--coral);
  text-decoration: none; padding: 9px 16px; letter-spacing: -0.01em;
}
.topo-cta:hover { background: var(--coral-2); }

/* 1 Hero */
.hero { background: var(--preto); color: var(--offwhite); padding: 32px 0 64px; overflow: hidden; }
.hero-grade { display: grid; gap: 52px; position: relative; z-index: 1; }
.hero h1 {
  font-weight: 800; letter-spacing: -0.06em; line-height: .94; text-transform: lowercase;
  font-size: clamp(36px, 10.4vw, 78px); margin-bottom: 22px; max-width: 13ch;
}
.rotulo-sep { color: var(--cinza); }
.rotulo > span { white-space: nowrap; }
.hero .subtitulo { color: var(--cinza); font-size: 16px; line-height: 1.55; font-weight: 300; max-width: 56ch; margin-bottom: 26px; }
@media (min-width: 768px) { .hero h1 { font-size: clamp(40px, 7.6vw, 78px); } .hero .subtitulo { font-size: 17px; line-height: 1.6; margin-bottom: 32px; } }
.hero-foto { position: relative; max-width: 440px; width: 88%; margin: 0 auto; }
.foto-quadro { aspect-ratio: 4 / 5; background: var(--grafite); }
.foto-quadro img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.selo {
  position: absolute; left: -16px; bottom: 28px; z-index: 3; background: var(--offwhite); color: var(--preto);
  font-family: var(--f-titulo); font-weight: 800; letter-spacing: -0.03em; font-size: 17px; line-height: 1.1;
  padding: 14px 18px; display: grid; transform: rotate(-3deg); box-shadow: 6px 6px 0 var(--coral);
}
.selo span:last-child { color: var(--coral-3); }
@media (min-width: 960px) {
  .hero { padding: 88px 0 128px; }
  .hero-grade { grid-template-columns: 1.35fr 1fr; align-items: center; gap: 72px; }
  .hero-foto { width: 100%; max-width: none; }
  .selo { left: -48px; font-size: 20px; }
}

/* Faixa de pilares */
.pilares { background: var(--coral); color: var(--preto); overflow: hidden; border-block: 1px solid var(--preto); }
.pilares-trilho { display: flex; width: max-content; animation: trilho 38s linear infinite; }
.pilares ul { display: flex; list-style: none; margin: 0; padding: 0; }
.pilares li {
  font-family: var(--f-titulo); font-weight: 800; text-transform: uppercase; letter-spacing: .02em;
  font-size: 15px; padding: 16px 0; white-space: nowrap; display: flex; align-items: center;
}
.pilares li::after { content: ""; width: 2px; height: 18px; background: var(--preto); margin: 0 28px; }
@keyframes trilho { to { transform: translateX(-50%); } }

/* 2 Espelho: cenas em formato de post */
.espelho { background: var(--offwhite); }
.cenas {
  list-style: none; padding: 0; margin: 44px calc(var(--gutter) * -1) 0; padding-inline: var(--gutter);
  display: grid; grid-auto-flow: column; grid-auto-columns: 78%; gap: 16px;
  overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 20px; scrollbar-width: none;
}
.cenas::-webkit-scrollbar { display: none; }
.post {
  scroll-snap-align: start; position: relative; aspect-ratio: 4 / 5; padding: 26px 24px;
  background: #FBF8F1; border: 1px solid var(--cinza);
  display: flex; flex-direction: column; justify-content: flex-end;
}
.post::before { content: ""; position: absolute; top: 0; right: 0; width: 34%; height: 28%; border-top: 7px solid var(--coral); border-right: 7px solid var(--coral); }
.post-num { position: absolute; top: 22px; left: 24px; font-family: var(--f-texto); font-size: 12px; font-weight: 700; letter-spacing: .14em; color: var(--texto-suave); }
.post-num::after { content: " / 05"; color: var(--cinza); }
.post p { font-family: var(--f-titulo); font-weight: 700; letter-spacing: -0.045em; line-height: 1.04; font-size: clamp(22px, 5.6vw, 27px); margin: 0; color: #3A3835; }
.post p em { font-style: normal; color: var(--coral-3); }
.post:nth-child(even) { background: var(--preto); border-color: var(--preto); }
.post:nth-child(even) p { color: var(--offwhite); }
.post:nth-child(even) p em { color: var(--coral); }
.post:nth-child(even) .post-num { color: var(--cinza); }
.post:nth-child(even) .post-num::after { color: #5A5854; }
.post:nth-child(even)::before { top: auto; right: auto; bottom: 0; left: 0; border-top: 0; border-right: 0; border-bottom: 7px solid var(--coral); border-left: 7px solid var(--coral); }
.post-fecho { background: var(--coral) !important; border-color: var(--coral) !important; justify-content: center; }
.post-fecho::before { display: none; }
.fecho { font-family: var(--f-editorial) !important; font-weight: 300 !important; letter-spacing: -0.02em !important; line-height: 1.15 !important; font-size: clamp(25px, 6vw, 32px) !important; color: var(--preto) !important; }
.fecho .destaque { color: var(--offwhite); }
@media (min-width: 900px) {
  .cenas { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); overflow: visible; margin-inline: 0; padding-inline: 0; gap: 20px; }
  .post p { font-size: 28px; }
}

/* 3 A causa */
.causa-topo { display: grid; gap: 8px; }
.causa-texto p { color: var(--cinza); font-weight: 300; font-size: 18px; }
@media (min-width: 900px) { .causa-topo { grid-template-columns: 1fr 1fr; gap: 72px; align-items: end; } }
.frase-destaque {
  margin: 72px 0; padding: 52px 28px; background: var(--offwhite); color: var(--preto);
}
.frase-destaque p {
  font-family: var(--f-titulo); font-weight: 800; letter-spacing: -0.055em; line-height: .98; margin: 0;
  font-size: clamp(30px, 6.6vw, 64px); max-width: 20ch;
}
@media (min-width: 900px) { .frase-destaque { margin: 112px 0; padding: 80px 72px; } }

.camadas-grade { display: grid; gap: 48px; align-items: center; }
@media (min-width: 900px) { .camadas-grade { grid-template-columns: 1fr 1.1fr; gap: 88px; } }
.nucleo { position: relative; aspect-ratio: 1; width: 100%; max-width: 300px; margin: 0 auto; }
@media (min-width: 900px) { .nucleo { max-width: 460px; margin: 0; } }
.anel { position: absolute; border: 1px solid rgba(247,244,237,.35); }
.anel i { position: absolute; top: 8px; left: 10px; font-style: normal; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cinza); }
.a5 { inset: 0; }
.a4 { inset: 10%; }
.a3 { inset: 20%; }
.a2 { inset: 30%; }
.a1 { inset: 36%; background: var(--coral); border-color: var(--coral); }
.a1 i { color: var(--preto); top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 10px; letter-spacing: .08em; }
.camadas { list-style: none; padding: 0; margin: 0; counter-reset: c; }
.camadas li { counter-increment: c; display: grid; grid-template-columns: 52px 1fr; gap: 4px 12px; padding: 18px 0; border-bottom: 1px solid var(--linha-escura); }
.camadas li::before { content: counter(c, decimal-leading-zero); grid-row: span 2; font-family: var(--f-titulo); font-weight: 900; font-size: 22px; color: var(--coral); line-height: 1.2; }
.camadas strong { font-family: var(--f-titulo); font-weight: 800; font-size: 20px; letter-spacing: -0.02em; color: var(--offwhite); }
.camadas span { color: var(--cinza); font-weight: 300; }

/* 4 Quem conduz */
.conduz { background: var(--offwhite); overflow: hidden; }
.conduz-grade { display: grid; gap: 56px; }
@media (min-width: 960px) { .conduz-grade { grid-template-columns: 1fr 1.1fr; gap: 96px; align-items: center; } }
.conduz-midia { position: relative; max-width: 360px; margin-inline: auto; }
@media (min-width: 960px) { .conduz-midia { margin-inline: 0 auto; } }
.video {
  position: relative; display: block; width: 100%; aspect-ratio: 9 / 16; padding: 0; border: 0; cursor: pointer;
  background: var(--grafite); overflow: visible;
}
.video > img { width: 100%; height: 100%; object-fit: cover; }
.video .play {
  position: absolute; right: 22px; bottom: 22px; width: 76px; height: 76px; border-radius: 50%;
  background: var(--coral); display: flex; align-items: center; justify-content: center; z-index: 3;
  box-shadow: 0 0 0 8px rgba(255,90,79,.25); transition: transform .2s;
}
.video:hover .play { transform: scale(1.08); }
.video .play::after { content: ""; border-left: 22px solid var(--preto); border-top: 14px solid transparent; border-bottom: 14px solid transparent; margin-left: 6px; }
.video-tag { position: absolute; left: 0; top: 0; z-index: 3; background: var(--preto); color: var(--offwhite); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; padding: 8px 12px; }
.video iframe, .video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video .placeholder-midia { position: absolute; inset: 0; }
.retratos { display: flex; gap: 14px; margin-top: 28px; padding-left: 8px; }
.retratos img { width: 104px; height: auto; aspect-ratio: 1; object-fit: cover; border: 5px solid #FFFFFF; box-shadow: 0 10px 30px rgba(0,0,0,.14); }
.retratos img:first-child { transform: rotate(-4deg); }
.retratos img:last-child { transform: rotate(3deg) translateY(6px); }
.conduz-texto .titulo-voz { font-size: clamp(48px, 11vw, 96px); margin-bottom: 28px; }
.citacao { font-family: var(--f-editorial); font-weight: 300; font-size: clamp(20px, 4.6vw, 25px); line-height: 1.42; letter-spacing: -0.01em; color: var(--texto); }
.legenda { font-size: 14px; color: var(--texto-suave); margin-top: 24px; border-left: 3px solid var(--coral); padding-left: 12px; }
.legenda strong { color: var(--texto); }
.tags { list-style: none; padding: 0; margin: 28px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tags li { font-family: var(--f-titulo); font-weight: 800; text-transform: uppercase; font-size: 13px; letter-spacing: .02em; padding: 8px 14px; border: 1px solid var(--preto); }
.tags li:last-child { background: var(--preto); color: var(--offwhite); }

/* 5 Como funciona */
.secao-cabeca { display: grid; gap: 12px; margin-bottom: 48px; }
@media (min-width: 900px) { .secao-cabeca { grid-template-columns: 1fr auto; align-items: end; } }
.prazo { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0; max-width: 360px; }
.prazo strong { font-family: var(--f-titulo); font-weight: 900; font-size: clamp(44px, 9vw, 72px); letter-spacing: -0.05em; line-height: 1; color: var(--coral-3); white-space: nowrap; }
.prazo span { font-size: 15px; color: var(--texto-suave); line-height: 1.35; flex: 1 1 140px; }
.time-foto { margin: 0 0 40px; }
.time-foto img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: 50% 40%; }
@media (min-width: 900px) { .time-foto img { aspect-ratio: 21 / 8; } }
.time-foto figcaption { margin-top: 12px; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--texto-suave); }
.time-foto figcaption span { color: var(--coral-3); }
.fases { display: grid; gap: 20px; }
@media (min-width: 900px) { .fases { grid-template-columns: repeat(3, 1fr); } }
.fase { padding: 28px 26px 30px; background: var(--offwhite); }
.fase-foto { margin: -28px -26px 24px; aspect-ratio: 2 / 1; overflow: hidden; }
.fase-foto img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.2) contrast(1.03); }
.fase .num { font-family: var(--f-titulo); font-weight: 900; font-size: 56px; letter-spacing: -0.06em; line-height: 1; color: var(--coral-3); display: block; margin-bottom: 10px; }
.fase h3 { text-transform: uppercase; font-weight: 900; letter-spacing: -0.02em; font-size: 26px; }
.fase p { color: var(--texto-suave); font-size: 16px; margin: 0; }
.fase-depois { background: var(--preto); color: var(--offwhite); display: flex; flex-direction: column; justify-content: flex-end; }
.fase-depois p { color: var(--cinza); }
.fase-depois .num { color: var(--coral); font-size: 72px; }

/* 6 O que você recebe */
.entregas-secao { overflow: hidden; }
.entregas { list-style: none; padding: 0; margin: 48px 0 0; counter-reset: e; display: grid; border-top: 1px solid var(--linha-escura); }
@media (min-width: 768px) { .entregas { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .entregas { grid-template-columns: repeat(4, 1fr); } }
.entregas li {
  counter-increment: e; position: relative; padding: 64px 24px 28px 0; border-bottom: 1px solid var(--linha-escura);
  font-size: 17px; line-height: 1.45; color: var(--offwhite); transition: background .2s;
}
@media (min-width: 768px) { .entregas li { padding: 72px 24px 32px; border-right: 1px solid var(--linha-escura); } }
.entregas li::before { content: counter(e, decimal-leading-zero); position: absolute; top: 20px; left: 0; font-family: var(--f-titulo); font-weight: 900; font-size: 28px; letter-spacing: -0.04em; color: var(--coral); }
@media (min-width: 768px) { .entregas li::before { left: 24px; } .entregas li:hover { background: var(--grafite); } }

/* 7 Prova */
.cases { display: grid; gap: 28px; margin-top: 44px; }
@media (min-width: 900px) { .cases { grid-template-columns: 1fr 1fr; gap: 32px; } }
.case-card { background: var(--preto); color: var(--offwhite); display: flex; flex-direction: column; }
.case-slides {
  display: grid; grid-auto-flow: column; grid-auto-columns: 82%; gap: 8px; overflow-x: auto;
  scroll-snap-type: x mandatory; scrollbar-width: none; padding: 8px;
}
.case-slides::-webkit-scrollbar { display: none; }
.case-slides img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; scroll-snap-align: start; }
.case-slides:focus-visible { outline: 3px solid var(--coral); outline-offset: -3px; }
.case-texto { padding: 24px 26px 30px; }
.case-texto h3 { font-weight: 900; text-transform: uppercase; font-size: 28px; letter-spacing: -0.03em; margin-bottom: 14px; }
.case-texto p { color: var(--cinza); font-weight: 300; font-size: 16px; margin-bottom: 10px; }
.case-texto strong { color: var(--coral); font-weight: 700; }
.prova-card { background: #FBF8F1; border: 1px solid var(--cinza); padding: 32px 28px; min-height: 220px; display: flex; flex-direction: column; justify-content: flex-end; }
.prova-card.depoimento { margin-top: 40px; }
@media (min-width: 900px) { .prova-card.depoimento { max-width: 62%; } }
.aspas { font-family: var(--f-editorial); font-size: 120px; line-height: .6; color: var(--coral); margin-bottom: auto; }
.prova-vazio { font-family: var(--f-editorial); font-weight: 300; font-size: 22px; line-height: 1.3; color: var(--texto-suave); }
.logos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 40px; background: var(--cinza); border: 1px solid var(--cinza); }
@media (min-width: 900px) { .logos { grid-template-columns: repeat(6, 1fr); } }
.logos span { aspect-ratio: 3 / 2; background: var(--offwhite); }

/* 8 Pra quem é */
.pra-quem { display: grid; gap: 32px; margin-top: 44px; }
@media (min-width: 900px) { .pra-quem { grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: start; } }
.lista-sim, .lista-nao { padding: 36px 30px; }
.lista-sim { background: var(--preto); color: var(--offwhite); }
.lista-nao { border: 1px solid var(--texto); }
.lista-titulo { font-family: var(--f-titulo); font-weight: 900; text-transform: uppercase; font-size: 22px; letter-spacing: -0.02em; margin-bottom: 18px; }
.lista-sim .lista-titulo { color: var(--coral); }
.lista-sim ul, .lista-nao ul { list-style: none; padding: 0; margin: 0; }
.lista-sim li, .lista-nao li { padding: 14px 0 14px 36px; position: relative; border-top: 1px solid var(--linha-escura); }
.lista-nao li { border-top-color: var(--cinza); color: var(--texto-suave); }
.lista-sim li::before, .lista-nao li::before { position: absolute; left: 0; top: 14px; font-weight: 900; font-family: var(--f-titulo); }
.lista-sim li::before { content: "✓"; color: var(--coral); }
.lista-nao li::before { content: "✕"; color: var(--texto-suave); }

/* 9 Tabela que vira cards no celular */
.caminhos { width: 100%; border-collapse: collapse; margin-top: 40px; font-size: 16px; }
.caminhos thead { display: none; }
.caminhos tr { display: block; background: #FBF8F1; margin-bottom: 14px; padding: 22px 24px; border: 1px solid var(--cinza); }
.caminhos tr.nosso { background: var(--coral); border-color: var(--coral); color: var(--preto); }
.caminhos td { display: block; padding: 6px 0; }
.caminhos td:first-child { font-family: var(--f-titulo); font-weight: 900; text-transform: uppercase; font-size: 20px; letter-spacing: -0.02em; padding-bottom: 10px; }
.caminhos td[data-rotulo]::before {
  content: attr(data-rotulo); display: block; font-size: 11px; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--coral-3); margin-bottom: 2px;
}
.caminhos tr.nosso td[data-rotulo]::before { color: var(--preto); opacity: .7; }
@media (min-width: 900px) {
  .caminhos thead { display: table-header-group; }
  .caminhos tr { display: table-row; padding: 0; margin: 0; border: 0; background: transparent; }
  .caminhos th { text-align: left; padding: 0 20px 14px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--texto-suave); border-bottom: 2px solid var(--preto); }
  .caminhos td { display: table-cell; padding: 26px 20px; border-bottom: 1px solid var(--cinza); vertical-align: top; }
  .caminhos td[data-rotulo]::before { content: none; }
  .caminhos td:first-child { font-size: 18px; width: 26%; }
  .caminhos tr.nosso { background: var(--coral); }
  .caminhos tr.nosso td { border-bottom: 0; font-weight: 600; }
}

/* 10 FAQ */
.faq-grade { display: grid; gap: 24px; }
@media (min-width: 900px) { .faq-grade { grid-template-columns: 1fr 1.4fr; gap: 72px; } }
.faq details { border-bottom: 1px solid var(--texto); }
.faq details:first-child { border-top: 1px solid var(--texto); }
.faq summary {
  list-style: none; cursor: pointer; padding: 22px 48px 22px 0; position: relative;
  font-family: var(--f-titulo); font-weight: 800; font-size: 20px; letter-spacing: -0.03em;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 18px; height: 18px; margin-top: -9px; border-top: 3px solid var(--coral-3); border-right: 3px solid var(--coral-3); transform: rotate(135deg); transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(-45deg); margin-top: -3px; }
.faq details p { padding-bottom: 8px; color: var(--texto-suave); max-width: 60ch; }

/* 11 Chamada final + formulário */
.chamada { overflow: hidden; }
.chamada-grade { display: grid; gap: 48px; position: relative; z-index: 1; }
@media (min-width: 1000px) { .chamada-grade { grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; } .chamada-texto { position: sticky; top: 110px; } .botao-mobile { display: none; } }
.chamada-texto p { color: var(--cinza); font-weight: 300; font-size: 18px; max-width: 48ch; }
.chamada .titulo-voz { font-size: clamp(32px, 6.4vw, 58px); }
.form-caixa { background: var(--offwhite); color: var(--texto); padding: 32px 22px; }
@media (min-width: 768px) { .form-caixa { padding: 44px; } }
.progresso { display: flex; gap: 6px; margin-bottom: 26px; }
.progresso span { flex: 1; height: 5px; background: var(--cinza); }
.progresso span.ativo { background: var(--coral); }
.etapa-titulo { font-family: var(--f-titulo); font-weight: 900; text-transform: uppercase; font-size: 26px; margin-bottom: 4px; letter-spacing: -0.03em; }
.etapa-info { font-size: 14px; color: var(--texto-suave); margin-bottom: 22px; }
.campo { margin-bottom: 18px; }
.campo > label, .campo legend { display: block; font-weight: 600; font-size: 15px; margin-bottom: 6px; }
.campo legend { padding: 0; }
fieldset.campo { border: 0; padding: 0; margin: 0 0 18px; }
.opcional { font-weight: 400; color: var(--texto-suave); }
input[type="text"], input[type="tel"], select, textarea {
  width: 100%; min-height: 52px; padding: 12px 14px; font: inherit; font-size: 16px; color: var(--texto);
  background: #FFFFFF; border: 1.5px solid var(--cinza); border-radius: 0; transition: border-color .15s;
}
input[type="text"]:focus, input[type="tel"]:focus, textarea:focus { border-color: var(--preto); }
textarea { min-height: 96px; resize: vertical; }
.opcoes { display: grid; gap: 8px; }
@media (min-width: 560px) { [data-grupo="faturamento"] .opcoes, [data-grupo="equipe"] .opcoes, [data-grupo="origem"] .opcoes { grid-template-columns: 1fr 1fr; } }
.opcao {
  display: flex; align-items: center; gap: 12px; min-height: 50px; padding: 12px 14px;
  background: #FFFFFF; border: 1.5px solid var(--cinza); cursor: pointer; font-size: 16px; transition: border-color .15s, background .15s;
}
.opcao:hover { border-color: var(--texto-suave); }
.opcao input { width: 20px; height: 20px; accent-color: var(--coral-3); flex: none; margin: 0; }
.opcao:has(input:checked) { border-color: var(--coral); background: #FFF1EF; }
.campo > .consentimento { display: flex; font-weight: 400; }
.consentimento { gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.5; }
.consentimento input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--coral-3); flex: none; }
.erro-campo { color: #B3261E; font-size: 14px; margin-top: 6px; display: none; }
.campo.invalido .erro-campo { display: block; }
.campo.invalido input, .campo.invalido select { border-color: #B3261E; }
.acoes-form { display: flex; gap: 12px; margin-top: 28px; flex-direction: column-reverse; }
.form-caixa .botao { box-shadow: 6px 6px 0 var(--preto); }
@media (min-width: 768px) { .acoes-form { flex-direction: row; justify-content: space-between; align-items: center; } .acoes-form .botao:only-of-type { margin-left: auto; } }
.voltar { background: none; border: 0; font: inherit; color: var(--texto-suave); text-decoration: underline; cursor: pointer; padding: 12px; }
.form-erro-geral { color: #B3261E; font-size: 15px; margin-top: 12px; }

/* Rodapé */
.rodape { background: var(--preto); color: var(--cinza); padding: 56px 0 120px; font-size: 14px; border-top: 1px solid var(--linha-escura); }
.rodape p { margin: 0 0 6px; }
.rodape a { display: inline-block; padding: 12px 0; }
.rodape-linha { display: grid; gap: 20px; margin-bottom: 28px; }
@media (min-width: 768px) { .rodape-linha { grid-template-columns: auto 1fr; align-items: center; gap: 48px; } .rodape { padding-bottom: 48px; } }
.rodape .marca { font-family: var(--f-titulo); font-weight: 800; color: var(--offwhite); font-size: clamp(22px, 4vw, 32px); letter-spacing: -0.04em; line-height: 1.05; }
.rodape-lema { text-transform: uppercase; letter-spacing: .16em; font-size: 11px; font-weight: 600; margin-bottom: 16px !important; }

/* Botão fixo no rodapé (celular) */
.cta-fixo {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom));
  background: rgba(10, 10, 10, .94); backdrop-filter: blur(6px);
  transform: translateY(110%); transition: transform .25s ease;
}
.cta-fixo.visivel { transform: translateY(0); }
.cta-fixo .botao { min-height: 52px; padding: 12px 20px; font-size: 16px; box-shadow: none; }
@media (max-width: 359px) { .cta-fixo .botao { font-size: 15px; padding: 12px; } }
@media (min-width: 768px) { .cta-fixo { display: none; } }

/* Aviso de cookies */
.cookies {
  position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 60; background: var(--offwhite); color: var(--texto);
  padding: 14px 16px calc(14px + env(safe-area-inset-bottom)); border: 1px solid var(--preto); box-shadow: 4px 4px 0 var(--coral); font-size: 13px; line-height: 1.45; max-width: 520px;
}
.cookies[hidden] { display: none; }
.cookies p { margin: 0 0 10px; }
.cookies .acoes { display: flex; gap: 10px; }
.cookies button { flex: 1; min-height: 44px; font: inherit; font-weight: 700; cursor: pointer; border: 1.5px solid var(--preto); background: transparent; }
.cookies button.aceitar { background: var(--preto); color: var(--offwhite); }

/* Página de obrigado */
.placeholder-midia {
  width: 100%; height: 100%; background: var(--grafite); color: var(--cinza);
  display: flex; align-items: center; justify-content: center; text-align: center;
  font-size: 14px; padding: 24px; border: 1px dashed #4A4844;
}
.obrigado { min-height: 100vh; background: var(--preto); color: var(--offwhite); padding: 48px 0 64px; }
.obrigado .estreito { max-width: 760px; }
.obrigado h1 { margin-top: 40px; font-weight: 800; letter-spacing: -0.06em; line-height: .95; font-size: clamp(44px, 10vw, 80px); text-transform: lowercase; }
.obrigado .texto { color: var(--cinza); font-size: 19px; font-weight: 300; }
.obrigado .video { max-width: 360px; margin: 40px 0; aspect-ratio: 9 / 16; }
.link-insta { color: var(--coral); font-weight: 700; text-decoration: none; border-bottom: 2px solid var(--coral); }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
  .pilares-trilho { animation: none; }
}

/* Política de privacidade */
.politica .container { max-width: 820px; }
.politica h1 { margin-bottom: 20px; }
.politica h2 { font-size: 22px; font-weight: 800; letter-spacing: -0.02em; margin: 40px 0 12px; }
.politica ul { padding-left: 20px; margin: 0 0 16px; }
.politica li { margin-bottom: 6px; }
.politica .atualizada { font-size: 14px; color: var(--texto-suave); }

/* Impressão e PDF da prévia */
@media print {
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .cta-fixo, .cookies, .pilares-trilho ul[aria-hidden] { display: none !important; }
  .pilares-trilho { animation: none; }
  section { break-inside: auto; }
  .post, .fase, .case-card, .lista-sim, .lista-nao, .form-caixa { break-inside: avoid; }
}
