/* Base, cores e tipografia (mobile-first) */
:root{--bg:#0b0c10;--panel:#111319;--muted:#1a1d26;--text:#e9eef2;--sub:#b9c2ca;--brand:#34b3a0;--brand-2:#2c9e8f;--accent:#5dd2c1;--warn:#e0a900;--danger:#e05a5a;--ok:#36c98a;--shadow:0 10px 25px rgba(0,0,0,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{height:100%}
body{margin:0;background:linear-gradient(180deg,#0b0c10,#0b0c10 50%,#0f1117);color:var(--text);font:400 16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
img{max-width:100%;height:auto}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.container{width:min(1100px,92%);margin-inline:auto}
.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr}
@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}}
.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--brand);color:#082825;border:none;padding:.8rem 1.1rem;border-radius:.6rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease;box-shadow:0 4px 14px rgba(52,179,160,.25)}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.outline{background:transparent;outline:2px solid var(--brand);color:var(--text)}
.badge{display:inline-block;background:rgba(93,210,193,.12);color:var(--accent);border:1px solid rgba(93,210,193,.35);padding:.2rem .5rem;border-radius:.4rem;font-size:.75rem}
.muted{color:var(--sub)}.ok{color:var(--ok)}.warn{color:var(--warn)}
.card{background:var(--panel);border:1px solid #1f2430;border-radius:.9rem;padding:1rem;box-shadow:var(--shadow);transition:transform .18s ease, border-color .2s ease}
.card:hover{transform:translateY(-3px);border-color:#2a3140}
.section{padding:3rem 0}.section h2{font-size:1.8rem;margin:.2rem 0 1rem}.lead{font-size:1.1rem;color:var(--sub)}
/* Header fixo e navegação */
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:1rem;top:1rem;z-index:10000;background:#fff;color:#000;padding:.5rem;border-radius:.3rem}
.header{position:sticky;top:0;z-index:999;background:rgba(11,12,16,.75);backdrop-filter:blur(12px);border-bottom:1px solid #1b1f2a}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;letter-spacing:.2px}
.brand img{width:32px;height:32px}
.menu{display:flex;gap:.8rem;align-items:center}
.menu a{color:var(--text);padding:.4rem .6rem;border-radius:.4rem}
.menu a.active,.menu a[aria-current="page"]{background:#1a1f2b;color:#fff}
/* Hero */
.hero{padding:4rem 0 3rem;background:radial-gradient(1200px 600px at 20% -10%,rgba(52,179,160,.25),transparent),radial-gradient(900px 500px at 110% 0,rgba(93,210,193,.18),transparent)}
.hero h1{font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.2;margin:.2rem 0 .6rem}
.hero .cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1rem}
/* Como funciona, serviços, diferenciais */
.steps{counter-reset:step}
.step{display:flex;gap:.8rem}
.step .n{counter-increment:step;inline-size:2rem;block-size:2rem;border-radius:.6rem;display:grid;place-items:center;background:#15202b;border:1px solid #243042;color:var(--accent);font-weight:700}
/* Depoimentos */
.quote{font-style:italic}
/* FAQ */
details{background:var(--panel);border:1px solid #1f2430;border-radius:.7rem;padding:.8rem}
details+details{margin-top:.6rem}
details summary{cursor:pointer;font-weight:600}
/* Formulário */
form{display:grid;gap:.8rem}
label{font-weight:600}
input,select,textarea{width:100%;padding:.7rem .8rem;border:1px solid #2a3140;background:#0e121a;color:var(--text);border-radius:.6rem}
input:focus,textarea:focus{outline:2px solid var(--brand);border-color:transparent}
.checkbox{display:flex;align-items:flex-start;gap:.6rem}
.helper{font-size:.85rem;color:var(--sub)}
.alert{padding:.7rem .8rem;border-radius:.6rem;background:#162028;border:1px solid #253240}
/* Rodapé */
.footer{background:#0a0c12;border-top:1px solid #1b1f2a;padding:2rem 0;color:var(--sub)}
.footer .cols{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:768px){.footer .cols{grid-template-columns:2fr 1fr 1fr}}
.copy{padding-top:1rem;border-top:1px solid #1b2230;margin-top:1rem;font-size:.9rem}
/* Botão topo */
#toTop{position:fixed;right:1rem;bottom:1rem;z-index:50;opacity:0;pointer-events:none}
#toTop.show{opacity:1;pointer-events:auto}
/* Animações com IntersectionObserver */
[data-animate]{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
.is-visible{opacity:1!important;transform:none!important}
/* Banner de Cookies */
.cookie-banner{position:fixed;inset:auto 0 0 0;background:#0c1118;color:var(--text);border-top:1px solid #1f2634;padding:1rem;z-index:1000}
.cookie-banner .actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.6rem}
.cookie-modal{position:fixed;inset:0;display:none;place-items:center;background:rgba(0,0,0,.55);z-index:1001}
.cookie-modal .panel{background:#0f141d;border:1px solid #243044;border-radius:.8rem;padding:1rem;max-width:560px;width:92%}
.cookie-modal.show{display:grid}
/* Acessibilidade */
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}