/* ============================================================
}
  .cookie-btns{width:100%;justify-content:flex-end}

}
/* ============================================================
   CDM – style.css v9.0  |  Premium · Ultra-moderno · 2025
   Amarelo #EFA526 · Escuro #111010 · Branco puro
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Yanone+Kaffeesatz:wght@300;400;500;600;700&family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Oswald:wght@300;400;500;600;700&display=swap');

:root {
  --y:     #EFA526;   --y-d: #C97D10;  --y-l: #FAD06B;  --y-xl: #FDE8A8;
  --y-bg:  #FEF8E7;   --y-bg2: #FDF1C5;
  --dk:    #111010;   --dk2:  #1E1C1C;  --dk3: #2C2929;  --dk4: #3D3939;
  --wh:    #FFFFFF;   --off:  #FAFAF9;  --bg:  #F4F2EC;  --bg2: #EAE7DF;
  --tx:    #111010;   --tx2:  #58524E;  --tx3: #978F8A;
  --bd:    #E6E1D8;   --bd2:  #D8D2C6;

  /* Sombras premium */
  --s1: 0 1px 3px rgba(17,16,16,.06), 0 1px 2px rgba(17,16,16,.04);
  --s2: 0 4px 16px rgba(17,16,16,.08), 0 2px 6px rgba(17,16,16,.05);
  --s3: 0 10px 40px rgba(17,16,16,.12), 0 4px 12px rgba(17,16,16,.07);
  --s4: 0 24px 80px rgba(17,16,16,.18), 0 8px 24px rgba(17,16,16,.10);
  --sy: 0 8px 32px rgba(239,165,38,.35);
  --sy2: 0 16px 48px rgba(239,165,38,.45);

  --r1: 3px;  --r2: 8px;  --r3: 16px;  --r4: 24px;  --r5: 9999px;
  --ease: cubic-bezier(.22,.68,0,1.2);
  --ease2: cubic-bezier(.4,0,.2,1);
  --t:  all .38s var(--ease2);
  --ts: all .22s ease;
  --fh: 'Yanone Kaffeesatz', sans-serif;
  --fb: 'Poppins', sans-serif;
  --fu: 'Oswald', sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

/* ── Fundo_01 – marca de água ultra-subtil ── */
section, footer { position:relative; }

/* NÃO aparece no hero */
.hero::after { content:none !important; }

section::after {
  content:'';
  position:absolute;inset:0;
  pointer-events:none;
  z-index:0;
  background-image:url('../images/Fundo_01.png');
  background-repeat:repeat;
  background-size:200px 200px;
  opacity:.06;
}
footer::after {
  content:'';
  position:absolute;inset:0;
  pointer-events:none;
  z-index:0;
  background-image:url('../images/Fundo_01.png');
  background-repeat:repeat;
  background-size:200px 200px;
  opacity:.04;
}
section > .container, section > div:not([class*="hero-"]) { position:relative; z-index:1; }
body{font-family:var(--fb);color:var(--tx);background:var(--wh);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
ul,ol{list-style:none}
button{cursor:pointer;font-family:inherit;border:none;background:none}

h1,h2,h3{font-family:var(--fh);font-weight:700;text-transform:uppercase;line-height:.92;letter-spacing:-.5px;color:var(--dk)}
h1{font-size:clamp(2.6rem,7vw,6rem)}
h2{font-size:clamp(1.7rem,3.5vw,2.8rem);letter-spacing:0}
h3{font-size:clamp(1.3rem,2.2vw,1.8rem)}
h4{font-family:var(--fb);font-size:.9rem;font-weight:600;letter-spacing:.2px;color:var(--dk)}
p{font-size:14px;color:var(--tx2);line-height:1.82}

.container{max-width:1240px;margin:0 auto;padding:0 48px}

/* ─── LABEL ─── */
.lbl,.label{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--fu);font-size:11px;font-weight:400;
  letter-spacing:3.5px;text-transform:uppercase;
  color:var(--y-d);margin-bottom:14px;
}
.lbl::before,.label::before{
  content:'';display:block;
  width:28px;height:2px;background:var(--y);border-radius:2px;flex-shrink:0;
}
.lbl.wh,.label.wh,.label.white{color:rgba(255,255,255,.7)}
.lbl.wh::before,.label.wh::before,.label.white::before{background:var(--y)}

/* ─── TÍTULOS ─── */
.stitle{
  font-family:var(--fh);font-size:clamp(1.7rem,3.5vw,2.8rem);
  font-weight:700;text-transform:uppercase;letter-spacing:-.2px;
  color:var(--dk);line-height:.95;margin-bottom:14px;
}
.stitle .hl{color:var(--y)}
.stitle.wh{color:var(--wh)}.stitle.wh .hl{color:var(--y-l)}
.ssub{font-size:15px;color:var(--tx2);line-height:1.82;max-width:540px}
.ssub.wh{color:rgba(255,255,255,.48)}
.sec-hd{margin-bottom:44px}
.sec-hd.ct{text-align:center}.sec-hd.ct .lbl,.sec-hd.ct .label{justify-content:center}.sec-hd.ct .ssub{margin:0 auto}

/* ─── BOTÕES premium ─── */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--fu);font-size:11px;font-weight:400;
  letter-spacing:2px;text-transform:uppercase;
  padding:10px 26px;border-radius:var(--r5);
  border:1.5px solid transparent;
  transition:var(--t);cursor:pointer;white-space:nowrap;
  position:relative;overflow:hidden;
}
.btn::after{
  content:'';
  position:absolute;inset:0;
  background:rgba(255,255,255,.12);
  opacity:0;transition:opacity .2s;
}
.btn:hover::after{opacity:1}
/* Amarelo – primário */
.btn-y,.btn-red,.btn-yel,.btn-a,.btn-p,.btn-wh{
  background:var(--y);color:var(--dk);
  border-color:var(--y);font-weight:500;
  box-shadow:var(--sy);
}
.btn-y:hover,.btn-red:hover,.btn-yel:hover,.btn-a:hover,.btn-p:hover,.btn-wh:hover{
  background:var(--y-d);border-color:var(--y-d);
  box-shadow:var(--sy2);transform:translateY(-2px);
}
/* Escuro – secundário */
.btn-dk{background:var(--dk);color:var(--wh);border-color:var(--dk)}
.btn-dk:hover{background:var(--dk3);transform:translateY(-2px);box-shadow:var(--s4)}
/* Outline branco */
.btn-ow{
  background:transparent;color:var(--wh);
  border-color:rgba(255,255,255,.35);
}
.btn-ow:hover{background:var(--wh);color:var(--dk);border-color:var(--wh);transform:translateY(-2px)}
/* Outline branco → amarelo ao hover */
.btn-ow-y{background:transparent;color:var(--wh);border-color:rgba(255,255,255,.35)}
.btn-ow-y:hover{background:var(--y);color:var(--dk);border-color:var(--y);transform:translateY(-2px);box-shadow:var(--sy)}
/* Outline escuro */
.btn-od,.btn-s{
  background:transparent;color:var(--dk);
  border-color:var(--bd2);
}
.btn-od:hover,.btn-s:hover{background:var(--dk);color:var(--wh);border-color:var(--dk);transform:translateY(-2px)}
/* Ghost amarelo */
.btn-gy{background:transparent;color:var(--y-d);border-color:var(--y)}
.btn-gy:hover{background:var(--y);color:var(--dk);box-shadow:var(--sy);transform:translateY(-2px)}
.btn-sm{padding:7px 18px;font-size:10px}
/* Seta em botões */
.btn-arrow::after{content:'→';position:static;background:none;opacity:1;font-style:normal;margin-left:4px}

/* ═══════════════════════════════════════════
   NAVBAR  –  clean, blur pill on scroll
   ═══════════════════════════════════════════ */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:0;transition:var(--t);
}
.navbar.scrolled{
  padding:0;
}
/* texto do menu no estado scrolled — fundo escuro, texto claro */
.navbar.scrolled .nav-links a,
.navbar.scrolled .nav-drop-toggle{
  color:rgba(255,255,255,.62);
}
.navbar.scrolled .nav-links a:hover,
.navbar.scrolled .nav-drop-toggle:hover{
  color:rgba(255,255,255,.95);
  background:rgba(255,255,255,.07);
}
.navbar.scrolled .nav-links a.active{
  color:rgba(255,255,255,.96);
  background:rgba(239,165,38,.14);
}
.navbar.scrolled .nav-drop-toggle.active{
  color:var(--y)!important;
  background:rgba(239,165,38,.12);
  box-shadow:inset 0 0 0 1px rgba(239,165,38,.2);
}
/* sublinhado escuro no toggle activo em modo scrolled */
.navbar.scrolled .nav-drop-toggle.active::after{background:var(--y)!important}
/* O hover do toggle.active no scrolled */
.navbar.scrolled .nav-drop-toggle:hover,
.navbar.scrolled .nav-drop-toggle.active{color:var(--y) !important}
.navbar.scrolled .nav-cta{
  background:rgba(0,0,0,.18) !important;
  color:#1a1000 !important;
  border-color:rgba(0,0,0,.2);
  box-shadow:none !important;
}
.navbar.scrolled .nav-cta:hover{
  background:rgba(0,0,0,.28) !important;
}
.nb-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;max-width:1360px;margin:0 auto;
  padding:14px 48px;
  transition:all .4s cubic-bezier(.4,0,.2,1);
  position:relative;
}
/* fundo gradiente escuro que se dissolve – protege leitura no hero */
.nb-inner::before{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(6,5,4,.75) 0%, transparent 100%);
  pointer-events:none;
  border-radius:inherit;
}
/* linha inferior – removida */
.nb-inner::after{display:none}
.nav-logo img{height:66px;width:auto;transition:all .4s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 2px 8px rgba(0,0,0,.5));opacity:1}

/* ── Estado SCROLLED ── */
.navbar.scrolled .nb-inner{
  margin:8px 20px;padding:6px 20px;
  background:rgba(9,7,5,.9);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border-radius:12px;
  border:none;
  box-shadow:0 8px 32px rgba(0,0,0,.38);
}
.navbar.scrolled .nb-inner::before{display:none}
.navbar.scrolled .nb-inner::after{display:none}
.navbar.scrolled .nav-logo img{height:38px;filter:drop-shadow(0 1px 4px rgba(0,0,0,.4))}

/* ── Links desktop ── */
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{
  font-family:var(--fu);font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;
  color:rgba(255,255,255,.48);
  padding:7px 12px;border-radius:6px;
  transition:color .22s ease, background .22s ease;position:relative;
}
.nav-links a::after{
  content:'';position:absolute;bottom:4px;left:50%;transform:translateX(-50%);
  width:0;height:2px;background:rgba(255,255,255,.35);border-radius:2px;
  transition:width .25s cubic-bezier(.4,0,.2,1);
}
.nav-links a:hover{color:rgba(255,255,255,.9);background:rgba(255,255,255,.06)}
.nav-links a:hover::after{width:44%}
/* active – pill âmbar subtil */
.nav-links a.active{
  color:rgba(255,255,255,.96);
  background:rgba(239,165,38,.1);
}
.nav-links a.active::after{width:52%;background:var(--y)}

/* ── Inscrições – exatamente igual aos outros links, sem destaque ── */
.nav-cta{
  font-family:var(--fu)!important;
  font-size:10.5px!important;letter-spacing:1.8px!important;text-transform:uppercase!important;
  color:rgba(255,255,255,.5)!important;
  padding:7px 12px!important;border-radius:6px!important;
  background:transparent!important;border:none!important;outline:none!important;box-shadow:none!important;
  transition:color .2s ease!important;position:relative!important;
}
.nav-cta::before{display:none!important}
.nav-cta::after{
  content:''!important;display:block!important;
  position:absolute!important;bottom:3px!important;left:50%!important;transform:translateX(-50%)!important;
  width:0!important;height:1px!important;background:rgba(255,255,255,.4)!important;
  border-radius:2px!important;transition:width .22s ease!important;
}
.nav-cta:hover{color:rgba(255,255,255,.88)!important;background:transparent!important;border:none!important}
.nav-cta:hover::after{width:40%!important}
/* estado activo – página de inscrições */
.nav-cta.active{color:rgba(255,255,255,.9)!important}
.nav-cta.active::after{width:50%!important;background:var(--y)!important}
/* estado activo com scroll */
.navbar.scrolled .nav-cta.active{color:rgba(10,4,0,1)!important}
.navbar.scrolled .nav-cta.active::after{background:rgba(10,4,0,.5)!important}

/* item em breve */
.nav-disabled{font-family:var(--fu);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.2);padding:7px 13px;border-radius:6px;cursor:default;display:flex;align-items:center;gap:5px;}
.nav-disabled::after{content:'em breve';font-size:7px;letter-spacing:1.5px;text-transform:uppercase;background:rgba(239,165,38,.1);color:rgba(239,165,38,.5);border:1px solid rgba(239,165,38,.15);border-radius:4px;padding:1px 5px;line-height:1.6;}
/* mobile */

/* scrolled – links (override do bloco acima) */
.navbar.scrolled .nav-links a,.navbar.scrolled .nav-drop-toggle{font-size:11px;padding:5px 10px}
.navbar.scrolled .nav-links a::after{background:rgba(239,165,38,.5)}
.navbar.scrolled .nav-links a:hover{color:rgba(255,255,255,.95)}
.navbar.scrolled .nav-links a.active{color:rgba(255,255,255,.96)}
.navbar.scrolled .nav-drop-toggle:hover{color:rgba(255,255,255,.95)!important;background:rgba(255,255,255,.07)!important}
.navbar.scrolled .nav-cta{color:rgba(255,255,255,.62)!important;background:transparent!important;border:none!important;outline:none!important;box-shadow:none!important;}
.navbar.scrolled .nav-cta::after{background:rgba(239,165,38,.5)!important}
.navbar.scrolled .nav-cta:hover{color:rgba(255,255,255,.95)!important}
.navbar.scrolled .nav-cta:hover::after{width:40%!important}
.navbar.scrolled .nav-cta.active{color:var(--y)!important;background:rgba(239,165,38,.12)!important}
.navbar.scrolled .nav-cta.active::after{background:var(--y)!important}
.navbar.scrolled .nav-disabled{color:rgba(255,255,255,.2)}
.navbar.scrolled .nav-disabled::after{background:rgba(239,165,38,.1);color:rgba(239,165,38,.5);border-color:rgba(239,165,38,.18)}

/* ─── DROPDOWN (Programação / Galeria / Clube) ─── */
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-drop-toggle{
  font-family:var(--fu);font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;
  color:rgba(255,255,255,.48);padding:7px 12px;border-radius:6px;
  transition:color .22s ease, background .22s ease;cursor:pointer;display:flex;align-items:center;gap:4px;
  position:relative;
}
.nav-drop-toggle:hover{color:rgba(255,255,255,.9);background:rgba(255,255,255,.06)}
.nav-drop-toggle.active{color:rgba(255,255,255,.96)!important;background:rgba(239,165,38,.1)}
.drop-arrow{font-size:8px;opacity:.5;transition:transform .28s ease, opacity .2s;line-height:1;display:inline-block}
.nav-drop-toggle:hover .drop-arrow,.nav-drop-toggle.active .drop-arrow{opacity:.8}
.nav-dropdown.open .drop-arrow{transform:rotate(180deg)}
/* sublinhado dourado quando o toggle tem subitem activo */
.nav-drop-toggle::after{
  content:'';display:block;
  position:absolute;bottom:4px;left:50%;transform:translateX(-50%);
  width:0;height:2px;background:rgba(255,255,255,.35);
  border-radius:2px;transition:width .25s cubic-bezier(.4,0,.2,1);
}
.nav-drop-toggle:hover::after{width:44%}
.nav-drop-toggle.active::after{width:52%;background:var(--y)}

/* ── Submenu – estado padrão (sem scroll): fundo escuro ── */
.nav-drop-menu{
  position:absolute;top:calc(100% + 4px);left:50%;
  transform:translateX(-50%) translateY(-10px) scale(.97);
  background:rgba(17,16,16,.96);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r3);
  padding:8px;
  min-width:180px;
  box-shadow:0 12px 40px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.04);
  opacity:0;pointer-events:none;
  transition:opacity .28s ease, transform .28s ease;
  z-index:2000;
}
/* seta decorativa no topo – estado sem scroll */
.nav-drop-menu::before{
  content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%);
  width:10px;height:6px;
  background:rgba(17,16,16,.96);
  clip-path:polygon(50% 0%,0% 100%,100% 100%);
  transition:background .3s;
}
.nav-dropdown.open .nav-drop-menu{
  opacity:1;pointer-events:auto;
  transform:translateX(-50%) translateY(0) scale(1);
}

/* links no submenu – estado sem scroll */
.nav-drop-menu a{
  display:flex;align-items:center;gap:8px;
  font-family:var(--fu);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(255,255,255,.6);padding:10px 14px;border-radius:var(--r2);
  transition:var(--ts);
  pointer-events:auto;
  position:relative;z-index:2001;
  font-weight:500;
}
.nav-drop-menu a::before{
  content:'';width:4px;height:4px;border-radius:50%;background:var(--y);opacity:0;
  flex-shrink:0;transition:opacity .2s;
}
.nav-drop-menu a:hover,.nav-drop-menu a.active{
  color:var(--y);background:rgba(255,255,255,.06);
}
.nav-drop-menu a:hover::before,.nav-drop-menu a.active::before{opacity:1}

/* separador */
.nav-drop-menu .drop-sep{
  height:1px;background:rgba(255,255,255,.07);margin:6px 4px;
}

/* ── Submenu – estado com scroll: dark glass a combinar com navbar ── */
.navbar.scrolled .nav-drop-menu{
  background:rgba(9,7,5,.94);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border:1px solid rgba(239,165,38,.15);
  border-top:2px solid rgba(239,165,38,.45);
  box-shadow:0 8px 28px rgba(0,0,0,.32);
}
.navbar.scrolled .nav-drop-menu::before{
  background:transparent;
}
.navbar.scrolled .nav-drop-menu a{
  color:rgba(255,255,255,.7);
  font-weight:500;
}
.navbar.scrolled .nav-drop-menu a:hover,
.navbar.scrolled .nav-drop-menu a.active{
  color:var(--y);
  background:rgba(239,165,38,.1);
}
.navbar.scrolled .nav-drop-menu a::before{
  background:var(--y);
}
.navbar.scrolled .nav-drop-menu .drop-sep{
  background:rgba(255,255,255,.08);
}

/* ─── NAV MOB submenus em acordeão ─── */
/* ─── MOB GRUPOS (dropdowns no painel) ─── */
/* ═══════════════════════════════════════════
   HERO  –  impacto máximo, nível editorial
   ═══════════════════════════════════════════ */
.hero{
  min-height:100vh;position:relative;
  display:flex;align-items:center;
  background:#0a0908;overflow:hidden;
}
/* Orb ambiente flutuante atrás do texto */
.hero::before{
  content:'';
  position:absolute;
  width:820px;height:620px;
  left:-180px;top:8%;
  background:radial-gradient(ellipse at 50% 50%, rgba(239,165,38,.11) 0%, rgba(239,165,38,.04) 40%, transparent 68%);
  filter:blur(90px);
  z-index:1;pointer-events:none;
  animation:heroOrb 22s ease-in-out infinite;
}
@keyframes heroOrb{
  0%,100%{opacity:.7;transform:translateY(0) scale(1)}
  50%{opacity:1;transform:translateY(-45px) scale(1.08)}
}

/* ── Fundo com profundidade ── */
.hero-grad{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 90% 100% at -8% 50%, rgba(239,165,38,.18) 0%, transparent 46%),
    radial-gradient(ellipse 55% 65% at 25% 44%, rgba(239,165,38,.10) 0%, transparent 42%),
    radial-gradient(ellipse 40% 55% at 14% 70%, rgba(200,100,20,.07) 0%, transparent 50%),
    radial-gradient(ellipse 60% 80% at 85% 30%, rgba(180,60,20,.06) 0%, transparent 65%),
    linear-gradient(160deg, #110e0b 0%, #0d0b09 40%, #060504 100%);
}
/* ── Luz ambiente que "respira" ── */
.hero-grad::before{
  content:'';
  position:absolute;inset:0;
  background:radial-gradient(ellipse 40% 50% at 18% 55%, rgba(239,165,38,.04) 0%, transparent 65%);
  animation:heroBreath 12s ease-in-out infinite;
}
@keyframes heroBreath{
  0%,100%{opacity:.5}
  50%{opacity:1}
}
/* ── Linhas diagonais cinematic ── */
.hero-grad::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,
    transparent 0%,transparent 30%,
    rgba(239,165,38,.008) 32%,transparent 34%,
    transparent 55%,rgba(239,165,38,.005) 57%,transparent 59%
  );
  pointer-events:none;
}
.hero-img{
  position:absolute;inset:0;
  background:url('../images/pavilhao-interno1.jpg') center 70%/cover no-repeat;
  opacity:.22;mix-blend-mode:luminosity;
}
/* ── Vinheta forte e direcional ── */
.hero-vignette{
  position:absolute;inset:0;
  background:
    linear-gradient(100deg,
      rgba(8,7,6,.95) 0%,
      rgba(10,9,8,.78) 32%,
      rgba(10,9,8,.22) 55%,
      transparent 75%
    ),
    linear-gradient(to top, rgba(6,5,4,.92) 0%, transparent 32%),
    linear-gradient(to bottom, rgba(6,5,4,.45) 0%, transparent 20%);
}
/* ── Spotlight diagonal sobre a área do texto ── */
.hero-vignette::after{
  content:'';
  position:absolute;inset:0;
  background:radial-gradient(ellipse 62% 80% at 8% 48%,
    rgba(255,200,80,.045) 0%,
    rgba(239,165,38,.02) 35%,
    transparent 65%
  );
  pointer-events:none;
}
/* ── Linha topo amarela fina ── */
.hero-line{
  position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg, var(--y) 0%, rgba(239,165,38,.4) 18%, transparent 45%);
  z-index:3;
}
/* ── Acento vertical ── */
.hero-side-accent{
  position:absolute;left:0;top:0;bottom:0;width:1px;
  background:linear-gradient(180deg, var(--y) 0%, rgba(239,165,38,.25) 40%, transparent 80%);
  opacity:.45;z-index:3;
}

/* ── EFEITO VITRIFICADO no hero ── */
.hero-glass{
  position:absolute;inset:0;
  z-index:2;
  pointer-events:none;
  overflow:hidden;
}
/* Camada principal de vidro – reflexo diagonal */
.hero-glass::before{
  content:'';
  position:absolute;inset:0;
  background:
    linear-gradient(118deg,
      rgba(255,255,255,.0)   0%,
      rgba(255,255,255,.0)  28%,
      rgba(255,255,255,.028) 32%,
      rgba(255,255,255,.05)  36%,
      rgba(255,255,255,.018) 40%,
      rgba(255,255,255,.0)  48%,
      rgba(255,255,255,.012) 54%,
      rgba(255,255,255,.0)  60%,
      rgba(255,255,255,.0) 100%
    );
  animation:glassShift 14s ease-in-out infinite;
}
/* Reflexo de borda superior – luz a entrar pelo topo */
.hero-glass::after{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:1px;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(255,255,255,.0)  10%,
    rgba(255,255,255,.18) 30%,
    rgba(255,255,255,.35) 45%,
    rgba(255,255,255,.18) 60%,
    rgba(255,255,255,.0)  80%,
    transparent 100%
  );
  animation:glassTopEdge 14s ease-in-out infinite;
}
@keyframes glassShift{
  0%,100%{opacity:.7;transform:translateX(-3%)}
  50%{opacity:1;transform:translateX(3%)}
}
@keyframes glassTopEdge{
  0%,100%{opacity:.4}
  50%{opacity:.9}
}

/* Prisma – faixa de cor iridescente muito subtil */
.hero-grad::before{
  content:'';
  position:absolute;inset:0;
  background:
    linear-gradient(118deg,
      transparent 0%,transparent 34%,
      rgba(239,165,38,.018) 36%,rgba(255,220,100,.012) 38%,
      rgba(255,255,255,.008) 40%,rgba(180,220,255,.012) 42%,
      transparent 44%,transparent 100%
    );
  animation:prismMove 16s ease-in-out infinite;
}
@keyframes prismMove{
  0%,100%{opacity:.5;transform:translateX(-4%)}
  50%{opacity:1;transform:translateX(4%)}
}
.hero .container{position:relative;z-index:3;padding-top:105px;padding-bottom:60px;width:100%;max-width:1280px;margin:0 auto;padding-left:56px;padding-right:0}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;min-height:calc(100vh - 105px)}

.hero-tag{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(239,165,38,.08);
  border:1px solid rgba(239,165,38,.2);
  border-radius:40px;
  padding:7px 20px;
  font-family:var(--fu);font-size:10px;letter-spacing:3.5px;text-transform:uppercase;
  color:rgba(239,165,38,.8);margin-bottom:28px;
  backdrop-filter:blur(12px);
  animation:none;
  position:relative;z-index:1;
}
.hero-tag::before{
  content:'';width:5px;height:5px;background:var(--y);border-radius:50%;flex-shrink:0;
  box-shadow:0 0 6px rgba(239,165,38,.8);
  animation:tagDot 3s ease-in-out infinite;
}
@keyframes tagDot{0%,100%{opacity:1}50%{opacity:.25}}

.hero-h1{
  font-family:var(--fh);
  font-size:clamp(3.4rem,7.8vw,7.8rem);
  font-weight:700;text-transform:uppercase;
  color:#f5f0e8;line-height:.87;
  letter-spacing:-2.5px;margin-bottom:32px;
}
.hero-h1 em{
  font-style:normal;color:var(--y);display:block;
  text-shadow:0 0 80px rgba(239,165,38,.35), 0 0 120px rgba(239,165,38,.12);
}

/* painel de luz subtil atrás do bloco de texto */
.hero-inner > div:first-child{
  position:relative;
}
.hero-inner > div:first-child::before{
  content:'';
  position:absolute;
  inset:-60px -40px -60px -80px;
  background:
    radial-gradient(ellipse 80% 70% at 35% 45%,
      rgba(239,165,38,.055) 0%,
      rgba(239,165,38,.018) 45%,
      transparent 72%
    );
  pointer-events:none;
  z-index:0;
}

.hero-body-wrap{display:flex;align-items:flex-start;gap:20px;margin-bottom:44px;}
.hero-body-line{width:2px;min-height:60px;background:linear-gradient(180deg,var(--y) 0%,rgba(239,165,38,.08) 100%);flex-shrink:0;margin-top:4px;border-radius:2px}
.hero-p{font-size:16px;color:rgba(255,255,255,.78);font-weight:400;margin-bottom:8px;line-height:1.7}
.hero-sub{
  font-family:var(--fu);font-size:11px;letter-spacing:3px;text-transform:uppercase;
  color:rgba(255,255,255,.4);
  display:inline-block;position:relative;padding-bottom:10px;margin-top:6px;
}
/* linha animada abaixo do hero-sub */
.hero-sub-line{
  display:block;
  position:absolute;bottom:0;left:0;
  height:2px;
  width:100%;
  border-radius:2px;
  overflow:hidden;
  background:rgba(255,255,255,.08);
}
/* brilho deslizante dentro da linha */
.hero-sub-line::after{
  content:'';
  position:absolute;top:0;left:-60%;
  width:60%;height:100%;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(239,165,38,.4) 20%,
    var(--y) 45%,
    #fff 50%,
    var(--y) 55%,
    rgba(239,165,38,.4) 80%,
    transparent 100%
  );
  border-radius:2px;
  box-shadow:0 0 10px rgba(239,165,38,.9), 0 0 22px rgba(239,165,38,.4);
  animation:heroSubScan 5s cubic-bezier(.4,0,.2,1) infinite 1.2s;
}
@keyframes heroSubScan{
  0%   {left:-60%;opacity:0}
  5%   {opacity:1}
  80%  {left:110%;opacity:1}
  90%  {left:110%;opacity:0}
  100% {left:-60%;opacity:0}
}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px}

/* Imagem hero */
.hero-art{
  position:relative;
  display:flex;
  justify-content:flex-end;
  align-items:flex-end;
  overflow:visible;
  height:100%;
  min-height:calc(100vh - 105px);
}
/* glow ambiente atrás dos atletas */
.hero-art::before{
  content:'';
  position:absolute;
  bottom:10%;right:5%;
  width:70%;height:75%;
  background:radial-gradient(ellipse at 50% 80%,
    rgba(239,165,38,.05) 0%,
    transparent 60%
  );
  pointer-events:none;
  z-index:0;
}
.hero-art img{
  position:absolute;
  bottom:9%;right:40px;
  height:100%;
  width:auto;
  max-height:none;
  scale:0.9;
  transform-origin:bottom right;
  animation:float 12s ease-in-out infinite;
  object-fit:contain;
  opacity:0.7;
  z-index:1;
}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-badge{
  position:absolute;top:60px;right:0;
  width:90px;height:90px;border-radius:50%;
  background:var(--y);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;line-height:1;
  box-shadow:var(--sy2),0 0 0 8px rgba(239,165,38,.15);
}
.hero-badge strong{font-family:var(--fh);font-size:1.9rem;font-weight:700;color:var(--dk);letter-spacing:-1px}
.hero-badge small{font-family:var(--fu);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(17,16,16,.6)}

/* Scroll */
.scroll-cue{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:2;font-family:var(--fu);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.2);cursor:pointer;transition:var(--ts)}
.scroll-cue:hover{color:rgba(255,255,255,.6)}
.scroll-dot{width:24px;height:40px;border:1.5px solid rgba(255,255,255,.15);border-radius:12px;position:relative}
.scroll-dot::after{content:'';position:absolute;top:7px;left:50%;transform:translateX(-50%);width:4px;height:8px;background:var(--y);border-radius:2px;animation:sdot 2.4s ease infinite}
@keyframes sdot{0%,100%{opacity:.9;transform:translateX(-50%) translateY(0)}75%{opacity:0;transform:translateX(-50%) translateY(14px)}}

/* ═══════════════════════════════════════════
   STATS  –  amarelo, números grandes, impacto
   ═══════════════════════════════════════════ */
.stats-bar{background:var(--y)}
.stats-inner{display:grid;grid-template-columns:repeat(4,1fr);max-width:1240px;margin:0 auto;padding:0 48px}
.stat-item{padding:32px 20px;text-align:center;border-right:1px solid rgba(17,16,16,.1);transition:var(--ts)}
.stat-item:last-child{border-right:none}
.stat-item:hover{background:rgba(17,16,16,.06)}
.stat-n{font-family:var(--fh);font-size:3.2rem;font-weight:700;color:var(--dk);line-height:1;letter-spacing:-1px}
.stat-l{font-family:var(--fu);font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(17,16,16,.5);margin-top:6px}

/* ═══════════════════════════════════════════
   MODALIDADES  –  cards grandes, elegantes
   ═══════════════════════════════════════════ */
.sports-section{padding:80px 0;background:var(--wh)}
.sports-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}

.sport-card{
  background:var(--wh);border-radius:var(--r4);
  overflow:hidden;
  border:1px solid var(--bd);
  transition:var(--t);display:flex;flex-direction:column;
  position:relative;
}
.sport-card:hover{border-color:transparent;box-shadow:var(--s4);transform:translateY(-8px)}
/* Linha amarela no topo do card ao hover */
.sport-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--y);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease2);z-index:1;
}
.sport-card:hover::before{transform:scaleX(1)}

.sc-img{position:relative;overflow:hidden;aspect-ratio:16/9}
.sc-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.sport-card:hover .sc-img img{transform:scale(1.07)}
/* Overlay gradiente na imagem */
.sc-img::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,16,16,.4) 0%,transparent 60%)}

.sc-tag{
  position:absolute;top:16px;left:16px;z-index:2;
  font-family:var(--fu);font-size:10px;letter-spacing:2px;text-transform:uppercase;
  background:var(--y);color:var(--dk);font-weight:500;
  padding:5px 16px;border-radius:var(--r5);
  box-shadow:var(--sy);
}

.sc-body{padding:24px 22px 28px;flex:1;display:flex;flex-direction:column}
.sc-title{font-family:var(--fh);font-size:1.7rem;font-weight:700;text-transform:uppercase;color:var(--dk);margin-bottom:12px;letter-spacing:-.2px}
.sc-desc{font-size:13px;color:var(--tx2);line-height:1.78;margin-bottom:18px;flex:1}
.sc-feats{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.sc-feats li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--tx2)}
.sc-feats li::before{content:'';width:6px;height:6px;min-width:6px;background:var(--y);border-radius:50%;box-shadow:0 0 0 3px rgba(239,165,38,.2)}
.sc-foot{display:flex;gap:10px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--bd)}

/* ═══════════════════════════════════════════
   PAVILHÃO  –  layout editorial
   ═══════════════════════════════════════════ */
.pavilhao-sec{padding:80px 0;background:var(--off)}
.pav-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pav-main{grid-row:span 2;border-radius:var(--r4);overflow:hidden;position:relative}
.pav-main img{width:100%;height:100%;object-fit:cover;min-height:420px;transition:transform .8s ease}
.pav-main:hover img{transform:scale(1.04)}
.pav-thumb{border-radius:var(--r3);overflow:hidden;position:relative;cursor:pointer}
.pav-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .6s ease}
.pav-thumb:hover img{transform:scale(1.05)}
.pav-lbl{position:absolute;bottom:0;left:0;right:0;padding:20px 14px 12px;font-family:var(--fu);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.9);background:linear-gradient(0deg,rgba(17,16,16,.65) 0%,transparent 100%)}

/* ═══════════════════════════════════════════
   TREINADORES  –  cards verticais modernos
   ═══════════════════════════════════════════ */
.coaches-sec{padding:80px 0;background:var(--wh)}
.coaches-grid{display:grid;grid-template-columns:repeat(4,minmax(0,220px));gap:28px;margin-top:40px;justify-content:center}
.coach-card{
  background:var(--wh);border-radius:16px;
  overflow:hidden;border:1px solid var(--bd);
  transition:transform .3s ease,box-shadow .3s ease;
  display:flex;flex-direction:column;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
}
.coach-card:hover{transform:translateY(-8px);box-shadow:0 16px 40px rgba(0,0,0,.12),0 0 0 1px rgba(239,165,38,.3)}
.coach-photo{
  position:relative;overflow:hidden;
  aspect-ratio:1/1;width:100%;
  background:#f0ede8;
}
.coach-photo img{
  width:100%;height:100%;
  object-fit:cover;object-position:center top;
  display:block;
  transition:transform .6s ease,filter .4s;
  filter:grayscale(10%);
}
.coach-card:hover .coach-photo img{transform:scale(1.05);filter:grayscale(0%)}
.coach-photo::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:40px;
  background:linear-gradient(0deg,rgba(0,0,0,.3) 0%,transparent 100%);
  pointer-events:none;
}
.coach-body{
  padding:16px 14px 18px;text-align:center;
  flex:1;display:flex;flex-direction:column;gap:4px;
}
.coach-placeholder{
  width:100%;height:100%;min-height:160px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  background:linear-gradient(150deg,#1e1500 0%,#111 60%,#0d0a00 100%);
  position:relative;overflow:hidden;
}
.coach-placeholder::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(239,165,38,.18) 0%,transparent 70%);
}
.coach-avatar{
  position:relative;z-index:1;
  width:80px;height:80px;border-radius:50%;
  background:linear-gradient(135deg,rgba(239,165,38,.2) 0%,rgba(239,165,38,.05) 100%);
  border:2px solid rgba(239,165,38,.55);
  box-shadow:0 0 24px rgba(239,165,38,.15),inset 0 1px 0 rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--fh);font-size:1.6rem;font-weight:800;
  color:var(--y);letter-spacing:1px;
  transition:transform .3s,box-shadow .3s;
}
.coach-card:hover .coach-avatar{
  transform:scale(1.06);
  box-shadow:0 0 32px rgba(239,165,38,.3),inset 0 1px 0 rgba(255,255,255,.1);
}
.coach-avatar-sport{
  position:relative;z-index:1;
  display:flex;align-items:center;gap:5px;
  font-family:var(--fu);font-size:8px;letter-spacing:2.5px;text-transform:uppercase;
  color:rgba(239,165,38,.55);
  background:rgba(239,165,38,.08);
  border:1px solid rgba(239,165,38,.2);
  padding:3px 10px;border-radius:20px;
}
.coach-avatar-sport svg{stroke:rgba(239,165,38,.6);flex-shrink:0}
.vol-dt{background:rgba(239,165,38,.25)!important;color:var(--y)!important}
/* Tag da modalidade */
.coach-badge,.coach-sport-tag{
  position:absolute;top:12px;right:12px;
  font-family:var(--fu);font-size:9px;letter-spacing:2px;text-transform:uppercase;
  background:var(--y);color:var(--dk);font-weight:500;
  padding:4px 10px;border-radius:var(--r5);
}
.coach-info,.coach-body{padding:16px 14px 18px;text-align:center;flex:1;display:flex;flex-direction:column;gap:4px}
.coach-name{font-family:var(--fh);font-size:1rem;font-weight:700;text-transform:uppercase;color:var(--dk);line-height:1.2;letter-spacing:-.2px}
.coach-role{
  font-family:var(--fu);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;
  color:#fff;margin-top:4px;margin-bottom:6px;
  padding:5px 12px;
  background:var(--y);
  border-radius:20px;display:inline-block;align-self:center;
  font-weight:700;
}
.coach-bio{font-size:12px;color:var(--tx2);line-height:1.6;margin-top:4px}

/* ═══════════════════════════════════════════
   TESTEMUNHOS  –  layout editorial limpo
   ═══════════════════════════════════════════ */
.testi-sec,.testi-section{padding:80px 0;background:var(--off)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.testi-card{
  background:var(--wh);border-radius:var(--r4);
  padding:28px 24px;border:1px solid var(--bd);
  transition:var(--t);position:relative;
  overflow:hidden;
}
/* Faixa amarela à esquerda */
.testi-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--y);transform:scaleY(0);transform-origin:bottom;transition:transform .4s var(--ease2)}
.testi-card:hover::before{transform:scaleY(1)}
.testi-card:hover{box-shadow:var(--s3);border-color:transparent;transform:translateY(-5px)}
.testi-icon{
  width:36px;height:36px;background:var(--y-bg);border-radius:var(--r2);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--y-d);
}
.testi-txt{font-size:13.5px;color:var(--tx2);line-height:1.82;font-style:italic;margin-bottom:20px}
.testi-author{display:flex;align-items:center;gap:12px}
.testi-av{width:46px;height:46px;border-radius:50%;background:var(--y);color:var(--dk);font-family:var(--fh);font-size:1.4rem;font-weight:700;display:flex;align-items:center;justify-content:center;text-transform:uppercase;flex-shrink:0;box-shadow:var(--sy)}
.testi-nm{font-size:14px;font-weight:600;color:var(--dk);letter-spacing:.2px}
.testi-rl,.testi-role{font-size:12px;color:var(--tx3);margin-top:2px}

/* ═══════════════════════════════════════════
   CTA  –  escuro dramático com amarelo
   ═══════════════════════════════════════════ */
.cta-sec{
  padding:80px 0;background:var(--dk);
  text-align:center;position:relative;overflow:hidden;
}
/* Glow amarelo subtil */
.cta-sec::before{
  content:'';position:absolute;top:-40%;left:50%;transform:translateX(-50%);
  width:600px;height:500px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(239,165,38,.1) 0%,transparent 65%);
  pointer-events:none;
}
/* Linhas decorativas */
.cta-sec::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(239,165,38,.3),transparent);
}
.cta-sec .container{position:relative;z-index:1}
.cta-title{
  font-family:var(--fh);font-size:clamp(2rem,5vw,3.8rem);
  font-weight:700;text-transform:uppercase;
  color:var(--wh);line-height:.92;margin-bottom:14px;letter-spacing:-.5px;
}
.cta-title .hl{color:var(--y)}
.cta-sub{font-size:16px;color:rgba(255,255,255,.45);max-width:480px;margin:0 auto 48px;line-height:1.8}
.cta-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}

/* ═══════════════════════════════════════════
   INFO / EVENTOS  –  cards com hover marcante
   ═══════════════════════════════════════════ */
.ic,.info-card{
  background:var(--wh);border-radius:var(--r4);
  padding:36px 28px;border:1px solid var(--bd);
  transition:var(--t);display:block;color:inherit;
  position:relative;overflow:hidden;
}
.ic::after,.info-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:var(--y);transform:scaleX(0);transform-origin:left;
  transition:transform .4s var(--ease2);
}
.ic:hover,.info-card:hover{box-shadow:var(--s3);border-color:transparent;transform:translateY(-5px)}
.ic:hover::after,.info-card:hover::after{transform:scaleX(1)}
.ic-icon{font-size:2.2rem;margin-bottom:16px;line-height:1}
.ic h4{font-family:var(--fu);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;color:var(--dk)}
.ic p{font-size:13px;color:var(--tx2);line-height:1.75}

/* ═══════════════════════════════════════════
   PARCEIROS  –  fundo off-white, grayscale→cor
   ═══════════════════════════════════════════ */
/* ── Parceiros – logos em cor, hover lift+glow ── */
.partners-sec{padding:72px 0;background:var(--off)}
.partners-hr{width:40px;height:3px;background:var(--y);margin:0 auto 20px;border-radius:4px}
.partners-ttl{font-family:var(--fu);font-size:10px;letter-spacing:3.5px;text-transform:uppercase;color:var(--tx3);text-align:center;margin-bottom:44px}
.partners-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:40px}
.partner{
  opacity:.65;filter:grayscale(15%);
  transition:transform .32s cubic-bezier(.34,1.56,.64,1),opacity .25s ease,filter .25s ease,box-shadow .25s ease;
  position:relative;border-radius:10px;padding:10px 14px;cursor:pointer;
}
.partner::before{
  content:'';position:absolute;inset:0;border-radius:10px;
  background:var(--y);opacity:0;
  transition:opacity .25s ease;z-index:0;
}
.partner:hover{
  opacity:1;filter:grayscale(0%);
  transform:translateY(-10px) scale(1.06);
  box-shadow:0 12px 32px rgba(239,165,38,.18),0 4px 10px rgba(0,0,0,.1);
}
.partner:hover::before{opacity:.07}
.partner img{height:42px;width:auto;max-width:110px;object-fit:contain;position:relative;z-index:1}

/* ═══════════════════════════════════════════
   FOOTER  –  premium escuro (compacto)
   ═══════════════════════════════════════════ */
footer{background:var(--dk)}
footer::before{content:'';display:block;height:2px;background:var(--y)}
.footer-top{padding:10px 0 8px;border-bottom:1px solid rgba(255,255,255,.05)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:20px}
.footer-logo img{height:30px;margin-bottom:6px}
.footer-desc{font-size:11px;color:rgba(255,255,255,.28);line-height:1.5;max-width:220px}
/* ícones sociais – brand colors no estado normal */
.footer-social{display:flex;gap:5px;margin-top:10px}
.footer-social a{
  width:30px;height:30px;border-radius:7px;
  display:flex;align-items:center;justify-content:center;
  transition:var(--ts);
}
.footer-social a:nth-child(1){color:#1877F2;border:1px solid rgba(24,119,242,.3);background:rgba(24,119,242,.08)}
.footer-social a:nth-child(2){color:#E1306C;border:1px solid rgba(225,48,108,.3);background:rgba(225,48,108,.08)}
.footer-social a:nth-child(3){color:#FF0000;border:1px solid rgba(255,0,0,.25);background:rgba(255,0,0,.07)}
.footer-social a:nth-child(1):hover{background:#1877F2;color:#fff;border-color:#1877F2;box-shadow:0 4px 14px rgba(24,119,242,.4)}
.footer-social a:nth-child(2):hover{background:#E1306C;color:#fff;border-color:#E1306C;box-shadow:0 4px 14px rgba(225,48,108,.4)}
.footer-social a:nth-child(3):hover{background:#FF0000;color:#fff;border-color:#FF0000;box-shadow:0 4px 14px rgba(255,0,0,.35)}
.footer-col-h,.footer-col-t{font-family:var(--fu);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:6px}
.footer-links{display:flex;flex-direction:column;gap:4px}
.footer-links a{font-size:11px;color:rgba(255,255,255,.25);transition:var(--ts);display:inline-flex;align-items:center;gap:6px}
.footer-links a:hover{color:var(--y);padding-left:4px}
/* ícones de contacto – melhorados */
.footer-ci{display:flex;align-items:flex-start;gap:7px;font-size:11px;color:rgba(255,255,255,.28);margin-bottom:5px}
.footer-ci svg{flex-shrink:0;margin-top:1px;width:15px;height:15px;color:var(--y);opacity:.85}
.footer-ci a{color:rgba(255,255,255,.28);transition:var(--ts)}
.footer-ci a:hover{color:var(--y)}
.footer-btm{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:rgba(255,255,255,.14);max-width:1240px;margin:0 auto;padding:7px 48px;flex-wrap:wrap;gap:4px}
.footer-btm a{color:rgba(255,255,255,.16)}
.footer-btm a:hover{color:var(--y)}

/* ═══════════════════════════════════════════
   PÁGINAS INTERNAS  –  hero elegante
   ═══════════════════════════════════════════ */
.page-hero{
  min-height:42vh;display:flex;align-items:flex-end;
  background:var(--dk);position:relative;overflow:hidden;padding-bottom:52px;
}
.ph-bg{
  position:absolute;inset:0;z-index:2;
  background-size:cover;background-position:center 60%;
  opacity:.32;mix-blend-mode:screen;
}
.ph-grad{position:absolute;inset:0;z-index:1;background:linear-gradient(140deg,rgba(10,8,6,.92) 0%,rgba(22,18,14,.85) 100%)}
.ph-line{position:absolute;top:0;left:0;right:0;height:2px;z-index:4;background:linear-gradient(90deg,var(--y) 0%,var(--y-l) 35%,transparent 65%)}
.page-hero .container{position:relative;z-index:5;padding-top:130px}
/* ph-topline e ph-gradient — aliases usados no HTML */
.ph-topline{position:absolute;top:0;left:0;right:0;height:2px;z-index:4;background:linear-gradient(90deg,var(--y) 0%,rgba(239,165,38,.4) 35%,transparent 65%)}
.ph-gradient{position:absolute;inset:0;z-index:1;background:linear-gradient(140deg,rgba(10,8,6,.92) 0%,rgba(22,18,14,.85) 100%)}
.breadcrumb{display:flex;align-items:center;gap:8px;font-family:var(--fu);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.22);margin-bottom:24px}
.breadcrumb a{color:rgba(255,255,255,.22);transition:var(--ts)}
.breadcrumb a:hover{color:var(--y)}
.breadcrumb span{color:rgba(255,255,255,.1)}
.ph-title{font-family:var(--fh);font-size:clamp(2.2rem,6vw,4rem);font-weight:700;text-transform:uppercase;color:var(--wh);line-height:.9;margin-bottom:14px;letter-spacing:-.5px}
.ph-title .hl{color:var(--y)}
.ph-sub{font-size:15px;color:rgba(255,255,255,.38);max-width:500px}

/* ── Programação ── */
.prog-sec,.prog-section{padding:40px 0 80px;background:var(--wh)}
.prog-banner{
  background:var(--dk);border-radius:var(--r4);
  padding:44px 48px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;
  margin-bottom:52px;box-shadow:var(--s4);
  border-left:4px solid var(--y);
  position:relative;overflow:hidden;
}
.prog-banner::before{content:'';position:absolute;right:-60px;top:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(239,165,38,.08),transparent 70%);border-radius:50%}
.pb-t{font-family:var(--fh);font-size:2.6rem;font-weight:700;text-transform:uppercase;color:var(--wh);line-height:.95;letter-spacing:-.5px}
.pb-s{font-family:var(--fu);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-top:8px}
.prog-banner img{height:80px;width:auto;filter:brightness(0) invert(1);opacity:.7}

.sched-wrap{overflow-x:auto;border-radius:var(--r3);border:1px solid var(--bd)}
table.sched{width:100%;border-collapse:collapse;font-size:14px;background:var(--wh)}
table.sched thead{background:var(--dk)}
table.sched th{padding:16px 20px;text-align:left;font-family:var(--fu);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5)}
table.sched td{padding:15px 20px;border-bottom:1px solid var(--bd);vertical-align:middle}
table.sched tbody tr:last-child td{border-bottom:none}
table.sched tbody tr:hover{background:var(--y-bg)}
.td-day{font-family:var(--fu);font-size:10px;letter-spacing:1px;text-transform:uppercase;background:var(--dk);color:var(--wh);padding:4px 12px;border-radius:var(--r5);display:inline-block}
.td-lvl{font-family:var(--fu);font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:0;border:none;display:inline-block;background:none}
.td-lvl.ini{color:#2e7d32}.td-lvl.int{color:#e65100}.td-lvl.adv{color:#c62828}.td-lvl.all{color:#1565c0}
.sched-note{margin-top:16px;padding:14px 20px;background:var(--y-bg);border-left:3px solid var(--y);border-radius:0 var(--r2) var(--r2) 0;font-size:13px;color:#6a4400;display:flex;gap:10px}
.sched-note a{color:var(--y-d);font-weight:600}

/* ════════════════════════════════════════════════════════════════
   PROGRAMAÇÃO DE TREINOS — sistema escalável
   ════════════════════════════════════════════════════════════════
   PAVILHÕES – cores:
     .pa  (Pavilhão A – Atlântico)  →  âmbar  var(--y)   #EFA526
     .pb  (Pavilhão B – Municipal)  →  azul    #60A5FA
     .pc  (Pavilhão C – Escola)     →  verde   #34D399
   Para adicionar novo pavilhão: criar .pd com nova cor e aplicar nas classes abaixo
   ════════════════════════════════════════════════════════════════ */
:root{--pav-b:#60A5FA;--pav-c:#34D399}

/* ── Legenda dos pavilhões ── */
.venue-legend{
  background:var(--dk);border-radius:14px;
  padding:22px 28px;margin-bottom:28px;
}
.vl-header{
  display:flex;align-items:center;gap:8px;
  font-family:var(--fu);font-size:9px;letter-spacing:2px;text-transform:uppercase;
  color:rgba(255,255,255,.3);margin-bottom:16px;
}
.vl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.vl-item{display:flex;align-items:flex-start;gap:10px}
.vl-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:3px}
.vl-dot.pa{background:var(--y)}
.vl-dot.pb{background:var(--pav-b)}
.vl-dot.pc{background:var(--pav-c)}
.vl-name{font-size:13px;font-weight:600;color:var(--wh);line-height:1.4}
.vl-addr{font-size:11px;color:rgba(255,255,255,.38);margin-top:2px}
.vl-fed{font-family:var(--fu);font-size:9px;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.25);margin-top:4px}

/* ── Barra de filtro por escalão ── */
.sched-filter-bar{
  display:flex;align-items:center;flex-wrap:wrap;gap:12px;
  margin-bottom:28px;padding:14px 20px;
  background:var(--wh);border-radius:12px;border:1px solid var(--bd1);
}
.sfb-label{
  font-family:var(--fu);font-size:9px;letter-spacing:2px;text-transform:uppercase;
  color:var(--text-l);flex-shrink:0;
}
.sfb-divider{width:1px;height:18px;background:var(--bd1);flex-shrink:0}
.sfb-btns{display:flex;flex-wrap:wrap;gap:6px}
.sfb-btn{
  font-family:var(--fu);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;
  padding:6px 14px;border-radius:20px;cursor:pointer;border:1px solid var(--bd);
  background:transparent;color:var(--text-m);
  transition:all .2s ease;white-space:nowrap;
}
.sfb-btn:hover{border-color:var(--y);color:var(--y-d)}
.sfb-btn.active{background:var(--y);color:var(--dk);border-color:var(--y);font-weight:700}
.sched-count{
  margin-left:auto;font-family:var(--fu);font-size:9px;letter-spacing:1px;
  color:var(--text-l);flex-shrink:0;
}
.sched-count span{font-weight:700;color:var(--y-d)}

/* ── Grid de cards ── */
.sched-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:0}
.sched-card{
  background:var(--wh);border-radius:12px;
  border:1px solid var(--bd1);overflow:hidden;
  display:flex;flex-direction:column;
  box-shadow:var(--s2);
  transition:transform .28s ease,box-shadow .28s ease,opacity .25s ease;
}
.sched-card:hover{transform:translateY(-4px);box-shadow:var(--s3)}
.sched-card.sc-hidden{display:none}

/* ── Topo do card (fundo escuro) ── */
.sc-top{
  background:var(--dk);padding:12px 16px;
  display:flex;flex-direction:column;gap:8px;
  position:relative;overflow:hidden;
}
/* barra lateral colorida por pavilhão */
.sc-top.pa::before,.sc-top.pb::before,.sc-top.pc::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:4px;
}
.sc-top.pa::before{background:var(--y)}
.sc-top.pb::before{background:var(--pav-b)}
.sc-top.pc::before{background:var(--pav-c)}
/* brilho subtil */
.sc-top::after{
  content:'';position:absolute;right:-30px;top:-30px;
  width:100px;height:100px;border-radius:50%;opacity:.04;
}
.sc-top.pa::after{background:var(--y)}
.sc-top.pb::after{background:var(--pav-b)}
.sc-top.pc::after{background:var(--pav-c)}

/* metadados: escalão + badge pavilhão */
.sc-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}
.sc-escalao{
  font-family:var(--fu);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(255,255,255,.9);
}
/* bloco pavilhão (sem hora — hora foi para a linha dos dias) */
.sc-pav-time{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.sc-pav-badge{
  display:inline-flex;align-items:center;gap:4px;
  font-family:var(--fu);font-size:6.5px;letter-spacing:.8px;text-transform:uppercase;
  color:rgba(255,255,255,.85);
  padding:2px 7px 2px 5px;border-radius:10px;
  background:rgba(255,255,255,.07);
}
.sc-pav-badge::before{content:'';width:6px;height:6px;border-radius:50%;flex-shrink:0}
.sc-pav-badge.pa::before{background:var(--y)}
.sc-pav-badge.pb::before{background:var(--pav-b)}
.sc-pav-badge.pc::before{background:var(--pav-c)}
/* hora e duração dentro da parte escura */
.sc-time-sub{
  font-family:var(--fh);font-size:16px;font-weight:700;letter-spacing:.2px;
  color:rgba(255,255,255,.9);white-space:nowrap;
}
.sched-card.pa .sc-time-sub{color:var(--y)}
.sched-card.pb .sc-time-sub{color:var(--pav-b)}
.sched-card.pc .sc-time-sub{color:var(--pav-c)}
.sc-time-sub em{font-style:normal;font-size:9px;font-weight:400;opacity:.55;margin-left:4px}

/* dias e hora na mesma linha */
.sc-day-time-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;flex-wrap:wrap}
.sc-days{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.sc-days{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.sc-day{
  font-family:var(--fh);font-size:12px;font-weight:700;letter-spacing:.3px;
  text-transform:uppercase;
  color:var(--y);
}
.sc-day+.sc-day::before{
  content:'|';margin-right:5px;opacity:.35;font-weight:300;
}
.sc-top.pb .sc-day{color:var(--pav-b);}
.sc-top.pc .sc-day{color:var(--pav-c);}
.sc-time-wrap{text-align:right;flex-shrink:0}
.sc-time{font-family:var(--fh);font-size:1.2rem;font-weight:700;color:var(--wh);line-height:1;letter-spacing:-.3px}
.sc-dur{
  font-family:var(--fu);font-size:8.5px;letter-spacing:1px;text-transform:uppercase;
  color:rgba(255,255,255,.38);margin-top:3px;text-align:right;
}

/* ── Corpo do card — colorido + marca d'água logo CDM ── */
.sc-body{
  padding:8px 14px 10px;display:flex;flex-direction:column;gap:8px;flex:1;
  position:relative;overflow:hidden;
}
/* tint suave baseado no pavilhão */
.sched-card.pa .sc-body{background:rgba(239,165,38,.05)}
.sched-card.pb .sc-body{background:rgba(96,165,250,.05)}
.sched-card.pc .sc-body{background:rgba(52,211,153,.05)}
/* imagem Viana do Castelo como marca d'água (3× tamanho) */
.sc-body::after{
  content:'';position:absolute;right:-50px;bottom:-90px;
  width:270px;height:270px;
  background:url('../images/viana_logo_sf.png') no-repeat center/contain;
  opacity:.05;pointer-events:none;
}
/* grelha 2 colunas: escalão + nível lado a lado */
.sc-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sc-info-item{display:flex;flex-direction:column;gap:4px}
.sc-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sc-lbl{
  font-family:var(--fu);font-size:8.5px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--text-l);
}
.sc-val{font-size:12.5px;font-weight:600;color:var(--dk)}
/* linha do treinador */
.sc-trainer-row{
  display:flex;align-items:center;gap:8px;
  padding-top:8px;border-top:1px solid var(--bd1);
}
.sc-trainer-info{display:flex;flex-direction:column;gap:2px}
.sc-trainer-wrap{display:flex;align-items:center;gap:8px}
.sc-avatar{
  width:28px;height:28px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--y),var(--y-d));
  display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:700;color:var(--dk);
}
.sc-avatar.pb{background:linear-gradient(135deg,var(--pav-b),#2563EB);color:#fff}
.sc-avatar.pc{background:linear-gradient(135deg,var(--pav-c),#059669);color:#fff}
.sc-info-text{display:none}

/* ── Rodapé do card — apenas localização ── */
.sc-footer{
  padding:10px 16px;background:var(--cream);
  display:flex;align-items:flex-start;gap:7px;
  border-top:1px solid var(--bd1);
}
.sc-footer svg{flex-shrink:0;margin-top:2px}
.sc-footer svg.pa{color:var(--y)}
.sc-footer svg.pb{color:var(--pav-b)}
.sc-footer svg.pc{color:var(--pav-c)}
.sc-pav{font-size:11.5px;font-weight:600;color:var(--dk);line-height:1.3}
.sc-addr{font-size:10px;color:var(--text-l);margin-top:1px}

/* ── Nota de rodapé da secção ── */
.sched-note{
  display:flex;align-items:flex-start;gap:10px;
  background:rgba(239,165,38,.07);border:1px solid rgba(239,165,38,.16);
  border-radius:10px;padding:14px 18px;margin-top:28px;
  font-size:13px;color:var(--text-m);line-height:1.6;
}
.sched-note a{color:var(--y-d);text-decoration:underline}
.sc-footer .btn{display:none}
/* compat: .venue-block antigo → ocultar se existir */
.venue-block{display:none}

.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.sp-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sp-photos img{border-radius:var(--r3);filter:drop-shadow(0 8px 24px rgba(17,16,16,.18))}
.sp-photos img:nth-child(2){margin-top:32px}

/* ── O Clube ── */
.clube-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.clube-img{position:relative}
.clube-img img{border-radius:var(--r4);box-shadow:var(--s4)}
.clube-badge{
  position:absolute;bottom:-16px;right:-16px;
  background:var(--y);color:var(--dk);
  width:100px;height:100px;border-radius:var(--r3);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;line-height:1;box-shadow:var(--sy2);
}
.clube-badge strong{font-family:var(--fh);font-size:2.2rem;font-weight:700;letter-spacing:-1px}
.clube-badge small{font-family:var(--fu);font-size:9px;letter-spacing:1px;text-transform:uppercase;color:rgba(17,16,16,.6);margin-top:3px}

.stripe{padding:28px 0;background:var(--dk)}
.stripe-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;gap:0}
.stripe-n{font-family:var(--fh);font-size:1.8rem;font-weight:700;color:var(--y);line-height:1;letter-spacing:-.5px}
.stripe-l{font-family:var(--fu);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-top:4px}

.mission-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}
.mc{background:var(--wh);border-radius:var(--r4);padding:24px 22px;border:1px solid var(--bd);transition:var(--t)}
.mc:hover{box-shadow:var(--s3);border-color:var(--y);transform:translateY(-5px)}
.mc-num{font-family:var(--fh);font-size:2.4rem;font-weight:700;color:var(--y);line-height:1;margin-bottom:10px;letter-spacing:-1px}
.mc-t{font-family:var(--fu);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--dk);margin-bottom:8px}
.mc-p{font-size:13px;color:var(--tx2);line-height:1.7}

.tl-sec{padding:100px 0;background:var(--off)}
.tl{position:relative;max-width:680px}
.tl::before{content:'';position:absolute;left:0;top:8px;bottom:0;width:1.5px;background:var(--bd2)}
.tl-item{padding-left:32px;padding-bottom:44px;position:relative}
.tl-item::before{content:'';position:absolute;left:-5px;top:6px;width:11px;height:11px;background:var(--y);border-radius:50%;box-shadow:0 0 0 4px var(--y-bg)}
.tl-yr{font-family:var(--fu);font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--y-d);margin-bottom:5px}
.tl-t{font-family:var(--fh);font-size:1.4rem;font-weight:700;text-transform:uppercase;color:var(--dk);margin-bottom:8px;letter-spacing:-.2px}
.tl-p{font-size:14px;color:var(--tx2);line-height:1.75}

/* ── Empresas Parceiras ── */
.ep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ep-card{background:var(--off);border:1px solid var(--bd);border-radius:var(--r4);padding:32px 28px;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;transition:var(--t)}
.ep-card:hover{border-color:var(--y);box-shadow:var(--sy);transform:translateY(-4px)}
.ep-logo-wrap{height:100px;width:100%;display:flex;align-items:center;justify-content:center}
.ep-logo-placeholder{width:88px;height:88px;border-radius:var(--r3);background:linear-gradient(135deg,var(--y-bg2),var(--y-bg));border:1.5px solid var(--y-xl);display:flex;align-items:center;justify-content:center;font-family:var(--fu);font-size:1.3rem;font-weight:700;color:var(--y-d);letter-spacing:1px}
.ep-info{display:flex;flex-direction:column;align-items:center;gap:10px;flex:1}
.ep-name{font-family:var(--fh);font-size:1.2rem;font-weight:700;color:var(--dk);letter-spacing:-.2px;line-height:1.3}
.ep-desc{font-size:13px;color:var(--tx2);line-height:1.75;margin:0}
.ep-tag{display:inline-flex;align-items:center;background:var(--y-bg);color:var(--y-d);font-family:var(--fu);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;padding:3px 12px;border-radius:var(--r5);border:1px solid var(--y-xl);margin-top:auto}

/* ── Contactos ── */
.contact-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:56px}
.ci-cards{display:flex;flex-direction:column;gap:10px}
.ci-card{background:var(--wh);border-radius:var(--r3);padding:20px 18px;border:1px solid var(--bd);display:flex;align-items:flex-start;gap:14px;transition:var(--ts)}
.ci-card:hover{border-color:var(--y);box-shadow:var(--s2)}
.ci-icon{width:40px;height:40px;border-radius:var(--r2);background:var(--y-bg);color:var(--y-d);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ci-card.special{background:var(--y);border-color:var(--y)}
.ci-card.special .ci-icon{background:rgba(17,16,16,.1);color:var(--dk)}
.ci-t,.ci-title{font-size:13px;font-weight:600;color:var(--dk);margin-bottom:4px}
.ci-b,.ci-body{font-size:13px;color:var(--tx2);line-height:1.6}
.ci-b a,.ci-body a{color:var(--y-d);font-weight:600}
.ci-card.special .ci-t,.ci-card.special .ci-title{color:var(--dk)}
.ci-card.special .ci-b,.ci-card.special .ci-body{color:rgba(17,16,16,.65)}

.cf-card{background:var(--wh);border-radius:var(--r4);padding:48px 44px;box-shadow:var(--s3);border:1px solid var(--bd)}
.cf-t,.cf-title{font-family:var(--fh);font-size:2.4rem;font-weight:700;text-transform:uppercase;color:var(--dk);margin-bottom:8px;letter-spacing:-.3px}
.cf-t .hl,.cf-title .hl{color:var(--y)}
.cf-s,.cf-sub{font-size:14px;color:var(--tx2);margin-bottom:30px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-g{margin-bottom:14px}
.form-g label{display:block;font-family:var(--fu);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--dk);margin-bottom:8px}
.form-g input,.form-g textarea,.form-g select{width:100%;padding:13px 16px;border:1.5px solid var(--bd);border-radius:var(--r2);font-family:var(--fb);font-size:14px;color:var(--tx);background:var(--off);transition:border-color .25s,background .25s,box-shadow .25s}
.form-g input:focus,.form-g textarea:focus,.form-g select:focus{outline:none;border-color:var(--y);background:var(--wh);box-shadow:0 0 0 4px rgba(239,165,38,.12)}
.form-g textarea{resize:vertical;min-height:120px}
.form-success{background:var(--y-bg);border-left:3px solid var(--y);border-radius:0 var(--r2) var(--r2) 0;padding:14px 18px;font-size:14px;color:#6a4400;display:none;margin-bottom:16px}
.map-wrap{border-radius:var(--r4);overflow:hidden;box-shadow:var(--s3);margin-top:64px}
.map-wrap iframe{display:block;width:100%}

.faq-sec,.faq-section{padding:100px 0;background:var(--off)}
.faq-list{max-width:720px;margin:52px auto 0;display:flex;flex-direction:column;gap:8px}
.faq-item{background:var(--wh);border-radius:var(--r3);border:1px solid var(--bd);overflow:hidden;transition:box-shadow .25s}
.faq-item:hover{box-shadow:var(--s2)}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;cursor:pointer;font-family:var(--fh);font-size:1.15rem;font-weight:700;text-transform:uppercase;color:var(--dk);gap:12px;transition:color .2s;user-select:none;letter-spacing:-.2px}
.faq-q:hover,.faq-q.open{color:var(--y-d)}
.faq-icon{width:28px;height:28px;border-radius:50%;background:var(--y-bg);color:var(--y-d);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.2rem;font-weight:300;transition:transform .3s,background .2s}
.faq-q.open .faq-icon{transform:rotate(45deg);background:var(--y-bg2)}
.faq-body{padding:0 24px;max-height:0;overflow:hidden;transition:max-height .38s ease,padding .38s ease}
.faq-body.open{padding:0 24px 22px}
.faq-body p{font-size:14px;color:var(--tx2);line-height:1.78}

/* ── REVEAL melhorado – scale + translate ── */
.reveal,.reveal-l,.reveal-r,.reveal-s{
  opacity:0;
  transition:opacity .9s var(--ease2), transform .9s var(--ease2);
  will-change:opacity,transform;
}
.reveal  {transform:translateY(36px) scale(.98)}
.reveal-l{transform:translateX(-48px) scale(.98)}
.reveal-r{transform:translateX(48px) scale(.98)}
.reveal-s{transform:scale(.94)}
.reveal.on,.reveal-l.on,.reveal-r.on,.reveal-s.on{
  opacity:1;transform:none;
}
.d1{transition-delay:.07s}.d2{transition-delay:.15s}
.d3{transition-delay:.23s}.d4{transition-delay:.31s}
.d5{transition-delay:.39s}.d6{transition-delay:.47s}

/* ─── PAGE INTRO – loading screen premium ─── */
#page-intro{
  position:fixed;inset:0;z-index:99999;
  background:#07060500;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  transition:opacity .9s cubic-bezier(.4,0,.2,1), visibility .9s;
}
body.intro-done #page-intro{
  opacity:0;visibility:hidden;
  pointer-events:none;
}

/* fundo escuro com glow central */
#page-intro::before{
  content:'';position:absolute;inset:0;
  background:#1c1a17;
}
.pi-bg-glow{
  position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 60% at 50% 50%, rgba(239,165,38,.18) 0%, transparent 65%);
  animation:piGlowBreath 3s ease-in-out infinite;
  z-index:0;
}
@keyframes piGlowBreath{
  0%,100%{opacity:.6;transform:scale(1)}
  50%{opacity:1;transform:scale(1.08)}
}

/* 4 cantos decorativos */
.pi-corner{
  position:absolute;width:28px;height:28px;
  border-color:rgba(239,165,38,.35);border-style:solid;
  opacity:0;animation:piCorner .5s ease .2s forwards;
}
.pi-tl{top:32px;left:32px;border-width:2px 0 0 2px;border-radius:3px 0 0 0}
.pi-tr{top:32px;right:32px;border-width:2px 2px 0 0;border-radius:0 3px 0 0}
.pi-bl{bottom:32px;left:32px;border-width:0 0 2px 2px;border-radius:0 0 0 3px}
.pi-br{bottom:32px;right:32px;border-width:0 2px 2px 0;border-radius:0 0 3px 0}
@keyframes piCorner{to{opacity:1}}

/* bloco central */
.pi-content{
  position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:center;
  gap:0;text-align:center;
}

/* logo + anel pulsante */
.pi-logo-wrap{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:24px;
  opacity:0;transform:translateY(18px) scale(.88);
  animation:piSlideUp .75s cubic-bezier(.22,.68,0,1.2) .1s forwards;
}
.pi-logo-img{
  height:76px;width:auto;
  filter:brightness(0) invert(1);
  position:relative;z-index:1;
}
.pi-logo-ring{
  position:absolute;
  width:110px;height:110px;
  border-radius:50%;
  border:1px solid rgba(239,165,38,.15);
  animation:piRing 2.5s ease-in-out .5s infinite;
}
@keyframes piRing{
  0%{transform:scale(.9);opacity:0}
  30%{opacity:1}
  100%{transform:scale(1.3);opacity:0}
}

/* nome */
.pi-name{
  font-family:var(--fu);
  font-size:10.5px;letter-spacing:4.5px;text-transform:uppercase;
  color:rgba(255,255,255,.55);
  opacity:0;animation:piSlideUp .5s ease .55s forwards;
}
/* cidade */
.pi-city{
  font-family:var(--fu);
  font-size:8.5px;letter-spacing:6px;text-transform:uppercase;
  color:rgba(239,165,38,.75);
  margin-top:7px;
  opacity:0;animation:piSlideUp .5s ease .72s forwards;
}

/* barra de progresso */
.pi-bar-wrap{
  margin-top:30px;
  opacity:0;animation:piSlideUp .4s ease .88s forwards;
}
.pi-bar{
  width:130px;height:1.5px;
  background:rgba(255,255,255,.08);
  border-radius:4px;overflow:hidden;
}
.pi-fill{
  height:100%;width:0;
  background:linear-gradient(90deg, rgba(239,165,38,.6) 0%, var(--y) 50%, rgba(245,200,66,.9) 100%);
  border-radius:4px;
  box-shadow:0 0 10px rgba(239,165,38,.7);
  animation:piFill 1.1s cubic-bezier(.4,0,.15,1) .95s forwards;
}
@keyframes piFill{to{width:100%}}

/* status text */
.pi-status{
  font-family:var(--fu);
  font-size:7.5px;letter-spacing:3.5px;text-transform:uppercase;
  color:rgba(255,255,255,.2);
  margin-top:12px;
  opacity:0;animation:piSlideUp .4s ease 1s forwards;
}

@keyframes piSlideUp{
  to{opacity:1;transform:none}
}

/* ─── HERO ENTRANCE – elementos entram em sequência ─── */
.hero-tag,.hero-h1,.hero-body-wrap,.hero-btns,.scroll-cue{
  opacity:0;
  transition:opacity .8s var(--ease2), transform .8s var(--ease2);
}
.hero-tag   {transform:translateY(20px);transition-delay:.55s}
.hero-h1    {transform:translateY(28px);transition-delay:.72s}
.hero-body-wrap{transform:translateY(20px);transition-delay:.92s}
.hero-btns  {transform:translateY(16px);transition-delay:1.08s}
.scroll-cue {transform:translateY(10px);transition-delay:1.3s}
body.intro-done .hero-tag,
body.intro-done .hero-h1,
body.intro-done .hero-body-wrap,
body.intro-done .hero-btns,
body.intro-done .scroll-cue{opacity:1;transform:none}

/* Hero line animada */
.hero-line{
  transform:scaleX(0);transform-origin:left;
  transition:transform 1.1s cubic-bezier(.4,0,.2,1) .4s;
}
body.intro-done .hero-line{transform:scaleX(1)}

/* Ticker entrada */
.ticker{
  opacity:0;transform:translateY(12px);
  transition:opacity .7s ease 1.4s, transform .7s ease 1.4s;
}
body.intro-done .ticker{opacity:1;transform:none}

/* ─── NAV MOB – animação de entrada suave ─── */
/* ─── TILT 3D nos cards – via JS ─── */
.sport-card,.testi-card,.coach-card,.stat-card,.mc,.ic,.info-card{
  transform-style:preserve-3d;
  will-change:transform;
}

/* ─── MAGNETIC – botões ─── */
.btn{will-change:transform}

/* ─── LINHA QUE SE DESENHA debaixo do stitle ─── */
.stitle-line{
  display:block;height:3px;border-radius:2px;
  background:linear-gradient(90deg,var(--y),var(--y-l));
  width:0;margin-top:8px;
  transition:width 1s cubic-bezier(.4,0,.2,1) .2s;
}
.on .stitle-line,.stitle-line.on{width:64px}

/* ─── SHIMMER – imagem loading ─── */
@keyframes shimmer{0%{background-position:-600px 0}100%{background-position:600px 0}}
.shimmer{background:linear-gradient(90deg,#e8e3db 25%,#f0ebe2 50%,#e8e3db 75%);background-size:600px 100%;animation:shimmer 1.8s infinite}

/* ─── GRAIN no hero – desactivado ─── */
.hero-grain{display:none}

/* ─── PULSE no hero-tag – removido ─── */
.hero-tag{animation:none}

/* ─── NÚMERO aparece de baixo (stats) ─── */
@keyframes numUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.stat-n.animated{animation:numUp .7s var(--ease2) both}

/* ─── SECÇÃO TÍTULOS – underline cresce ─── */
.sec-hd.on .stitle-line{width:64px}

/* ─── BACK TO TOP ─── */
.btt{
  position:fixed;bottom:28px;right:28px;z-index:9999;
  width:66px;height:66px;
  border-radius:50%;
  background:none;border:none;padding:0;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transform:translateY(16px) scale(0.85);
  transition:opacity .35s ease,transform .4s cubic-bezier(.34,1.56,.64,1);
}
.btt.show{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.btt:hover{transform:translateY(-5px) rotate(25deg) scale(1.08)!important}
.btt svg.vball{
  width:58px;height:58px;display:block;
  filter:drop-shadow(0 4px 16px rgba(239,165,38,.5));
  transition:filter .3s;
}
.btt:hover svg.vball{filter:drop-shadow(0 6px 22px rgba(239,165,38,.75))}
.btt-ball-img{
  width:66px;height:66px;display:block;
  object-fit:contain;
  image-rendering:-webkit-optimize-contrast;
  image-rendering:crisp-edges;
  filter:drop-shadow(0 4px 14px rgba(0,0,0,.45));
  transition:filter .3s;
}
.btt:hover .btt-ball-img{filter:drop-shadow(0 6px 22px rgba(0,0,0,.6))}

/* ── COOKIE ── */
.cookie{position:fixed;bottom:-100%;left:0;right:0;z-index:9999;background:rgba(17,16,16,.96);backdrop-filter:blur(20px);border-top:1.5px solid rgba(239,165,38,.3);padding:16px 48px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;transition:bottom .5s ease}
.cookie.show{bottom:0}
.cookie p{font-size:13px;color:rgba(255,255,255,.45);flex:1}
.cookie a{color:var(--y)}
.cookie-btns{display:flex;gap:10px}
.ck-y{background:var(--y);color:var(--dk);border:none;border-radius:var(--r5);padding:7px 20px;font-family:var(--fu);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;font-weight:500}
.ck-y:hover{background:var(--y-d)}
.ck-n{background:transparent;color:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.12);border-radius:var(--r5);padding:7px 20px;font-family:var(--fu);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer}

/* ═══════════════════════════════════════════
   MARQUEE / TICKER  –  keywords em loop
   ═══════════════════════════════════════════ */
.ticker{
  background:var(--y);overflow:hidden;
  padding:13px 0;border-top:2px solid rgba(17,16,16,.08);
  border-bottom:2px solid rgba(17,16,16,.08);
}
.ticker-track{
  display:flex;gap:0;white-space:nowrap;
  animation:tickerMove 28s linear infinite;
}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-item{
  display:inline-flex;align-items:center;gap:16px;
  padding:0 32px;
  font-family:var(--fu);font-size:12px;font-weight:400;
  letter-spacing:3px;text-transform:uppercase;
  color:var(--dk);opacity:.7;
}
.ticker-sep{
  display:inline-block;width:5px;height:5px;
  background:var(--dk);border-radius:50%;opacity:.35;flex-shrink:0;
}
@keyframes tickerMove{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ═══════════════════════════════════════════
   STATS  –  cards flutuantes sobre faixa escura
   ═══════════════════════════════════════════ */
.stats-band{
  background:var(--dk);padding:0 0 64px;
  position:relative;
}
.stats-band::before{
  content:'';position:absolute;bottom:0;left:0;right:0;height:50%;
  background:var(--wh);
}
.stats-cards{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:16px;max-width:1240px;margin:0 auto;
  padding:0 48px;position:relative;z-index:1;
}
.stat-card{
  background:var(--wh);border-radius:var(--r3);
  padding:28px 20px 24px;
  border-bottom:3px solid var(--y);
  box-shadow:var(--s4);
  transition:var(--t);text-align:center;
  position:relative;overflow:hidden;
}
.stat-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(239,165,38,.04) 0%,transparent 55%);
}
.stat-card:hover{transform:translateY(-4px);box-shadow:var(--s4),var(--sy)}
.stat-n{
  font-family:var(--fh);font-size:3rem;font-weight:700;
  color:var(--dk);line-height:.85;letter-spacing:-1.5px;
  margin-bottom:10px;
}
.stat-l{
  font-family:var(--fu);font-size:10px;letter-spacing:2.5px;
  text-transform:uppercase;color:var(--tx3);
}

/* ═══════════════════════════════════════════
   WATERMARK GIGANTE  –  texto fantasma atrás de títulos
   ═══════════════════════════════════════════ */
.sec-hd-wm{position:relative;overflow:visible}
.sec-wm{
  position:absolute;top:-18px;left:-4px;
  font-family:var(--fh);font-size:clamp(3.5rem,9vw,7rem);font-weight:700;
  text-transform:uppercase;letter-spacing:-3px;line-height:1;
  color:var(--dk);opacity:.035;pointer-events:none;white-space:nowrap;
  user-select:none;z-index:0;
}
.sec-hd-wm > *:not(.sec-wm){position:relative;z-index:1}
/* versão para fundo escuro */
.sec-wm.wh{color:var(--wh);opacity:.04}

/* ═══════════════════════════════════════════
   QUOTE / DESTAQUE  –  bloco editorial escuro
   ═══════════════════════════════════════════ */
.quote-band{
  background:var(--dk);padding:60px 0;
  position:relative;overflow:hidden;
}
.quote-band::before{
  content:'';position:absolute;left:-80px;top:50%;transform:translateY(-50%);
  width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle,rgba(239,165,38,.08),transparent 70%);
  pointer-events:none;
}
.quote-band::after{
  content:'';position:absolute;right:10%;top:0;bottom:0;width:1px;
  background:linear-gradient(180deg,transparent,rgba(239,165,38,.25),transparent);
}
.quote-inner{
  display:grid;grid-template-columns:1fr 1fr;
  gap:60px;align-items:center;
  max-width:1240px;margin:0 auto;padding:0 48px;
}
.q-tag{
  font-family:var(--fu);font-size:10px;letter-spacing:3px;text-transform:uppercase;
  color:var(--y);margin-bottom:24px;
  display:flex;align-items:center;gap:8px;
}
.q-tag::before{content:'';width:24px;height:2px;background:var(--y);border-radius:2px;flex-shrink:0}
.q-text{
  font-family:var(--fh);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;
  text-transform:uppercase;color:var(--wh);line-height:.95;
  letter-spacing:-.3px;margin-bottom:24px;
}
.q-text .hl{color:var(--y)}
.q-author{font-family:var(--fu);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.25)}
.q-stats{display:flex;flex-direction:column;gap:20px}
.q-stat{
  display:flex;align-items:center;gap:16px;
  padding:14px 18px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:var(--r3);transition:var(--ts);
}
.q-stat:hover{background:rgba(239,165,38,.07);border-color:rgba(239,165,38,.2)}
.q-stat-n{
  font-family:var(--fh);font-size:2.2rem;font-weight:700;color:var(--y);
  line-height:1;letter-spacing:-.5px;flex-shrink:0;min-width:60px;
}
.q-stat-l{font-size:12px;color:rgba(255,255,255,.4);line-height:1.5}
.q-stat-l strong{display:block;font-size:13px;color:rgba(255,255,255,.75);font-weight:600;margin-bottom:2px}

/* ═══════════════════════════════════════════
   CLIP-PATH – transições diagonais entre secções
   ═══════════════════════════════════════════ */
.clip-down{clip-path:polygon(0 0,100% 0,100% calc(100% - 40px),0 100%)}
.clip-up  {clip-path:polygon(0 40px,100% 0,100% 100%,0 100%)}

/* Cursor custom (desktop) */
.cursor-dot{
  position:fixed;top:0;left:0;z-index:99999;pointer-events:none;
  width:8px;height:8px;border-radius:50%;
  background:var(--y);transform:translate(-50%,-50%);
  transition:transform .1s ease,opacity .3s;
  mix-blend-mode:difference;
  will-change:transform;
}
.cursor-ring{
  position:fixed;top:0;left:0;z-index:99998;pointer-events:none;
  width:36px;height:36px;border-radius:50%;
  border:1.5px solid rgba(239,165,38,.5);
  transform:translate(-50%,-50%);
  transition:transform .18s ease,width .2s,height .2s,opacity .3s,border-color .2s;
  will-change:transform;
}
.cursor-ring.hov{width:60px;height:60px;border-color:var(--y);border-width:2px}

/* WATERMARK - removido */

@media(max-width:1024px){.cursor-dot,.cursor-ring{display:none}}

/* ══════════════════════════════════════════════════════════
   ALIASES GLOBAIS – classes e vars antigas das páginas internas
   ══════════════════════════════════════════════════════════ */

/* Vars antigas que o HTML referencia via inline style */
:root {
  --white:  var(--wh);
  --cream:  var(--off);
  --text-m: var(--tx2);
}

/* ph-topline / ph-gradient → definidos em page-hero section */

/* footer aliases */
.footer-brand{display:block}.footer-brand img{height:64px;margin-bottom:18px}
.footer-brand p{font-size:14px;color:rgba(255,255,255,.3);line-height:1.85;max-width:260px}
.footer-col-t{font-family:var(--fu);font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:20px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.16);max-width:1240px;margin:0 auto;padding:20px 48px;flex-wrap:wrap;gap:6px}
.footer-bottom a{color:rgba(255,255,255,.18)}.footer-bottom a:hover{color:var(--y)}

/* clube-img aliases */
.clube-img-wrap{position:relative}.clube-img-wrap img{border-radius:var(--r4);box-shadow:var(--s4);width:100%}
.clube-img-badge{position:absolute;bottom:-16px;right:-16px;background:var(--y);color:var(--dk);width:88px;height:88px;border-radius:var(--r3);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1;box-shadow:var(--sy2)}
.clube-img-badge strong{font-family:var(--fh);font-size:2rem;font-weight:700;letter-spacing:-1px}
.clube-img-badge small{font-family:var(--fu);font-size:9px;letter-spacing:1px;text-transform:uppercase;color:rgba(17,16,16,.6);margin-top:3px}

/* timeline alias */
.tl-year{font-family:var(--fu);font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--y-d);margin-bottom:5px}
.tl-section,.tl-sec{padding:90px 0;background:var(--dk)}

/* ── Timeline heading (dark bg) ── */
.tl-section .sec-hd .label{background:rgba(239,165,38,.15);color:var(--y);border-color:rgba(239,165,38,.3)}
.tl-section .sec-hd .stitle{color:var(--wh)}
.tl-section .sec-hd .ssub{color:rgba(255,255,255,.55)}

/* ── Timeline line & container ── */
.tl{position:relative;max-width:820px}
.tl::before{content:'';position:absolute;left:20px;top:6px;bottom:0;width:2px;background:linear-gradient(to bottom,var(--y) 0%,rgba(239,165,38,.08) 100%)}

/* ── Timeline item ── */
.tl-item{padding-left:68px;padding-bottom:20px;position:relative}
.tl-item::before{content:'';position:absolute;left:12px;top:18px;width:18px;height:18px;background:var(--dk2);border:2.5px solid var(--y);border-radius:50%;z-index:1;transition:background .3s,box-shadow .3s}
.tl-item:hover::before{background:var(--y);box-shadow:0 0 0 5px rgba(239,165,38,.18),0 0 18px rgba(239,165,38,.4)}

/* ── Card wrapper ── */
.tl-card{background:var(--dk2);border:1px solid rgba(255,255,255,.07);border-radius:var(--r3);overflow:hidden;transition:border-color .35s,box-shadow .35s}
.tl-card:hover{border-color:rgba(239,165,38,.3)}

/* ── Cabeçalho clicável ── */
.tl-head{display:flex;flex-direction:column;cursor:pointer;padding:18px 52px 18px 22px;position:relative;user-select:none}
.tl-head:hover .tl-t{color:var(--y-l)}
.tl-arr{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--y);font-size:20px;line-height:1;transition:transform .35s var(--ease2)}
.tl-card.open .tl-arr{transform:translateY(-50%) rotate(180deg)}

/* ── Corpo recolhível ── */
.tl-body{max-height:0;overflow:hidden;transition:max-height .42s ease}
.tl-body.open{max-height:600px}
.tl-body-inner{padding:0 22px 18px}

/* ── Badge (year/season label) ── */
.tl-badge{display:inline-flex;align-items:center;background:rgba(239,165,38,.12);color:var(--y);font-family:var(--fu);font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:3px 12px;border-radius:var(--r5);margin-bottom:10px;border:1px solid rgba(239,165,38,.25)}

/* ── Title & body on dark ── */
.tl-t{font-family:var(--fh);font-size:1.35rem;font-weight:700;color:var(--wh);margin-bottom:10px;letter-spacing:-.2px;line-height:1.3;text-transform:uppercase}
.tl-p{font-size:13.5px;color:rgba(255,255,255,.58);line-height:1.78}
.tl-p strong{color:rgba(255,255,255,.88);font-weight:600}

/* ── Trophy item (national title highlight) ── */
.tl-trophy .tl-card{background:linear-gradient(135deg,rgba(239,165,38,.13) 0%,rgba(239,165,38,.04) 100%);border-color:rgba(239,165,38,.42)}
.tl-trophy::before{background:var(--y);box-shadow:0 0 0 5px rgba(239,165,38,.22),0 0 22px rgba(239,165,38,.55)}
.tl-trophy .tl-badge{background:rgba(239,165,38,.22);border-color:rgba(239,165,38,.5);color:var(--y-l)}
.tl-trophy .tl-t{color:var(--y-l)}

/* ══════════════════════════════════════════════════════
   ÓRGÃOS SOCIAIS — Conheça nossa equipa  (premium dark)
   ══════════════════════════════════════════════════════ */
.org-section{
  padding:96px 0;
  background:linear-gradient(160deg,#0b0d14 0%,#101318 60%,#0d0f1a 100%);
  position:relative;overflow:hidden;
}
/* subtle dot grid */
.org-section::after{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:28px 28px;pointer-events:none;z-index:0;
}
/* ambient glow de fundo */
.org-section::before{
  content:'';position:absolute;top:-20%;left:50%;transform:translateX(-50%);
  width:900px;height:500px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(239,165,38,.07) 0%,transparent 60%);
  pointer-events:none;z-index:0;
}
/* sec-hd em contexto escuro */
.org-section .container{position:relative;z-index:1}
.org-section .label{color:var(--y)!important}
.org-section .stitle{color:#fff!important}
.org-section .ssub{color:rgba(255,255,255,.38)!important}
.org-section .stitle-line{background:var(--y)}

/* Grid */
.org-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}

/* Card */
.org-card{
  background:linear-gradient(160deg,rgba(239,165,38,.12) 0%,rgba(255,255,255,.04) 60%);
  border:1px solid rgba(239,165,38,.28);
  border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .32s cubic-bezier(.34,1.56,.64,1),border-color .3s,box-shadow .3s;
}
.org-card::before{content:'';display:block;height:3px;background:linear-gradient(90deg,var(--y),#f5b84a)}
.org-card.dir{background:linear-gradient(160deg,rgba(96,165,250,.12) 0%,rgba(255,255,255,.04) 60%);border-color:rgba(96,165,250,.28)}
.org-card.cf{background:linear-gradient(160deg,rgba(52,211,153,.12) 0%,rgba(255,255,255,.04) 60%);border-color:rgba(52,211,153,.28)}
.org-card.dir::before{background:linear-gradient(90deg,#60A5FA,#3B82F6)}
.org-card.cf::before{background:linear-gradient(90deg,#34D399,#10B981)}
.org-card:hover{transform:translateY(-8px);border-color:rgba(239,165,38,.6);box-shadow:0 0 48px rgba(239,165,38,.18),0 24px 60px rgba(0,0,0,.5)}
.org-card.dir:hover{border-color:rgba(96,165,250,.6);box-shadow:0 0 48px rgba(96,165,250,.18),0 24px 60px rgba(0,0,0,.5)}
.org-card.cf:hover{border-color:rgba(52,211,153,.6);box-shadow:0 0 48px rgba(52,211,153,.18),0 24px 60px rgba(0,0,0,.5)}

/* Cabeçalho do card */
.org-card-head{
  padding:28px 26px 22px;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  border-bottom:1px solid rgba(255,255,255,.1);
  position:relative;overflow:hidden;
}
/* ícone container com círculo */
.org-icon-wrap{
  width:52px;height:52px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(239,165,38,.18);
  border:1px solid rgba(239,165,38,.4);
  margin-bottom:14px;
  transition:all .3s;
}  border:1px solid rgba(239,165,38,.25);
  margin-bottom:14px;
  transition:background .3s,box-shadow .3s,transform .3s;
}
.org-card.dir .org-icon-wrap{background:rgba(96,165,250,.18);border-color:rgba(96,165,250,.4)}
.org-card.cf .org-icon-wrap{background:rgba(52,211,153,.18);border-color:rgba(52,211,153,.4)}
.org-card:hover .org-icon-wrap{
  background:rgba(239,165,38,.28);
  box-shadow:0 0 28px rgba(239,165,38,.4);
  transform:scale(1.1);
}}
.org-card.dir:hover .org-icon-wrap{background:rgba(96,165,250,.18);box-shadow:0 0 22px rgba(96,165,250,.3)}
.org-card.cf:hover .org-icon-wrap{background:rgba(52,211,153,.18);box-shadow:0 0 22px rgba(52,211,153,.3)}
/* ícone */
.org-icon{
  width:22px;height:22px;
  color:var(--y);stroke-width:1.8;
  transition:color .3s;
}}
.org-card.dir .org-icon{color:#60A5FA}
.org-card.cf .org-icon{color:#34D399}
/* título principal */
.org-card-title{
  font-family:var(--fh);font-size:15px;font-weight:800;
  text-transform:uppercase;letter-spacing:.8px;
  color:#fff;line-height:1.2;text-align:center;
  margin-top:4px;
}}

/* Membros */
.org-card-body{
  padding:0;flex:1;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.org-card-num{display:none}
.org-member{
  padding:13px 22px;
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:background .2s;
}
.org-member:hover{background:rgba(255,255,255,.06)}
.org-member:last-child{border-bottom:none}
.org-member-av{display:none}
.org-member-info{width:100%}
.org-role{
  font-family:var(--fu);font-size:9px;letter-spacing:1.8px;
  text-transform:uppercase;font-weight:700;
  color:#EFA526;margin-bottom:3px;display:block;
  opacity:.9;
}  opacity:.85;
}
.org-card.dir .org-role{color:#7DC3FD}
.org-card.cf .org-role{color:#4DDFB0}
.org-name{
  font-family:'Segoe UI',system-ui,-apple-system,sans-serif;
  font-size:15.5px;font-weight:600;
  color:rgba(255,255,255,.95);line-height:1.3;
  -webkit-font-smoothing:antialiased;
}

@media(max-width:1024px){.org-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.org-grid{grid-template-columns:1fr}}
@media(max-width:640px){.org-grid{grid-template-columns:1fr}}

/* coaches-section / cta-section aliases */
.coaches-section{padding:80px 0;background:var(--wh)}
.cta-section{padding:80px 0;background:var(--dk);text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:600px;height:500px;border-radius:50%;background:radial-gradient(ellipse,rgba(239,165,38,.1) 0%,transparent 65%);pointer-events:none}
.cta-section .container{position:relative;z-index:1}

/* pb-title / pb-sub aliases */
.pb-title,.pb-t{font-family:var(--fh);font-size:2.2rem;font-weight:700;text-transform:uppercase;color:var(--wh);line-height:.95;letter-spacing:-.5px}
.pb-sub,.pb-s{font-family:var(--fu);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-top:8px}

/* info-cards grid */
.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:0}

/* two-col-layout genérico para secções internas */
.two-col-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
@media(max-width:768px){
  .two-col-layout{grid-template-columns:1fr!important;gap:28px!important;display:grid!important}
}

/* ─── GALERIA ─── */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gal-item{border-radius:var(--r3);overflow:hidden;position:relative;cursor:pointer;background:var(--bg)}
.gal-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .6s ease,filter .4s}
.gal-item:hover img{transform:scale(1.07);filter:brightness(.85)}
.gal-cap{
  position:absolute;bottom:0;left:0;right:0;
  padding:28px 16px 14px;
  background:linear-gradient(0deg,rgba(17,16,16,.75) 0%,transparent 100%);
  font-family:var(--fu);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(255,255,255,.85);
  opacity:0;transform:translateY(6px);
  transition:opacity .3s,transform .3s;
}
.gal-item:hover .gal-cap{opacity:1;transform:none}
@media(max-width:768px){.gallery-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.gallery-grid{grid-template-columns:1fr}}

/* ─── GALERIA COM 2 FOTOS POR CARD ─── */
.gal-duo{
  border-radius:var(--r3);overflow:hidden;background:#111;
  display:flex;flex-direction:column;gap:2px;position:relative;
  box-shadow:0 4px 20px rgba(0,0,0,.18);
}
.gal-duo-label{
  position:absolute;bottom:0;left:0;right:0;z-index:2;
  padding:12px 14px;
  background:linear-gradient(0deg,rgba(0,0,0,.85) 0%,transparent 100%);
  font-family:var(--fu);font-size:10px;letter-spacing:2px;text-transform:uppercase;
  color:var(--y);font-weight:700;
}
.gal-duo-img{overflow:hidden;flex:1;display:flex;align-items:center;justify-content:center}
.gal-duo-img img{
  width:100%;height:150px;
  object-fit:cover;
  display:block;
  transition:transform .6s ease,filter .4s;
  image-rendering:-webkit-optimize-contrast;
}
.gal-duo:hover .gal-duo-img img{transform:scale(1.06);filter:brightness(.85)}
@media(max-width:1100px){.gal-duo-img img{height:130px}}
@media(max-width:768px){.gal-duo-img img{height:110px}}
@media(max-width:480px){.gal-duo-img img{height:90px}}
/* ─── LIGHTBOX ─── */
.lb-overlay{
  display:none;position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,.93);
  align-items:center;justify-content:center;
  cursor:zoom-out;
}
.lb-overlay.open{display:flex}
.lb-overlay img{
  max-width:92vw;max-height:90vh;
  object-fit:contain;border-radius:6px;
  box-shadow:0 8px 60px rgba(0,0,0,.6);
  cursor:default;
  animation:lbIn .25s cubic-bezier(.4,0,.2,1);
}
@keyframes lbIn{from{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}
.lb-close{
  position:fixed;top:20px;right:24px;
  font-size:32px;color:rgba(255,255,255,.7);
  cursor:pointer;line-height:1;transition:color .2s;z-index:10000;
  background:none;border:none;padding:4px 10px;
}
.lb-close:hover{color:#fff}
.lb-nav{
  position:fixed;top:50%;transform:translateY(-50%);
  font-size:28px;color:rgba(255,255,255,.6);
  cursor:pointer;background:rgba(255,255,255,.08);
  border:none;padding:12px 16px;border-radius:8px;
  transition:background .2s,color .2s;z-index:10000;
}
.lb-nav:hover{background:rgba(255,255,255,.18);color:#fff}
.lb-prev{left:16px}
.lb-next{right:16px}

body{opacity:0;transition:opacity .55s ease}
body.intro-done{opacity:1}

/* ── OVERFLOW GLOBAL ── */
html,body{overflow-x:hidden}
@media(max-width:768px){
  .ticker-item{font-size:10px;padding:0 18px;gap:10px;letter-spacing:2px}
  .footer-bottom{padding:16px 18px;flex-direction:column;align-items:flex-start;gap:6px}
}
@media(max-width:480px){
  .ticker-item{font-size:9px;padding:0 12px}
}

/* ── GRIDS INLINE das páginas internas ── */
/* intro voleibol/badminton 2-col */
@media(max-width:768px){
  .sp-layout,[style*="grid-template-columns:1fr 1fr"],[style*="grid-template-columns: 1fr 1fr"]{
    display:block!important;
  }
  [style*="display:grid"]{display:block!important}
  [style*="display: grid"]{display:block!important}
  [style*="gap:72px"],[style*="gap: 72px"]{gap:0!important}
  .sp-photos{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;margin-top:24px}
  .sp-photos img:nth-child(2){margin-top:16px}
  .clube-img-wrap{margin-top:32px}
  .clube-img-badge{bottom:-10px;right:-8px;width:72px;height:72px}
  .clube-img-badge strong{font-size:1.6rem}
}

/* ── STRIPE mobile ── */
@media(max-width:480px){
  .stripe{padding:40px 0}
  .stripe-grid{grid-template-columns:1fr 1fr;gap:20px 0}
  .stripe-n{font-size:2.4rem}
  .stripe-l{font-size:9px}
}

/* ═══════════════════════════════════════════
   RESPONSIVO – Mobile-first completo
   ═══════════════════════════════════════════ */

/* ── 1200px – tablet largo ── */
@media(max-width:1200px){
  .container,.nb-inner{padding:0 32px}
  .coaches-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .footer-btm{padding:18px 32px}
  .stats-cards{padding:0 32px}
  .quote-inner{padding:0 32px;gap:40px}
}

/* ── 1024px – tablet ── */
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr;position:relative}
  .hero-art{position:absolute;right:0;bottom:0;top:0;width:50%;opacity:.28;pointer-events:none}
  .hero-art img{height:90%!important;bottom:0!important;right:0!important;left:auto!important;scale:1!important;transform-origin:bottom right}
  .hero .container{padding-top:120px;padding-bottom:80px;padding-right:48px}
  .sports-grid{grid-template-columns:1fr}
  .testi-grid{grid-template-columns:1fr 1fr}
  .stats-cards{grid-template-columns:repeat(2,1fr)}
  .stripe-grid{grid-template-columns:repeat(2,1fr)}
  .clube-layout{grid-template-columns:1fr;gap:40px}
  .contact-layout{grid-template-columns:1fr}
  .pav-grid{grid-template-columns:1fr 1fr}
  .pav-main{grid-row:auto}
  .mission-cards{grid-template-columns:1fr 1fr}
  .ep-grid{grid-template-columns:1fr 1fr}
  .info-cards{grid-template-columns:1fr 1fr}
  .quote-inner{grid-template-columns:1fr}
  .quote-band{padding:48px 0}
  .sports-section,.pavilhao-sec,.coaches-sec,.testi-sec,.testi-section,.cta-sec,.faq-sec,.faq-section,.prog-sec,.prog-section,.tl-sec,.tl-section{padding:64px 0}
  .tl-item{padding-left:52px}
  .tl-card{padding:18px 20px}
  .sec-hd{margin-bottom:36px}
}

/* ── 768px – telemóvel grande ── */
@media(max-width:768px){
  .container,.nb-inner{padding:0 18px}
  /* navbar */
  .nav-links{display:none}
  .hamburger{display:flex !important}
  .navbar.scrolled .nb-inner{margin:8px 12px;padding:8px 16px}
  /* hero */
  .hero .container{padding-top:100px;padding-bottom:60px;padding-left:18px;padding-right:18px}
  /* hero-art no telemóvel: visível no lado direito, animação suave */
  .hero-art{width:52%!important;opacity:.35!important}
  .hero-art img{height:82%!important;bottom:0!important;right:0!important;left:auto!important;scale:1!important;animation:float 12s ease-in-out infinite!important}
  .hero-h1{font-size:clamp(2.4rem,12vw,4.5rem);letter-spacing:-1px;margin-bottom:20px}
  .hero-tag{font-size:10px;padding:5px 12px}
  .hero-body-wrap{gap:14px;margin-bottom:28px}
  .hero-p{font-size:15px}
  .hero-btns{flex-wrap:wrap;gap:10px}
  /* stats */
  .stats-band{padding:0 0 48px}
  .stats-cards{grid-template-columns:repeat(2,1fr);padding:0 18px;gap:12px}
  .stat-card{padding:22px 16px 18px}
  .stat-n{font-size:2.4rem}
  /* secções */
  .sports-section,.pavilhao-sec,.coaches-sec,.testi-sec,.testi-section,.cta-sec,.faq-sec,.faq-section,.prog-sec,.prog-section,.tl-sec{padding:52px 0}
  .sec-hd{margin-bottom:28px}
  .stitle{font-size:clamp(1.5rem,7vw,2.2rem)}
  .ssub{font-size:13px}
  /* modalidades */
  .sports-grid{grid-template-columns:1fr;gap:16px}
  .sc-body{padding:20px 18px 22px}
  .sc-title{font-size:1.5rem}
  /* treinadores */
  .coaches-grid{grid-template-columns:1fr 1fr;gap:12px}
  /* testemunhos */
  .testi-grid{grid-template-columns:1fr;gap:12px}
  .testi-card{padding:22px 18px}
  /* quote */
  .quote-band{padding:40px 0}
  .quote-inner{padding:0 18px;gap:32px}
  .q-text{font-size:clamp(1.3rem,6vw,2rem)}
  .q-stat{padding:12px 14px}
  .q-stat-n{font-size:1.8rem;min-width:50px}
  /* cta */
  .cta-title{font-size:clamp(1.7rem,8vw,3rem)}
  .cta-sub{font-size:14px;margin-bottom:32px}
  .cta-btns{flex-direction:column;align-items:center;gap:10px}
  /* footer */
  .footer-grid{grid-template-columns:1fr;gap:28px}
  .footer-top{padding:14px 0 10px}
  .footer-btm{padding:16px 18px;flex-direction:column;align-items:flex-start;gap:6px;font-size:11px}
  /* formulário */
  .form-row{grid-template-columns:1fr}
  .cf-card{padding:26px 20px}
  /* programação */
  .prog-banner{padding:24px 18px;flex-direction:column;align-items:flex-start;gap:14px}
  .prog-banner img{height:52px}
  .pb-t{font-size:2rem}
  /* horários */
  .venue-legend{padding:18px 20px}
  .vl-grid{grid-template-columns:1fr}
  .sched-filter-bar{padding:12px 16px;gap:10px}
  .sfb-divider{display:none}
  .sched-count{display:none}
  .sched-cards{grid-template-columns:1fr}
  /* misão/clube */
  .mission-cards{grid-template-columns:1fr}
  .ep-grid{grid-template-columns:1fr}
  .info-cards{grid-template-columns:1fr}
  .clube-layout{gap:32px}
  /* pavilhão */
  .pav-grid{grid-template-columns:1fr}
  .pav-main{min-height:220px}
  /* stripe */
  .stripe-grid{grid-template-columns:repeat(2,1fr)}
  .stripe-n{font-size:2.8rem}
  /* timeline */
  .tl-item{padding-left:24px;padding-bottom:32px}
  /* contactos */
  .contact-layout{grid-template-columns:1fr;gap:32px}
  /* page-hero */
  .page-hero{min-height:38vh;padding-bottom:36px}
  .page-hero .container{padding-top:110px}
  .ph-title{font-size:clamp(1.9rem,8vw,3rem)}
  /* botões */
  .btn{padding:9px 22px;font-size:10px}
  .btn-sm{padding:7px 16px;font-size:10px}
  /* hero btns */
  .hero-btns{flex-direction:column;align-items:flex-start}
  /* parceiros */
  .partners-row{gap:28px}
  .partner img{height:32px}
  /* scroll cue */
  .scroll-cue{bottom:20px}
  /* eventos */
  .ic{padding:24px 20px}
}

/* ── 480px – telemóvel pequeno ── */
@media(max-width:480px){
  .container,.nb-inner{padding:0 14px}
  .hero .container{padding-left:14px;padding-right:14px}
  .hero-h1{font-size:clamp(2rem,13vw,3.5rem)}
  .coaches-grid{grid-template-columns:1fr 1fr;gap:10px}
  .coach-photo{aspect-ratio:1/1}
  .stats-cards{grid-template-columns:repeat(2,1fr);gap:10px}
  .stat-n{font-size:2rem}
  .testi-grid{grid-template-columns:1fr}
  .pav-grid{grid-template-columns:1fr}
  .stripe-grid{grid-template-columns:repeat(2,1fr)}
  .mission-cards,.info-cards{grid-template-columns:1fr}
  .sports-grid{gap:12px}
  .footer-top{padding:10px 0 6px}
  .cta-btns{width:100%}
  .cta-btns .btn{width:100%;justify-content:center}
  .hero-btns .btn{width:100%;justify-content:center}
  .navbar.scrolled .nb-inner{margin:6px 8px}
  .sec-wm{display:none}
  .quote-inner{grid-template-columns:1fr}
  .q-stats{gap:10px}
  .cookie{padding:14px 18px;gap:12px}
  .cookie-btns{width:100%;justify-content:flex-end}
}


/* ══════════════════════════════════════════════════════════════
   MENU MOBILE – DEFINIÇÃO ÚNICA E DEFINITIVA
   Painel lateral direito, construído via JS a partir do nav-links
   ══════════════════════════════════════════════════════════════ */

/* ── Botão hamburger (ícone 3 barras) ── */
.hamburger{
  display:none;        /* oculto em desktop — aparece via media query */
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:40px; height:40px;
  padding:0;
  background:transparent;
  border:none;
  cursor:pointer;
  z-index:1001;
  flex-shrink:0;
  border-radius:8px;
  transition:background .2s;
}
.hamburger:hover{ background:rgba(255,255,255,.07); }
.hamburger span{
  display:block;
  width:22px; height:2px;
  background:rgba(255,255,255,.78);
  border-radius:2px;
  transition:transform .32s cubic-bezier(.4,0,.2,1),
             opacity    .22s ease,
             width      .28s ease;
  transform-origin:center;
}
/* Estado X quando aberto */
.hamburger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2){ opacity:0; width:0; }
.hamburger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* Backdrop */
.nav-backdrop{
  display:none;
  position:fixed;inset:0;
  z-index:997;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  transition:opacity .3s;
}
.nav-backdrop.open{display:block;}

/* Painel */
.nav-mob{
  position:fixed !important;
  top:0 !important; right:0 !important; bottom:0 !important; left:auto !important;
  width:min(288px,86vw) !important;
  overflow-y:auto !important; overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  transform:translateX(105%) !important;
  opacity:0 !important;
  pointer-events:none !important;
  display:block !important;
  background:#161414 !important;
  z-index:999 !important;
  box-shadow:-16px 0 60px rgba(0,0,0,.65) !important;
  transition:transform .34s cubic-bezier(.4,0,.2,1), opacity .28s ease !important;
}
.nav-mob.open{
  transform:translateX(0) !important;
  opacity:1 !important;
  pointer-events:all !important;
}

/* Cabeçalho */
.nav-mob-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding:16px 18px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  background:#161414 !important;
  position:sticky !important;
  top:0 !important;
  z-index:2 !important;
}
.nav-mob-header img{ height:34px !important; width:auto !important; }
.nmh-close{
  width:32px !important; height:32px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.08) !important;
  border:none !important;
  color:rgba(255,255,255,.55) !important;
  font-size:19px !important;
  line-height:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  transition:background .18s !important;
}
.nmh-close:hover{ background:rgba(255,255,255,.16) !important; color:#fff !important; }

/* Corpo */
.nav-mob-body{
  display:block !important;
  padding:8px 0 32px !important;
}

/* ── Todos os links e botões dentro do menu ── */
.nav-mob-body > a,
.nav-mob-body .mob-parent{
  font-family:'Oswald',sans-serif !important;
  font-size:13px !important;
  font-weight:400 !important;
  text-transform:uppercase !important;
  letter-spacing:1.6px !important;
  line-height:1.2 !important;
  color:rgba(255,255,255,.68) !important;
  padding:12px 20px !important;
  display:flex !important;
  align-items:center !important;
  border-left:3px solid transparent !important;
  background:transparent !important;
  text-decoration:none !important;
  transition:color .18s, border-color .18s, background .18s !important;
  border-top:none !important; border-right:none !important; border-bottom:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:none !important;
  width:100% !important;
  cursor:pointer !important;
  position:static !important;
}
.nav-mob-body > a:hover,
.nav-mob-body .mob-parent:hover,
.nav-mob-body .mob-parent.open{
  color:var(--y, #EFA526) !important;
  border-left-color:var(--y, #EFA526) !important;
  background:rgba(239,165,38,.05) !important;
}
.nav-mob-body > a.active{ color:var(--y,#EFA526) !important; border-left-color:var(--y,#EFA526) !important; }

/* ── Inscrições (nav-cta) ── override TOTAL */
.nav-mob-body > a.nav-cta,
.nav-mob a.nav-cta{
  display:block !important;
  margin:10px 16px !important;
  padding:12px 18px !important;
  background:#EFA526 !important;
  color:#111010 !important;
  font-family:'Oswald',sans-serif !important;
  font-size:12px !important;
  font-weight:600 !important;
  text-transform:uppercase !important;
  letter-spacing:2px !important;
  text-align:center !important;
  border-radius:7px !important;
  border:none !important;
  border-left:none !important;
  outline:none !important;
  box-shadow:0 4px 16px rgba(239,165,38,.3) !important;
  position:static !important;
  width:auto !important;
  justify-content:center !important;
}
.nav-mob-body > a.nav-cta:hover,
.nav-mob a.nav-cta:hover{
  background:#c97d10 !important;
  color:#fff !important;
  border-left:none !important;
  transform:none !important;
  box-shadow:none !important;
}
.nav-mob a.nav-cta::after,
.nav-mob-body > a.nav-cta::after{
  display:none !important;
  content:'' !important;
  width:0 !important;
  height:0 !important;
  background:none !important;
  position:static !important;
}

/* ── Toggle de grupo (Clube / Programação / Galeria) ── */
.nav-mob-body .mob-parent{
  justify-content:space-between !important;
}
.mob-parent .drop-arrow{
  font-size:10px !important;
  opacity:.55 !important;
  flex-shrink:0 !important;
  transition:transform .26s ease !important;
  margin-left:8px !important;
  display:inline-block !important;
}
.mob-parent.open .drop-arrow{
  transform:rotate(180deg) !important;
  opacity:.9 !important;
}

/* ── Submenu ── */
.mob-group{ display:block !important; width:100% !important; }
.mob-sub{
  max-height:0 !important;
  overflow:hidden !important;
  transition:max-height .32s cubic-bezier(.4,0,.2,1) !important;
  background:rgba(0,0,0,.18) !important;
  display:block !important;
}
.mob-sub.open{ max-height:300px !important; }
.mob-sub a{
  display:block !important;
  font-family:'Oswald',sans-serif !important;
  font-size:12px !important;
  font-weight:400 !important;
  text-transform:uppercase !important;
  letter-spacing:1.3px !important;
  color:rgba(255,255,255,.48) !important;
  padding:10px 20px 10px 36px !important;
  border-left:3px solid transparent !important;
  background:transparent !important;
  text-decoration:none !important;
  transition:color .18s, border-color .18s, background .18s !important;
  position:static !important;
}
.mob-sub a:hover{
  color:#EFA526 !important;
  border-left-color:rgba(239,165,38,.45) !important;
  background:rgba(239,165,38,.04) !important;
}

/* ── Separador ── */
.nm-sep{
  display:block !important;
  height:1px !important;
  background:rgba(255,255,255,.09) !important;
  margin:6px 16px !important;
  flex-shrink:0 !important;
}

/* ── Desativado ── */
.mob-disabled{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  font-family:'Oswald',sans-serif !important;
  font-size:12px !important;
  font-weight:400 !important;
  text-transform:uppercase !important;
  letter-spacing:1.5px !important;
  color:rgba(255,255,255,.2) !important;
  padding:12px 20px !important;
  cursor:default !important;
  width:100% !important;
}
.mob-disabled::after{
  content:'em breve' !important;
  font-size:8px !important;
  background:rgba(239,165,38,.1) !important;
  color:rgba(239,165,38,.4) !important;
  border:1px solid rgba(239,165,38,.15) !important;
  border-radius:3px !important;
  padding:2px 7px !important;
  letter-spacing:.8px !important;
}
/* ── FIM MENU MOBILE ── */
