/* Movimento do site. Regra: nada começa invisível — só transform/escala; topo nunca depende de gatilho. */
@keyframes twinkle{0%,100%{transform:scale(.6) rotate(0);opacity:.35}50%{transform:scale(1.15) rotate(20deg);opacity:1}}
@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.12) translate(-1.5%,-1.5%)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes shine{0%,65%{left:-60%}100%{left:130%}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(22,115,184,.45)}100%{box-shadow:0 0 0 14px rgba(22,115,184,0)}}

/* topo */
.hero{position:relative}
.spark{position:absolute;color:var(--yellow);pointer-events:none;animation:twinkle 2.8s ease-in-out infinite;font-size:22px;line-height:1;z-index:1}
.hero-img{overflow:visible}
.hero-img .ph{border-radius:22px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.hero-img .ph img{box-shadow:none;border-radius:0;animation:kenburns 14s ease-in-out infinite alternate}
.badge{animation:floaty 4s ease-in-out infinite}
.btn.shine{position:relative;overflow:hidden}
.btn.shine::after{content:"";position:absolute;top:0;bottom:0;width:45%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-20deg);animation:shine 3.6s ease-in-out infinite}

/* faixa que corre */
.band{overflow:hidden}
.band .ticker{display:flex;width:max-content;animation:marquee 38s linear infinite}
.band .ticker span{white-space:nowrap;padding:14px 28px;font-size:15px;font-weight:700;display:flex;align-items:center;gap:10px}
.band .ticker b{color:var(--yellow)}
.band .ticker i{color:var(--yellow);font-style:normal}
.band:hover .ticker{animation-play-state:paused}

/* entrada ao rolar: só posição — o bloco sempre está visível */
.rv{transform:translateY(34px);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.in{transform:none}

/* toque e mouse */
.cards article{transition:transform .35s ease,box-shadow .35s ease}
.cards article img{transition:transform .6s ease}
.cards article:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(15,42,68,.14)}
.cards article:hover img{transform:scale(1.06)}
.cards article{overflow:hidden}
.gallery img,.stack img{transition:transform .5s ease}
.gallery img:hover,.stack img:hover{transform:scale(1.04)}
.steps li.in::before{animation:ring 1.2s ease-out .3s 2}
blockquote{transition:transform .3s ease}
blockquote:hover{transform:rotate(-1deg) translateY(-4px)}

/* formulário */
.opt input:checked+span,.pill input:checked+span{animation:pop .35s ease}
.cal-grid button.sel{animation:pop .35s ease}
.cal-grid button.open{transition:transform .15s ease,background .15s}
.cal-grid button.open:hover{transform:scale(1.08)}
.btn{transition:transform .15s ease,box-shadow .15s}
.btn:hover{transform:translateY(-2px)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{transform:none!important}
}
@media (max-width:900px){.hero .spark:nth-of-type(2),.hero .spark:nth-of-type(3),.hero .spark:nth-of-type(5){display:none}}
.foot .owner{display:inline-block;margin-top:6px;padding:8px 16px;border:1.5px solid rgba(255,255,255,.35);border-radius:999px;font-size:14px;font-weight:700;text-decoration:none;color:#fff}
.foot .owner:hover{background:rgba(255,255,255,.1)}
.hero-img .ph img{object-position:76% 50%}

/* hero com vídeo de fundo (12/10) — para voltar à foto, tirar a classe has-video da section */
.hero.has-video{position:relative;background:#0f2a44;min-height:min(86vh,760px);display:flex;align-items:center}
.hero.has-video .hero-bg{position:absolute;inset:0;z-index:0}
.hero.has-video .hero-bg video{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
.hero.has-video .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,30,52,.86) 0%,rgba(10,30,52,.62) 42%,rgba(10,30,52,.12) 75%,rgba(10,30,52,0) 100%)}
.hero.has-video .hero-in{position:relative;z-index:2;grid-template-columns:1fr;width:100%}
.hero.has-video .hero-txt{max-width:620px}
.hero.has-video .hero-img{display:none}
.hero.has-video .spark{z-index:2}
@media (max-width:900px){
  .hero.has-video{min-height:88svh;align-items:flex-end}
  .hero.has-video .hero-bg::after{background:linear-gradient(180deg,rgba(10,30,52,.15) 0%,rgba(10,30,52,.45) 40%,rgba(10,30,52,.9) 100%)}
}

/* mobile: nada pode empurrar a página pros lados (iPhone ignora overflow só no body) */
html,body{overflow-x:hidden;overscroll-behavior-x:none;max-width:100%}
body{position:relative}
@supports (overflow:clip){html,body{overflow-x:clip}}
.band,.hero,.hero-bg{max-width:100vw}
/* arrastar de lado no celular não move a página (só rolagem vertical e zoom de pinça) */
html,body{touch-action:pan-y pinch-zoom}
/* mobile: texto do hero mais enxuto (pedido do Claudio 12/10) */
@media (max-width:600px){
  .hero.has-video .kicker{font-size:12px;margin-bottom:10px}
  .hero.has-video .lead{font-size:15px;line-height:1.45;margin:10px 0 18px}
  .hero.has-video .cta-row{gap:10px}
  .hero.has-video .cta-row .btn{padding:13px 20px;font-size:15px}
  .hero.has-video .trust{font-size:13px;gap:8px 16px}
}
.kicker .k-br{display:none}
@media (max-width:600px){.kicker .k-br{display:inline}.kicker .k-sep{display:none}}
/* selo de avaliações no topo (13/10 — pedido do Luciano: "mais agressivo") */
.stars-badge{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:7px 14px;margin:0 0 14px;font-size:14px;backdrop-filter:blur(6px)}
.stars-badge .st{color:var(--yellow);letter-spacing:2px;font-size:15px}
.sub-rev{margin:-6px 0 22px;color:var(--muted);font-size:17px;max-width:680px}
@media (max-width:600px){.stars-badge{font-size:12px;padding:6px 12px}.stars-badge .st{font-size:13px}}
/* equipe em ação — fotos reais enviadas pelo dono (13/10) */
.in-action{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:36px;align-items:center;margin-top:40px}
.in-action img{width:100%;height:auto;border-radius:20px;box-shadow:0 16px 40px rgba(15,42,68,.18);display:block}
.in-action h3{font-size:clamp(24px,3vw,32px);margin:0 0 12px}
.in-action p{font-size:17px;color:var(--muted);margin:0 0 20px;max-width:480px}
@media (max-width:760px){.in-action{grid-template-columns:1fr;gap:20px}.in-action img{max-width:420px;margin:0 auto}}
/* depoimentos em vídeo de clientes reais (13/10) */
.depo-videos{display:grid;grid-template-columns:repeat(2,minmax(0,300px));gap:28px;justify-content:center;margin:36px 0 8px}
.depo-videos figure{margin:0}
.depo-videos video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:18px;background:#0f2a44;box-shadow:0 14px 34px rgba(15,42,68,.18);display:block}
.depo-videos figcaption{margin-top:12px;font-size:15px;line-height:1.45;color:var(--ink)}
.depo-videos figcaption span{display:block;margin-top:4px;color:var(--muted);font-size:13px;font-weight:700}
@media (max-width:640px){.depo-videos{grid-template-columns:minmax(0,320px);}}
