/* =====================================================================
   Overall Sports — hero completo, fluidez e acabamento
   Carregado depois de site.css (sobrescreve o que for preciso).
   ===================================================================== */

/* ---------- ritmo mais compacto ---------- */
section{padding:80px 0}
.stats{padding:56px 0 0}
.fases-box{padding:40px}
.sec-head{margin-bottom:28px}
@media (max-width:820px){section{padding:60px 0}.stats{padding-top:44px}}

/* ---------- entrada dos elementos (um sistema só) ----------
   Sem JS tudo aparece normal. Com JS, sobe 22px e aparece um pouco antes de entrar na tela. */
.reveal{opacity:1;transform:none;transition:none}
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease var(--d,0ms),transform .7s cubic-bezier(.2,.8,.2,1) var(--d,0ms)}
.js .reveal.in{opacity:1;transform:none}

/* ---------- rolagem suave (Lenis) ---------- */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

/* ---------- página entra suave ---------- */
@keyframes pageIn{from{opacity:0}to{opacity:1}}


/* ---------- barra de progresso ---------- */
.progress{position:fixed;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--pink),var(--lime));transform-origin:0 50%;transform:scaleX(0);z-index:90;pointer-events:none}

/* ---------- cabeçalho ---------- */
.top{transition:background .35s,border-color .35s,box-shadow .35s,transform .45s cubic-bezier(.2,.8,.2,1)}
.top.hide{transform:translateY(-100%)}
.logo{position:relative;display:block}
.logo .lg-light{position:absolute;inset:0;opacity:0;transition:opacity .35s}
.logo .lg-dark{transition:opacity .35s}
/* na home, por cima do hero, o cabeçalho fica transparente e claro */
.home .top:not(.scrolled){background:transparent;backdrop-filter:none;border-color:transparent;box-shadow:none}
.home .top:not(.scrolled) .logo .lg-dark{opacity:0}
.home .top:not(.scrolled) .logo .lg-light{opacity:1}
.home .top:not(.scrolled) .nav > a,.home .top:not(.scrolled) .nav .dd > button,.home .top:not(.scrolled) .wa-link,.home .top:not(.scrolled) .burger{color:#fff}
.home .top:not(.scrolled) .nav > a:hover,.home .top:not(.scrolled) .nav .dd > button:hover,.home .top:not(.scrolled) .nav .dd.open > button{background:rgba(255,255,255,.14);color:#fff}
.home .top:not(.scrolled) .wa-link .icon{color:#5fe08f}
.menu-open .top{background:#fff!important;transform:none!important}
.menu-open .top .logo .lg-dark{opacity:1!important}
.menu-open .top .logo .lg-light{opacity:0!important}
.menu-open .top .burger{color:var(--navy)!important}

/* ---------- botões ---------- */
.btn{position:relative;overflow:hidden;isolation:isolate;transition:background .25s,color .25s,border-color .25s,box-shadow .25s,transform .25s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn .icon{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.btn:hover .icon{transform:translateX(3px)}
.btn-pink:hover{box-shadow:0 12px 26px -12px rgba(216,14,98,.75)}
.btn-lime:hover{box-shadow:0 12px 26px -12px rgba(169,181,28,.85)}
.btn-navy:hover{box-shadow:0 12px 26px -12px rgba(14,10,37,.6)}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s ease;pointer-events:none}
.btn:hover::after{transform:translateX(120%)}
.btn-ghost-light{backdrop-filter:blur(6px);background:rgba(255,255,255,.06)}

/* ---------- cards e fotos ---------- */
.card,.tile,.gallery a,.pillar,.feat,.value,.stat,.step,.amb-cover,.vant,.benefits li{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,background .3s,border-color .3s,color .3s}
.card .ph img,.tile img,.gallery img,.amb-cover img,.panel .ph img,.split .ph img{transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.card:hover .ph img,.tile:hover img,.gallery a:hover img,.amb-cover:hover img{transform:scale(1.06)}
.pillar:hover{transform:translateY(-5px)}
.pillar:hover{box-shadow:0 22px 40px -24px rgba(14,10,37,.55)}
.feat .ico,.value .ico,.agua-cards .ico,.pillar .ico,.vant .ico{transition:transform .45s cubic-bezier(.2,.8,.2,1),background .3s,color .3s}
.pillar:hover .ico{transform:scale(1.1) rotate(-6deg)}
.agua-cards a:hover .ico{transform:scale(1.1) rotate(-6deg)}
.lab{transition:transform .35s cubic-bezier(.2,.8,.2,1),background .3s,color .3s}
.tile:hover .lab{transform:translateY(-4px);background:var(--pink);color:#fff}
.chip:active{transform:scale(.96)}

/* WhatsApp e play com pulso suave */
.wa-float{animation:waPulse 2.8s ease-in-out infinite}
@keyframes waPulse{0%,100%{box-shadow:0 14px 30px -10px rgba(0,0,0,.45),0 0 0 0 rgba(31,170,89,.45)}50%{box-shadow:0 14px 30px -10px rgba(0,0,0,.45),0 0 0 12px rgba(31,170,89,0)}}
.video .play::before{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(255,255,255,.55);animation:ring 2s ease-out infinite}
@keyframes ring{from{transform:scale(.85);opacity:1}to{transform:scale(1.35);opacity:0}}

/* =====================================================================
   HERO COMPLETO (home)
   ===================================================================== */
.hero-full{padding:0;margin-top:calc(-1 * var(--head));position:relative}
.hero-full .hero-card{position:relative;height:clamp(660px,100svh,940px);min-height:0;padding:0;border-radius:0;background:var(--navy);overflow:hidden;color:#fff}

.hero-full .slides{position:absolute;inset:0}
.hero-full .slide{position:absolute;inset:0;display:block;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s}
.hero-full .slide.on{opacity:1;visibility:visible;transition:opacity .9s ease .1s,visibility 0s}
.slide-bg{position:absolute;inset:0;overflow:hidden}
.slide-bg img{position:absolute;top:0;right:0;width:70%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}
.slide.on .slide-bg img{animation:kenburns 9s ease-out both}
@keyframes kenburns{from{transform:scale(1.12)}to{transform:scale(1)}}
.slide-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(0deg,rgba(14,10,37,.88) 0,transparent 240px),
  linear-gradient(90deg,var(--navy) 0%,var(--navy) 30%,rgba(14,10,37,.82) 40%,rgba(14,10,37,.35) 58%,rgba(14,10,37,.05) 80%,rgba(14,10,37,.25) 100%),
  radial-gradient(60% 70% at 8% 20%,rgba(216,14,98,.28),transparent 70%)}
.slide-bg::before{content:"";position:absolute;left:-140px;bottom:-160px;width:520px;height:520px;border-radius:50%;border:70px solid rgba(204,218,43,.10);z-index:1}
.hero-full .slide-txt{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:calc(var(--head) + 10px);padding-bottom:150px}
.hero-full .tag{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff;backdrop-filter:blur(6px)}
.hero-full .tag .icon{color:var(--lime)}
.hero-full .slide h1,.hero-full .slide .h1{font-size:clamp(44px,6.2vw,88px);line-height:1;letter-spacing:-.04em;font-weight:800;color:#fff;margin:0;max-width:760px;isolation:isolate}
.hero-full .hl{color:var(--lime)}
.hero-full .hl::after{background:var(--pink);opacity:.95}
.hero-full .slide .lead{color:#d9d6e8;max-width:520px;margin:24px 0 32px;font-size:18px}
.hero-full .slide .note{color:#a9a5c2;margin-top:18px;font-size:13px}
.hero-full .badge{position:absolute;bottom:170px;right:max(24px,calc((100% - var(--wrap)) / 2 + 24px));z-index:3;background:rgba(255,255,255,.95);color:var(--navy)}
/* entrada do texto a cada slide */
.slide.on.entra .tag{animation:fadeUp .7s .15s cubic-bezier(.2,.8,.2,1) both}
.slide.on.entra h1,.slide.on.entra .h1{animation:fadeUp .8s .25s cubic-bezier(.2,.8,.2,1) both}
.slide.on.entra .lead{animation:fadeUp .8s .38s cubic-bezier(.2,.8,.2,1) both}
.slide.on.entra .ctas{animation:fadeUp .8s .5s cubic-bezier(.2,.8,.2,1) both}
.slide.on.entra .note{animation:fadeUp .8s .6s cubic-bezier(.2,.8,.2,1) both}
.slide.on.entra .badge{animation:fadeUp .8s .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
/* controles: abas numeradas com barra de progresso */
.hero-bottom{position:absolute;left:0;right:0;bottom:84px;z-index:3}
.hero-full .hero-ctrl{position:static;display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.hero-full .hero-ctrl button{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:0;color:rgba(255,255,255,.55);font-size:13px;font-weight:700;text-align:left;transition:color .3s}
.hero-full .hero-ctrl button:hover{color:#fff}
.hero-full .hero-ctrl button[aria-current="true"]{color:#fff}
.hero-full .dot{width:100%;height:3px;background:rgba(255,255,255,.22)}
.hero-full .dot i{background:var(--lime)}
.hero-full .hero-ctrl .lbl,.hero-full .hero-ctrl button[aria-current="true"] .lbl{display:inline;color:inherit}
.hero-full .finder{margin-top:-58px}

@media (max-width:1100px){
  .slide-bg img{width:100%}
  .slide-bg::after{background:linear-gradient(90deg,rgba(14,10,37,.92) 0%,rgba(14,10,37,.7) 45%,rgba(14,10,37,.25) 100%)}
  .hero-full .badge{display:none}
}
@media (max-width:820px){
  .hero-full .hero-card{height:max(720px,100svh)}
  .slide-bg img{height:62%;object-position:var(--pos,50% 40%)}
  .slide-bg::after{background:linear-gradient(0deg,var(--navy) 0%,var(--navy) 38%,rgba(14,10,37,.6) 52%,rgba(14,10,37,.15) 75%,rgba(14,10,37,.45) 100%)}
  .slide-bg::before{display:none}
  .hero-full .slide-txt{justify-content:flex-end;padding:calc(var(--head) + 10px) 20px 170px}
  .hero-full .slide h1,.hero-full .slide .h1{font-size:clamp(38px,10.5vw,52px)}
  .hero-full .slide .lead{font-size:16px;margin:16px 0 22px}
  .hero-full .slide .note{display:none}
  .hero-bottom{bottom:96px}
  .hero-full .hero-ctrl{gap:8px}
  .hero-full .hero-ctrl .lbl,.hero-full .hero-ctrl button[aria-current="true"] .lbl{display:none}
  .hero-full .finder{margin-top:-70px}
  .hero-full .hero-bottom{padding-left:20px;padding-right:20px}
  .hero-full .slide .ctas .btn{min-height:46px;padding:0 18px;font-size:14px}
}

/* =====================================================================
   faixa de modalidades
   ===================================================================== */
.marquee{background:var(--navy);color:#fff;overflow:hidden;padding:18px 0;margin-top:56px;transform:rotate(-1.2deg) scale(1.03);position:relative;z-index:2}
.marquee-track{display:flex;width:max-content;animation:marq 50s linear infinite}
.marquee:hover .marquee-track,.marquee-track.parado{animation-play-state:paused}
.marquee-track span{display:inline-flex;align-items:center;gap:28px;padding-right:28px;font-size:clamp(20px,2.4vw,30px);font-weight:800;letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap}
.marquee-track i{width:14px;height:14px;border-radius:50%;background:var(--pink);display:inline-block;flex:none}
.marquee-track i:nth-of-type(3n){background:var(--lime)}
.marquee-track a{transition:color .2s}
.marquee-track a:hover{color:var(--lime)}
@keyframes marq{to{transform:translateX(-50%)}}
@media (max-width:820px){.marquee{margin-top:44px;padding:14px 0}}

/* =====================================================================
   "O que faz você se sentir bem?" — linhas com miniatura
   ===================================================================== */
.list a{grid-template-columns:44px 64px 1fr 1.25fr 46px;gap:18px;padding:12px 14px;transition:background .3s,transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s}
.list a:hover{transform:translateX(6px)}
.list .th{width:64px;height:48px;border-radius:12px;overflow:hidden;background:#eee;display:block}
.list .th img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.list a:hover .th img{transform:scale(1.12)}
.list .nm{display:flex;flex-direction:column;gap:2px}
.list .nm b{font-size:18px}
.list .nm small{font-size:12px;font-weight:600;color:var(--muted)}
.list .ds{color:var(--muted);font-size:14px}
.list .go{width:40px;height:40px;border-radius:50%;border:1px solid #efc8d9;display:grid;place-items:center;transition:background .3s,color .3s,border-color .3s,transform .35s}
.list a:hover .go{background:var(--navy);color:#fff;border-color:var(--navy);transform:rotate(-45deg)}
.list a:hover .icon{transform:none}
@media (max-width:820px){
  .list a{grid-template-columns:52px 1fr 36px;gap:12px;padding:10px 6px}
  .list a > .n,.list a > .ds{display:none}
  .list a > span.th,.list a > span.nm,.list a > span.go{display:flex}
  .list a > span.nm{flex-direction:column;justify-content:center}
  .list .th{width:52px;height:44px}
  .list .go{width:34px;height:34px}
  .list a:hover{transform:none}
}

/* prévia flutuante (só desktop) */
.hover-prev{position:fixed;left:0;top:0;width:260px;height:190px;border-radius:18px;overflow:hidden;pointer-events:none;z-index:80;opacity:0;transform:translate(-50%,-50%) scale(.7) rotate(-6deg);transition:opacity .25s,transform .4s cubic-bezier(.2,.8,.2,1);box-shadow:0 30px 60px -20px rgba(14,10,37,.5)}
.hover-prev.on{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-3deg)}
.hover-prev img{width:100%;height:100%;object-fit:cover}

/* =====================================================================
   listas de benefícios (numeradas) e vantagens do Premium
   ===================================================================== */
.benefits{gap:12px}
.benefits li{align-items:center;padding:18px 20px;gap:16px;color:#2e2b45;font-size:15.5px;font-weight:500;border-color:#eee8f0;box-shadow:0 1px 0 rgba(14,10,37,.02)}
.benefits .num{flex:none;width:42px;height:42px;border-radius:12px;background:var(--pink-soft);color:var(--pink);display:grid;place-items:center;font-weight:800;font-size:14px;letter-spacing:-.02em;transition:background .3s,color .3s}
.benefits.one li{align-items:flex-start}
.benefits .ok{flex:none}

.vant-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.vant{border:1px solid #eee8f0;border-radius:20px;padding:24px 22px;background:#fff;display:flex;flex-direction:column;gap:10px}
.vant .ico{width:50px;height:50px;border-radius:14px;background:var(--pink-soft);color:var(--pink);display:grid;place-items:center;margin-bottom:6px}
.vant .ico .icon{width:24px;height:24px}
.vant b{font-size:17px;letter-spacing:-.01em}
.vant p{font-size:14px;color:var(--muted);line-height:1.55}
@media (max-width:1100px){.vant-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.vant-grid{grid-template-columns:1fr}}

/* =====================================================================
   "onde acontece" e página de estrutura
   ===================================================================== */
.gallery a .lab{left:12px;bottom:12px;font-size:12px;padding:6px 10px}
.gallery.uniform{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-auto-rows:auto;grid-auto-flow:row}
.gallery.uniform a,.gallery.uniform a:nth-child(5n+1),.gallery.uniform a:nth-child(10n+6){grid-column:auto;grid-row:auto;aspect-ratio:3/4}
.amb-nav{position:sticky;top:var(--head);z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:12px 0;transition:top .45s cubic-bezier(.2,.8,.2,1)}
body.head-hidden .amb-nav{top:0}
.amb-nav .chips{margin:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.amb-nav .chips::-webkit-scrollbar{display:none}
.amb-nav .chip{display:inline-flex;align-items:center;white-space:nowrap}
.amb-nav .chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.amb{scroll-margin-top:calc(var(--head) + 70px)}
.amb-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center;margin-bottom:22px}
.amb-head h2{font-size:clamp(32px,4vw,52px);margin-bottom:14px}
.amb-head .lead{max-width:460px}
.amb-mods{margin-top:22px}
.amb-mods > span{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.amb-mods div{display:flex;gap:8px;flex-wrap:wrap}
.amb-mods .chip{display:inline-flex;align-items:center;height:36px;font-size:13px}
.amb-mods .chip:hover{background:var(--pink);border-color:var(--pink);color:#fff}
.amb-count{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:13px;font-weight:700;color:var(--pink)}
.amb-count .icon{width:15px;height:15px}
.amb-cover{display:block;border-radius:26px;overflow:hidden;aspect-ratio:4/3;background:#eee;box-shadow:var(--shadow)}
.amb-cover img{width:100%;height:100%;object-fit:cover}
@media (max-width:820px){
  .amb-head{grid-template-columns:1fr;gap:24px}
  .gallery.uniform{grid-template-columns:1fr 1fr}
  .hover-prev{display:none}
}

@media (prefers-reduced-motion:reduce){
  .marquee-track,.wa-float,.video .play::before,.slide.on *,.slide.on .slide-bg img{animation:none!important}
  body{animation:none}
  .progress{display:none}
  .js .reveal{opacity:1;transform:none;transition:none}
}

/* =====================================================================
   marca nítida (arquivos originais)
   ===================================================================== */
.logo img{height:46px;width:auto}
.foot img.lg.lg-v{height:100px;width:auto;margin-bottom:22px}
@media (max-width:820px){.logo img{height:38px}}
/* símbolo decorativo dos topos de página: inteiro, à direita, sem cortar o texto */
.page-hero.soft .card-hero > img.deco{inset:auto;left:auto;bottom:auto;right:6%;top:50%;width:clamp(180px,22vw,300px);height:auto;object-fit:contain;opacity:.18;transform:translateY(-50%) rotate(-6deg);z-index:1}
@media (max-width:1000px){.page-hero.soft .card-hero > img.deco{display:none}}
.stat img{width:110px;opacity:.14}
.stat:nth-child(3) img{opacity:.35}
.cta .mark{filter:drop-shadow(0 18px 30px rgba(216,14,98,.25))}
.badge img{width:34px}

/* ---------- cliques e foco sem "quadrado" ---------- */
a,button,summary{-webkit-tap-highlight-color:transparent}
.agua-cards{overflow:hidden;isolation:isolate}
.agua-cards a:focus-visible,.list a:focus-visible,.card a:focus-visible,.tile:focus-visible,.gallery a:focus-visible,.pillar:focus-visible{outline:3px solid var(--pink);outline-offset:-3px}
.agua-cards a:active,.pillar:active,.tile:active,.card:active{transform:scale(.985)}

/* ---------- nada passa da largura da tela (sem "balançar" para os lados) ---------- */
html,body{max-width:100%}
body{overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
main,footer,section{max-width:100vw}
.marquee-wrap{overflow:hidden;padding:12px 0;margin-top:44px}
.marquee-wrap .marquee{margin-top:0}
/* menu do celular: some sem ficar "estacionado" fora da tela */
.drawer{transform:translateY(-12px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .3s ease,opacity .25s ease,visibility .3s}
.drawer.open{transform:none;opacity:1;visibility:visible;pointer-events:auto}
.contact-list a > span:last-child,.contact-list div > span:last-child,.loc-card .row > div,.ct > span,.ct > a{min-width:0}
.contact-list b,.contact-list span,.loc-card a,.loc-card span,.ct a,.ct span{overflow-wrap:anywhere}

/* =====================================================================
   desempenho: animações só com transform/opacity (não repintam a tela)
   ===================================================================== */
/* progresso das abas do hero */
.dot i,.hero-full .dot i{width:100%;transform:scaleX(0);transform-origin:0 50%;will-change:transform}
.hero-ctrl button[aria-current="true"] .dot i{animation:fillx var(--dur,7s) linear forwards}
@keyframes fillx{to{transform:scaleX(1)}}
/* pulso do WhatsApp sem repintar sombra a cada quadro */
.wa-float{animation:none;box-shadow:0 14px 30px -10px rgba(0,0,0,.45)}
.wa-float::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#1faa59;z-index:-1;animation:waRing 2.8s ease-out infinite;will-change:transform,opacity}
@keyframes waRing{0%{transform:scale(1);opacity:.5}70%,100%{transform:scale(1.28);opacity:0}}
.marquee-track{will-change:transform}
.slide.on .slide-bg img{will-change:transform}
/* desfoque de fundo pesa na rolagem: só no cabeçalho do computador */
.hero-full .tag,.btn-ghost-light,.agua-facts span{backdrop-filter:none}
.btn-ghost-light{background:rgba(255,255,255,.08)}
@media (hover:none),(max-width:820px){
  .top,.amb-nav{backdrop-filter:none;background:rgba(255,255,255,.98)}
  .home .top:not(.scrolled){background:transparent}
}
/* fotos: enquanto carregam, um fundo neutro em vez de buraco branco */
.card .ph,.tile,.gallery a,.amb-cover,.panel .ph,.split .ph,.program-head .ph,.list .th,.mega-grid img{background-color:#ece8ef}
@media (prefers-reduced-motion:reduce){.wa-float::after,.hero-ctrl button[aria-current="true"] .dot i{animation:none}}
.loc-card .row a{padding:5px 0;line-height:1.35}
.foot .ct a{display:inline-block;padding:3px 0}
.stat > span{opacity:1}

/* =====================================================================
   hero: tudo sempre no mesmo lugar ao trocar de slide
   ===================================================================== */
.hero-full .slide-txt{justify-content:flex-end;padding-bottom:clamp(150px,17vh,190px)}
.hero-full .slide .lead{height:calc(18px * 1.6 * 3);min-height:0;overflow:hidden}
.hero-full .slide .ctas{flex-wrap:nowrap}
.hero-full .slide .ctas .btn{width:236px;padding:0 12px}
.hero-full .slide .note{height:20px;margin-top:16px;line-height:20px}
.hero-full .tag{white-space:nowrap}
.hero-full .slide-txt > *{flex:none}
.hero-full .slide h1,.hero-full .slide .h1{font-size:clamp(40px,min(6.2vw,9.6vh),88px);max-width:none;white-space:nowrap}
.hero-full .hero-card{height:clamp(720px,100svh,940px)}
@media (min-width:821px) and (max-height:800px){
  .hero-full .tag{margin-bottom:14px}
  .hero-full .slide .lead{margin:16px 0 20px}
  .hero-full .slide .note{margin-top:10px}
}

/* buscador: texto não corta em telas médias */
.finder .select select{text-overflow:ellipsis}
@media (min-width:821px) and (max-width:1180px){
  .hero-full .finder{grid-template-columns:1fr 1fr auto;gap:12px 16px;max-width:calc(100% - 48px)}
  .finder h2{grid-column:1 / -1;border:0;padding:0;font-size:19px}
  .finder h2 br{display:none}
}

/* =====================================================================
   animações extras: só transform/opacity, curtas e sem esconder conteúdo
   ===================================================================== */
/* 1. o traço dos títulos se desenha */
.hl::after{transform-origin:0 50%;transition:transform .8s cubic-bezier(.2,.8,.2,1) .15s}
.js .reveal:not(.in) .hl::after{transform:rotate(-1.5deg) scaleX(0)}
@keyframes risco{from{transform:rotate(-1.5deg) scaleX(0)}to{transform:rotate(-1.5deg) scaleX(1)}}
.slide.on .hl::after,.page-hero h1 .hl::after{animation:risco .75s cubic-bezier(.2,.8,.2,1) .3s both}

/* 2. a foto "assenta" ao entrar na tela */
.js .reveal:not(.in) img{transform:scale(1.07)}
.reveal img{transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}

/* 3. selo do hero flutua de leve */
.hero-full .slide.on .badge{animation:flutua 6s ease-in-out .8s infinite}
.hero-full .slide.on.entra .badge{animation:fadeUp .7s .55s cubic-bezier(.2,.8,.2,1) both,flutua 6s ease-in-out 1.3s infinite}
@keyframes flutua{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

/* 4. menus abrem em cascata */
.dd.open .dd-panel:not(.mega) > a,.dd.open .mega-grid > a,.drawer.open > a,.drawer.open > details{animation:fadeUp .38s cubic-bezier(.2,.8,.2,1) both}
.dd.open .dd-panel > a:nth-child(2),.dd.open .mega-grid > a:nth-child(4n+2),.drawer.open > :nth-child(2){animation-delay:.04s}
.dd.open .dd-panel > a:nth-child(3),.dd.open .mega-grid > a:nth-child(4n+3),.drawer.open > :nth-child(3){animation-delay:.08s}
.dd.open .dd-panel > a:nth-child(4),.dd.open .mega-grid > a:nth-child(4n+4),.drawer.open > :nth-child(4){animation-delay:.12s}
.drawer.open > :nth-child(5){animation-delay:.16s}
.drawer.open > :nth-child(6){animation-delay:.2s}

/* 5. cards reaparecem suaves ao filtrar */
.filtrou > .card:not([hidden]){animation:fadeUp .4s cubic-bezier(.2,.8,.2,1) both}

/* 6. botão do WhatsApp chega depois de abrir a página */
@keyframes waEntra{from{transform:translateY(24px) scale(.9);opacity:0}to{transform:none;opacity:1}}
.wa-float{animation:waEntra .55s cubic-bezier(.2,.8,.2,1) .9s both}

/* 7. topo das páginas internas sobe rápido */
.page-hero .inner > *{animation:fadeUp .5s cubic-bezier(.2,.8,.2,1) both}
.page-hero .inner > :nth-child(2){animation-delay:.05s}
.page-hero .inner > :nth-child(3){animation-delay:.1s}
.page-hero .inner > :nth-child(4){animation-delay:.15s}
.page-hero .inner > :nth-child(5){animation-delay:.2s}

/* 8. foto ampliada abre com zoom curto */
@keyframes zoomFoto{from{transform:scale(.96);opacity:0}to{transform:none;opacity:1}}
.lightbox.open img{animation:zoomFoto .28s cubic-bezier(.2,.8,.2,1) both}

/* 9. símbolos e selos acompanham a rolagem (roda fora da linha principal; onde não existe, fica parado) */
@supports (animation-timeline:view()){
  @keyframes girandoEntra{from{transform:rotate(-16deg) scale(.82)}to{transform:none}}
  @keyframes sobeSelo{from{transform:translateY(26px);opacity:.2}to{transform:none;opacity:1}}
  @keyframes derivaDeco{from{transform:translateY(-58%) rotate(-12deg)}to{transform:translateY(-42%) rotate(0deg)}}
  @keyframes derivaMarca{from{transform:rotate(-14deg) scale(.9)}to{transform:rotate(6deg) scale(1.05)}}
  @media (min-width:821px){
  .cta .mark{animation:girandoEntra linear both;animation-timeline:view();animation-range:entry 0% cover 40%}
  .stamp{animation:sobeSelo linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
  .quote .mark-bg,.forwho img,.stat img{animation:derivaMarca linear both;animation-timeline:view()}
  .page-hero.soft .card-hero > img.deco{animation:derivaDeco linear both;animation-timeline:scroll(root);animation-range:0 420px}
  }
}

/* =====================================================================
   área de toque
   ===================================================================== */
/* traços do hero: o desenho é fino, mas o dedo precisa acertar */
.hero-full .hero-ctrl button{position:relative}
.hero-full .hero-ctrl button::after{content:"";position:absolute;inset:-12px 0}
@media (max-width:820px){
  .link-arrow{padding:6px 0;margin:-6px 0}
}

/* =====================================================================
   aviso de cookies (LGPD)
   ===================================================================== */
.cookies{position:fixed;left:20px;bottom:20px;z-index:70;max-width:440px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:0 24px 60px -20px rgba(14,10,37,.4);font-size:14px;line-height:1.5}
.cookies a{text-decoration:underline}
.cookies>div{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.cookies-abrir{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline}
.form-note a{text-decoration:underline}
@media (max-width:820px){
  .cookies{left:10px;right:10px;bottom:10px;max-width:none;padding:14px}
  .cookies>div .btn{flex:1}
}
