:root {
  --red:   #C8181A;
  --red2:  #8B0000;
  --black: #0D0D0D;
  --dark:  #161616;
  --card:  #1E1E1E;
  --white: #F5F5F5;
  --gray:  #9A9A9A;
  --teal:  #3ABFA0;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--black); color:var(--white); font-family:'Barlow',sans-serif; overflow-x:hidden; }
h1,h2,h3,h4,.display-font { font-family:'Bebas Neue',sans-serif; letter-spacing:2px; }

/* noise */
body::before {
  content:''; position:fixed; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events:none; z-index:0; opacity:.3;
}

/* ── NAVBAR ── */
.navbar {
  background:rgba(13,13,13,.92)!important;
  backdrop-filter:blur(12px);
  border-bottom:2px solid var(--red);
  padding:10px 0; position:sticky; top:0; z-index:1000;
  transition:background .3s;
}
.navbar-brand img { height:56px; filter:drop-shadow(0 0 8px rgba(200,24,26,.6)); }
.navbar-brand span { font-family:'Bebas Neue',sans-serif; font-size:1.5rem; color:var(--white); letter-spacing:2px; line-height:1.1; }
.navbar-brand small { color:var(--red); font-size:.85rem; display:block; }

/* Mobile navbar fix */
@media(max-width:575px){
  .navbar { padding:8px 0; }
  .navbar .container { flex-wrap:nowrap; }
  .navbar-brand { gap:10px!important; max-width:calc(100% - 56px); }
  .navbar-brand img { height:38px; flex-shrink:0; }
  .navbar-brand span { font-size:1.05rem; letter-spacing:1px; white-space:normal; line-height:1.1; }
  .navbar-toggler { padding:4px 8px; flex-shrink:0; }
}
.nav-link {
  font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:1rem;
  color:var(--white)!important; letter-spacing:1.5px; text-transform:uppercase;
  padding:6px 14px!important; position:relative; transition:color .25s;
}
.nav-link::after {
  content:''; position:absolute; bottom:0; left:14px; right:14px;
  height:2px; background:var(--red); transform:scaleX(0); transition:transform .25s;
}
.nav-link:hover { color:var(--red)!important; }
.nav-link:hover::after { transform:scaleX(1); }
.btn-nav {
  background:var(--red); color:#fff!important;
  border-radius:2px; padding:6px 20px!important;
  font-family:'Bebas Neue',sans-serif; font-size:1.05rem; letter-spacing:2px;
  transition:background .2s,transform .15s;
}
.btn-nav:hover { background:var(--red2); transform:translateY(-1px); }
.navbar-toggler { border-color:var(--red); }
.navbar-toggler-icon { filter:invert(1); }

/* ── HERO ── */
#hero {
  min-height:100vh; background:var(--black);
  display:flex; align-items:center;
  position:relative; overflow:hidden;
}
.hero-bg-lines {
  position:absolute; inset:0;
  background:repeating-linear-gradient(
    -55deg,transparent,transparent 60px,
    rgba(200,24,26,.04) 60px,rgba(200,24,26,.04) 61px
  );
  pointer-events:none;
}
.hero-circle {
  position:absolute; right:-120px; top:50%; transform:translateY(-50%);
  width:680px; height:680px; border-radius:50%;
  background:radial-gradient(circle,rgba(200,24,26,.18) 0%,transparent 70%);
  pointer-events:none;
}
.hero-tag {
  display:inline-block; background:var(--red); color:#fff;
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:.8rem; letter-spacing:3px; text-transform:uppercase;
  padding:4px 14px; margin-bottom:18px;
}
.hero-title { font-size:clamp(3.5rem,9vw,7rem); line-height:.95; color:var(--white); }
.hero-title .accent { color:var(--red); }
.hero-sub { font-size:1.15rem; color:var(--gray); max-width:500px; margin:20px 0 36px; line-height:1.6; }
.btn-primary-custom {
  background:var(--red); color:#fff; font-family:'Bebas Neue',sans-serif;
  font-size:1.2rem; letter-spacing:3px; border:none; padding:14px 36px;
  border-radius:2px; cursor:pointer; transition:background .2s,transform .15s,box-shadow .2s;
  text-decoration:none; display:inline-block;
}
.btn-primary-custom:hover { background:var(--red2); transform:translateY(-2px); box-shadow:0 8px 24px rgba(200,24,26,.4); color:#fff; }
.btn-outline-custom {
  background:transparent; color:var(--white); font-family:'Bebas Neue',sans-serif;
  font-size:1.2rem; letter-spacing:3px; border:2px solid rgba(245,245,245,.25);
  padding:12px 32px; border-radius:2px; cursor:pointer;
  transition:border-color .2s,color .2s; text-decoration:none; display:inline-block;
}
.btn-outline-custom:hover { border-color:var(--red); color:var(--red); }
.hero-logo-wrap { display:flex; justify-content:center; align-items:center; position:relative; }
.hero-logo-wrap::before {
  content:''; position:absolute; width:420px; height:420px; border-radius:50%;
  background:radial-gradient(circle,rgba(200,24,26,.22) 0%,transparent 70%);
  animation:pulse 3s ease-in-out infinite;
}
.hero-logo-wrap img {
  width:1840px; max-width:100%; position:relative; z-index:2;
  filter:drop-shadow(0 0 30px rgba(200,24,26,.5));
  animation:floatLogo 4s ease-in-out infinite;
}
@keyframes floatLogo { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-14px)} }
@keyframes pulse { 0%,100%{transform:scale(1);opacity:.7} 50%{transform:scale(1.1);opacity:1} }

/* stats */
.stats-bar { background:var(--red); padding:18px 0; }
.stat-item { text-align:center; padding:8px 0; }
.stat-item .num { font-family:'Bebas Neue',sans-serif; font-size:2.2rem; letter-spacing:2px; line-height:1; }
.stat-item .label { font-family:'Barlow Condensed',sans-serif; font-size:.85rem; letter-spacing:2px; text-transform:uppercase; opacity:.85; }
.stat-divider { width:1px; background:rgba(255,255,255,.3); align-self:stretch; margin:4px 0; }

/* ── SECTIONS ── */
section { padding:90px 0; }
.section-tag { display:inline-block; color:var(--red); font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.8rem; letter-spacing:4px; text-transform:uppercase; margin-bottom:10px; }
.section-title { font-size:clamp(2.2rem,5vw,3.8rem); line-height:1; margin-bottom:16px; }
.section-line { width:56px; height:3px; background:var(--red); margin-bottom:28px; }

/* ── SOBRE ── */
#sobre { background:var(--dark); }
.unidade-card {
  background:var(--card); border:1px solid rgba(255,255,255,.06);
  border-top:4px solid var(--red); border-radius:4px;
  overflow:hidden; height:100%;
  transition:transform .3s,box-shadow .3s,border-top-color .3s;
}
.unidade-card:hover {
  transform:translateY(-8px);
  box-shadow:0 20px 50px rgba(0,0,0,.6);
  border-top-color:var(--teal);
}
.unidade-foto {
  width:100%; height:380px; background:var(--dark);
  display:flex; align-items:center; justify-content:center;
  color:var(--gray); font-size:3rem; position:relative;
  overflow:hidden;
}
.unidade-foto img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .4s;
}
.unidade-card:hover .unidade-foto img { transform:scale(1.08); }
.unidade-content { padding:32px 28px; }
.unidade-titulo {
  font-family:'Bebas Neue',sans-serif; font-size:2rem;
  letter-spacing:2px; margin-bottom:8px; color:var(--white);
}
.unidade-prof {
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:.85rem; letter-spacing:2px; text-transform:uppercase;
  color:var(--red); margin-bottom:24px;
}
.unidade-info { margin-bottom:20px; }
.unidade-info-titulo {
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:.8rem; letter-spacing:2px; text-transform:uppercase;
  color:var(--gray); margin-bottom:8px;
}
.unidade-info-texto {
  color:var(--white); font-size:.95rem; line-height:1.6;
}
.unidade-tag {
  display:inline-block; background:rgba(200,24,26,.15);
  border:1px solid rgba(200,24,26,.3); color:var(--red);
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:.75rem; letter-spacing:1.5px; text-transform:uppercase;
  padding:4px 10px; border-radius:2px; margin-right:6px; margin-bottom:6px;
}

/* ── AULAS ── */
#aulas { background:var(--black); position:relative; overflow:hidden; }
#aulas::before {
  content:''; position:absolute; top:-80px; right:-80px;
  width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle,rgba(200,24,26,.1) 0%,transparent 70%);
  pointer-events:none;
}
.aula-card {
  background:var(--card); border:1px solid rgba(255,255,255,.06);
  border-top:3px solid var(--red); border-radius:4px; padding:32px 28px; height:100%;
  transition:transform .25s,box-shadow .25s,border-top-color .25s;
  position:relative; overflow:hidden;
}
.aula-card::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(200,24,26,.06) 0%,transparent 60%);
  opacity:0; transition:opacity .25s;
}
.aula-card:hover { transform:translateY(-6px); box-shadow:0 16px 40px rgba(0,0,0,.5); border-top-color:var(--teal); }
.aula-card:hover::after { opacity:1; }
.aula-icon {
  width:54px; height:54px; background:rgba(200,24,26,.15); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:18px; font-size:1.4rem; color:var(--red);
  transition:background .25s,color .25s;
}
.aula-card:hover .aula-icon { background:rgba(58,191,160,.15); color:var(--teal); }
.aula-card h4 { font-size:1.4rem; margin-bottom:10px; }
.aula-card p { color:var(--gray); font-size:.93rem; line-height:1.6; margin-bottom:18px; }
.badge-level { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.75rem; letter-spacing:2px; text-transform:uppercase; padding:4px 12px; border-radius:2px; border:1px solid var(--red); color:var(--red); }

/* ── GALERIA ── */
#galeria { background:var(--dark); }

/* Event Cards Grid — 5 cards, últimos 2 centralizados */
.eventos-grid {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}

/* Os 2 últimos ficam na segunda linha centrados */
.eventos-grid .evento-card:nth-child(4),
.eventos-grid .evento-card:nth-child(5) {
  /* cada um ocupa 1 coluna, mas a linha é centrada via justify */
}
/* Wrapper para linha de baixo */
.eventos-row-bottom {
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:24px;
  max-width: calc(66.666% + 8px); /* 2 de 3 colunas */
  margin: 0 auto;
}

.evento-card {
  position:relative; overflow:hidden; border-radius:8px;
  border:1px solid rgba(255,255,255,.07);
  cursor:pointer; text-decoration:none; display:block;
  background:var(--card);
  transition:transform .35s, box-shadow .35s, border-color .35s;
  aspect-ratio:3/2;
  min-height:260px;
}
.evento-card:hover {
  transform:translateY(-8px) scale(1.02);
  box-shadow:0 24px 60px rgba(0,0,0,.7);
  border-color:var(--red);
}

/* thumbnail area */
.evento-thumb {
  position:absolute; inset:0;
  
  
  overflow:hidden;
}
.evento-thumb img {
  width:100%; 
  height:100%; 
  object-fit:cover;
  object-position: center;
  transition:transform .5s;
}
.evento-card:hover .evento-thumb img { transform:scale(1.1); }

/* icon fallback when no img */
.evento-thumb-icon {
  font-size:4rem; color:var(--red); opacity:.35;
  transition:opacity .3s, transform .3s;
}
.evento-card:hover .evento-thumb-icon { opacity:.55; transform:scale(1.15); }

/* colored bg for each card */
.ev-rock   { background:linear-gradient(135deg,#1a0808 0%,#2e0e0e 100%); }
.ev-metal  { background:linear-gradient(135deg,#080808 0%,#1a1a1a 100%); }
.ev-rock2k { background:linear-gradient(135deg,#080d1a 0%,#101830 100%); }
.ev-rock90 { background:linear-gradient(135deg,#0d0a00 0%,#2a1e00 100%); }
.ev-gospel { background:linear-gradient(135deg,#06100a 0%,#0e2218 100%); }
.ev-rock80 { background:linear-gradient(135deg,#1a0d00 0%,#2e1a00 100%); }

/* gradient overlay */
.evento-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.3) 55%, transparent 100%);
  transition:background .35s;
}
.evento-card:hover .evento-overlay {
  background:linear-gradient(to top, rgba(200,24,26,.7) 0%, rgba(0,0,0,.2) 60%, transparent 100%);
}

/* content at bottom */
.evento-info {
  position:absolute; bottom:0; left:0; right:0;
  padding:24px 24px 20px;
  z-index:2;
}
.evento-tag {
  display:inline-block; font-family:'Barlow Condensed',sans-serif;
  font-weight:700; font-size:.7rem; letter-spacing:3px;
  text-transform:uppercase; color:#fff; background:var(--red);
  padding:3px 10px; border-radius:2px; margin-bottom:10px;
}
.evento-nome {
  font-family:'Bebas Neue',sans-serif;
  font-size:2.2rem; letter-spacing:2px;
  color:#fff; line-height:1; display:block;
  text-shadow:0 2px 8px rgba(0,0,0,.6);
}
.evento-cta {
  display:flex; align-items:center; gap:6px;
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:.82rem; letter-spacing:2px; text-transform:uppercase;
  color:rgba(255,255,255,.55); margin-top:10px;
  transition:color .3s;
}
.evento-card:hover .evento-cta { color:#fff; }
.evento-cta i { font-size:.7rem; transition:transform .3s; }
.evento-card:hover .evento-cta i { transform:translateX(4px); }

/* accent line on top */
.evento-card::before {
  content:''; position:absolute; top:0; left:0; right:0;
  height:3px; background:var(--red); z-index:3;
  transform:scaleX(0); transform-origin:left;
  transition:transform .35s;
}
.evento-card:hover::before { transform:scaleX(1); }

/* ── DEPOIMENTOS ── */
#depoimentos { background:var(--black); }
.depo-card {
  background:var(--card); border:1px solid rgba(255,255,255,.06);
  border-radius:4px; padding:28px; height:100%; position:relative;
}
.depo-card::before {
  content:'"'; position:absolute; top:16px; right:20px;
  font-family:'Bebas Neue',sans-serif; font-size:5rem; line-height:1;
  color:var(--red); opacity:.2;
}
.depo-stars { color:var(--red); margin-bottom:14px; font-size:.9rem; }
.depo-text { color:var(--gray); font-size:.95rem; line-height:1.7; margin-bottom:20px; }
.depo-author { display:flex; align-items:center; gap:12px; }
.depo-avatar { width:44px; height:44px; border-radius:50%; background:var(--red); display:flex; align-items:center; justify-content:center; font-family:'Bebas Neue',sans-serif; font-size:1.1rem; flex-shrink:0; }
.depo-name { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:1rem; letter-spacing:1px; }
.depo-role { color:var(--gray); font-size:.8rem; }

/* ── CONTATO ── */
#contato { background:var(--dark); }
.contato-info-item { display:flex; align-items:flex-start; gap:18px; margin-bottom:28px; }
.contato-icon { width:48px; height:48px; flex-shrink:0; background:rgba(200,24,26,.12); border:1px solid rgba(200,24,26,.3); border-radius:4px; display:flex; align-items:center; justify-content:center; color:var(--red); font-size:1.1rem; }
.contato-info-item h6 { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.8rem; letter-spacing:2px; text-transform:uppercase; color:var(--gray); margin-bottom:4px; }
.contato-info-item p { margin:0; font-size:.95rem; }
.contato-form .form-control,.contato-form .form-select { background:var(--card); border:1px solid rgba(255,255,255,.1); color:var(--white); border-radius:2px; padding:12px 16px; font-size:.95rem; transition:border-color .2s; }
.contato-form .form-control:focus,.contato-form .form-select:focus { background:var(--card); color:var(--white); border-color:var(--red); box-shadow:0 0 0 3px rgba(200,24,26,.15); }
.contato-form .form-control::placeholder { color:var(--gray); }
.contato-form .form-select option { background:var(--card); }
.contato-form label { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.8rem; letter-spacing:2px; text-transform:uppercase; color:var(--gray); margin-bottom:6px; }
.social-links { display:flex; gap:12px; margin-top:32px; }
.social-link { width:42px; height:42px; border:1px solid rgba(255,255,255,.12); border-radius:2px; display:flex; align-items:center; justify-content:center; color:var(--white); text-decoration:none; transition:background .2s,border-color .2s,color .2s; }
.social-link:hover { background:var(--red); border-color:var(--red); color:#fff; }
.map-placeholder { background:var(--card); border:1px solid rgba(255,255,255,.06); border-radius:4px; height:220px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; color:var(--gray); margin-top:28px; text-decoration:none; transition:border-color .2s; }
.map-placeholder:hover { border-color:var(--red); color:var(--red); }
.map-placeholder i { font-size:2rem; }
.map-placeholder span { font-family:'Barlow Condensed',sans-serif; font-weight:700; letter-spacing:2px; font-size:.85rem; text-transform:uppercase; }

/* ── FOOTER ── */
footer { background:#080808; border-top:2px solid var(--red); padding:40px 0 24px; }
footer .footer-brand img { height:64px; }
footer .footer-tagline { color:var(--gray); font-size:.9rem; margin-top:8px; }
footer h6 { font-family:'Barlow Condensed',sans-serif; font-weight:700; letter-spacing:2px; text-transform:uppercase; font-size:.8rem; color:var(--red); margin-bottom:16px; }
footer ul { list-style:none; padding:0; }
footer ul li { margin-bottom:8px; }
footer ul li a { color:var(--gray); font-size:.9rem; text-decoration:none; transition:color .2s; }
footer ul li a:hover { color:var(--white); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.06); margin-top:32px; padding-top:20px; color:var(--gray); font-size:.82rem; }

/* animations */
.fade-up { opacity:0; transform:translateY(30px); transition:opacity .6s ease,transform .6s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }

@media(max-width:992px){
  .eventos-grid { grid-template-columns:repeat(2,1fr); }
  .eventos-row-bottom { max-width:100%; grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px){
  .hero-logo-wrap img { width:240px; }
  .stat-divider { display:none; }
  .eventos-grid { grid-template-columns:1fr; }
  .eventos-row-bottom { grid-template-columns:1fr; max-width:100%; }
}