/* Nivox — loja de iPhone. Estilo compartilhado por todas as páginas.
   Linguagem das páginas de iPhone da Apple (muito branco, títulos grandes, cards arredondados, carrosséis),
   na identidade azul e branca da série de posts (Poppins, azul #2f7fd6, azul-escuro #0d3a80). */
:root{
  --tinta:#0b1b33; --tinta-2:#3b4a63; --cinza:#6b7689; --linha:#dfe8f3;
  --azul:#2f7fd6; --azul-forte:#1d64c8; --azul-claro:#7dbcf4; --azul-escuro:#0d3a80; --navy:#071a3d;
  --fundo:#fff; --fundo-2:#eff5fc; --card:#fff;
  --raio:28px; --wrap:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Poppins,system-ui,sans-serif;color:var(--tinta);background:var(--fundo);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
.wrap{width:min(var(--wrap),100% - 44px);margin-inline:auto}
h1,h2,h3{letter-spacing:-.035em;font-weight:600}
.link{color:var(--azul);font-weight:500;font-size:16px;white-space:nowrap}
.link::after{content:" ›"}
.link:hover{text-decoration:underline}
.btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;border-radius:999px;background:var(--azul);color:#fff;font-weight:500;font-size:15px;white-space:nowrap;transition:background .2s,transform .2s}
.btn:hover{background:var(--azul-forte)}
.btn:active{transform:scale(.97)}
.btn.claro{background:#fff;color:var(--azul-escuro)}
.btn.claro:hover{background:#eaf3ff}
.btn.grande{height:52px;padding:0 30px;font-size:17px}

/* ---------- navegação ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid rgba(13,58,128,.06)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:52px;font-size:13px}
.nav .logo{display:flex;align-items:center}
.logo img{display:block;height:26px;width:auto}
.logo .marca-escuro,.escuro .logo .marca-claro{display:none}
.escuro .logo .marca-escuro{display:block}
footer .logo{display:inline-flex;vertical-align:middle}
footer .logo img{height:18px}
.nav ul{display:flex;gap:30px;list-style:none;color:var(--tinta-2)}
.nav ul a:hover,.nav ul a[aria-current]{color:var(--azul)}
.nav .icones{display:flex;gap:20px;align-items:center}
.nav svg{width:18px;height:18px;stroke:var(--tinta-2);fill:none;stroke-width:1.6}
.nav .menu{display:none}
.faixa{background:var(--fundo-2);text-align:center;font-size:14px;color:var(--tinta-2);padding:13px 16px}
.faixa a{color:var(--azul)}
.escuro .nav{background:rgba(7,18,40,.78);border-color:rgba(255,255,255,.06)}
.escuro .nav ul,.escuro .nav .logo{color:#e8f0ff}
.escuro .nav svg{stroke:#e8f0ff}

/* sub-navegação de produto (fixa) */
.subnav{position:sticky;top:52px;z-index:40;background:rgba(7,18,40,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08);color:#fff}
.subnav .wrap{display:flex;align-items:center;justify-content:space-between;height:54px}
.subnav strong{font-size:20px;font-weight:600;letter-spacing:-.02em}
.subnav nav{display:flex;gap:26px;align-items:center;font-size:13px;color:#c9d8ef}
.subnav nav a:hover{color:#fff}
.subnav .btn{height:32px;padding:0 14px;font-size:13px}

/* ---------- topo de página ---------- */
.topo{padding:64px 0 10px}
.topo h1{font-size:clamp(56px,7vw,92px);line-height:1}
.topo .lead{font-size:clamp(20px,2.2vw,26px);color:var(--tinta-2);margin-top:14px;max-width:720px;line-height:1.35}
.modelos{display:flex;gap:6px;justify-content:space-between;margin:34px 0 22px;padding:12px 0 8px;overflow-x:auto;scrollbar-width:none}
.modelos::-webkit-scrollbar{display:none}
.modelos a{display:flex;flex-direction:column;align-items:center;min-width:100px;font-size:13px;font-weight:500;color:var(--tinta);text-align:center;transition:transform .25s}
.modelos a:hover{transform:translateY(-3px)}
.modelos img{height:62px;width:auto;margin-bottom:10px;object-fit:contain}
.modelos small{color:var(--azul);font-size:12px;font-weight:500}

/* ---------- carrosséis ---------- */
.carrossel{position:relative}
.cards{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;
  padding-left:max(22px,calc((100% - var(--wrap))/2));padding-right:max(22px,calc((100% - var(--wrap))/2));scroll-padding-left:max(22px,calc((100% - var(--wrap))/2))}
.cards::-webkit-scrollbar{display:none}
/* arrastar com o mouse */
@media (hover:hover) and (pointer:fine){.cards,.modelos{cursor:grab}}
.cards.arrastando,.modelos.arrastando{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none;-webkit-user-select:none}
.cards.arrastando *,.modelos.arrastando *{cursor:grabbing}
/* texto dos carrosséis continua texto, mas não é selecionável (senão o arraste seleciona em vez de rolar) */
.cards,.modelos,.cards *,.modelos *{-webkit-user-select:none;user-select:none}
.cards img,.modelos img,.cards a,.modelos a{-webkit-user-drag:none}
.cards{padding-top:14px;padding-bottom:40px}
.cards>*{scroll-snap-align:start}
.setas{display:flex;gap:12px;justify-content:flex-end;margin-top:-6px}
.setas button{width:36px;height:36px;border-radius:50%;background:#dfe9f5;display:grid;place-items:center;color:var(--tinta-2);font-size:20px;line-height:1;transition:background .2s,opacity .2s}
.setas button:hover{background:#cddcee}
.setas button:disabled{opacity:.4;cursor:default}
.escuro .setas button{background:#1b2a48;color:#cfe0ff}
.pontos{display:flex;gap:10px;justify-content:center;margin-top:-12px}
.pontos button{width:8px;height:8px;border-radius:50%;background:#c3d1e3;transition:width .3s,background .3s}
.pontos button[aria-current]{width:28px;border-radius:5px;background:var(--azul)}
.cabeca{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:40px}
.cabeca h2{font-size:clamp(36px,4.2vw,52px);line-height:1.05}

/* ---------- destaques (home) ---------- */
.trilho{gap:18px;padding-top:40px}
.destaque{flex:0 0 min(var(--wrap),calc(100vw - 80px));height:640px;border-radius:var(--raio);position:relative;overflow:hidden;isolation:isolate}
.d-pro{background:radial-gradient(ellipse 70% 60% at 55% 70%,#2d78d8 0,#0d3a80 45%,#071a3d 80%)}
.feixes{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.55;pointer-events:none}
.d-pro .pro{position:absolute;left:50%;top:47%;width:70%;transform:translate(-50%,-50%);filter:drop-shadow(0 0 40px rgba(120,190,255,.45))}
.d-pro .aparelho{position:absolute;left:50%;top:70%;width:60%;transform:translate(-50%,-50%) rotate(-4deg);filter:drop-shadow(0 40px 50px rgba(0,8,30,.65))}
.d-texto{position:absolute;inset:44px 48px auto;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;z-index:2}
.d-texto h2{font-size:48px;line-height:1.02;color:#fff}
.d-texto p{font-size:24px;color:#cfe3ff;margin-top:6px;letter-spacing:-.01em}
.d-texto .acoes{display:flex;gap:18px;align-items:center}
.d-pro .link,.escuro .link{color:#9fd0ff}
.d-claro{background:linear-gradient(160deg,#eaf4ff,#bfdcf8)}
.d-claro .d-texto h2{color:var(--tinta)} .d-claro .d-texto p{color:var(--tinta-2)}
.d-claro img{position:absolute;right:6%;bottom:-8%;height:78%;width:auto;max-width:none}
.d-semi{background:linear-gradient(160deg,#ffffff,#dbe8f5)}
.d-semi img{position:absolute;left:50%;bottom:-6%;height:66%;width:auto;max-width:none;transform:translateX(-50%)}
.d-semi .d-texto h2{color:var(--tinta)} .d-semi .d-texto p{color:var(--tinta-2)}

/* ---------- família ---------- */
.familia{background:var(--fundo-2);padding:96px 0 70px;margin-top:90px}
.prod{flex:0 0 280px;text-align:center}
.prod .foto{height:300px;border-radius:24px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.prod .foto img{height:88%;width:auto;max-width:92%;object-fit:contain;filter:drop-shadow(0 20px 22px rgba(13,40,90,.28));transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.prod:hover .foto img{transform:scale(1.05)}
.f1{background:linear-gradient(170deg,#0c2b63,#1d64c8)} .f2{background:linear-gradient(170deg,#e9eef5,#c3cfdd)}
.f3{background:linear-gradient(170deg,#a9d3f8,#5aa2ec)} .f4{background:linear-gradient(170deg,#e7f3ff,#bcdcf7)}
.f5{background:linear-gradient(170deg,#3d57d6,#1b2f9a)} .f6{background:linear-gradient(170deg,#ffffff,#dbe8f5)}
.cores{display:flex;gap:7px;justify-content:center;margin:18px 0 14px}
.cores i{width:11px;height:11px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
.prod .novo{color:var(--azul);font-size:13px;font-weight:600;height:18px}
.prod h3{font-size:26px;margin:2px 0 10px}
.prod p{font-size:15px;line-height:1.5;color:var(--tinta-2);min-height:68px;padding:0 6px}
.prod .preco{font-size:15px;font-weight:600;margin:16px 0 22px}
.prod .acoes{display:flex;gap:20px;justify-content:center;align-items:center}
.selo{position:absolute;top:14px;left:14px;background:#fff;color:var(--azul-escuro);font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;box-shadow:0 4px 14px -6px rgba(13,58,128,.4)}

/* ---------- motivos / cards brancos ---------- */
.motivos{background:var(--fundo-2);padding:30px 0 100px}
.motivo{flex:0 0 380px;height:420px;background:var(--card);border-radius:var(--raio);padding:32px 30px;position:relative;overflow:hidden;box-shadow:0 4px 30px -18px rgba(13,58,128,.25);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.motivo:hover,.alto:hover{box-shadow:0 14px 40px -20px rgba(13,58,128,.35)}
.motivo small{font-size:14px;font-weight:500;color:var(--tinta-2)}
.motivo h3{font-size:26px;line-height:1.12;margin:10px 0 10px}
.motivo p{font-size:15px;line-height:1.45;color:var(--tinta-2);max-width:300px}
.motivo img{position:absolute;left:50%;bottom:0;transform:translateX(-50%)}
.mais{position:absolute;right:22px;bottom:22px;cursor:pointer;width:36px;height:36px;border-radius:50%;background:var(--tinta);color:#fff;display:grid;place-items:center;font-size:22px;line-height:1;z-index:2;transition:transform .3s}
.motivo:hover .mais,.alto:hover .mais{transform:rotate(90deg)}

/* ---------- cards altos com foto ---------- */
.melhor{padding:110px 0 30px}
.alto{flex:0 0 380px;height:680px;border-radius:var(--raio);position:relative;overflow:hidden;background-size:cover;background-position:center bottom;color:#fff;padding:34px 30px;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.alto small{font-size:14px;font-weight:600;opacity:.9}
.alto h3{font-size:28px;line-height:1.12;margin-top:10px}
.alto p{font-size:15px;line-height:1.5;margin-top:12px;max-width:300px;opacity:.88}
.alto.claro{color:var(--tinta)}
.alto .mais.branco{background:#fff;color:var(--tinta)}

/* ---------- blocos de duas colunas ---------- */
.servicos{padding:100px 0 110px}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.tile{border-radius:var(--raio);min-height:560px;position:relative;overflow:hidden;text-align:center;padding:52px 40px;isolation:isolate;display:flex;flex-direction:column;align-items:center}
.tile>.acoes,.tile>.link,.tile>.btn{position:relative;z-index:1}
.tile.t-foto{align-items:center}
.tile h3{font-size:38px;line-height:1.05}
.tile p{font-size:17px;color:var(--tinta-2);margin:12px auto 22px;max-width:420px;line-height:1.45}
.tile .acoes{display:flex;gap:18px;justify-content:center;align-items:center;flex-wrap:wrap}
.t-claro{background:linear-gradient(180deg,#eff5fc,#cfe6fc)}
.t-claro img,.t-escuro img{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;width:auto!important;max-width:88%;max-height:330px;margin:auto auto -36px;padding-top:28px;object-fit:contain;z-index:0}
.t-foto{background:#0d3a80 center/cover;color:#fff}
.t-foto::before{content:"";position:absolute;inset:0;background:linear-gradient(#071a3dee 0,#071a3d99 38%,transparent 70%);z-index:-1}
.t-foto p{color:#d6e7ff}
.t-escuro{background:radial-gradient(ellipse 80% 70% at 50% 100%,#1d64c8,#0d3a80 50%,#071a3d);color:#fff}
.t-escuro p{color:#cfe0ff}


/* ---------- produto (página escura) ---------- */
.escuro{background:#000;color:#f5f8ff;--card:#101c33;--tinta-2:#b8c7de;--fundo-2:#0a1428;--linha:#1c2a45}
.heroi-prod{height:clamp(640px,calc(100vh - 106px),860px);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;isolation:isolate;padding-bottom:60px;
  background:radial-gradient(ellipse 60% 55% at 50% 50%,#123c86 0,#071a3d 55%,#000 85%)}
.heroi-prod .pro{position:absolute;left:50%;top:42%;width:min(820px,82%);transform:translate(-50%,-50%);filter:drop-shadow(0 0 50px rgba(120,190,255,.45))}
.heroi-prod .aparelho{position:absolute;left:50%;top:54%;width:min(760px,78%);transform:translate(-50%,-50%) rotate(-4deg);filter:drop-shadow(0 50px 60px rgba(0,0,0,.7))}
.heroi-prod .base{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;position:relative}
.heroi-prod small{font-size:22px;font-weight:500}
.heroi-prod h1{font-size:clamp(48px,6vw,80px);line-height:1}
.pilula{display:flex;align-items:center;gap:18px;background:rgba(40,56,90,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:999px;padding:10px 10px 10px 24px;font-size:13px;line-height:1.35;color:#dbe7fb}
.pilula strong{display:block;color:#fff;font-size:14px}
.secao{padding:120px 0}
.secao.cinza{background:#0a1428}
.titulo-secao{font-size:clamp(40px,5.4vw,72px);line-height:1.02;max-width:900px}
.titulo-secao.grad{background:linear-gradient(90deg,#9fd0ff,#5aa2ec 50%,#e9f4ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.texto-secao{font-size:clamp(18px,1.7vw,21px);line-height:1.5;color:#b8c7de;max-width:620px;margin-top:22px}
.texto-secao strong{color:#fff;font-weight:600}
.foto-larga{margin-top:60px;border-radius:var(--raio);overflow:hidden;aspect-ratio:16/8;background-size:cover;background-position:center}
.grade-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px}
.bloco{background:#101c33;border-radius:var(--raio);padding:34px 30px;min-height:220px}
.bloco b{display:block;font-size:40px;font-weight:600;letter-spacing:-.03em;background:linear-gradient(90deg,#9fd0ff,#5aa2ec);-webkit-background-clip:text;background-clip:text;color:transparent}
.bloco span{display:block;font-size:16px;color:#b8c7de;margin-top:8px;line-height:1.45}
.lado{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.lado .imagem{border-radius:var(--raio);overflow:hidden;aspect-ratio:3/4;background-size:cover;background-position:center}
.cores-prod{text-align:center}
.cores-prod .vitrine{height:520px;position:relative;margin:40px 0 10px}
.cores-prod .vitrine img{position:absolute;inset:0;height:100%;width:100%;object-fit:contain;object-position:center bottom;opacity:0;transition:opacity .35s ease}
.cores-prod .vitrine img.ativa{opacity:1}
.amostras{display:flex;gap:14px;justify-content:center;margin-top:14px}
.amostras button{width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);outline:2px solid transparent;outline-offset:3px;transition:outline-color .2s}
.amostras button[aria-pressed=true]{outline-color:#9fd0ff}
.nome-cor{font-size:15px;color:#b8c7de;margin-top:16px;min-height:22px}
.rolagem-tabela{overflow-x:auto;margin-top:50px;-webkit-overflow-scrolling:touch}
.comparar{width:100%;min-width:620px;border-collapse:collapse;font-size:15px}
.comparar th,.comparar td{padding:18px 14px;border-bottom:1px solid #1c2a45;text-align:left;vertical-align:top}
.comparar th{font-size:13px;color:#8fa6c8;font-weight:500;width:28%}
.comparar td{color:#e8f0ff}
.comprar-faixa{text-align:center;padding:130px 0;background:radial-gradient(ellipse 60% 70% at 50% 100%,#1d64c8 0,#0d3a80 40%,#000 80%)}
.comprar-faixa .acoes{display:flex;gap:22px;justify-content:center;align-items:center;margin-top:34px;flex-wrap:wrap}

/* ---------- listas / passos / perguntas ---------- */
.passos{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:50px}
.passo{background:var(--card);border-radius:24px;padding:28px 26px;box-shadow:0 4px 30px -18px rgba(13,58,128,.25)}
.passo i{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#7dbcf4,#2f7fd6);color:#fff;font-style:normal;font-weight:700;font-size:17px}
.passo h3{font-size:20px;margin:18px 0 8px;letter-spacing:-.02em}
.passo p{font-size:14px;line-height:1.5;color:var(--tinta-2)}
.faq{max-width:820px;margin:40px auto 0}
.faq details{border-bottom:1px solid var(--linha);padding:22px 0}
.faq summary{font-size:19px;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;line-height:1;color:var(--azul);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{font-size:16px;line-height:1.6;color:var(--tinta-2);margin-top:12px;max-width:700px}
.filtros{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 36px}
.filtros button{height:38px;padding:0 18px;border-radius:999px;background:var(--fundo-2);font-size:14px;font-weight:500;color:var(--tinta-2);transition:background .2s,color .2s}
.filtros button[aria-pressed=true]{background:var(--tinta);color:#fff}
.grade-prod{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.item{background:var(--fundo-2);border-radius:24px;padding:22px 22px 26px;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.item:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(13,58,128,.45)}
.item .foto{height:220px;display:flex;justify-content:center;margin-bottom:16px;position:relative}
.item .foto img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 16px 18px rgba(13,40,90,.22))}
.item .tipo{font-size:12px;font-weight:600;color:var(--azul)}
.item h3{font-size:19px;letter-spacing:-.02em;margin:4px 0 6px}
.item p{font-size:14px;color:var(--tinta-2);line-height:1.45;flex:1}
.item .linha{display:flex;justify-content:space-between;align-items:center;margin-top:16px}
.item .estado{font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;background:#fff;color:var(--azul-escuro)}
.item .btn{height:36px;padding:0 16px;font-size:14px}
.item[hidden]{display:none}

/* ---------- contato ---------- */
.contato{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:start}
.form{background:var(--fundo-2);border-radius:var(--raio);padding:36px}
.form label{display:block;font-size:13px;font-weight:500;color:var(--tinta-2);margin:16px 0 6px}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:15px;color:var(--tinta);background:#fff;border:1px solid #d3deec;border-radius:14px;padding:13px 16px;outline:none;transition:border-color .2s,box-shadow .2s}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--azul);box-shadow:0 0 0 4px rgba(47,127,214,.15)}
.form textarea{min-height:120px;resize:vertical}
.form .btn{margin-top:22px;width:100%}
.form .aviso{font-size:13px;color:var(--cinza);margin-top:12px;text-align:center;min-height:20px}
.infos{display:grid;gap:16px}
.info{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--linha);border-radius:22px;padding:22px 24px}
.info svg{flex:0 0 26px;width:26px;height:26px;stroke:var(--azul);fill:none;stroke-width:1.6}
.info h3{font-size:17px;letter-spacing:-.01em}
.info p{font-size:15px;color:var(--tinta-2);line-height:1.5;margin-top:4px}
.mapa{border-radius:var(--raio);overflow:hidden;aspect-ratio:16/9;background-size:cover;background-position:center;margin-top:16px}

/* ---------- rodapé ---------- */
footer{background:var(--fundo-2);font-size:12px;color:var(--cinza);padding:30px 0 40px}
footer .notas{border-bottom:1px solid var(--linha);padding-bottom:18px;line-height:1.6}
footer .cols{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;padding:24px 0}
footer h4{color:var(--tinta);font-size:12px;font-weight:600;margin-bottom:10px}
footer li{list-style:none;line-height:2.1}
footer a:hover{color:var(--azul)}
footer .fim{border-top:1px solid var(--linha);padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
footer .credito{display:inline-flex;align-items:center;gap:10px}
footer .athos{display:inline-flex;color:var(--tinta)}
footer .athos svg{height:24px;width:auto}
.escuro footer .athos{color:#e8f0ff}
footer .logo{font-weight:700;letter-spacing:.08em;color:var(--tinta)}
.escuro footer{background:#0a1428;color:#8fa6c8}
.escuro footer h4,.escuro footer .logo{color:#e8f0ff}

/* ---------- WhatsApp flutuante ---------- */
.zap{position:fixed;right:22px;bottom:22px;z-index:60;width:56px;height:56px;border-radius:50%;background:var(--azul);display:grid;place-items:center;box-shadow:0 12px 30px -10px rgba(13,58,128,.6);transition:transform .25s}
.zap:hover{transform:scale(1.08)}
.zap svg{width:28px;height:28px;fill:#fff}

/* ---------- animação de entrada ---------- */
.revela{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.revela.visivel{opacity:1;transform:none}
.estatico .revela{opacity:1;transform:none;transition:none}
@media (prefers-reduced-motion:reduce){.revela{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* ---------- celular ---------- */
@media (max-width:820px){
  .nav ul{display:none;position:absolute;top:52px;left:0;right:0;flex-direction:column;gap:0;background:rgba(255,255,255,.97);backdrop-filter:blur(18px);padding:10px 22px 24px;font-size:20px;font-weight:500;color:var(--tinta);border-bottom:1px solid var(--linha)}
  .nav ul li a{display:block;padding:12px 0}
  .nav.aberta ul{display:flex}
  .escuro .nav ul{background:rgba(7,18,40,.97)}
  .nav .menu{display:block}
  .subnav nav a:not(.btn){display:none}
  .topo{padding-top:40px}
  .modelos{justify-content:flex-start;gap:4px;margin:18px 0 2px}
  .destaque{height:560px}
  .d-texto{inset:30px 26px auto;flex-direction:column}
  .d-texto h2{font-size:36px}.d-texto p{font-size:19px}
  .d-pro .pro{width:110%;top:58%}
  .d-pro .aparelho{width:118%;top:66%}
  .d-claro img{height:62%;right:-8%}
  .d-semi img{height:52%}
  .familia{margin-top:56px;padding-top:64px}
  .prod{flex-basis:260px}
  .motivo{flex-basis:300px;height:400px}
  .alto{flex-basis:300px;height:540px}
  .duas,.lado,.contato,.grade-3{grid-template-columns:1fr}
  .lado{gap:30px}
  .tile{min-height:480px;padding:40px 24px}
  .tile h3{font-size:30px}
  .cabeca{flex-direction:column;align-items:flex-start;gap:12px}
  .heroi-prod{height:640px}
  .heroi-prod .pro{width:120%;top:36%}
  .heroi-prod .aparelho{width:125%;top:46%}
  .heroi-prod .base{flex-direction:column;align-items:flex-start}
  .secao{padding:80px 0}
  .cores-prod .vitrine{height:380px}
  .passos{grid-template-columns:1fr 1fr}
  .grade-prod{grid-template-columns:1fr 1fr;gap:12px}
  .item{padding:16px}
  .item .foto{height:150px}
  .item .linha{flex-direction:column;align-items:flex-start;gap:10px}
  .form{padding:24px}
  footer .cols{grid-template-columns:1fr 1fr}
  footer{padding-bottom:96px}
  .comparar th{width:38%}
}
@media (max-width:480px){.passos{grid-template-columns:1fr}}
