/* ============================================================
   CT Evo Fit — site institucional
   Paleta da marca (azul royal / chumbo / branco) com movimento.
   ============================================================ */
:root{
  --azul:#1E5EFF; --azul-claro:#4d80ff; --azul-neon:#6f97ff;
  --chumbo:#1C1D21; --preto:#0D0E11; --grafite:#26272C;
  --branco:#fff; --cinza:#B9BBC2; --cinza-2:#8b8e97;
  --borda:rgba(255,255,255,.09);
  --sombra-azul:0 10px 40px rgba(30,94,255,.35);
  --raio:16px;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;background:var(--preto);color:var(--branco);
  line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
body{animation:entradaPagina .7s ease}
@keyframes entradaPagina{from{opacity:0}to{opacity:1}}
a{color:inherit;text-decoration:none}
.container{width:min(1240px,94%);margin:0 auto}
.azul{color:var(--azul)}
.gradiente{background:linear-gradient(100deg,var(--azul) 0%,var(--azul-neon) 45%,#eaf0ff 70%,var(--azul-neon) 90%,var(--azul) 120%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:brilhaTexto 7s ease-in-out infinite}
@keyframes brilhaTexto{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
h1,h2,h3,.marca,.btn,.tag,.num-valor,.plano-preco{
  font-family:'Saira','Inter',sans-serif;font-style:italic;font-weight:800;text-transform:uppercase;
}

/* ---------- barra de progresso do scroll ---------- */
.progresso-scroll{position:fixed;top:0;left:0;height:3px;width:0;z-index:200;
  background:linear-gradient(90deg,var(--azul),var(--azul-neon));transition:width .1s linear}

/* ---------- botões ---------- */
.btn{position:relative;display:inline-block;padding:14px 32px 14px 28px;border-radius:9px;font-size:.9rem;
  letter-spacing:.04em;cursor:pointer;border:none;overflow:hidden;
  transition:transform .2s cubic-bezier(.2,.8,.3,1),box-shadow .25s,background .25s,border-color .25s}
.btn:hover{transform:translateY(-3px)}
.btn-grande{padding:17px 42px 17px 38px;font-size:1rem}
.btn-azul{background:var(--azul);color:#fff;box-shadow:var(--sombra-azul)}
.btn-azul:hover{background:var(--azul-claro);box-shadow:0 14px 46px rgba(30,94,255,.5)}
.btn-azul::after{content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg)}
.btn-azul:hover::after{animation:brilho .8s ease}
@keyframes brilho{to{left:130%}}
.btn-contorno{background:rgba(255,255,255,.03);color:#fff;border:1.5px solid rgba(255,255,255,.22);
  backdrop-filter:blur(6px)}
.btn-contorno:hover{border-color:var(--azul);color:var(--azul-neon);background:rgba(30,94,255,.08)}

/* ---------- cabeçalho ---------- */
.cabecalho{position:fixed;top:0;left:0;right:0;z-index:150;transition:all .35s ease;
  background:transparent;border-bottom:1px solid transparent}
.cabecalho.rolou{background:rgba(13,14,17,.86);backdrop-filter:blur(14px);border-bottom-color:var(--borda)}
.cabecalho-inner{display:flex;align-items:center;justify-content:space-between;height:86px;transition:height .35s}
.cabecalho.rolou .cabecalho-inner{height:68px}
.marca img{height:42px;transition:height .35s}
.cabecalho.rolou .marca img{height:34px}
.nav{display:flex;align-items:center;gap:20px}
.nav>a{position:relative;font-size:.9rem;font-weight:500;color:var(--cinza);transition:color .2s;padding:4px 0}
.nav>a:not(.btn)::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;
  background:var(--azul);transition:width .3s}
.nav>a:not(.btn):hover{color:#fff}
.nav>a:not(.btn):hover::after{width:100%}
.btn-nav{padding:10px 20px 10px 16px;font-size:.74rem;letter-spacing:.02em}
.menu-btn{display:none;background:none;border:none;cursor:pointer;width:42px;height:42px;position:relative;z-index:160}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{content:'';position:absolute;left:9px;width:24px;height:2px;
  background:#fff;transition:all .3s ease;border-radius:2px}
.menu-btn span{top:20px}
.menu-btn span::before{top:-8px;left:0}
.menu-btn span::after{top:8px;left:0}
.menu-btn.aberto span{background:transparent}
.menu-btn.aberto span::before{top:0;transform:rotate(45deg)}
.menu-btn.aberto span::after{top:0;transform:rotate(-45deg)}

/* ---------- hero com vídeo ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:120px 0 80px}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  object-position:center;transform:scale(1.22) translateX(11%);
  filter:brightness(1.5) contrast(1.06) saturate(1.05)}
.hero-mascara{position:absolute;inset:0;z-index:1;
  background:linear-gradient(95deg,rgba(9,10,13,.93) 0%,rgba(9,10,13,.88) 22%,rgba(9,10,13,.40) 42%,rgba(9,10,13,0) 62%)}
.hero-mascara::after{content:'';position:absolute;inset:0;
  background:linear-gradient(to top,var(--preto) 0%,rgba(13,14,17,.35) 14%,transparent 34%)}
.hero-inner{position:relative;z-index:2}
.hero-inner > *{max-width:470px}
.hero-inner > h1{max-width:560px}
.hero-inner > .hero-botoes{max-width:620px}
.hero-inner > .hero-selos{max-width:660px}
.tag{display:inline-flex;align-items:center;gap:10px;color:var(--azul-neon);font-size:.8rem;
  letter-spacing:.26em;margin-bottom:20px}
.tag::before{content:'';width:34px;height:3px;background:var(--azul);transform:skewX(-25deg)}
.hero h1{font-size:clamp(2.5rem,6.2vw,4.6rem);font-weight:900;line-height:.98;margin-bottom:20px;letter-spacing:-.01em;
  text-shadow:0 6px 40px rgba(0,0,0,.75)}
.hero h1 span{display:block}
.hero-sub{color:#e6e8ed;font-size:clamp(.98rem,1.5vw,1.1rem);max-width:470px;margin-bottom:32px;
  text-shadow:0 3px 22px rgba(0,0,0,.85)}
.hero-botoes{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:44px}
.hero-selos{display:flex;gap:14px;flex-wrap:wrap}
.hero-selos span{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;
  background:rgba(255,255,255,.05);border:1px solid var(--borda);backdrop-filter:blur(8px);
  font-size:.84rem;color:#dfe1e6}
.hero-scroll{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--cinza-2);font-size:.72rem;letter-spacing:.2em}
.hero-scroll i{display:block;width:22px;height:36px;border:2px solid rgba(255,255,255,.25);border-radius:14px;position:relative}
.hero-scroll i::after{content:'';position:absolute;top:7px;left:50%;transform:translateX(-50%);
  width:3px;height:7px;border-radius:2px;background:var(--azul-neon);animation:rola 1.6s ease-in-out infinite}
@keyframes rola{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,14px)}}
/* entrada do hero */
.hero .anima{opacity:0;transform:translateY(34px);animation:sobe .9s cubic-bezier(.16,1,.3,1) forwards}
.hero .anima:nth-child(1){animation-delay:.1s}.hero .anima:nth-child(2){animation-delay:.22s}
.hero .anima:nth-child(3){animation-delay:.34s}.hero .anima:nth-child(4){animation-delay:.46s}
.hero .anima:nth-child(5){animation-delay:.58s}
@keyframes sobe{to{opacity:1;transform:translateY(0)}}

/* ---------- ticker ---------- */
.ticker{background:var(--azul);overflow:hidden;padding:15px 0;position:relative;z-index:3}
.ticker-faixa{display:flex;gap:44px;width:max-content;animation:desliza 26s linear infinite}
.ticker-faixa span{font-family:'Saira',sans-serif;font-style:italic;font-weight:800;text-transform:uppercase;
  font-size:1.05rem;letter-spacing:.08em;white-space:nowrap;display:flex;align-items:center;gap:44px}
.ticker-faixa span::after{content:'✦';opacity:.6}
@keyframes desliza{to{transform:translateX(-50%)}}

/* ---------- seções ---------- */
.secao{padding:110px 0;position:relative}
.secao-escura{background:var(--chumbo)}
.secao-titulo{font-size:clamp(2rem,5vw,3.4rem);line-height:1.08;margin-bottom:18px}
.secao-desc{color:var(--cinza);max-width:640px;margin-bottom:38px;font-size:1.03rem}
.centro{text-align:center}
.centro .secao-desc{margin-left:auto;margin-right:auto}
.centro .tag::before{display:none}

/* ---------- pilares ---------- */
.grid-pilares{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:44px}
.pilar{position:relative;background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
  border:1px solid var(--borda);border-radius:var(--raio);padding:32px 28px;overflow:hidden;
  transition:transform .3s cubic-bezier(.2,.8,.3,1),border-color .3s}
.pilar::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity .35s;
  background:radial-gradient(320px circle at var(--mx,50%) var(--my,0%),rgba(30,94,255,.16),transparent 70%)}
.pilar:hover{transform:translateY(-6px);border-color:rgba(30,94,255,.45)}
.pilar:hover::before{opacity:1}
.pilar-icone{position:relative;width:56px;height:56px;border-radius:14px;display:flex;align-items:center;
  justify-content:center;font-size:1.7rem;margin-bottom:18px;
  background:linear-gradient(140deg,rgba(30,94,255,.28),rgba(30,94,255,.06));border:1px solid rgba(30,94,255,.3)}
.pilar h3{position:relative;font-size:1.1rem;margin-bottom:8px}
.pilar p{position:relative;color:var(--cinza);font-size:.93rem}

/* ---------- carrossel ---------- */
.carrossel-topo{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.carrossel-setas{display:flex;gap:10px}
.seta{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid var(--borda);
  color:#fff;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .25s,border-color .25s,transform .2s}
.seta:hover{background:var(--azul);border-color:var(--azul);transform:scale(1.06)}
.carrossel{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:34px 2px 12px;scrollbar-width:none;user-select:none;cursor:grab}

/* versão que desliza sozinha, sem parar */
.carrossel.desliza{overflow:hidden;cursor:default;padding:34px 0 12px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.trilho{display:flex;gap:20px;width:max-content;animation:deslizaCards 46s linear infinite}
.carrossel.desliza:hover .trilho{animation-play-state:paused}
@keyframes deslizaCards{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 10px))}}
.carrossel::-webkit-scrollbar{display:none}
.card-modal{flex:0 0 clamp(250px,30vw,330px);scroll-snap-align:start;position:relative;
  background:var(--grafite);border:1px solid var(--borda);border-radius:var(--raio);padding:34px 28px;
  overflow:hidden;transition:transform .3s,border-color .3s}
/* barra superior que corre */
.card-modal::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;
  background:linear-gradient(90deg,transparent,var(--azul) 25%,var(--azul-neon) 50%,var(--azul) 75%,transparent);
  background-size:200% 100%;animation:correBarra 3.5s linear infinite}
@keyframes correBarra{0%{background-position:100% 0}100%{background-position:-100% 0}}

/* brilho que varre o card de tempos em tempos */
.card-modal::after{content:'';position:absolute;top:0;left:-140%;width:60%;height:100%;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);
  transform:skewX(-20deg);animation:varreCard 6s ease-in-out infinite}
@keyframes varreCard{0%{left:-140%}45%{left:150%}100%{left:150%}}

.card-modal:hover{transform:translateY(-8px) perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));border-color:rgba(30,94,255,.5)}

/* ícone flutuando dentro de um halo pulsante */
.card-modal .ico{position:relative;font-size:2.2rem;margin-bottom:16px;display:inline-flex;
  align-items:center;justify-content:center;width:62px;height:62px;border-radius:16px;
  background:linear-gradient(140deg,rgba(30,94,255,.25),rgba(30,94,255,.05));
  border:1px solid rgba(30,94,255,.28);
  animation:flutuaIcone 3.4s ease-in-out infinite;transition:transform .35s}
.card-modal .ico::before{content:'';position:absolute;inset:-6px;border-radius:20px;
  border:1px solid rgba(30,94,255,.45);animation:pulsaHalo 2.8s ease-out infinite}
@keyframes flutuaIcone{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(-4deg)}}
@keyframes pulsaHalo{0%{transform:scale(.9);opacity:.7}70%{transform:scale(1.25);opacity:0}100%{opacity:0}}
.card-modal:hover .ico{transform:scale(1.12) rotate(-6deg)}

/* defasagem para os cards não animarem em bloco */
.carrossel .card-modal:nth-child(2) .ico,.carrossel .card-modal:nth-child(2)::after{animation-delay:.5s}
.carrossel .card-modal:nth-child(3) .ico,.carrossel .card-modal:nth-child(3)::after{animation-delay:1s}
.carrossel .card-modal:nth-child(4) .ico,.carrossel .card-modal:nth-child(4)::after{animation-delay:1.5s}
.carrossel .card-modal:nth-child(5) .ico,.carrossel .card-modal:nth-child(5)::after{animation-delay:2s}
.carrossel .card-modal:nth-child(6) .ico,.carrossel .card-modal:nth-child(6)::after{animation-delay:2.5s}
.card-modal h3{font-size:1.18rem;margin-bottom:8px}
.card-modal p{color:var(--cinza);font-size:.93rem}

/* ---------- números ---------- */
.numeros{background:linear-gradient(120deg,rgba(30,94,255,.14),transparent 60%),var(--preto);
  border-top:1px solid var(--borda);border-bottom:1px solid var(--borda)}
.grid-numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:26px;padding:64px 0}
.num{text-align:center}
.num-valor{font-size:clamp(2.4rem,5.5vw,3.6rem);line-height:1;color:var(--azul-neon);
  text-shadow:0 0 40px rgba(30,94,255,.45)}
.num-rotulo{color:var(--cinza);font-size:.9rem;margin-top:6px}

/* ---------- ambientes / galeria ---------- */
.grid-ambientes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:44px}
.ambiente{position:relative;border-radius:var(--raio);overflow:hidden;cursor:pointer;aspect-ratio:4/3;
  border:1px solid var(--borda)}
.ambiente img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);
  transition:transform .5s cubic-bezier(.2,.8,.3,1),filter .4s}
.ambiente:hover img{filter:brightness(1.12) saturate(1.1)}

.ambiente-legenda{position:absolute;inset:auto 0 0 0;padding:22px;
  background:linear-gradient(to top,rgba(6,7,9,.92),transparent);
  font-family:'Saira',sans-serif;font-style:italic;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.ambiente-lupa{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;
  background:rgba(30,94,255,.85);display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.7);transition:all .3s}
.ambiente:hover .ambiente-lupa{opacity:1;transform:scale(1)}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(6,7,9,.94);backdrop-filter:blur(10px);
  display:none;align-items:center;justify-content:center;padding:5vw}
.lightbox.aberto{display:flex;animation:aparece .3s ease}
@keyframes aparece{from{opacity:0}to{opacity:1}}
.lightbox img{max-width:100%;max-height:82vh;border-radius:var(--raio);border:1px solid var(--borda)}
.lightbox-fechar{position:absolute;top:24px;right:28px;font-size:2rem;color:#fff;cursor:pointer;
  background:none;border:none;line-height:1}

/* ---------- planos ---------- */
.grid-planos{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;
  align-items:stretch;margin-top:46px}
.card-plano{position:relative;background:var(--grafite);border:1px solid var(--borda);border-radius:20px;
  padding:42px 32px;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.card-plano{transform-style:preserve-3d}
.card-plano:hover{transform:translateY(-8px) perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.card-plano.destaque{background:linear-gradient(170deg,rgba(30,94,255,.18),var(--grafite) 55%);
  border:2px solid var(--azul);box-shadow:0 18px 60px rgba(30,94,255,.3)}
.selo{position:absolute;top:-14px;left:50%;transform:translateX(-50%) skewX(-10deg);background:var(--azul);
  color:#fff;font-family:'Saira',sans-serif;font-style:italic;font-weight:700;font-size:.72rem;
  text-transform:uppercase;letter-spacing:.12em;padding:6px 18px;border-radius:5px;white-space:nowrap;
  box-shadow:0 6px 20px rgba(30,94,255,.5)}
.card-plano h3{font-size:1.35rem}
.plano-sub{color:var(--cinza);font-size:.88rem;margin-bottom:22px}
.plano-preco{font-size:3rem;line-height:1}
.plano-preco small{font-size:1rem;font-weight:600;color:var(--cinza)}
.plano-mes{color:var(--cinza);font-size:.85rem;margin-bottom:26px}
.card-plano ul{list-style:none;margin-bottom:30px;flex:1}
.card-plano li{font-size:.93rem;padding:8px 0 8px 30px;position:relative;color:#dfe1e6}
.card-plano li::before{content:'✓';position:absolute;left:0;color:var(--azul-neon);font-weight:700}
.card-plano li.nao{color:var(--cinza-2);text-decoration:line-through;opacity:.75}
.card-plano li.nao::before{content:'✕';color:var(--cinza-2)}
.card-plano .btn{text-align:center}

/* ---------- app com abas ---------- */
.app-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.abas{display:flex;gap:10px;margin:26px 0 22px;flex-wrap:wrap}
.aba{padding:11px 20px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--borda);
  color:var(--cinza);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .25s}
.aba.ativa{background:var(--azul);border-color:var(--azul);color:#fff;box-shadow:var(--sombra-azul)}
.aba-conteudo{display:none;color:var(--cinza);font-size:1rem;min-height:80px}
.aba-conteudo.ativa{display:block;animation:sobeLeve .4s ease}
@keyframes sobeLeve{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.telefone{position:relative;margin:0 auto;width:min(290px,80%);aspect-ratio:9/18.5;border-radius:38px;
  background:linear-gradient(160deg,#1b1c21,#0d0e11);border:2px solid rgba(255,255,255,.12);
  box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 70px rgba(30,94,255,.22);overflow:hidden;padding:14px 12px;
  animation:flutua 5s ease-in-out infinite}
@keyframes flutua{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.telefone::before{content:'';position:absolute;top:10px;left:50%;transform:translateX(-50%);
  width:90px;height:6px;border-radius:6px;background:rgba(255,255,255,.15)}
.tela{height:100%;border-radius:26px;overflow:hidden;background:var(--preto);border:1px solid var(--borda);
  position:relative}
.tela iframe{position:absolute;top:0;left:0;width:390px;height:860px;border:0;
  transform-origin:top left;opacity:0;transition:opacity .45s ease;pointer-events:none}
.tela iframe.ativa{opacity:1}
.tela-titulo{font-family:'Saira',sans-serif;font-style:italic;font-weight:800;text-transform:uppercase;font-size:.9rem}
.tela-linha{height:44px;border-radius:10px;background:linear-gradient(90deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  border:1px solid var(--borda);position:relative;overflow:hidden}
.tela-linha::after{content:'';position:absolute;left:8px;top:8px;width:28px;height:28px;border-radius:8px;
  background:rgba(30,94,255,.3)}
.tela-barra{height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:4px}
.tela-barra i{display:block;height:100%;width:64%;background:linear-gradient(90deg,var(--azul),var(--azul-neon))}

/* ---------- loja ---------- */
.loja{position:relative;overflow:hidden}
.loja::before{content:'';position:absolute;inset:0;
  background:radial-gradient(700px circle at 80% 30%,rgba(30,94,255,.22),transparent 65%)}
.loja-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.loja-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.loja-card{position:relative;border:1px solid var(--borda);border-radius:var(--raio);overflow:hidden;
  aspect-ratio:4/3;transition:transform .3s,border-color .3s}
.loja-card:hover{transform:translateY(-6px) scale(1.02);border-color:rgba(30,94,255,.5)}
.loja-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.3,1)}
.loja-card:hover img{transform:scale(1.08)}
.loja-card strong{position:absolute;inset:auto 0 0 0;padding:18px 16px 16px;
  background:linear-gradient(to top,rgba(6,7,9,.95) 20%,rgba(6,7,9,.6) 60%,transparent);
  font-family:'Saira',sans-serif;font-style:italic;text-transform:uppercase;font-size:.92rem;
  letter-spacing:.04em;text-shadow:0 2px 10px rgba(0,0,0,.8)}
.loja-card img{filter:saturate(.92) contrast(1.04)}
.loja-card:hover img{filter:saturate(1.05) contrast(1.06)}

/* ---------- depoimentos ---------- */
.dep{flex:0 0 clamp(280px,34vw,400px);scroll-snap-align:start;background:var(--grafite);
  border:1px solid var(--borda);border-radius:var(--raio);padding:32px;position:relative}
.dep::before{content:'"';position:absolute;top:6px;right:22px;font-family:'Saira',serif;font-size:5rem;
  color:rgba(30,94,255,.22);line-height:1}
.dep p{color:#dfe1e6;font-size:.98rem;margin-bottom:20px;position:relative}
.dep footer{display:flex;align-items:center;gap:12px}
.dep-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(140deg,var(--azul),var(--azul-neon));
  display:flex;align-items:center;justify-content:center;font-weight:700}
.dep small{color:var(--cinza);display:block;font-size:.8rem}

/* ---------- vídeo institucional ---------- */
.video-box{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--borda);
  aspect-ratio:16/9;background:var(--chumbo)}
.video-box iframe{width:100%;height:100%;border:0;display:block}
.video-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:14px;color:var(--cinza);text-align:center;padding:30px;
  background:radial-gradient(circle at 50% 45%,rgba(30,94,255,.2),transparent 65%)}
.play{width:76px;height:76px;border-radius:50%;background:var(--azul);display:flex;align-items:center;
  justify-content:center;font-size:1.6rem;box-shadow:var(--sombra-azul);animation:pulsa 2.4s ease-in-out infinite}
@keyframes pulsa{0%,100%{box-shadow:0 0 0 0 rgba(30,94,255,.5)}50%{box-shadow:0 0 0 22px rgba(30,94,255,0)}}

/* ---------- horários ---------- */
.horarios-box{background:rgba(255,255,255,.03);border:1px solid var(--borda);border-radius:var(--raio);
  overflow:hidden;max-width:660px;margin-top:34px}
.horario-linha{display:flex;justify-content:space-between;padding:20px 26px;border-bottom:1px solid var(--borda);
  transition:background .25s}
.horario-linha:hover{background:rgba(30,94,255,.07)}
.horario-linha:last-child{border-bottom:none}
.horario-dia{font-weight:600}
.horario-hora{color:var(--azul-neon);font-family:'Saira',sans-serif;font-style:italic;font-weight:700}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin:40px auto 0}
.faq-item{border:1px solid var(--borda);border-radius:14px;margin-bottom:12px;overflow:hidden;
  background:rgba(255,255,255,.025);transition:border-color .3s}
.faq-item.aberto{border-color:rgba(30,94,255,.5)}
.faq-p{width:100%;text-align:left;background:none;border:none;color:#fff;padding:22px 26px;font-size:1rem;
  font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;
  font-family:inherit}
.faq-p i{font-style:normal;color:var(--azul-neon);font-size:1.4rem;transition:transform .3s;flex-shrink:0}
.faq-item.aberto .faq-p i{transform:rotate(45deg)}
.faq-r{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease;color:var(--cinza);
  padding:0 26px}
.faq-item.aberto .faq-r{max-height:300px;padding:0 26px 24px}

/* ---------- CTA final ---------- */
.cta-final{position:relative;text-align:center;padding:120px 0;overflow:hidden;
  background:linear-gradient(150deg,rgba(30,94,255,.2),transparent 55%),var(--chumbo)}
.cta-final h2{font-size:clamp(2.2rem,6vw,4.2rem);line-height:1.02;margin-bottom:22px}

/* ---------- localização ---------- */
.local-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.local-mapa{min-height:340px;border-radius:var(--raio);overflow:hidden;border:1px solid var(--borda);
  position:relative}
/* deixa o mapa no clima escuro do site */
.local-mapa iframe{width:100%;height:100%;min-height:340px;border:0;display:block;
  filter:invert(92%) hue-rotate(180deg) contrast(.9) saturate(.8) brightness(.95);
  transition:filter .4s ease}
.local-mapa:hover iframe{filter:none}   /* ao passar o mouse, mapa nas cores originais */
.local-mapa::after{content:'Passe o mouse para ver em cores';position:absolute;bottom:10px;left:12px;
  font-size:.7rem;color:var(--cinza-2);background:rgba(9,10,13,.7);padding:4px 10px;border-radius:99px;
  pointer-events:none;opacity:.85}
.local-mapa:hover::after{opacity:0}
.mapa-placeholder{height:100%;min-height:340px;display:flex;align-items:center;justify-content:center;
  text-align:center;padding:30px;color:var(--cinza);background:rgba(255,255,255,.03);font-size:.92rem}
.mapa-placeholder code{color:var(--azul-neon)}
.local-contatos{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- rodapé ---------- */
.rodape{background:var(--chumbo);border-top:1px solid var(--borda);padding-top:70px}
.rodape-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px}
.rodape-logo{height:48px;margin-bottom:16px}
.rodape-slogan{color:var(--cinza);font-style:italic}
.rodape-social{display:flex;gap:12px;margin-top:18px}
.rodape-social a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.05);
  border:1px solid var(--borda);display:flex;align-items:center;justify-content:center;font-size:.9rem;
  transition:all .25s}
.rodape-social a:hover{background:var(--azul);border-color:var(--azul);transform:translateY(-3px)}
.rodape h4{font-family:'Saira',sans-serif;font-style:italic;text-transform:uppercase;font-size:.95rem;
  margin-bottom:16px;color:#fff}
.rodape p{color:var(--cinza);font-size:.9rem;margin-bottom:9px}
.rodape a:hover{color:#fff}
.rodape-base{border-top:1px solid var(--borda);padding:24px 0}
.rodape-base p{color:var(--cinza-2);font-size:.84rem;text-align:center;margin:0}

/* ---------- WhatsApp ---------- */
.whats{position:fixed;bottom:26px;right:26px;z-index:120;width:60px;height:60px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px rgba(0,0,0,.45);transition:transform .25s}
.whats::before{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;
  animation:onda 2.2s ease-out infinite}
@keyframes onda{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.7);opacity:0}}
.whats:hover{transform:scale(1.1)}
.whats svg{width:32px;height:32px;fill:#fff;position:relative}

/* ---------- reveals ---------- */
.revelar{opacity:0;transform:translateY(38px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.revelar.visivel{opacity:1;transform:none}
.revelar[data-delay="1"]{transition-delay:.1s}.revelar[data-delay="2"]{transition-delay:.2s}
.revelar[data-delay="3"]{transition-delay:.3s}.revelar[data-delay="4"]{transition-delay:.4s}
.revelar[data-delay="5"]{transition-delay:.5s}

/* ---------- responsivo ---------- */
@media (max-width:1160px){
  .nav{gap:13px}
  .nav>a{font-size:.82rem}
  .btn-nav{padding:9px 12px;font-size:.68rem}
  .marca img{height:36px}
}
@media (max-width:1000px){
  .app-grid,.loja-grid,.local-grid{grid-template-columns:1fr;gap:40px}
  .rodape-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .hero-mascara{background:linear-gradient(180deg,rgba(9,10,13,.86) 0%,rgba(9,10,13,.72) 45%,rgba(9,10,13,.55) 100%)}
  .hero-video{transform:none;object-position:60% center}
  .hero-inner > *,.hero-inner > h1{max-width:100%}
  .menu-btn{display:block}
  .nav{position:fixed;inset:0 0 auto 0;top:0;height:100svh;flex-direction:column;justify-content:center;gap:6px;
    background:rgba(9,10,13,.97);backdrop-filter:blur(16px);transform:translateY(-100%);transition:transform .45s cubic-bezier(.7,0,.3,1)}
  .nav.aberto{transform:translateY(0)}
  .nav>a{font-size:1.3rem;padding:12px}
  .btn-nav{margin-top:10px;font-size:.9rem;padding:14px 30px}
  .secao{padding:78px 0}
  .hero{padding:120px 0 100px}
  .grid-numeros{padding:48px 0}
  .rodape-grid{grid-template-columns:1fr}
  .loja-cards{grid-template-columns:1fr 1fr}
}
/* Acessibilidade: com "reduzir animações" ligado, desligamos só o movimento
   incômodo (entradas, flutuação, pulsos). O vídeo, a faixa e o carrossel
   continuam — são o que dá vida à página. */
@media (prefers-reduced-motion:reduce){
  .revelar{opacity:1;transform:none;transition:none}
  .hero .anima{opacity:1;transform:none;animation:none}
  body{animation:none}
  .telefone{animation:none}
  .whats::before{animation:none}
  .hero-scroll i::after{animation:none}
  .play{animation:none}
  .gradiente{animation:none}
  .card-modal .ico{animation:none}
  .card-modal .ico::before{animation:none}
}
