/* Tokens: ver design.md (estilo Flighty). O botão de tema troca só estas variáveis. */
:root{
  --bg:#fff; --bg-alt:#faf8f7; --text:#000; --text-2:#333; --muted:#737373; --line:#cfcfcf;
  --dark:#0d0021; --dark-card:#05010d; --on-dark:#fff; --on-dark-2:#cfcfcf; --line-dark:rgba(255,255,255,.08);
  --action:#007bff; --cta:#f7be00;
  --r-card:16px; --r-float:20px; --r-pill:999px; --max:1200px; --gap:72px;
  --font:system-ui,-apple-system,"Segoe UI",Inter,Roboto,sans-serif;
  --shadow:0 0 0 1px rgba(0,0,0,.04),0 1px 1px .5px rgba(0,0,0,.02),0 3px 3px 1.5px rgba(0,0,0,.02),0 12px 12px -6px rgba(0,0,0,.02),0 24px 24px -12px rgba(0,0,0,.02);
}
:root[data-theme="dark"]{ --bg:#0d0021; --bg-alt:#05010d; --text:#fff; --text-2:#cfcfcf; --muted:#89898e; --line:rgba(255,255,255,.1); --shadow:0 0 0 1px rgba(255,255,255,.06); }
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:400 17px/1.5 var(--font);letter-spacing:-.01em;color:var(--text);background:var(--bg);transition:background .3s,color .3s}
img{max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{line-height:1.1;letter-spacing:-.025em;margin:0 0 .5em}
h1,.display{font-size:clamp(34px,6vw,56px);font-weight:700;letter-spacing:-1.4px;line-height:1}
h2{font-size:clamp(26px,3.4vw,32px);font-weight:600;letter-spacing:-.8px}
h3{font-size:22px;font-weight:600}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
main>section{padding:var(--gap) 0}
main>section.wrap{padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}  /* .wrap zerava o respiro vertical das seções */
.prose{max-width:860px;margin:0 auto}
.prose p,.prose li{color:var(--text-2)}
.prose h2{margin-top:1.6em}

/* seções escuras: sempre control-room, independente do tema */
.dark-band{background:var(--dark);color:var(--on-dark);position:relative;overflow:hidden;
  --text:#fff;--text-2:var(--on-dark-2);--line:var(--line-dark)}
.dark-band p{color:var(--on-dark-2)}
.hero{min-height:78vh;display:flex;align-items:center;text-align:center;
  background:radial-gradient(60% 60% at 50% 40%,#250160 0,transparent 70%),var(--dark)}
.hero .wrap{position:relative;z-index:1}
.hero-sm{padding:calc(var(--gap) + 40px) 0 var(--gap)!important}
.hero-sm h1,.hero-sm h2{margin:0;max-width:900px}
#fx{position:fixed;inset:0;width:100%;height:100vh;z-index:0;pointer-events:none;opacity:.55}
main,footer,header{position:relative;z-index:1}
.dark-band{background-color:transparent;background-image:linear-gradient(rgba(13,0,33,.88),rgba(13,0,33,.88))}
.hero{background-image:radial-gradient(60% 60% at 50% 40%,rgba(37,1,96,.8) 0,transparent 70%),linear-gradient(rgba(13,0,33,.8),rgba(13,0,33,.8))}

/* nav em pílula */
.nav-wrap{position:fixed;top:14px;left:0;right:0;z-index:50;padding:0 14px}
.nav{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:16px;padding:8px 14px;border-radius:var(--r-pill);
  background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);box-shadow:var(--shadow);border:1px solid var(--line)}
.brand img{height:30px;display:block}
[data-theme="dark"] .brand img,.nav .brand img{filter:none}
.menu{display:flex;gap:4px;list-style:none;margin:0 auto;padding:0}
.menu a,.chip,.tools .btn{white-space:nowrap}
.menu a{display:block;padding:8px 12px;border-radius:var(--r-pill);text-decoration:none;font-weight:500;font-size:15px}
.menu a:hover{background:var(--bg-alt)}
.has-sub{position:relative}
.sub{display:none;position:absolute;top:100%;left:0;min-width:200px;list-style:none;margin:6px 0 0;padding:8px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow)}
.sub::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}  /* ponte: o mouse não "sai" do menu ao descer até as opções */
.has-sub:hover .sub,.has-sub:focus-within .sub,.has-sub.open .sub{display:block}
.sub a{white-space:nowrap}
.tools{display:flex;align-items:center;gap:8px}
.chip{border:1px solid var(--line);background:transparent;color:inherit;border-radius:var(--r-pill);padding:6px 12px;font:500 13px var(--font);cursor:pointer;text-decoration:none}
.burger{display:none;background:none;border:0;margin-left:auto;padding:8px}
.burger span{display:block;width:22px;height:2px;background:var(--text);margin:5px 0}

/* botões: sempre pílula */
.btn{display:inline-block;padding:12px 24px;border-radius:var(--r-pill);background:var(--action);color:#fff;font:600 15px var(--font);text-decoration:none;border:0;cursor:pointer;transition:transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn.sm{padding:8px 16px;font-size:14px}
.btn.ghost{background:transparent;color:var(--text);border:1px solid color-mix(in srgb,var(--text) 50%,transparent)}
.btn.cta{background:var(--cta);color:#000}
.cta-row{margin:1.2em 0}
.hero .cta-row .btn{background:var(--cta);color:#000}
.wa-fab{position:fixed;right:18px;bottom:18px;z-index:40;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.to-top{position:fixed;right:18px;bottom:76px;z-index:40;width:44px;height:44px;border:0;border-radius:var(--r-pill);background:var(--action);color:#fff;font:700 20px/1 var(--font);cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.25);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{transform:translateY(-3px)}

/* cartões */
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.card{display:block;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-float);padding:24px;text-decoration:none;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s;transform-style:preserve-3d}
.card img{max-height:150px;width:auto;margin-bottom:12px;border-radius:12px}
.card.float:nth-child(odd){transform:rotate(-1deg)}.card.float:nth-child(even){transform:rotate(1deg)}
.card:hover{box-shadow:0 0 0 1px var(--action),0 20px 40px -16px rgba(0,123,255,.35)}
.phones{display:flex;gap:16px;flex-wrap:wrap;margin:1.5em 0}
.phones .card{background:var(--dark-card);border-color:var(--line-dark);color:#fff;padding:16px 20px}
.phones b,.phones span{display:block}.phones span{color:var(--on-dark-2)}
.big{font-size:28px;font-weight:700;color:#fff!important}.big small{font-size:14px;font-weight:400;color:var(--on-dark-2)}
.foot{padding:var(--gap) 0 40px}
.foot a{color:var(--on-dark-2)}
.copy,.social{font-size:14px}

/* marquee de clientes */
.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.track{display:flex;gap:16px;width:max-content;animation:scroll 60s linear infinite}
.track img{height:64px;width:150px;object-fit:contain;padding:12px;background:var(--dark-card);border:1px solid var(--line-dark);border-radius:var(--r-card);filter:grayscale(1) brightness(1.6);opacity:.7;transition:.2s}
.track img:hover{filter:none;opacity:1}
@keyframes scroll{to{transform:translateX(-50%)}}

.hero-grid{display:block}

/* efeitos */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}
.reveal.in{opacity:1;transform:none}
.typing::after{content:"";display:inline-block;width:.08em;height:.9em;margin-left:.1em;background:var(--cta);animation:blink 1s steps(1) infinite;vertical-align:-.05em}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}#fx{display:none}}

@media (max-width:900px){
  .burger{display:block}
  .menu,.tools .btn{display:none}
  .nav.open{flex-wrap:wrap;border-radius:24px}
  .nav.open .menu{display:flex;flex-direction:column;width:100%;order:5}
  .nav.open .sub{display:block;position:static;box-shadow:none;border:0}
  .tools{margin-left:auto}.burger{margin-left:0}
}
