/* ============================================================
   Exacta Labs / CentralPlus — sistema visual compartilhado
   Base: identidade fixa (navy #1F3A5F + teal #2CA6A3)
   Efeitos herdados do brief Kenlo (tipografia grande, dark
   sections, HUD, orbs, marquee) + Ventture (glow-card no cursor,
   paleta disciplinada, lift em botões/cards).
   O gradiente azul→violeta→rosa é reservado só pra itens "com IA",
   igual a convenção do site de referência — nunca usado como
   decoração geral.
   ============================================================ */

:root{
  --navy: #1F3A5F;
  --navy-deep: #12233A;
  --navy-ink: #0B1626;
  --teal: #2CA6A3;
  --teal-light: #4FC3C0;
  --teal-glow: #6FE3DF;
  --teal-deep: #146E6B;
  --teal-soft: #EAF7F6;
  --ai-1: #2563EB;
  --ai-2: #8B5CF6;
  --ai-3: #EC4899;
  --bg: #FFFFFF;
  --bg-soft: #F5F7FA;
  --text: #16233A;
  --text-muted: #56637A;
  --border: #E3E9F0;
  --glass: rgba(255,255,255,.06);
  --glass-border: rgba(255,255,255,.14);
  --ease: cubic-bezier(.4,0,.2,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-spring: cubic-bezier(.32,.72,0,1);
  color-scheme: light;
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:'Inter', sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Plus Jakarta Sans', sans-serif;
  font-weight:700;
  letter-spacing:-.03em;
  color:var(--navy);
  line-height:1.05;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
.container{ max-width:1180px; margin:0 auto; padding:0 24px; }
section{ position:relative; padding:112px 0; }
.mono{
  font-family:'JetBrains Mono', monospace;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
}
[hidden]{ display:none !important; }

/* ============ Logo ============ */
.logo{ display:inline-flex; align-items:center; gap:10px; }
.logo img{ display:block; width:auto; }
.logo .logo-mark{ height:30px; }
.logo .logo-word{ height:26px; }
@media (max-width:600px){
  .logo{ gap:8px; }
  .logo .logo-mark{ height:26px; }
  .logo .logo-word{ height:23px; }
}

/* ============ Eyebrow / badge ============ */
.eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  padding:8px 16px; border-radius:999px;
  border:1.5px solid rgba(44,166,163,.45);
  font-family:'JetBrains Mono',monospace;
  font-size:11.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--teal-deep); background:rgba(44,166,163,.06);
  margin-bottom:24px;
}
.eyebrow.on-dark{ color:var(--teal-glow); border-color:rgba(111,227,223,.4); background:rgba(111,227,223,.08); }
.pulse-dot{ width:7px; height:7px; border-radius:50%; background:var(--teal); animation:pulse-dot 2s var(--ease) infinite; flex-shrink:0; }
@keyframes pulse-dot{ 0%,100%{ box-shadow:0 0 0 0 rgba(44,166,163,.5);} 50%{ box-shadow:0 0 0 6px rgba(44,166,163,0);} }

/* ============ Buttons ============ */
.btn{
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; gap:10px;
  padding:16px 30px; border-radius:999px;
  font-weight:600; font-size:15px; cursor:pointer;
  transition:transform 220ms var(--ease), box-shadow 220ms var(--ease), background 220ms var(--ease), color 220ms var(--ease), border-color 220ms var(--ease);
  white-space:nowrap; border:none; font-family:'Inter',sans-serif;
}
.btn-primary{
  background:linear-gradient(135deg, var(--teal), var(--teal-light));
  color:#08211f;
  box-shadow:0 10px 28px rgba(44,166,163,.38);
}
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 16px 36px rgba(44,166,163,.5); }
.btn-ghost{ background:transparent; color:var(--navy); border:1.5px solid var(--border); }
.btn-ghost:hover{ border-color:var(--teal); color:var(--teal-deep); transform:translateY(-2px); }
.btn-ghost.on-dark{ color:#fff; border-color:rgba(255,255,255,.28); }
.btn-ghost.on-dark:hover{ border-color:var(--teal-glow); color:var(--teal-glow); }
.btn-sm{ padding:12px 22px; font-size:13.5px; }
.btn .arrow-wrap{
  width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.12); transition:transform 300ms var(--ease-spring);
  flex-shrink:0;
}
.btn:hover .arrow-wrap{ transform:translateX(3px); }
.btn svg{ width:14px; height:14px; flex-shrink:0; }

/* ============ Nav ============ */
header{ position:fixed; top:14px; left:0; right:0; z-index:200; pointer-events:none; }
.nav-pill{
  pointer-events:auto;
  max-width:1132px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding:9px 10px 9px 20px;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border:1px solid rgba(255,255,255,.6);
  border-radius:999px;
  box-shadow:0 8px 30px rgba(20,44,74,.08);
  transition:box-shadow 300ms var(--ease), background 300ms var(--ease);
}
header.scrolled .nav-pill{ box-shadow:0 12px 38px rgba(20,44,74,.14); background:rgba(255,255,255,.94); }
nav ul{ list-style:none; display:flex; gap:6px; align-items:center; }
nav a.navlink{
  font-size:14px; font-weight:500; color:var(--text-muted); transition:color 200ms;
  position:relative; padding:8px 12px; border-radius:999px; display:inline-flex; align-items:center; gap:4px;
}
nav a.navlink:hover{ color:var(--navy); background:var(--bg-soft); }
nav a.navlink.active{ color:var(--navy); background:var(--teal-soft); }
.nav-links-wrap{ display:flex; align-items:center; gap:14px; }
.menu-toggle{
  display:none; background:none; border:none; cursor:pointer;
  width:40px; height:40px; align-items:center; justify-content:center;
  color:var(--navy); border-radius:50%; flex-shrink:0;
}
.menu-toggle svg{ width:22px; height:22px; }

/* dropdown do CentralPlus */
.nav-item-dd{ position:relative; }
.nav-dd{
  position:absolute; top:calc(100% + 12px); left:50%; transform:translateX(-50%) translateY(-6px);
  width:300px; background:#fff; border:1px solid var(--border); border-radius:18px;
  box-shadow:0 24px 50px rgba(20,44,74,.16); padding:10px;
  opacity:0; visibility:hidden; transition:opacity 200ms var(--ease), transform 200ms var(--ease), visibility 200ms;
}
.nav-item-dd:hover .nav-dd, .nav-item-dd:focus-within .nav-dd{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.nav-dd a{ display:flex; flex-direction:column; gap:2px; padding:11px 14px; border-radius:12px; transition:background 150ms; }
.nav-dd a:hover{ background:var(--bg-soft); }
.nav-dd a strong{ font-size:13.5px; color:var(--navy); font-weight:600; }
.nav-dd a span{ font-size:12px; color:var(--text-muted); }

/* ============ Dot grid texture ============ */
.dot-grid{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:radial-gradient(rgba(31,58,95,.14) 1px, transparent 1px);
  background-size:28px 28px;
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%, #000 40%, transparent 85%);
  mask-image:radial-gradient(ellipse 80% 60% at 50% 40%, #000 40%, transparent 85%);
}
.dot-grid.on-dark{ background-image:radial-gradient(rgba(255,255,255,.14) 1px, transparent 1px); }

/* ============ Orbs ============ */
.orb{ position:absolute; border-radius:50%; filter:blur(70px); pointer-events:none; z-index:0; }
.orb-teal{ background:radial-gradient(circle, rgba(111,227,223,.45), transparent 70%); }
.orb-ai{ background:radial-gradient(circle, rgba(37,99,235,.28), transparent 70%); }
.orb-float{ animation:orb-drift 15s ease-in-out infinite alternate; }
@keyframes orb-drift{ from{ transform:translate(0,0) scale(1); } to{ transform:translate(40px,-30px) scale(1.15); } }

/* ============ HUD readout ============ */
.hud{
  position:absolute; top:130px; right:24px; z-index:3;
  display:flex; flex-direction:column; gap:6px;
  padding:14px 16px; border-radius:14px;
  background:rgba(255,255,255,.55); backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.7);
  font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--text-muted);
}
.hud .row{ display:flex; align-items:center; gap:8px; white-space:nowrap; }
.hud .dot-live{ width:6px; height:6px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 0 rgba(44,166,163,.6); animation:hud-pulse 2s infinite; }
@keyframes hud-pulse{ 0%{ box-shadow:0 0 0 0 rgba(44,166,163,.55);} 70%{ box-shadow:0 0 0 8px rgba(44,166,163,0);} 100%{ box-shadow:0 0 0 0 rgba(44,166,163,0);} }
.hud.on-dark{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.14); color:rgba(255,255,255,.65); }

/* ============ Marquee ============ */
.marquee-strip{ padding:24px 0; background:var(--bg); border-top:1px solid var(--border); border-bottom:1px solid var(--border); overflow:hidden; position:relative; }
.marquee-strip::before, .marquee-strip::after{
  content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none;
}
.marquee-strip::before{ left:0; background:linear-gradient(90deg, var(--bg), transparent); }
.marquee-strip::after{ right:0; background:linear-gradient(270deg, var(--bg), transparent); }
.marquee-track{ display:flex; gap:52px; width:max-content; animation:marquee 32s linear infinite; }
.marquee-strip:hover .marquee-track{ animation-play-state:paused; }
@keyframes marquee{ to{ transform:translateX(-50%);} }
.marquee-item{ display:flex; align-items:center; gap:12px; font-family:'JetBrains Mono',monospace; font-weight:600; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); white-space:nowrap; }
.marquee-item .diamond{ width:7px; height:7px; background:var(--teal); transform:rotate(45deg); border-radius:2px; flex-shrink:0; }

/* ============ Reveal on scroll ============ */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity 750ms var(--ease-out), transform 750ms var(--ease-out); }
.reveal.in{ opacity:1; transform:translateY(0); }
.reveal-stagger > *{ opacity:0; transform:translateY(24px); transition:opacity 700ms var(--ease-out), transform 700ms var(--ease-out); }
.reveal-stagger.in > *{ opacity:1; transform:translateY(0); }
.reveal-stagger.in > *:nth-child(1){ transition-delay:0ms; } .reveal-stagger.in > *:nth-child(2){ transition-delay:80ms; }
.reveal-stagger.in > *:nth-child(3){ transition-delay:160ms; } .reveal-stagger.in > *:nth-child(4){ transition-delay:240ms; }
.reveal-stagger.in > *:nth-child(5){ transition-delay:320ms; } .reveal-stagger.in > *:nth-child(6){ transition-delay:400ms; }

.section-head{ max-width:680px; margin-bottom:52px; }
.section-head h2{ font-size:clamp(1.9rem, 3.6vw, 2.7rem); margin-bottom:16px; }
.section-head h2 .accent{ color:var(--teal); }
.section-head p{ color:var(--text-muted); font-size:17px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.navy-wrap .section-head p, .on-dark .section-head p{ color:rgba(255,255,255,.65); }
.navy-wrap .section-head h2, .on-dark .section-head h2{ color:#fff; }

/* ============ Glow cards (cursor tracking) ============ */
.glow-card{
  position:relative; border-radius:18px; overflow:hidden;
  --glow-x:50%; --glow-y:50%; --glow-i:0; --glow-radius:220px;
  background:#fff; border:1px solid var(--border);
  padding:30px 26px;
  transition:transform 280ms var(--ease), box-shadow 280ms var(--ease);
}
.glow-card:hover{ transform:translateY(-6px); box-shadow:0 22px 44px rgba(20,44,74,.1); }
.glow-card::after{
  content:''; position:absolute; inset:0; padding:1.6px; border-radius:inherit; pointer-events:none;
  background:radial-gradient(var(--glow-radius) circle at var(--glow-x) var(--glow-y),
    rgba(44,166,163, calc(var(--glow-i) * .95)) 0%,
    rgba(44,166,163, calc(var(--glow-i) * .4)) 32%,
    transparent 62%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  transition:opacity 300ms ease;
}
.glow-card--ai .icon-ring{
  border:2px solid transparent;
  background:linear-gradient(#fff,#fff) padding-box,
             linear-gradient(135deg, var(--ai-1), var(--ai-2), var(--ai-3)) border-box;
  box-shadow:0 0 16px rgba(139,92,246,.28);
}
.navy-wrap .glow-card, .on-dark .glow-card{ background:var(--glass); border-color:var(--glass-border); backdrop-filter:blur(8px); }
.navy-wrap .glow-card:hover, .on-dark .glow-card:hover{ background:rgba(255,255,255,.1); }
.navy-wrap .glow-card--ai .icon-ring, .on-dark .glow-card--ai .icon-ring{
  background:linear-gradient(rgba(18,35,58,.9),rgba(18,35,58,.9)) padding-box,
             linear-gradient(135deg, var(--ai-1), var(--ai-2), var(--ai-3)) border-box;
}
.glow-card h3{ font-size:17.5px; margin-bottom:9px; }
.glow-card p{ color:var(--text-muted); font-size:14.5px; line-height:1.6; }
.navy-wrap .glow-card p, .on-dark .glow-card p{ color:rgba(255,255,255,.62); }
.icon-ring{
  width:46px; height:46px; border-radius:14px; margin-bottom:18px;
  background:rgba(44,166,163,.12); border:1px solid rgba(44,166,163,.3);
  display:flex; align-items:center; justify-content:center;
}
.icon-ring svg{ width:22px; height:22px; stroke:var(--teal-deep); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.navy-wrap .icon-ring, .on-dark .icon-ring{ background:rgba(111,227,223,.12); border-color:rgba(111,227,223,.32); }
.navy-wrap .icon-ring svg, .on-dark .icon-ring svg{ stroke:var(--teal-glow); }
.glow-card--ai .icon-ring svg{ stroke:var(--ai-1); }

/* ============ Dark section wrapper ============ */
.navy-wrap{
  background:
    radial-gradient(ellipse 60% 40% at 80% 0%, rgba(44,166,163,.16), transparent 60%),
    radial-gradient(ellipse 50% 40% at 10% 100%, rgba(37,99,235,.12), transparent 60%),
    linear-gradient(160deg, var(--navy-deep) 0%, var(--navy-ink) 100%);
  border-radius:32px; margin:0 16px; overflow:hidden;
}
.navy-wrap section{ background:transparent; }
.navy-wrap h2, .navy-wrap h3, .navy-wrap h4{ color:#fff; }

/* ============ Stats ============ */
.stat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:20px; overflow:hidden; }
.stat-item{ background:var(--bg); padding:36px 28px; position:relative; }
.stat-item .idx{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--teal-deep); letter-spacing:.08em; margin-bottom:22px; }
.stat-item .value{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:clamp(2rem,3.6vw,2.7rem); color:var(--navy); font-feature-settings:"tnum"; font-variant-numeric:tabular-nums; }
.stat-item .value .suffix{ color:var(--teal); }
.stat-item .label{ color:var(--text-muted); font-size:13px; margin-top:10px; line-height:1.5; }
.navy-wrap .stat-item, .on-dark .stat-item{ background:transparent; }
.navy-wrap .stat-item .value, .on-dark .stat-item .value{ color:#fff; }
.navy-wrap .stat-item .label, .on-dark .stat-item .label{ color:rgba(255,255,255,.55); }
.navy-wrap .stat-grid, .on-dark .stat-grid{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.1); }

/* ============ Steps / jornada ============ */
/* .step e .step-arrow são filhos diretos intercalados (step,arrow,step,arrow,step,arrow,step) */
.steps{ display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; gap:14px; align-items:stretch; }
.step{ position:relative; padding:28px 22px 24px; border-radius:18px; background:var(--bg-soft); border:1px solid var(--border); }
.step .idx{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:26px; color:rgba(44,166,163,.35); margin-bottom:14px; }
.step h4{ font-size:15.5px; margin-bottom:8px; }
.step p{ font-size:13.5px; color:var(--text-muted); line-height:1.55; }
.step-arrow{ display:flex; align-items:center; justify-content:center; color:var(--border); }
.navy-wrap .step, .on-dark .step{ background:rgba(255,255,255,.05); border-color:var(--glass-border); }
.navy-wrap .step .idx, .on-dark .step .idx{ color:rgba(111,227,223,.5); }
.navy-wrap .step p, .on-dark .step p{ color:rgba(255,255,255,.62); }
.navy-wrap .step-arrow, .on-dark .step-arrow{ color:rgba(255,255,255,.22); }

/* ============ FAQ accordion (grid-rows trick) ============ */
.faq{ max-width:820px; margin:0 auto; }
.faq-item{ border-bottom:1px solid var(--border); }
.faq-q{
  width:100%; text-align:left; background:none; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:24px 4px; font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:16.5px; color:var(--navy);
}
.faq-plus{ position:relative; width:20px; height:20px; flex-shrink:0; }
.faq-plus::before, .faq-plus::after{ content:''; position:absolute; background:var(--teal-deep); border-radius:2px; transition:transform 300ms var(--ease); }
.faq-plus::before{ top:9px; left:0; width:20px; height:2px; }
.faq-plus::after{ top:0; left:9px; width:2px; height:20px; }
.faq-item.open .faq-plus::after{ transform:scaleY(0); }
.faq-a-wrap{ display:grid; grid-template-rows:0fr; transition:grid-template-rows 350ms var(--ease); }
.faq-item.open .faq-a-wrap{ grid-template-rows:1fr; }
.faq-a-inner{ overflow:hidden; }
.faq-a{ padding:0 4px 24px; color:var(--text-muted); font-size:15px; line-height:1.65; max-width:680px; }

/* ============ Formulários ============ */
.form-card{ background:#fff; border:1px solid var(--border); border-radius:24px; padding:36px; box-shadow:0 30px 70px rgba(20,44,74,.08); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.field{ display:flex; flex-direction:column; gap:7px; }
.field.full{ grid-column:1/-1; }
.field label{ font-size:13px; font-weight:600; color:var(--navy); }
.field input, .field select, .field textarea{
  padding:13px 16px; border-radius:12px; border:1.5px solid var(--border);
  font-family:'Inter',sans-serif; font-size:14.5px; color:var(--text); background:var(--bg-soft);
  transition:border-color 200ms, background 200ms;
}
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--teal); background:#fff; }
.field-hint{ font-size:12px; color:var(--text-muted); }
.form-msg{ margin-top:14px; font-size:14px; padding:12px 16px; border-radius:12px; display:none; }
.form-msg.show{ display:block; }
.form-msg.ok{ background:rgba(44,166,163,.1); color:var(--teal-deep); }
.form-msg.err{ background:rgba(236,72,153,.1); color:#b0286a; }
.hp-field{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* ============ Grids de 3 colunas reutilizáveis (problema/glow-cards) ============ */
/* Base sem inline style — evita a cilada de especificidade onde um
   style="grid-template-columns:repeat(3,1fr)" no HTML nunca cede pros
   media queries abaixo, mesmo em telas estreitas. */
.dor-grid, .glow-card-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }

/* ============ Cross-links entre módulos ============ */
.crosslinks{ display:flex; gap:14px; flex-wrap:wrap; }
.crosslink{
  display:flex; align-items:center; gap:10px; padding:12px 18px; border-radius:14px;
  border:1px solid var(--border); background:var(--bg-soft); font-size:13.5px; font-weight:600; color:var(--navy);
  transition:border-color 200ms, transform 200ms;
}
.crosslink:hover{ border-color:var(--teal); transform:translateY(-2px); }
.navy-wrap .crosslink, .on-dark .crosslink{ background:rgba(255,255,255,.06); border-color:var(--glass-border); color:#fff; }
.navy-wrap .crosslink:hover, .on-dark .crosslink:hover{ border-color:var(--teal-glow); }

/* ============ Footer ============ */
footer{ background:linear-gradient(160deg, var(--navy) 0%, var(--navy-ink) 100%); color:rgba(255,255,255,.85); padding:64px 0 32px; margin-top:40px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:44px; }
.footer-tagline{ letter-spacing:.08em; text-transform:uppercase; font-size:10.5px; color:rgba(255,255,255,.5); margin-top:12px; font-family:'JetBrains Mono',monospace; }
.footer-col h5{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.45); margin-bottom:16px; font-family:'JetBrains Mono',monospace; font-weight:600; }
.footer-col a{ display:block; font-size:14px; color:rgba(255,255,255,.78); padding:6px 0; transition:color 200ms; }
.footer-col a:hover{ color:var(--teal-glow); }
.footer-bottom{ padding-top:24px; border-top:1px solid rgba(255,255,255,.14); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12.5px; color:rgba(255,255,255,.55); }
.footer-bottom a{ color:rgba(255,255,255,.65); }
.footer-bottom a:hover{ color:#fff; }

/* ============ WhatsApp float ============ */
.wa-float{
  position:fixed; bottom:26px; right:26px; z-index:150;
  width:58px; height:58px; border-radius:50%;
  background:linear-gradient(135deg, var(--teal-deep), var(--teal));
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 28px rgba(20,110,107,.5);
  transition:transform 250ms var(--ease);
}
.wa-float::before{ content:''; position:absolute; inset:-4px; border-radius:50%; border:2px solid rgba(44,166,163,.5); animation:pulse-ring 2.2s var(--ease) infinite; }
@keyframes pulse-ring{ 0%{ transform:scale(.9); opacity:1;} 100%{ transform:scale(1.35); opacity:0;} }
.wa-float:hover{ transform:scale(1.08); }
.wa-float svg{ width:27px; height:27px; fill:#fff; }

/* ============ Page hero (páginas internas) ============ */
.page-hero{ padding:168px 0 64px; position:relative; overflow:hidden; }
.page-hero .container{ position:relative; z-index:2; }
.page-hero h1{ font-size:clamp(2.1rem,4.4vw,3.3rem); max-width:820px; margin-bottom:20px; }
.page-hero .lead{ color:var(--text-muted); font-size:17.5px; max-width:600px; }
.breadcrumb{ font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); margin-bottom:22px; display:flex; gap:8px; align-items:center; }
.breadcrumb a{ color:var(--teal-deep); }

/* ============ Responsivo ============ */
@media (max-width: 1024px){
  section{ padding:84px 0; }
  .hero{ padding:130px 0 60px; }
  .stat-grid, .servicos-grid, .dor-grid, .sol-grid, .glow-card-grid{ grid-template-columns:repeat(2,1fr); }
  .steps{ grid-template-columns:1fr 1fr; }
  .step-arrow{ display:none; }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width: 720px){
  .stat-grid, .servicos-grid, .dor-grid, .sol-grid, .glow-card-grid, .steps{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; gap:28px; }
  .navy-wrap{ margin:0 8px; border-radius:22px; }
  .hud{ display:none; }
}
@media (max-width: 860px){
  .menu-toggle{ display:flex; }
  .nav-links-wrap > ul{
    display:flex; flex-direction:column; gap:0;
    position:absolute; top:calc(100% + 10px); left:16px; right:16px;
    background:rgba(255,255,255,.98); backdrop-filter:blur(16px);
    border:1px solid var(--border); border-radius:22px;
    box-shadow:0 24px 48px rgba(20,44,74,.14);
    max-height:0; overflow:hidden; opacity:0;
    transition:max-height 350ms var(--ease), opacity 280ms var(--ease);
    padding:0 22px;
  }
  .nav-links-wrap > ul.open{ max-height:420px; opacity:1; padding:14px 22px 18px; overflow-y:auto; }
  .nav-links-wrap > ul li{ border-bottom:1px solid var(--border); }
  .nav-links-wrap > ul li:last-child{ border-bottom:none; }
  nav a.navlink{ display:flex; padding:14px 0; font-size:15.5px; border-radius:0; }
  .nav-dd{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:none; padding:0 0 8px 12px; width:auto; display:none; }
  .nav-item-dd.open .nav-dd{ display:block; }
  .nav-links-wrap .btn-primary{ display:none; }
}

/* ============================================================
   Product mock — tela do produto animada (hero)
   Painel falso de UI (chat + agenda + CRM) com micro-animações reais,
   mais os anéis orbitando ao redor, herdados da versão anterior do
   site — elemento-assinatura visual do hero.
   ============================================================ */
.pm-stage{ position:relative; width:100%; max-width:560px; margin:0 auto; will-change:transform; }
.pm-glow{
  position:absolute; inset:8%; border-radius:50%;
  background:radial-gradient(circle, rgba(111,227,223,.4), transparent 65%);
  filter:blur(38px); z-index:0; pointer-events:none;
}
.pm-ring{ position:absolute; border-radius:50%; pointer-events:none; z-index:0; }
.pm-ring-1{ inset:-8% -6%; border:1.5px solid rgba(44,166,163,.3); animation:pm-spin 34s linear infinite; }
.pm-ring-2{ inset:-16% -13%; border:1.5px dashed rgba(37,99,235,.22); animation:pm-spin 58s linear infinite reverse; }
.pm-ring-1::before, .pm-ring-2::before{
  content:''; position:absolute; top:6%; left:14%;
  width:9px; height:9px; border-radius:50%;
  background:var(--teal); box-shadow:0 0 14px 4px rgba(44,166,163,.55);
}
.pm-ring-2::before{ background:var(--ai-1); box-shadow:0 0 14px 4px rgba(37,99,235,.5); top:auto; bottom:8%; left:auto; right:16%; }
@keyframes pm-spin{ to{ transform:rotate(360deg); } }

.pm-device{
  position:relative; z-index:2; border-radius:20px; overflow:hidden;
  background:var(--navy-ink);
  box-shadow:0 40px 90px rgba(11,22,38,.4), 0 0 0 1px rgba(255,255,255,.06);
}
.pm-titlebar{
  height:34px; display:flex; align-items:center; gap:14px; padding:0 14px;
  background:rgba(255,255,255,.04); border-bottom:1px solid rgba(255,255,255,.08);
}
.pm-titlebar .pm-dots{ display:flex; gap:5px; }
.pm-titlebar .pm-dots span{ width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.18); }
.pm-titlebar .pm-label{
  font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.35);
}
.pm-body{ display:grid; grid-template-columns:1.15fr .85fr; min-height:280px; }
.pm-chat{
  background:var(--navy-deep); padding:18px 16px; display:flex; flex-direction:column;
  gap:9px; justify-content:flex-end; border-right:1px solid rgba(255,255,255,.06);
}
.pm-bubble{
  max-width:82%; padding:9px 13px; border-radius:14px; font-size:12.5px; line-height:1.4;
  opacity:0; transform:translateY(10px); transition:opacity 600ms var(--ease-out), transform 600ms var(--ease-out);
}
.pm-chat.in .pm-bubble{ opacity:1; transform:translateY(0); }
.pm-chat.in .pm-bubble:nth-child(1){ transition-delay:100ms; }
.pm-chat.in .pm-bubble:nth-child(2){ transition-delay:500ms; }
.pm-chat.in .pm-bubble:nth-child(3){ transition-delay:1000ms; }
.pm-chat.in .pm-bubble:nth-child(4){ transition-delay:1500ms; }
.pm-bubble.pm-in{ align-self:flex-start; background:rgba(255,255,255,.07); color:rgba(255,255,255,.8); border-bottom-left-radius:4px; }
.pm-bubble.pm-out{ align-self:flex-end; background:linear-gradient(135deg, var(--teal-deep), var(--teal)); color:#06201e; font-weight:500; border-bottom-right-radius:4px; }
.pm-typing{ align-self:flex-start; display:flex; gap:4px; padding:10px 13px; background:rgba(255,255,255,.07); border-radius:14px; border-bottom-left-radius:4px; opacity:0; transition:opacity 400ms; }
.pm-chat.in .pm-typing{ opacity:1; transition-delay:1250ms; animation:pm-typing-out 400ms 1900ms forwards; }
.pm-typing span{ width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,.5); animation:pm-bounce 1.2s ease-in-out infinite; }
.pm-typing span:nth-child(2){ animation-delay:.15s; }
.pm-typing span:nth-child(3){ animation-delay:.3s; }
@keyframes pm-bounce{ 0%,60%,100%{ transform:translateY(0); opacity:.5; } 30%{ transform:translateY(-3px); opacity:1; } }
@keyframes pm-typing-out{ to{ opacity:0; } }

.pm-side{ display:flex; flex-direction:column; }
.pm-agenda{ padding:14px 16px; border-bottom:1px solid rgba(255,255,255,.07); }
.pm-mini-label{ font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.35); margin-bottom:10px; }
.pm-cal{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.pm-cal span{ aspect-ratio:1; border-radius:3px; background:rgba(255,255,255,.06); }
.pm-cal span.pm-cal-active{ position:relative; background:var(--teal); box-shadow:0 0 0 0 rgba(44,166,163,.6); animation:pm-cal-pulse 2.4s ease-out infinite; }
@keyframes pm-cal-pulse{ 0%{ box-shadow:0 0 0 0 rgba(44,166,163,.55);} 70%{ box-shadow:0 0 0 6px rgba(44,166,163,0);} 100%{ box-shadow:0 0 0 0 rgba(44,166,163,0);} }
.pm-crm{ padding:14px 16px; flex:1; display:flex; flex-direction:column; gap:10px; }
.pm-crm-row{ display:flex; align-items:center; gap:9px; }
.pm-avatar{ width:26px; height:26px; border-radius:50%; background:linear-gradient(135deg, var(--ai-1), var(--ai-2)); flex-shrink:0; }
.pm-skel{ height:7px; border-radius:4px; background:rgba(255,255,255,.14); }
.pm-skel.w60{ width:60%; } .pm-skel.w40{ width:40%; }
.pm-crm-pill{
  margin-top:auto; display:inline-flex; align-items:center; gap:6px; align-self:flex-start;
  padding:5px 10px; border-radius:999px; background:rgba(44,166,163,.14); border:1px solid rgba(44,166,163,.3);
  font-size:10px; color:var(--teal-glow); font-weight:600;
}
.pm-crm-pill .pm-dot-live{ width:5px; height:5px; border-radius:50%; background:var(--teal-glow); }

.pm-chip{
  position:absolute; z-index:3; display:flex; align-items:center; gap:7px;
  padding:9px 14px; border-radius:999px; background:rgba(255,255,255,.85); backdrop-filter:blur(10px);
  border:1px solid rgba(44,166,163,.3); box-shadow:0 12px 28px rgba(20,44,74,.16);
  font-size:12px; font-weight:600; color:var(--navy); white-space:nowrap;
  animation:pm-bob 5.5s ease-in-out infinite;
  opacity:0; transform:translateY(14px); transition:opacity 700ms var(--ease-out), transform 700ms var(--ease-out);
}
.pm-stage.in .pm-chip{ opacity:1; transform:translateY(0); }
.pm-chip svg{ width:13px; height:13px; stroke:var(--teal-deep); fill:none; stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.pm-chip-1{ top:-6%; left:-4%; animation-delay:0s; transition-delay:250ms; }
.pm-chip-2{ top:38%; right:-8%; animation-delay:-1.8s; transition-delay:450ms; }
.pm-chip-3{ bottom:-6%; left:14%; animation-delay:-3.4s; transition-delay:650ms; }
@keyframes pm-bob{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-10px);} }
.pm-stage.in .pm-chip-1{ transform:translateY(0); }

@media (max-width:640px){
  .pm-chip{ display:none; }
  .pm-body{ grid-template-columns:1fr; }
  .pm-chat{ border-right:none; border-bottom:1px solid rgba(255,255,255,.06); min-height:180px; }
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .marquee-track{ animation:none; }
}

:focus-visible{ outline:2px solid var(--teal); outline-offset:3px; }
