/* =====================================================================
   ATALAIA SEGURANÇA ELETRÔNICA · style.css
   Cores e fontes nas variáveis abaixo.
   ===================================================================== */
:root{
  --preto:#05080d;        /* fundo principal */
  --painel:#0a111b;       /* cards / painéis */
  --painel2:#0e1824;
  --linha:#1a2a3e;        /* bordas */
  --azul:#3b9dff;         /* apoio */
  --verde:#33ff99;        /* destaque "terminal" */
  --verde-esc:#0f3d2a;
  --vermelho:#ff3d4f;     /* alerta pontual */
  --amarelo:#ffc24b;
  --texto:#d6e2ee;
  --suave:#8a9bb0;
  --f-display:"Chakra Petch",system-ui,sans-serif;
  --f-corpo:"IBM Plex Sans",system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,monospace;
  --raio:14px;
  --wrap:1220px;
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;scroll-behavior:smooth;scroll-padding-top:80px}
html,body{overflow-x:clip}
body{margin:0;background:var(--preto);color:var(--texto);font:400 16px/1.6 var(--f-corpo);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em;color:#fff}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}
h3{font-size:1.2rem}
p{margin:0 0 1em}
.mono{font-family:var(--f-mono);letter-spacing:.04em}
.wrap{width:min(100% - 40px,var(--wrap));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--verde);color:#000;padding:8px 14px;border-radius:8px}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--verde);outline-offset:3px;border-radius:6px}
.i{width:1.15em;height:1.15em;flex:none}
.ico{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nota{font-size:.82rem;color:var(--suave)}
.centro{text-align:center}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--verde);box-shadow:0 0 0 0 rgba(51,255,153,.6);animation:pulso 1.8s infinite}
.dot--verm{background:var(--vermelho);box-shadow:0 0 0 0 rgba(255,61,79,.6);animation-name:pulsoV}
@keyframes pulso{70%{box-shadow:0 0 0 8px rgba(51,255,153,0)}100%{box-shadow:0 0 0 0 rgba(51,255,153,0)}}
@keyframes pulsoV{70%{box-shadow:0 0 0 8px rgba(255,61,79,0)}100%{box-shadow:0 0 0 0 rgba(255,61,79,0)}}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:.9em 1.4em;border-radius:10px;font:600 .98rem/1 var(--f-display);letter-spacing:.03em;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s,border-color .2s;text-transform:uppercase}
.btn:hover{transform:translateY(-2px)}
.btn--verde{background:var(--verde);color:#04140c;box-shadow:0 0 0 0 rgba(51,255,153,.4),0 10px 30px -10px rgba(51,255,153,.55)}
.btn--verde:hover{box-shadow:0 0 0 4px rgba(51,255,153,.18),0 14px 34px -10px rgba(51,255,153,.7)}
.btn--linha{border-color:rgba(51,255,153,.45);color:var(--verde);background:rgba(51,255,153,.04)}
.btn--linha:hover{background:rgba(51,255,153,.12)}
.btn--sm{padding:.7em 1.05em;font-size:.85rem}
.btn--bloco{width:100%}

/* ===== topo ===== */
.topo{position:fixed;inset:0 0 auto;z-index:60;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.topo.is-solid{background:rgba(5,8,13,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:var(--linha)}
.topo__in{display:flex;align-items:center;gap:22px;height:72px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo__radar{position:relative;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--verde);overflow:hidden;contain:paint;flex:none;background:radial-gradient(circle,rgba(51,255,153,.25) 0 2px,transparent 3px),repeating-radial-gradient(circle,transparent 0 6px,rgba(51,255,153,.18) 6px 7px)}
.logo__radar i{position:absolute;inset:0;background:conic-gradient(from 0deg,rgba(51,255,153,.6),transparent 25%);animation:gira 3s linear infinite;border-radius:50%}
.logo__txt{display:flex;flex-direction:column;line-height:1}
.logo__txt b{font:700 1.25rem/1 var(--f-display);letter-spacing:.14em;color:#fff}
.logo__txt small{font:500 .6rem/1.4 var(--f-mono);letter-spacing:.16em;color:var(--verde)}
.menu{display:flex;gap:4px;margin-left:auto}
.menu a{text-decoration:none;font-size:.9rem;color:var(--suave);padding:8px 10px;border-radius:8px;transition:color .2s,background .2s}
.menu a:hover{color:#fff;background:rgba(255,255,255,.05)}
.status-pill{display:inline-flex;align-items:center;gap:8px;font:600 .68rem/1 var(--f-mono);letter-spacing:.12em;color:var(--verde);border:1px solid rgba(51,255,153,.3);padding:7px 10px;border-radius:999px;white-space:nowrap}
.status-pill i{width:7px;height:7px;border-radius:50%;background:var(--verde);animation:pisca 1.4s infinite}
@keyframes pisca{50%{opacity:.2}}
.burger{display:none;width:44px;height:44px;border-radius:10px;border:1px solid var(--linha);background:var(--painel);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.burger span{display:block;width:20px;height:2px;background:#fff;transition:transform .25s}
.burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}

/* ===== hero ===== */
.hero{position:relative;padding:130px 0 70px;overflow:hidden;contain:paint;min-height:min(100vh,940px);display:flex;align-items:center;
  background:radial-gradient(900px 500px at 78% 30%,rgba(59,157,255,.14),transparent 60%),radial-gradient(700px 500px at 10% 90%,rgba(51,255,153,.07),transparent 60%),var(--preto)}
.hero__grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(59,157,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(59,157,255,.07) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at 60% 40%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 60% 40%,#000 20%,transparent 75%)}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px)}
.hero__in{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.08fr;gap:56px;align-items:center}
.tag{display:inline-flex;align-items:center;gap:10px;font:600 .75rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--verde);background:rgba(51,255,153,.07);border:1px solid rgba(51,255,153,.25);padding:9px 14px;border-radius:999px;margin-bottom:22px}
.hero h1{font-size:clamp(2.4rem,4.5vw,3.9rem);font-weight:700;margin-bottom:.4em}
.hero h1 em{font-style:normal;display:block;color:transparent;background:linear-gradient(90deg,var(--verde),var(--azul));-webkit-background-clip:text;background-clip:text}
.hero__lead{font-size:1.1rem;color:#b5c3d2;max-width:34em}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 36px}
.hero__nums{list-style:none;margin:0;padding:22px 0 0;display:grid;grid-template-columns:repeat(3,auto);gap:28px;border-top:1px solid var(--linha);justify-content:start}
.hero__nums b{display:block;font:700 1.9rem/1 var(--f-display);color:#fff}
.hero__nums span{font-size:.8rem;color:var(--suave);display:block;max-width:12em;margin-top:6px;line-height:1.35}

/* NVR (painel de câmeras) */
.nvr{background:linear-gradient(180deg,#0b131e,#070c13);border:1px solid var(--linha);border-radius:18px;padding:12px;box-shadow:0 40px 90px -30px rgba(0,0,0,.9),0 0 0 1px rgba(51,255,153,.05),0 0 60px -20px rgba(59,157,255,.35);overflow:hidden;contain:paint}
.nvr__bar{display:flex;align-items:center;gap:12px;font-size:.7rem;color:var(--suave);padding:2px 6px 10px}
.nvr__leds{display:flex;gap:5px}
.nvr__leds i{width:9px;height:9px;border-radius:50%;background:#26354a}
.nvr__leds i:first-child{background:var(--vermelho)}
.nvr__clock{margin-left:auto;color:var(--verde)}
.nvr__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.cam{position:relative;aspect-ratio:16/10;border-radius:6px;overflow:hidden;contain:paint;background:#000}
.cam img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15) brightness(.85) sepia(.25) hue-rotate(80deg) saturate(1.4);transform:scale(1.12);animation:pan 16s ease-in-out infinite alternate}
.cam:nth-child(2) img{animation-duration:19s;animation-delay:-4s}
.cam:nth-child(3) img{animation-duration:14s;animation-delay:-7s}
.cam:nth-child(4) img{animation-duration:21s;animation-delay:-2s}
.cam:nth-child(5) img{animation-duration:17s;animation-delay:-9s}
.cam:nth-child(6) img{animation-duration:20s;animation-delay:-5s}
@keyframes pan{0%{transform:scale(1.12) translate(-3%,-1%)}100%{transform:scale(1.18) translate(3%,1.5%)}}
.cam::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.28) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.55))}
.cam::after{content:"";position:absolute;left:0;right:0;height:30%;top:-30%;z-index:1;background:linear-gradient(180deg,transparent,rgba(51,255,153,.09),transparent);animation:varre 5s linear infinite}
.cam:nth-child(even)::after{animation-delay:-2.5s}
@keyframes varre{to{top:110%}}
.cam__hud{position:absolute;inset:0;z-index:2;padding:6px 7px;display:flex;flex-direction:column;justify-content:space-between;font:600 .58rem/1.2 var(--f-mono);letter-spacing:.06em;color:#e8fff2;text-shadow:0 1px 2px #000}
.cam__hud div{display:flex;justify-content:space-between;gap:6px}
.cam__rec{color:var(--vermelho);display:flex;align-items:center;gap:4px}
.cam__rec::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--vermelho);animation:pisca 1s infinite}
.cam__ts{opacity:.85}
.cam__cantos{position:absolute;inset:8px;z-index:2;pointer-events:none;background:
  linear-gradient(var(--verde),var(--verde)) 0 0/10px 1px,linear-gradient(var(--verde),var(--verde)) 0 0/1px 10px,
  linear-gradient(var(--verde),var(--verde)) 100% 0/10px 1px,linear-gradient(var(--verde),var(--verde)) 100% 0/1px 10px,
  linear-gradient(var(--verde),var(--verde)) 0 100%/10px 1px,linear-gradient(var(--verde),var(--verde)) 0 100%/1px 10px,
  linear-gradient(var(--verde),var(--verde)) 100% 100%/10px 1px,linear-gradient(var(--verde),var(--verde)) 100% 100%/1px 10px;background-repeat:no-repeat;opacity:.55}
.cam__alvo{position:absolute;z-index:2;border:1.5px solid var(--vermelho);border-radius:2px;width:26%;height:38%;left:40%;top:36%;opacity:0;transition:opacity .25s}
.cam__alvo::after{content:"MOVIMENTO";position:absolute;left:-1.5px;top:-15px;background:var(--vermelho);color:#fff;font:700 .5rem/1 var(--f-mono);padding:3px 4px;letter-spacing:.08em}
.cam.is-alerta .cam__alvo{opacity:1}
.cam.is-alerta{box-shadow:inset 0 0 0 2px var(--vermelho)}
.cam.is-glitch img{filter:grayscale(1) brightness(1.6) contrast(2);transform:scale(1.2) translateX(2%)}
.nvr__foot{display:grid;grid-template-columns:74px 1fr 1.2fr;gap:14px;align-items:center;margin-top:10px;padding:10px 8px 4px;border-top:1px solid var(--linha)}
.radar{position:relative;width:74px;height:74px;border-radius:50%;overflow:hidden;contain:paint;border:1px solid rgba(51,255,153,.45);background:repeating-radial-gradient(circle,transparent 0 11px,rgba(51,255,153,.2) 11px 12px),linear-gradient(rgba(51,255,153,.2),rgba(51,255,153,.2)) center/1px 100% no-repeat,linear-gradient(rgba(51,255,153,.2),rgba(51,255,153,.2)) center/100% 1px no-repeat,#04100a}
.radar__sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(51,255,153,.55),rgba(51,255,153,0) 22%);animation:gira 3.2s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.radar__blip{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--verde);box-shadow:0 0 8px var(--verde);animation:blip 3.2s infinite}
.b1{left:62%;top:28%}.b2{left:24%;top:60%;animation-delay:-1.4s}.b3{left:70%;top:70%;animation-delay:-2.3s;background:var(--vermelho);box-shadow:0 0 8px var(--vermelho)}
@keyframes blip{0%,100%{opacity:0}10%{opacity:1}60%{opacity:.1}}
.nvr__status{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;font-size:.72rem;color:var(--suave)}
.nvr__status li{display:flex;align-items:center;gap:6px;white-space:nowrap}
.nvr__status b{color:#e8f4ee;font-size:.66rem;margin-left:auto}
.ok,.warn{width:7px;height:7px;border-radius:50%;background:var(--verde);display:inline-block;flex:none;box-shadow:0 0 6px var(--verde)}
.warn{background:var(--amarelo);box-shadow:0 0 6px var(--amarelo)}
.nvr__log{height:62px;overflow:hidden;contain:paint;mask-image:linear-gradient(180deg,transparent,#000 30%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 30%)}
.nvr__log ul{list-style:none;margin:0;padding:0;font-size:.62rem;line-height:1.55;color:#8fe8b9;display:flex;flex-direction:column;justify-content:flex-end;min-height:100%}
.nvr__log li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:entra .4s ease}
.nvr__log li.alerta{color:#ff8a95}
@keyframes entra{from{opacity:0;transform:translateY(6px)}}

/* faixa */
.faixa{border-block:1px solid var(--linha);background:#070d15;overflow:hidden;contain:paint;padding:14px 0}
.faixa__track{display:flex;width:max-content;animation:faixa 40s linear infinite}
.faixa__track span{font:600 .85rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--suave);padding:0 26px;white-space:nowrap;display:flex;align-items:center;gap:26px}
.faixa__track span::after{content:"◆";color:var(--verde);font-size:.6rem}
@keyframes faixa{to{transform:translateX(-50%)}}

/* seções */
.secao{padding:110px 0;position:relative}
.secao--escura{background:linear-gradient(180deg,#070d15,#05080d)}
.sec-head{max-width:720px;margin:0 auto 52px;text-align:center}
.sec-head p{color:var(--suave);font-size:1.05rem}
.sec-head--esq{text-align:left;margin:0}
.kicker{font-size:.75rem;color:var(--verde);letter-spacing:.12em;margin-bottom:14px}

/* abas soluções */
.abas{display:flex;justify-content:center;gap:6px;margin:0 auto 34px;padding:6px;border:1px solid var(--linha);border-radius:14px;background:var(--painel);width:max-content;max-width:100%}
.aba{font:600 .95rem/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase;padding:13px 22px;border:0;border-radius:10px;background:transparent;color:var(--suave);cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .25s,color .25s}
.aba .ico{width:20px;height:20px}
.aba[aria-selected="true"]{background:var(--verde);color:#04140c}
.aba:not([aria-selected="true"]):hover{color:#fff;background:rgba(255,255,255,.05)}
.painel-sol{display:grid;grid-template-columns:1.05fr 1fr;gap:0;border:1px solid var(--linha);border-radius:20px;overflow:hidden;contain:paint;background:var(--painel)}
.painel-sol[hidden]{display:none}
.painel-sol.is-in{animation:fade .45s ease}
@keyframes fade{from{opacity:0;transform:translateY(10px)}}
.painel-sol__img{position:relative;min-height:420px;overflow:hidden}
.painel-sol__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.painel-sol__img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,var(--painel)),repeating-linear-gradient(0deg,rgba(0,0,0,.12) 0 1px,transparent 1px 3px)}
.painel-sol__hud{position:absolute;left:16px;top:16px;z-index:1;font:600 .68rem/1 var(--f-mono);letter-spacing:.1em;background:rgba(5,8,13,.75);padding:7px 10px;border-radius:6px;color:var(--verde);display:flex;gap:8px;align-items:center}
.painel-sol__txt{padding:44px 44px 40px}
.painel-sol__txt p{color:#aebdcc}
.check{list-style:none;padding:0;margin:20px 0 26px;display:grid;gap:10px}
.check li{display:flex;gap:12px;align-items:flex-start}
.check li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:5px;border:1px solid var(--verde);background:linear-gradient(var(--verde),var(--verde)) center/8px 8px no-repeat;opacity:.9}
.destaque{display:inline-block;font:600 .78rem/1.3 var(--f-mono);color:var(--amarelo);border-left:2px solid var(--amarelo);padding:4px 0 4px 10px;margin-bottom:24px}

.servicos{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:64px}
.serv{position:relative;padding:26px 22px;border:1px solid var(--linha);border-radius:var(--raio);background:linear-gradient(180deg,var(--painel),rgba(10,17,27,.4));overflow:hidden;contain:paint;transition:border-color .3s,transform .3s}
.serv:hover{border-color:rgba(51,255,153,.4);transform:translateY(-4px)}
.serv::after{content:"";position:absolute;right:-40px;top:-40px;width:110px;height:110px;border-radius:50%;background:radial-gradient(rgba(51,255,153,.16),transparent 70%);opacity:0;transition:opacity .3s}
.serv:hover::after{opacity:1}
.serv .ico{color:var(--verde);margin-bottom:16px}
.serv h3{font-size:1.08rem}
.serv p{font-size:.9rem;color:var(--suave);margin:0}

/* ===== KIT ===== */
.secao--kit{background:radial-gradient(800px 400px at 85% 10%,rgba(59,157,255,.09),transparent 60%),#060b12;border-block:1px solid var(--linha)}
.kit{display:grid;grid-template-columns:1fr 380px;gap:28px;align-items:start}
.kit__form{display:grid;gap:18px;min-width:0}
.kit__passo{margin:0;border:1px solid var(--linha);border-radius:16px;background:var(--painel);padding:24px 24px 22px;min-width:0}
.kit__passo legend{float:left;width:100%;font:600 1.1rem/1 var(--f-display);color:#fff;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.kit__passo legend .mono{font-size:.72rem;color:var(--verde);border:1px solid rgba(51,255,153,.4);padding:4px 6px;border-radius:5px}
.kit__passo legend small{font:400 .8rem var(--f-corpo);color:var(--suave)}
.kit__passo > *:not(legend){clear:both}
.tipos{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.tipo{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;border:1px solid var(--linha);border-radius:12px;background:var(--painel2);color:var(--suave);font:600 .82rem/1.2 var(--f-corpo);cursor:pointer;text-align:center;transition:all .2s}
.tipo:hover{color:#fff;border-color:#2b4260}
.tipo[aria-checked="true"]{border-color:var(--verde);color:#fff;background:rgba(51,255,153,.08);box-shadow:inset 0 0 0 1px var(--verde)}
.tipo[aria-checked="true"] .ico{color:var(--verde)}
.sliders{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:18px}
.slider span{display:flex;justify-content:space-between;align-items:baseline;font-size:.9rem;margin-bottom:10px}
.slider b{font-weight:500;color:#c3d0dd}
.slider output{font-size:1.3rem;color:var(--verde);font-weight:600}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--verde) var(--p,30%),#1c2b3e var(--p,30%));outline-offset:6px}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:4px solid var(--verde);cursor:pointer;box-shadow:0 0 0 4px rgba(51,255,153,.15)}
input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--verde);cursor:pointer}
.itens{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.item{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;border:1px solid var(--linha);border-radius:12px;background:var(--painel2);transition:border-color .2s,background .2s}
.item.is-on{border-color:rgba(51,255,153,.45);background:rgba(51,255,153,.05)}
.item__txt{flex:1;min-width:0}
.item__txt b{display:block;font-weight:600;font-size:.9rem;color:#fff;line-height:1.25}
.item__txt small{display:block;color:var(--suave);font-size:.76rem;line-height:1.3}
.item__txt em{font-style:normal;font:500 .7rem var(--f-mono);color:#7fb7ff}
.qtd{display:flex;align-items:center;border:1px solid var(--linha);border-radius:9px;overflow:hidden;flex:none;background:#070c13}
.qtd button{width:32px;height:34px;border:0;background:transparent;color:#fff;font-size:1.1rem;cursor:pointer}
.qtd button:hover{background:rgba(51,255,153,.12);color:var(--verde)}
.qtd button:disabled{opacity:.3;cursor:not-allowed;background:transparent}
.qtd output{min-width:26px;text-align:center;font:600 .95rem var(--f-mono);color:#fff}
.mon-op{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.mon{padding:14px 12px;border:1px solid var(--linha);border-radius:12px;background:var(--painel2);color:var(--suave);cursor:pointer;text-align:left;font:inherit;transition:all .2s}
.mon b{display:block;color:#fff;font:600 .98rem/1.2 var(--f-display)}
.mon span{font:500 .8rem var(--f-mono);color:var(--verde)}
.mon[aria-checked="true"]{border-color:var(--verde);background:rgba(51,255,153,.08);box-shadow:inset 0 0 0 1px var(--verde)}
.resumo{position:sticky;top:92px}
.resumo__in{border:1px solid rgba(51,255,153,.3);border-radius:18px;padding:24px;background:linear-gradient(180deg,#0b1622,#08111a);box-shadow:0 30px 60px -30px rgba(0,0,0,.8),0 0 40px -20px rgba(51,255,153,.35);position:relative;overflow:hidden;contain:paint}
.resumo__in::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 3px)}
.resumo__tit{font-size:.72rem;color:var(--verde);display:flex;align-items:center;gap:8px;letter-spacing:.16em}
.resumo__tipo{font:600 1.05rem/1.3 var(--f-display);color:#fff}
.resumo__lista{list-style:none;margin:0 0 16px;padding:12px 0;border-block:1px dashed #22364d;display:grid;gap:6px;font-size:.86rem;max-height:260px;overflow:auto}
.resumo__lista li{display:flex;justify-content:space-between;gap:10px;color:#b7c5d3}
.resumo__lista li b{font:600 .8rem var(--f-mono);color:var(--verde);white-space:nowrap}
.resumo__lista .vazio{color:var(--suave);font-style:italic}
.resumo__total span{font-size:.8rem;color:var(--suave);text-transform:uppercase;letter-spacing:.08em}
.resumo__total strong{display:block;font:700 1.75rem/1.15 var(--f-display);color:#fff;margin:4px 0 12px}
.resumo__mensal{font-size:.88rem;color:#b7c5d3;margin-bottom:18px;padding:10px 12px;border-radius:10px;background:rgba(59,157,255,.08);border:1px solid rgba(59,157,255,.25)}
.resumo__mensal b{color:#fff}
.resumo .nota{margin:14px 0 0;font-size:.75rem}
.resumo__total strong.pulse{animation:numPulse .4s ease}
@keyframes numPulse{50%{color:var(--verde)}}

/* ===== planos ===== */
.planos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}
.plano{position:relative;padding:30px 26px;border:1px solid var(--linha);border-radius:18px;background:var(--painel);display:flex;flex-direction:column}
.plano--dest{border-color:var(--verde);background:linear-gradient(180deg,rgba(51,255,153,.08),var(--painel) 50%);box-shadow:0 0 50px -25px rgba(51,255,153,.6)}
.plano__selo{position:absolute;top:-12px;left:26px;background:var(--verde);color:#04140c;font:700 .68rem/1 var(--f-mono);letter-spacing:.1em;padding:6px 10px;border-radius:999px;text-transform:uppercase}
.plano h3{font-size:1.35rem;margin-bottom:6px}
.plano p{color:var(--suave);font-size:.92rem;min-height:3.2em}
.plano__preco{font:700 2.6rem/1 var(--f-display);color:#fff;margin:8px 0 18px}
.plano__preco small{font:500 .9rem var(--f-corpo);color:var(--suave)}
.plano__preco sup{font-size:1rem;vertical-align:top;margin-right:3px;color:var(--suave)}
.plano .btn{margin-top:auto}
.comparativo{overflow-x:auto;border:1px solid var(--linha);border-radius:16px;background:var(--painel);margin-bottom:14px}
.comparativo table{width:100%;border-collapse:collapse;min-width:640px;font-size:.9rem}
.comparativo th,.comparativo td{padding:14px 18px;border-bottom:1px solid var(--linha);text-align:center}
.comparativo tr:last-child td{border-bottom:0}
.comparativo th:first-child,.comparativo td:first-child{text-align:left;color:#c5d2df}
.comparativo thead th{font:600 .95rem var(--f-display);color:#fff;background:#0c1520;letter-spacing:.04em}
.comparativo thead th.dest{color:var(--verde)}
.comparativo td.dest{background:rgba(51,255,153,.04)}
.comparativo .sim{color:var(--verde);font-weight:700}
.comparativo .nao{color:#3c4d63}
.comparativo .txt{font:500 .8rem var(--f-mono);color:#c5d2df}

/* ===== como funciona ===== */
.cf{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
.cf .sec-head{position:sticky;top:100px}
.cf__foto{margin:26px 0 0;position:relative;border-radius:16px;overflow:hidden;contain:paint;border:1px solid var(--linha)}
.cf__foto img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;filter:saturate(.7) contrast(1.05)}
.cf__foto figcaption{position:absolute;left:12px;top:12px;font-size:.66rem;background:rgba(5,8,13,.8);padding:6px 9px;border-radius:6px;display:flex;gap:8px;align-items:center;color:#fff;letter-spacing:.12em}
.timeline{list-style:none;margin:0;padding:0 0 0 0;position:relative;counter-reset:t}
.timeline::before{content:"";position:absolute;left:47px;top:8px;bottom:8px;width:2px;background:var(--linha)}
.timeline__prog{position:absolute;left:47px;top:8px;width:2px;height:0;background:linear-gradient(var(--vermelho),var(--amarelo) 40%,var(--verde));box-shadow:0 0 12px rgba(51,255,153,.5);transition:height .2s linear}
.tl{position:relative;display:grid;grid-template-columns:96px 1fr;gap:18px;padding:0 0 34px}
.tl__t{position:relative;z-index:1;justify-self:center;align-self:start;margin-top:14px;font:600 .74rem/1 var(--f-mono);color:var(--suave);background:var(--preto);border:1px solid var(--linha);border-radius:999px;padding:8px 8px;min-width:76px;text-align:center;transition:all .4s}
.tl__card{padding:18px 20px;border:1px solid var(--linha);border-radius:14px;background:var(--painel);transition:border-color .4s,transform .4s;opacity:.55}
.tl__card h3{font-size:1.08rem;margin-bottom:6px}
.tl__card p{margin:0;font-size:.92rem;color:var(--suave)}
.tl.is-on .tl__card{opacity:1;border-color:#244263}
.tl.is-on .tl__t{color:#04140c;background:var(--verde);border-color:var(--verde)}
.tl:first-child.is-on .tl__t{background:var(--vermelho);border-color:var(--vermelho);color:#fff}
.tl:first-child.is-on .tl__card{border-color:rgba(255,61,79,.5)}

/* ===== app ===== */
.secao--app{overflow:hidden;contain:paint;background:radial-gradient(600px 500px at 75% 50%,rgba(51,255,153,.08),transparent 60%)}
.app{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.app__txt > p{color:var(--suave);font-size:1.05rem}
.app__rec{list-style:none;margin:28px 0 20px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.app__rec li{padding-left:16px;border-left:2px solid var(--verde)}
.app__rec b{display:block;color:#fff;font-family:var(--f-display);font-size:1.02rem;margin-bottom:4px}
.app__rec span{font-size:.88rem;color:var(--suave)}
.phone-wrap{display:flex;justify-content:center;position:relative}
.phone-wrap::before{content:"";position:absolute;width:420px;height:420px;max-width:100%;border-radius:50%;border:1px dashed rgba(51,255,153,.25);top:50%;left:50%;transform:translate(-50%,-50%);animation:gira 40s linear infinite}
.phone{position:relative;width:300px;max-width:100%;border-radius:44px;padding:12px;background:linear-gradient(145deg,#1e2a38,#0a0f16);box-shadow:0 0 0 2px #2a394b,0 40px 80px -20px rgba(0,0,0,.9),0 0 80px -30px rgba(51,255,153,.5);transform:rotate(-3deg);transition:transform .5s}
.phone:hover{transform:rotate(0)}
.phone__notch{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:88px;height:24px;border-radius:20px;background:#000;z-index:2}
.phone__tela{border-radius:34px;background:linear-gradient(180deg,#08121c,#050a10);padding:44px 16px 18px;overflow:hidden;contain:paint;min-height:580px}
.ph-top{display:flex;justify-content:space-between;font-size:.62rem;color:#9fb0c2;position:absolute;top:24px;left:34px;right:34px}
.ph-ola{font:600 1.05rem var(--f-display);color:#fff;margin:0 0 12px}
.ph-arme{width:100%;display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;border:1px solid rgba(51,255,153,.4);background:rgba(51,255,153,.08);color:#fff;cursor:pointer;text-align:left;font:inherit;transition:all .3s}
.ph-arme b{display:block;font-size:.95rem}
.ph-arme small{color:var(--suave);font-size:.72rem}
.ph-arme__ico{width:40px;height:40px;border-radius:12px;background:var(--verde);position:relative;flex:none;transition:background .3s}
.ph-arme__ico::before{content:"";position:absolute;left:13px;top:18px;width:14px;height:11px;border-radius:3px;background:#04140c}
.ph-arme__ico::after{content:"";position:absolute;left:15px;top:9px;width:10px;height:12px;border:2.5px solid #04140c;border-bottom:0;border-radius:6px 6px 0 0;transition:transform .3s;transform-origin:right bottom}
.ph-arme[aria-pressed="false"]{border-color:rgba(255,194,75,.4);background:rgba(255,194,75,.07)}
.ph-arme[aria-pressed="false"] .ph-arme__ico{background:var(--amarelo)}
.ph-arme[aria-pressed="false"] .ph-arme__ico::after{transform:translateX(6px) rotate(20deg)}
.ph-cams{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 4px}
.ph-cam{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:4/3}
.ph-cam img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(.2) hue-rotate(80deg) contrast(1.1)}
.ph-cam span{position:absolute;left:6px;bottom:5px;font-size:.55rem;color:#fff;text-shadow:0 1px 2px #000}
.ph-cam::after{content:"";position:absolute;right:6px;top:6px;width:6px;height:6px;border-radius:50%;background:var(--vermelho);animation:pisca 1s infinite}
.ph-sub{font:600 .66rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--suave);margin:12px 0 8px}
.ph-auto{display:grid;gap:6px}
.ph-tg{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-radius:12px;border:1px solid var(--linha);background:#0b1520;color:#d6e2ee;font:500 .8rem var(--f-corpo);cursor:pointer}
.ph-tg i{width:34px;height:20px;border-radius:20px;background:#22313f;position:relative;transition:background .25s}
.ph-tg i::after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .25s}
.ph-tg[aria-pressed="true"] i{background:var(--verde)}
.ph-tg[aria-pressed="true"] i::after{transform:translateX(14px)}
.ph-ev{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.74rem;color:#b5c3d2}
.ph-ev li{display:flex;align-items:center;gap:8px}
.ph-panico{width:100%;margin-top:14px;padding:11px;border-radius:12px;border:1px solid rgba(255,61,79,.5);background:rgba(255,61,79,.1);color:#ff9aa4;font:700 .74rem var(--f-mono);letter-spacing:.1em;cursor:pointer}
.ph-panico.is-on{background:var(--vermelho);color:#fff;animation:pisca .6s 4}

/* ===== segmentos ===== */
.segmentos{list-style:none;margin:0 0 64px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.seg{padding:20px 18px;border:1px solid var(--linha);border-radius:14px;background:var(--painel);position:relative;overflow:hidden;contain:paint;transition:border-color .3s}
.seg:hover{border-color:rgba(59,157,255,.5)}
.seg b{display:block;font:600 1rem var(--f-display);color:#fff}
.seg span{font-size:.82rem;color:var(--suave)}
.seg i{position:absolute;right:12px;top:12px;font:500 .62rem var(--f-mono);color:#3f5674;font-style:normal}
.numeros{list-style:none;margin:0;padding:34px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-top:1px solid var(--linha)}
.numeros b{display:block;font:700 clamp(2rem,4vw,3rem)/1 var(--f-display);color:var(--verde)}
.numeros span{color:var(--suave);font-size:.9rem}

/* ===== depoimentos ===== */
.aval{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}
.estrelas{color:var(--amarelo);letter-spacing:2px}
.carrossel__viewport{overflow:hidden;contain:paint;margin:0 -9px}
.carrossel__track{list-style:none;margin:0;padding:0;display:flex;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.dep{flex:0 0 calc(100% / 3);padding:0 9px}
.dep__in{height:100%;padding:28px 26px;border:1px solid var(--linha);border-radius:16px;background:var(--painel);display:flex;flex-direction:column}
.dep__in p{flex:1;color:#c5d2df;font-size:.97rem}
.dep__in p::before{content:"“";display:block;font:700 3rem/0.6 var(--f-display);color:var(--verde);margin:10px 0 8px}
.dep__autor{display:flex;align-items:center;gap:12px}
.dep__av{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#123,#1d3b5c);display:grid;place-items:center;font:700 .9rem var(--f-display);color:var(--verde)}
.dep__autor b{display:block;color:#fff;font-size:.95rem}
.dep__autor small{color:var(--suave);font-size:.8rem}
.carrossel__ctrl{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:26px}
.seta{width:44px;height:44px;border-radius:12px;border:1px solid var(--linha);background:var(--painel);color:#fff;cursor:pointer;font-size:1.1rem}
.seta:hover{border-color:var(--verde);color:var(--verde)}
.carrossel__dots{display:flex;gap:8px}
.carrossel__dots button{width:9px;height:9px;padding:0;border-radius:9px;border:0;background:#2a3b50;cursor:pointer;transition:width .3s,background .3s}
.carrossel__dots button[aria-current="true"]{width:26px;background:var(--verde)}

/* ===== FAQ ===== */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.faq .sec-head{position:sticky;top:100px}
.faq__lista{display:grid;gap:10px}
.faq details{border:1px solid var(--linha);border-radius:14px;background:var(--painel);transition:border-color .3s}
.faq details[open]{border-color:rgba(51,255,153,.35)}
.faq summary{cursor:pointer;list-style:none;padding:20px 54px 20px 22px;font:600 1.02rem/1.35 var(--f-display);color:#fff;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font:500 1.4rem var(--f-mono);color:var(--verde);transition:transform .3s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding:0 22px 20px;margin:0;color:var(--suave)}

/* ===== contato ===== */
.secao--contato{background:linear-gradient(180deg,#05080d,#08111b);border-top:1px solid var(--linha)}
.contato{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.contato__info > p{color:var(--suave)}
.contato__dados{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px}
.contato__dados li{display:grid;grid-template-columns:120px 1fr;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--linha)}
.contato__dados span.mono{font-size:.7rem;color:var(--verde);letter-spacing:.14em;padding-top:4px}
.contato__dados a{text-decoration:none}
.contato__dados a:hover{color:var(--verde)}
.form{padding:30px;border:1px solid var(--linha);border-radius:18px;background:var(--painel);display:grid;gap:16px}
.form label{display:grid;gap:7px;font-size:.86rem;color:#b7c5d3;font-weight:500}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:1rem;color:#fff;background:#070c13;border:1px solid #20324a;border-radius:10px;padding:12px 14px;transition:border-color .2s}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--verde);box-shadow:0 0 0 3px rgba(51,255,153,.15)}
.form textarea{resize:vertical}
.form__chips{border:0;padding:0;margin:0}
.form__chips legend{font-size:.86rem;color:#b7c5d3;font-weight:500;margin-bottom:8px}
.form__chips div{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{padding:8px 12px;border-radius:999px;border:1px solid #20324a;font-size:.82rem;color:#b7c5d3;cursor:pointer;transition:all .2s}
.chip input:checked + span{border-color:var(--verde);color:var(--verde);background:rgba(51,255,153,.08)}
.chip input:focus-visible + span{outline:2px solid var(--verde);outline-offset:2px}
.form__erro{color:#ff8a95;font-size:.85rem;margin:0;min-height:1.2em}

/* ===== rodapé ===== */
.rodape{border-top:1px solid var(--linha);padding:56px 0 24px;background:#04070b}
.rodape__in{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}
.rodape__in p{color:var(--suave);font-size:.9rem;margin-top:16px;max-width:34em}
.rodape__nav,.rodape__redes{display:grid;gap:10px;align-content:start}
.rodape__nav a,.rodape__redes a{text-decoration:none;color:#b7c5d3;font-size:.92rem}
.rodape__nav a:hover,.rodape__redes a:hover{color:var(--verde)}
.rodape__base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:40px;padding-top:20px;border-top:1px solid var(--linha);font-size:.82rem;color:var(--suave)}
.rodape__base a{color:var(--verde)}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:80;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--verde);color:#04140c;box-shadow:0 10px 30px -8px rgba(51,255,153,.7);transition:transform .2s}
.wa-float .i{width:28px;height:28px}
.wa-float:hover{transform:scale(1.08)}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-in{opacity:1;transform:none}

/* ===== responsivo ===== */
@media (max-width:1180px){
  .status-pill{display:none}
  .menu a{padding:8px 7px;font-size:.86rem}
}
@media (max-width:1024px){
  .burger{display:flex}
  .topo__cta{margin-left:auto}
  .menu{position:fixed;top:72px;left:0;right:0;flex-direction:column;gap:0;padding:12px 20px 22px;background:rgba(5,8,13,.97);border-bottom:1px solid var(--linha);transform:translateY(-8px);opacity:0;visibility:hidden;transition:all .25s}
  .menu.is-open{transform:none;opacity:1;visibility:visible}
  .menu a{padding:14px 4px;font-size:1.05rem;border-bottom:1px solid var(--linha);border-radius:0}
  .hero__in{grid-template-columns:1fr;gap:44px}
  .servicos{grid-template-columns:repeat(2,1fr)}
  .kit{grid-template-columns:1fr}
  .resumo{position:static}
  .cf,.faq,.contato,.app{grid-template-columns:1fr;gap:40px}
  .cf .sec-head,.faq .sec-head{position:static}
  .segmentos{grid-template-columns:repeat(3,1fr)}
  .dep{flex-basis:50%}
}
@media (max-width:720px){
  .secao{padding:76px 0}
  .wrap{width:min(100% - 32px,var(--wrap))}
  .hero{padding:104px 0 50px;min-height:0}
  .hero h1{font-size:2.35rem}
  .hero__lead{font-size:1rem}
  .hero__ctas .btn{flex:1 1 100%}
  .hero__nums{grid-template-columns:repeat(3,1fr);gap:12px}
  .hero__nums b{font-size:1.45rem}
  .hero__nums span{font-size:.72rem}
  .nvr{padding:8px;border-radius:14px}
  .nvr__bar{font-size:.6rem;gap:8px}
  .nvr__grid{grid-template-columns:repeat(2,1fr);gap:4px}
  .cam__hud{font-size:.5rem;padding:4px 5px}
  .nvr__foot{grid-template-columns:60px 1fr;gap:10px}
  .radar{width:60px;height:60px}
  .nvr__log{grid-column:1/-1;height:48px}
  .nvr__status{font-size:.66rem;gap:5px 10px}
  .topo__cta{display:none}
  .burger{margin-left:auto}
  .abas{width:100%}
  .aba{flex:1;padding:12px 6px;font-size:.8rem;justify-content:center}
  .aba .ico{display:none}
  .painel-sol{grid-template-columns:1fr}
  .painel-sol__img{min-height:220px}
  .painel-sol__img::after{background:linear-gradient(180deg,transparent 55%,var(--painel)),repeating-linear-gradient(0deg,rgba(0,0,0,.12) 0 1px,transparent 1px 3px)}
  .painel-sol__txt{padding:22px 20px 26px}
  .servicos{grid-template-columns:1fr 1fr;gap:10px;margin-top:44px}
  .serv{padding:18px 14px}
  .serv p{font-size:.82rem}
  .kit__passo{padding:18px 14px}
  .tipos{grid-template-columns:repeat(3,1fr);gap:8px}
  .tipo{padding:12px 4px;font-size:.74rem}
  .sliders{grid-template-columns:1fr}
  .itens{grid-template-columns:1fr}
  .mon-op{grid-template-columns:1fr 1fr}
  .planos{grid-template-columns:1fr}
  .comparativo table{font-size:.8rem;min-width:560px}
  .comparativo th,.comparativo td{padding:11px 10px}
  .timeline::before,.timeline__prog{left:35px}
  .tl{grid-template-columns:72px 1fr;gap:12px;padding-bottom:22px}
  .tl__t{min-width:64px;font-size:.66rem;padding:7px 4px}
  .tl__card{padding:14px 14px}
  .app__rec{grid-template-columns:1fr}
  .phone{width:280px}
  .phone-wrap::before{width:340px;height:340px}
  .segmentos{grid-template-columns:1fr 1fr;margin-bottom:44px}
  .numeros{grid-template-columns:1fr 1fr;gap:24px}
  .dep{flex-basis:100%}
  .form{padding:20px}
  .form__row{grid-template-columns:1fr}
  .contato__dados li{grid-template-columns:1fr;gap:2px}
  .rodape__in{grid-template-columns:1fr 1fr;gap:28px}
  .rodape__in > div:first-child{grid-column:1/-1}
  .rodape__base{flex-direction:column;padding-bottom:60px}
  .wa-float{width:52px;height:52px;right:14px;bottom:14px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}
