@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@300;400;500;600;700&family=Montserrat:wght@400;600;700;800;900&display=swap";

*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:Inter,system-ui,sans-serif;background:#050505;color:#f4f4f4;overflow-x:hidden;line-height:1.6}

::-moz-selection{background:#c41e3a66;color:#fff}
::selection{background:#c41e3a66;color:#fff}

.font-display{font-family:Bebas Neue,Impact,sans-serif;letter-spacing:.025em;line-height:.9}
.font-heading{font-family:Montserrat,sans-serif;letter-spacing:-.025em}

.nav-main{position:fixed;top:0;left:0;right:0;z-index:100;background:linear-gradient(180deg,rgba(5,5,5,.92),rgba(5,5,5,.35),transparent);transition:all .4s ease}
.nav-main.scrolled{background:rgba(5,5,5,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 18px 45px rgba(0,0,0,.45)}
.nav-top-bar{background:rgba(5,5,5,.92);border-bottom:1px solid rgba(255,255,255,.07);padding:8px 40px}
.nav-bottom{padding:16px 40px;display:flex;align-items:center;justify-content:space-between}

.btn-primary,.btn-solid{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 32px;font-family:Montserrat,sans-serif;font-weight:800;font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all .35s ease;border:2px solid #c41e3a}

.btn-primary{background:rgba(0,0,0,.22);color:#fff}
.btn-primary:hover{background:#c41e3a;color:#fff;box-shadow:0 0 28px rgba(196,30,58,.35);transform:translateY(-1px)}

.btn-solid{background:#c41e3a;color:#fff;box-shadow:0 10px 28px rgba(196,30,58,.24)}
.btn-solid:hover{background:#e0304a;border-color:#e0304a;box-shadow:0 0 34px rgba(224,48,74,.38);transform:translateY(-1px)}

.img-cover{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}
.img-contain{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block;background:#050505}

/* Melhora fotos horizontais tipo turma.jpg */
img[src*="turma"],img[src*="equipe"],img[src*="wado"]{
  width:100%;
  height:auto!important;
  max-height:520px;
  object-fit:contain!important;
  object-position:center center!important;
  display:block;
  border-radius:18px;
  box-shadow:0 28px 80px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08);
  background:linear-gradient(135deg,#090909,#111);
}

/* Dá acabamento premium ao container da imagem */
img[src*="turma"]{
  padding:10px;
  border:1px solid rgba(255,255,255,.08);
}

.overlay-dark{background:rgba(5,5,5,.78)}
.overlay-gradient{background:linear-gradient(180deg,rgba(5,5,5,.25),rgba(5,5,5,.12) 38%,rgba(5,5,5,.9))}
.overlay-side{background:linear-gradient(90deg,rgba(5,5,5,.9) 0%,rgba(5,5,5,.52) 58%,transparent 100%)}

.section{position:relative;padding:110px 40px;background:
radial-gradient(circle at 85% 15%,rgba(196,30,58,.09),transparent 28%),
radial-gradient(circle at 10% 80%,rgba(196,30,58,.07),transparent 24%),
#050505}
.section-dark{background:#050505}
.section-alt{background:linear-gradient(180deg,#0b0b0b,#070707)}

.section:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(180deg,transparent,black 18%,black 82%,transparent);
}

.red-line{width:62px;height:2px;background:linear-gradient(90deg,#c41e3a,#ff3655)}
.red-line-center{width:62px;height:2px;background:linear-gradient(90deg,#c41e3a,#ff3655);margin:0 auto}

@keyframes fadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
.animate-fade-up{animation:fadeUp .8s ease forwards;opacity:0}
.animate-fade-in{animation:fadeIn .8s ease forwards;opacity:0}
.delay-1{animation-delay:.15s}
.delay-2{animation-delay:.3s}
.delay-3{animation-delay:.45s}

@keyframes wa-pulse{0%,to{box-shadow:0 4px 20px #25d36666}50%{box-shadow:0 4px 30px #25d36699}}

@media(max-width:768px){
  .section{padding:64px 20px!important}
  .nav-top-bar{padding:8px 20px!important}
  .nav-bottom{padding:12px 20px!important}
  .btn-primary,.btn-solid{padding:12px 24px!important;font-size:10px!important}
  .red-line{width:42px!important}
  img[src*="turma"],img[src*="equipe"],img[src*="wado"]{
    max-height:none;
    border-radius:14px;
    padding:6px;
  }
}