/* ============================================================
   diagnostico.css — só o que é DESTA página.

   Estava tudo inline num <style> de 47 KB dentro do index.php, e aquele
   bloco carregava uma cópia antiga da fundação inteira: reset, @font-face,
   tokens, .container, .section, .btn*, .eyebrow, .section-header. A
   tribo-base.css nasceu justamente do design system desta landing, então
   os valores batiam quase todos — 38 dos 39 tokens idênticos.

   O que ficou aqui: o que a base NÃO define. Onde as duas definiam a mesma
   propriedade, a base passou a mandar. As 11 diferenças de aparência estão
   listadas no LEIA-ME; para voltar qualquer uma, basta redeclará-la aqui.
   (11/09/2026) */
body{-webkit-font-smoothing:antialiased}
.btn{text-align:left}
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#141414 0%,#000000 100%);color:#fff;padding:72px 0 88px}
.hero-grid{position:relative;display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center}
.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sl-amber-light);font-weight:700;background:rgba(160,135,70,.12);border:1px solid rgba(184,151,90,.3);padding:8px 14px;border-radius:var(--r-pill)}
.hero h1{color:#fff;font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--ls-h1);margin:20px 0 20px;font-weight:800}
.hero-lead{font-size:var(--fs-lead);line-height:var(--lh-lead);color:rgba(245,242,236,.86);max-width:600px}
.hero-stack{display:inline-flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.hero-stack span{font-size:13px;font-weight:600;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(245,242,236,.16);padding:8px 13px;border-radius:var(--r-pill)}
.hero-cta{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
/* Este era o único botão do site com fundo fixo fora do --cta: pintava
   --sl-amber, que é o mesmo #a49770, e por isso não seguiria a correção de
   contraste de 14/09/2026. Passou a seguir o token como todos os outros. */
.hero-cta .btn-primary{background:var(--cta)}
.hero-cta .btn-primary:hover{background:var(--cta-hover)}
.hero-cta .btn-ghost{color:#fff;border-color:rgba(245,242,236,.4)}
.hero-cta .btn-ghost:hover{background:rgba(255,255,255,.08);color:#fff}
.hero-micro{margin-top:18px;font-size:13.5px;color:rgba(245,242,236,.7);display:flex;align-items:center;gap:9px}
.hero-micro svg{width:16px;height:16px;color:#a49770;flex-shrink:0}
.hero-art{position:relative}
.hero-frame{position:relative;aspect-ratio:4/5;border-radius:var(--r-2xl);overflow:hidden;background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid rgba(245,242,236,.14);box-shadow:0 30px 80px -30px rgba(0,0,0,.55)}
.hero-frame img{width:100%;height:100%;object-fit:cover;display:block}
.hero-stat-card{position:absolute;background:#141414;border:1px solid rgba(164,151,112,.42);border-radius:var(--r-lg);padding:11px 14px;display:flex;align-items:center;gap:11px;box-shadow:0 12px 28px rgba(0,0,0,.4);z-index:2;opacity:0;transition:opacity .45s ease;will-change:transform}
.hero-art.is-loaded .hero-stat-card{opacity:1;animation:heroFloat 5s ease-in-out infinite}
.hero-stat-card .ico{width:34px;height:34px;border-radius:50%;color:#a49770;display:grid;place-items:center;flex-shrink:0}
.hero-stat-card .ico svg{width:18px;height:18px}
.hero-stat-card .val{color:#fff;font-size:15.5px;font-weight:800;line-height:1.1;letter-spacing:-.01em;white-space:nowrap}
.hero-stat-card .lbl{color:rgba(245,242,236,.7);font-size:10.5px;font-weight:500;line-height:1.3;margin-top:2px;max-width:150px}
.hero-stat-card.card-1{top:5%;left:-22px}
.hero-art.is-loaded .hero-stat-card.card-2{animation-delay:-1.6s}
.hero-art.is-loaded .hero-stat-card.card-3{animation-delay:-3.2s}
.hero-stat-card.card-2{top:44%;right:-26px}
.hero-stat-card.card-3{bottom:8%;left:-12px}
@keyframes heroFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}
@media (max-width:960px){
  .hero-stat-card{padding:10px 12px}
  .hero-stat-card.card-1{left:-8px}
  .hero-stat-card.card-2{right:-10px}
  .hero-stat-card.card-3{left:-6px}
}
@media (max-width:720px){
  .hero-stat-card{padding:8px 10px;gap:8px;border-radius:var(--r-lg)}
  .hero-stat-card .val{font-size:13px}
  .hero-stat-card .lbl{font-size:9.5px;max-width:96px}
  .hero-stat-card .ico{width:28px;height:28px}
  .hero-stat-card .ico svg{width:14px;height:14px}
  .hero-stat-card.card-1{display:none}
  .hero-stat-card.card-2{top:18%;right:-4px}
  .hero-stat-card.card-3{bottom:6%;left:-4px}
}
@media (prefers-reduced-motion:reduce){
  .hero-art.is-loaded .hero-stat-card{animation:none}
}
@media (max-width:960px){
  .hero{padding:44px 0 64px}
  .hero-grid{grid-template-columns:1fr;gap:42px}
  .hero-art{order:-1;max-width:360px;margin:0 auto;width:100%}
  .hero-frame{aspect-ratio:4/3}
}
@media (max-width:560px){
  .hero-eyebrow{font-size:10px;letter-spacing:.08em;padding:6px 12px;white-space:nowrap}
}
.stat{background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);padding:26px 18px;text-align:center;transition:all var(--dur) var(--ease)}
.stat:hover{transform:translateY(-3px);box-shadow:0 12px 30px -16px rgba(20,20,20,.2);border-color:var(--border-strong)}
.stat b{display:block;font-family:var(--font-heading);font-size:clamp(26px,3vw,34px);font-weight:800;color:var(--sl-olive);line-height:1;letter-spacing:-.03em}
.stat span{display:block;margin-top:10px;font-size:13px;color:var(--fg-muted);line-height:1.45}
@media (max-width:900px){
}
@media (max-width:420px){
}
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:840px;margin:0 auto}
.check-item .ico{width:24px;height:24px;border-radius:50%;color:#a49770;display:grid;place-items:center;flex-shrink:0;margin-top:1px}
.check-item .ico svg{width:14px;height:14px}
.prob .ico{background:rgba(160,135,70,.12);color:var(--sl-olive-text)}/* era --sl-amber: 2,56:1 sobre o proprio fundo, reprova no WCAG 1.4.11. O icone carrega o sentido do cartao. --sl-olive-text da 4,45:1 e mantem o ladrilho ambar que distingue os cartoes de problema. (14/09/2026) */
@media (max-width:760px){
}
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:1000px){
  .feat-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .feat-grid{grid-template-columns:1fr}
}
/* Fundo, malha, ruído e filete vêm do .on-dark da base desde 14/09/2026.
   Aqui fica só o que é desta seção. */
.funil-section{color:#fff}
.funil-section .section-header h2{color:#fff}
.funil-section .section-header h2 em{font-style:normal;color:var(--sl-olive)}
.funil{display:flex;flex-direction:column;gap:0;max-width:820px;margin:40px auto 0}
.fn-step{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:var(--r-xl);padding:22px 26px;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;width:var(--w,100%);margin:0 auto;transition:border-color .3s ease,transform .3s ease}
.fn-step:hover{border-color:rgba(164,151,112,.5);transform:translateY(-2px)}
.fn-ic{width:48px;height:48px;border-radius:var(--r-lg);background:rgba(164,151,112,.14);color:#a49770;display:grid;place-items:center;flex-shrink:0}
.fn-ic svg{width:22px;height:22px}
.fn-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.fn-txt b{color:rgba(245,242,236,.85);font-size:14px;font-weight:600;line-height:1.3;letter-spacing:.005em}
.fn-num{color:#a49770;font-size:30px;font-weight:800;line-height:1;letter-spacing:-.02em;margin-top:6px}
.fn-meta{text-align:right;display:flex;flex-direction:column;gap:3px;flex-shrink:0}
.fn-meta b{color:#a49770;font-size:13.5px;font-weight:700;letter-spacing:.005em}
.fn-meta span{color:rgba(245,242,236,.55);font-size:12px}
.fn-seta{text-align:center;color:rgba(164,151,112,.45);font-size:22px;font-weight:300;line-height:1;padding:10px 0;margin:0 auto;width:var(--w,100%);user-select:none}
.fn-resumo{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:36px auto 0;max-width:820px}
.fr{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:var(--r-lg);padding:20px 18px;text-align:center;display:flex;flex-direction:column;gap:8px;transition:border-color .3s ease}
.fr:hover{border-color:rgba(164,151,112,.35)}
.fr span{color:rgba(245,242,236,.6);font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.fr b{color:#fff;font-size:22px;font-weight:800;letter-spacing:-.015em;line-height:1.1}
.fr.destaque{background:linear-gradient(145deg,rgba(164,151,112,.16),rgba(164,151,112,.06));border-color:rgba(164,151,112,.5)}
.fr.destaque b{color:#a49770}
.fn-nota{max-width:720px;margin:28px auto 0;text-align:center;font-size:12.5px;color:rgba(245,242,236,.55);line-height:1.65;font-style:italic}
.fn-nota b{color:rgba(164,151,112,.9);font-weight:600;font-style:normal}
@media (max-width:720px){
  .fn-step{grid-template-columns:auto 1fr;padding:18px 20px;width:100% !important;gap:14px}
  .fn-meta{grid-column:1 / -1;text-align:left;flex-direction:row;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid rgba(245,242,236,.08);margin-top:4px}
  .fn-seta{width:100% !important}
  .fn-resumo{grid-template-columns:1fr;gap:12px;margin-top:28px}
  .fn-num{font-size:26px}
  .fr{padding:16px 14px}
  .fr b{font-size:20px}
}
.section-cta{justify-content:center}
.section-cta .btn{padding:17px 34px;font-size:15.5px;box-shadow:0 14px 36px -10px rgba(164,151,112,.5)}
.section-cta .btn svg{width:18px;height:18px}
@media (max-width:560px){
  .section-cta .btn{padding:15px 24px;font-size:14.5px}
}
.exam{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;font-size:14.5px;font-weight:600;color:var(--sl-forest);transition:all var(--dur) var(--ease)}
.exam:hover{transform:translateY(-2px);box-shadow:0 10px 24px -16px rgba(20,20,20,.22);border-color:var(--border-strong)}
.exam .ico{width:36px;height:36px;border-radius:var(--r-md);background:var(--sl-sage);color:var(--sl-olive-dark);display:grid;place-items:center;flex-shrink:0}
.exam .ico svg{width:19px;height:19px}
@media (max-width:980px){
}
@media (max-width:680px){
}
@media (max-width:440px){
}
.split{position:relative;overflow:hidden}
.split-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.split.rev .split-grid{grid-template-columns:.95fr 1.05fr}
.split.rev .split-media{order:-1}
.split h2{font-size:clamp(25px,3.2vw,33px);margin:16px 0 16px}
.split > .split-grid > div > p{font-size:15.5px;color:var(--fg-muted);line-height:1.7;margin-bottom:18px}
.split-list li .ico{width:22px;height:22px;border-radius:50%;background:rgba(164,151,112,.12);color:var(--sl-olive-dark);display:grid;place-items:center;flex-shrink:0;margin-top:1px}
.split-list li .ico svg{width:13px;height:13px}
@media (max-width:960px){
  .split-grid,.split.rev .split-grid{grid-template-columns:1fr;gap:40px}
  .split.rev .split-media{order:0}
}
.pillars-carousel{position:relative;margin-top:42px}
.pillars{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:8px 4px 10px;margin:0 -4px;scrollbar-width:none;-ms-overflow-style:none}
.pillars::-webkit-scrollbar{display:none}
.pillar{flex:0 0 calc((100% - 18px)/2);scroll-snap-align:start;background:#fff;border:1px solid var(--border);border-radius:var(--r-2xl);padding:26px 22px 22px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;transition:transform .4s var(--ease),opacity .4s var(--ease),box-shadow .35s var(--ease),border-color .25s var(--ease)}
.pillar::before{content:attr(data-num);position:absolute;right:-8px;bottom:-52px;font-size:clamp(130px,14vw,200px);font-weight:900;line-height:.82;color:var(--sl-olive);opacity:.07;pointer-events:none;letter-spacing:-.04em;font-family:var(--font-heading);z-index:0;user-select:none}
.pillar > *{position:relative;z-index:1}
.pillar.is-inactive{transform:scale(.95);opacity:.55}
.pillar:not(.is-inactive):hover{box-shadow:0 24px 60px -28px rgba(20,20,20,.22);border-color:var(--border-strong)}
.pillar--highlight .pillar-desc{color:rgba(245,242,236,.72);border-bottom-color:rgba(245,242,236,.14)}
.pillar--highlight .pillar-list li{color:rgba(245,242,236,.86);border-bottom-color:rgba(245,242,236,.10)}
.pillar--highlight .pillar-list li::before{background:#a49770}
.pillar--highlight .pillar-icon{color:#a49770}
.pillar--highlight .pillar-num{color:#a49770}
.pillar--highlight .pillar-badge{border-bottom-color:rgba(245,242,236,.14)}
.pillar-badge{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.pillar-num{font-size:13px;font-weight:800;letter-spacing:.1em;color:var(--sl-olive);line-height:1}
.pillar-icon{width:42px;height:42px;border-radius:var(--r-lg);color:#a49770;display:grid;place-items:center;flex-shrink:0}
.pillar-icon svg{width:20px;height:20px}
.pillar-body{display:flex;flex-direction:column;gap:10px;flex:1}
.pillar-body h3{font-size:18px;font-weight:700;margin:0;color:var(--fg-heading);line-height:1.25}
.pillar-desc{font-size:14px;color:var(--fg-muted);margin:0;line-height:1.55;padding-bottom:12px;border-bottom:1px dashed var(--border)}
.pillar-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
.pillar-list li{font-size:13.5px;color:var(--fg-muted);display:flex;align-items:flex-start;gap:10px;line-height:1.5;padding:10px 0;border-bottom:1px solid var(--border)}
.pillar-list li:first-child{padding-top:4px}
.pillar-list li:last-child{border-bottom:0;padding-bottom:2px}
.pillar-list li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--sl-olive);margin-top:9px;flex-shrink:0}
.pillars-nav{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:28px}
.pillar-arrow{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--border-strong);color:var(--sl-forest);display:grid;place-items:center;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}
.pillar-arrow:hover:not(:disabled){background:var(--sl-olive);color:#fff;border-color:var(--sl-olive)}
.pillar-arrow:disabled{opacity:.32;cursor:not-allowed}
.pillar-arrow svg{width:18px;height:18px}
.pillar-dots{display:flex;gap:9px;align-items:center}
.pillar-dot{width:8px;height:8px;border-radius:50%;background:var(--border-strong);border:0;cursor:pointer;padding:0;transition:background .25s ease,width .25s ease,transform .25s ease}
.pillar-dot.active{background:var(--sl-olive);width:24px;border-radius:var(--r-sm)}
@media (max-width:760px){
  .pillars{gap:14px}
  .pillar{padding:22px 20px 20px;flex:0 0 calc((100% - 14px)/2)}
}
@media (max-width:540px){
  .pillar{flex:0 0 88%}
  .pillars{scroll-padding-left:6%}
}
@media (max-width:880px){
}
@media (max-width:840px){
}
.dif .section-header h2{color:#fff}
.dif .section-header .eyebrow{color:var(--sl-amber-light)}
.dif .section-header .eyebrow::before{background:var(--sl-amber-light)}
.dif-item .ico{width:26px;height:26px;border-radius:50%;background:rgba(184,151,90,.16);color:var(--sl-amber-light);display:grid;place-items:center;flex-shrink:0;margin-top:1px}
.dif-item .ico svg{width:15px;height:15px}
@media (max-width:760px){
}
.midcta .btn{background:#fff;color:var(--sl-olive-dark);font-weight:700}
.midcta .btn:hover{background:var(--sl-forest);color:#fff;transform:translateY(-1px)}
.ajuda-section{color:#fff}
.ajuda-section .section-header h2{color:#fff}
.ajuda-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.ajuda-card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:var(--r-xl);padding:30px 26px 26px;display:flex;flex-direction:column;gap:14px;transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease;position:relative;min-height:380px}
.ajuda-card:hover{border-color:rgba(164,151,112,.5);transform:translateY(-4px);box-shadow:0 18px 44px rgba(0,0,0,.4)}
.ajuda-num{color:var(--sl-olive);font-size:12.5px;font-weight:700;letter-spacing:.14em;line-height:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.ajuda-card h3{color:#fff;font-size:19px;font-weight:800;letter-spacing:-.015em;margin:8px 0 0;line-height:1.25}
.ajuda-card p{color:rgba(245,242,236,.65);font-size:14px;line-height:1.6;margin:0;flex-grow:0}
.ajuda-visual{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:center;min-height:140px;width:100%}
.ajuda-chart{width:100%;display:flex;flex-direction:column;gap:6px}
.ajuda-chart svg{width:100%;height:auto;display:block}
.ajuda-chart-labels{display:flex;justify-content:space-between;font-size:10px;color:rgba(245,242,236,.5)}
.ajuda-chart-labels span:last-child{color:var(--sl-olive);font-weight:600}
.ajuda-circles{width:100%}
.ajuda-circles svg{width:100%;height:auto;max-width:240px;margin:0 auto;display:block}
.ajuda-flow-text{text-align:center;font-size:11px;color:rgba(245,242,236,.55);margin-top:10px}
.ajuda-kpis{width:100%;display:flex;flex-direction:column;gap:10px;padding:14px 14px 12px;background:rgba(14,14,14,.5);border-radius:var(--r-lg);border:1px solid rgba(164,151,112,.18)}
.ajuda-kpis .kpi-row{display:flex;flex-direction:column;gap:4px}
.ajuda-kpis .kpi-head{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:rgba(245,242,236,.85)}
.ajuda-kpis .kpi-head b{color:var(--sl-olive);font-weight:700;letter-spacing:-.01em}
.ajuda-kpis .bar{height:4px;background:rgba(245,242,236,.08);border-radius:2px;overflow:hidden}
.ajuda-kpis .bar-fill{height:100%;background:linear-gradient(90deg,var(--sl-olive),var(--sl-amber-light));border-radius:2px}
.ajuda-funnel{display:flex;flex-direction:column;gap:7px;width:100%;align-items:center}
.ajuda-funnel .step{padding:8px 12px;background:linear-gradient(90deg,var(--sl-olive),var(--sl-olive-dark));color:#fff;border-radius:6px;font-size:11.5px;font-weight:700;text-align:center;letter-spacing:.01em;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.ajuda-funnel .step:nth-child(2){background:linear-gradient(90deg,var(--sl-olive-dark),#7a6e4c)}
.ajuda-funnel .step:nth-child(3){background:linear-gradient(90deg,#7a6e4c,#5c5238)}
.ajuda-funnel .step:nth-child(4){background:linear-gradient(90deg,#5c5238,#3f3a25)}
.ajuda-ltv{width:100%;display:flex;flex-direction:column;gap:8px;align-items:center}
.ajuda-ltv svg{width:100%;max-width:200px;height:auto}
.ajuda-ltv-foot{font-size:11px;color:rgba(245,242,236,.55);text-align:center}
.ajuda-chat{width:100%;display:flex;flex-direction:column;gap:6px;padding:12px;background:rgba(14,14,14,.55);border-radius:var(--r-lg);font-size:11px;line-height:1.45}
.ajuda-chat .msg{padding:7px 11px;border-radius:var(--r-lg);max-width:88%}
.ajuda-chat .msg-user{background:rgba(245,242,236,.06);color:rgba(245,242,236,.85);align-self:flex-start;border-bottom-left-radius:2px}
.ajuda-chat .msg-clinica{background:rgba(164,151,112,.16);color:#fff;align-self:flex-end;border-bottom-right-radius:2px;border:1px solid rgba(164,151,112,.32)}
.ajuda-chat .check{align-self:flex-end;color:#5ec77e;font-weight:700;font-size:10px;display:inline-flex;align-items:center;gap:4px;margin-top:2px}
@media (max-width:980px){
  .ajuda-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .ajuda-grid{grid-template-columns:1fr}
  .ajuda-card{min-height:0}
}
.clientes-section{color:#fff;overflow:hidden;padding:64px 0 56px}
.clientes-section .section-header{margin-bottom:36px}
.clientes-marquee{position:relative;display:flex;flex-direction:column;gap:0;padding:14px 0;mask-image:linear-gradient(90deg,transparent 0,#000 80px,#000 calc(100% - 80px),transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 80px,#000 calc(100% - 80px),transparent 100%)}
.clientes-row{display:flex;overflow-x:clip;overflow-y:visible;padding:10px 0}
.clientes-track{display:flex;gap:18px;width:max-content;will-change:transform;animation:clientesScroll 70s linear infinite}
.clientes-row--rtl .clientes-track{animation-direction:reverse;animation-duration:80s}
.clientes-row:nth-of-type(3) .clientes-track{animation-duration:62s}
@keyframes clientesScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.clientes-marquee:hover .clientes-track{animation-play-state:paused}
.cliente-card{flex:0 0 78px;width:78px;height:78px;border-radius:50%;overflow:hidden;background:#1a1a1a;border:1.5px solid rgba(164,151,112,.25);transition:transform .35s cubic-bezier(.22,.61,.36,1),border-color .3s ease,box-shadow .35s ease;cursor:default;position:relative}
.cliente-card:hover{transform:scale(1.18);border-color:var(--sl-olive);box-shadow:0 14px 36px rgba(164,151,112,.35),0 0 0 4px rgba(164,151,112,.12);z-index:2}
.cliente-card img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(85%) brightness(.92);transition:filter .35s ease}
.cliente-card:hover img{filter:grayscale(0%) brightness(1.02)}
@media (max-width:760px){
  .cliente-card{flex:0 0 64px;width:64px;height:64px}
  .clientes-track{gap:14px}
  .clientes-row{padding:8px 0}
}
@media (max-width:480px){
  .cliente-card{flex:0 0 54px;width:54px;height:54px}
  .clientes-track{gap:12px}
}
@media (prefers-reduced-motion:reduce){
  .clientes-track{animation:none}
}
.form-wrap{max-width:880px;margin:0 auto}
.form-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-2xl);padding:38px 40px;box-shadow:0 24px 60px -34px rgba(20,20,20,.28)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1 / -1}
.field label{font-size:13px;font-weight:700;color:var(--sl-forest);letter-spacing:.01em}
.field label .req{color:var(--sl-olive-text)}
.field input,.field select{font-family:var(--font-body);font-size:16px;color:var(--sl-forest);background:var(--sl-off-white);border:1.5px solid var(--sl-olive-dark);border-radius:var(--r-lg);height:50px;padding:0 14px;line-height:48px;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);width:100%}
.field input:hover,.field select:hover{border-color:var(--sl-gray-300)}
.field input:focus,.field select:focus{outline:none;border-color:var(--sl-olive);box-shadow:0 0 0 3px rgba(164,151,112,.2);background:#fff}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23706c65' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-submit{margin-top:26px;display:flex;flex-direction:column;align-items:center;gap:14px}
/* O botão de enviar daqui vive em .form-submit, não em .mp-form-actions, então
   a regra compartilhada não o alcançava e ele ficava com 52px contra os 54px
   das outras três. Igualado em 14/09/2026: mesma altura, mesmo padding lateral
   e o white-space:nowrap que impede o rótulo de quebrar. */
.form-submit .btn{width:100%;justify-content:center;font-size:16px;height:54px;padding-left:18px;padding-right:18px;white-space:nowrap}
/* Abaixo de 380px o rotulo pode quebrar. O nowrap e o overflow:hidden do
   .btn-primary cortavam "Agendar reuniao estrategica" a 320px nas quatro
   paginas, e a 360px (Android comum) no Diagnostico (29/09/2026). */
@media (max-width:380px){
  .form-submit .btn{white-space:normal;height:auto;min-height:54px;padding-top:12px;padding-bottom:12px;line-height:1.25;text-align:center}
}
.form-micro{font-size:12.5px;color:var(--fg-muted);text-align:center;line-height:1.5;max-width:560px}
.form-alert{border-radius:var(--r-lg);padding:16px 20px;margin-bottom:24px;font-size:14.5px;line-height:1.55;display:flex;align-items:flex-start;gap:12px}
.form-alert svg{width:20px;height:20px;flex-shrink:0;margin-top:1px}
.form-alert.ok{background:rgba(26,135,84,.1);border:1px solid rgba(26,135,84,.3);color:#176c44}
.form-alert.ok svg{color:#1a8754}
.form-alert.err{background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.3);color:#a02d22}
.form-alert.err svg{color:#c0392b}
.field input.is-invalid,.field select.is-invalid{border-color:#c0392b;background:rgba(192,57,43,.04)}
.field input.is-valid,.field select.is-valid{border-color:#1a8754;background:rgba(26,135,84,.03)}
.field-hint{font-size:11.5px;color:#c0392b;margin-top:5px;line-height:1.4;display:none}
.field-hint.show{display:block}
.institucional-row{display:grid;grid-template-columns:.92fr 1.08fr;gap:60px;align-items:center;max-width:1180px;margin:0 auto}
.institucional-art img{width:100%;border-radius:var(--r-2xl);aspect-ratio:4/5;object-fit:cover;box-shadow:0 30px 70px -30px rgba(0,0,0,.55);display:block;border:1px solid rgba(164,151,112,.18)}
.institucional-content .eyebrow{display:inline-flex;margin-bottom:18px;color:var(--sl-olive)}
.institucional-content h2{font-size:clamp(24px,2.9vw,32px);margin:0 0 22px;line-height:1.22;text-wrap:balance;color:#fff;font-weight:800;letter-spacing:-.015em}
.institucional-sub{font-size:16px;color:rgba(245,242,236,.82);line-height:1.65;margin:0 0 26px;padding-bottom:24px;border-bottom:1px solid rgba(245,242,236,.14)}
.institucional-text{display:flex;flex-direction:column;gap:14px}
.institucional-text p{font-size:14.5px;color:rgba(245,242,236,.68);line-height:1.72;margin:0}
@media(max-width:880px){
  .institucional-row{grid-template-columns:1fr;gap:36px;max-width:680px}
  .institucional-art{text-align:center}
  .institucional-art img{aspect-ratio:auto;width:auto;max-width:100%;height:auto;max-height:520px;display:inline-block;object-fit:contain}
}
.problema-content .eyebrow{display:inline-flex;margin-bottom:18px;color:var(--sl-olive)}
.problema-content .problema-list li .ico{width:30px;height:30px;border-radius:50%;background:rgba(164,151,112,.16);color:var(--sl-olive);display:grid;place-items:center;flex-shrink:0;transition:background .2s ease}
.problema-content .problema-list li:hover .ico{background:rgba(164,151,112,.28)}
.problema-content .problema-list li .ico svg{width:14px;height:14px}
@media (max-width:880px){
}
@media (max-width:680px){
  .form-card{padding:26px 22px}
  .form-grid{grid-template-columns:1fr}
}
#hero-particles{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-grid{position:relative;z-index:1}
.hero-h1-gradient{background:linear-gradient(135deg,#ffffff 60%,#C9C2AB 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}
.stat-line.in{transform:scaleX(1)}
@keyframes mock-blink{
  0%,49%{opacity:1}
  50%,100%{opacity:0}
}
@keyframes border-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(164,151,112,.4),0 24px 60px -28px rgba(0,0,0,.5)}
  50%{box-shadow:0 0 0 8px rgba(164,151,112,0),0 24px 60px -28px rgba(0,0,0,.5)}
}
.cities-ticker-wrap{padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;background:var(--bg)}
.cities-ticker{overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,#000 60px,#000 calc(100% - 60px),transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 60px,#000 calc(100% - 60px),transparent 100%)}
.cities-track{display:flex;gap:42px;white-space:nowrap;animation:ticker-scroll 38s linear infinite;width:max-content}
.cities-track span{color:var(--fg-muted);font-size:13.5px;font-weight:500;display:inline-flex;align-items:center;gap:7px}
.cities-track span::before{content:"";width:5px;height:5px;background:var(--sl-olive);border-radius:50%;display:inline-block;flex-shrink:0}
@keyframes ticker-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion:reduce){
  .cities-track{animation:none}
}

/* =========================================================
   FOCO DE TECLADO — acrescentado em 15/09/2026

   Medido nesta página, com o campo em :focus-visible: contorno 'none',
   sombra transparente e borda IGUAL à do estado sem foco. Quem navega por
   Tab não via onde estava, nos 13 campos. É a página de tráfego pago.

   A página tem um foco desenhado — borda dourada e sombra de 1px — e ele
   simplesmente não chegava a aplicar. Não fui atrás de qual regra da
   cascata o derrubava: o conserto não pode depender de vencer uma
   discussão de especificidade que já foi perdida uma vez.

   Por isso 'outline', e não borda ou sombra. Três razões:
     · outline não ocupa espaço, então não desloca nada no formulário;
     · é a linguagem de foco que o tribo-base.css já usa no site inteiro
       (*:focus-visible{outline:3px solid var(--sl-olive-text)});
     · com !important e seletor de página, ele não depende de quem mais
       mexe em border-color ou box-shadow nestes campos.

   :focus-visible, e não :focus — clicar com o mouse não acende nada; só
   teclado acende. É a diferença entre ajudar quem navega por Tab e pôr
   uma moldura em volta de todo campo que alguém clica.

   COMO CONFERIR (o checar-render.php NÃO pega isto — CSS não muda o HTML):
     no console da página, com o campo focado, comparar
     getComputedStyle(el).outlineStyle antes e depois de el.blur().
   ========================================================= */
/* Esta folha só é carregada por esta página, então o seletor não precisa
   de prefixo de página — mas precisa do !important, porque o
   '.field input:focus{outline:none}' da linha 361 vem antes e é mais
   específico que qualquer coisa sem ele. */
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--sl-olive-text, #7a6e4c) !important;
  outline-offset: 2px !important;
}
