@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow+Condensed:ital,wght@0,300;0,400;0,600;0,700;0,900;1,300&family=Barlow:wght@300;400&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: #080808; color: #fff; font-family: 'Barlow Condensed', sans-serif; overflow-x: hidden; }

@keyframes floatY    { 0%,100%{transform:translateY(0) rotate(-1deg)} 50%{transform:translateY(-24px) rotate(1deg)} }
@keyframes pulseGlow { 0%,100%{box-shadow:0 0 0 0 rgba(255,80,0,.5),0 0 40px rgba(255,80,0,.2)} 50%{box-shadow:0 0 0 18px rgba(255,80,0,0),0 0 80px rgba(255,80,0,.3)} }
@keyframes scanDown  { 0%{transform:translateY(-100%);opacity:.06} 100%{transform:translateY(100vh);opacity:0} }
@keyframes orangePop { 0%,100%{background-color:#FF5000} 50%{background-color:#FF7700} }
@keyframes fadeIn    { from{opacity:0} to{opacity:1} }
@keyframes glitch    { 0%{clip-path:inset(20% 0 60% 0);transform:translate(-6px,0)} 25%{clip-path:inset(60% 0 10% 0);transform:translate(6px,0)} 50%{clip-path:inset(30% 0 40% 0);transform:translate(-4px,0)} 75%{clip-path:inset(5% 0 80% 0);transform:translate(4px,0)} 100%{clip-path:inset(45% 0 25% 0);transform:translate(-6px,0)} }

::-webkit-scrollbar{width:3px} ::-webkit-scrollbar-track{background:#000} ::-webkit-scrollbar-thumb{background:#FF5000}

/* Overlays */
.grain-overlay { position:fixed;inset:0;pointer-events:none;z-index:9000;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E"); }
.scanline { position:fixed;left:0;width:100%;height:3px;background:linear-gradient(transparent,rgba(255,80,0,.08),transparent);animation:scanDown 4s linear infinite;pointer-events:none;z-index:8999; }

/* Reveal */
.reveal { opacity:0;transform:translateY(60px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1); }
.reveal.in { opacity:1;transform:translateY(0); }

/* Nav */
nav { position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;transition:all .5s ease; }
nav.scrolled { background:rgba(5,5,5,.96);backdrop-filter:blur(24px);border-bottom:1px solid rgba(255,80,0,.25); }
.nav-logo img { height:208px;width:auto;filter:drop-shadow(0 0 8px rgba(255,80,0,.5)); }
.nav-links { display:flex;gap:40px;align-items:center; }
.nav-links a { color:#aaa;font-size:15px;letter-spacing:3px;font-weight:600;text-decoration:none;position:relative;transition:color .2s; }
.nav-links a::after { content:'';position:absolute;bottom:-6px;left:0;width:0;height:2px;background:#FF5000;transition:width .3s; }
.nav-links a:hover { color:#FF5000; }
.nav-links a:hover::after { width:100%; }
.btn-unete { background:#FF5000!important;color:#fff!important;padding:11px 28px;font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:3px; }
.btn-unete:hover { background:#fff!important;color:#FF5000!important; }
.menu-btn { display:none;background:none;border:none;color:#fff;cursor:pointer; }

/* Mobile menu */
.mobile-menu { display:none;position:fixed;inset:0;background:#000;z-index:999;flex-direction:column;align-items:center;justify-content:center;gap:48px;animation:fadeIn .3s ease; }
.mobile-menu.open { display:flex; }
.mobile-menu a { color:#fff;text-decoration:none;font-family:'Bebas Neue',sans-serif;font-size:52px;letter-spacing:6px;transition:color .2s; }
.mobile-menu a:hover { color:#FF5000; }
.mobile-close { position:absolute;top:24px;right:32px;background:none;border:none;color:#fff;cursor:pointer; }

/* Hero */
.hero { min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden; }
#particles { position:absolute;inset:0;z-index:0; }
.hero-glow { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:700px;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(255,80,0,.13) 0%,transparent 65%); }
.hero-content { position:relative;z-index:2;text-align:center;padding:120px 24px 0; }
.hero-logo { margin:0 auto 40px;opacity:0;transition:opacity .8s ease;width:fit-content;max-width:min(1560px,95vw); }
.hero-logo.ready { animation:floatY 7s ease-in-out infinite;opacity:1; }
.hero-logo img { width:100%;max-width:1560px;height:auto;filter:drop-shadow(0 0 70px rgba(255,80,0,.6)) drop-shadow(0 0 28px rgba(255,80,0,.35));display:block; }
.hero-text { opacity:0;transform:translateY(30px);transition:all 1s cubic-bezier(.16,1,.3,1) .9s; }
.hero-text.ready { opacity:1;transform:translateY(0); }
.hero-sub { font-size:clamp(11px,1.6vw,15px);letter-spacing:8px;color:#555;margin-bottom:52px;font-weight:600; }
.hero-btns { display:flex;gap:16px;justify-content:center;flex-wrap:wrap; }
.btn-primary { background:#FF5000;color:#fff;padding:18px 44px;text-decoration:none;font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:4px;animation:pulseGlow 2.5s infinite;transition:transform .3s,background .3s;display:inline-block; }
.btn-primary:hover { transform:scale(1.06);background:#FF7700; }
.btn-ghost { border:2px solid rgba(255,255,255,.2);color:#fff;padding:18px 44px;text-decoration:none;font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:4px;transition:all .3s;display:inline-block; }
.btn-ghost:hover { border-color:#FF5000;color:#FF5000; }
.hero-chevron { position:absolute;bottom:36px;left:50%;transform:translateX(-50%);color:#FF5000;animation:floatY 2s ease-in-out infinite; }
.hero-tag { position:absolute;bottom:36px;right:40px;font-size:11px;color:#333;letter-spacing:3px;font-weight:600; }

/* Shared */
.container { max-width:1440px;margin:0 auto; }
.section-label { color:#FF5000;letter-spacing:6px;font-size:13px;font-weight:700;margin-bottom:16px; }
.section-title { font-family:'Bebas Neue',sans-serif;font-size:clamp(44px,7vw,88px);line-height:.95;letter-spacing:2px; }
.section-title span { color:#FF5000; }
.mb-72 { margin-bottom:72px; }
.mb-64 { margin-bottom:64px; }

/* Acronym */
.acronym-section { padding:100px 40px 80px;background:#000; }
.acronym-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:3px; }
.acronym-card { background:#0f0f0f;padding:44px 32px;border-top:3px solid #FF5000;transition:background .3s;cursor:default; }
.acronym-card:hover { background:#161616; }
.acronym-letter { font-family:'Bebas Neue',sans-serif;font-size:88px;color:#FF5000;line-height:1;margin-bottom:6px; }
.acronym-word { font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:4px;color:#fff;margin-bottom:18px; }
.acronym-desc { color:#555;font-size:15px;line-height:1.75;font-family:'Barlow',sans-serif;font-weight:300; }

/* Stats */
.stats-bar { background:#FF5000;padding:28px 48px;display:flex;justify-content:space-around;flex-wrap:wrap;gap:16px;animation:orangePop 8s ease-in-out infinite; }
.stat-item { text-align:center; }
.stat-num { font-family:'Bebas Neue',sans-serif;font-size:52px;color:#000;line-height:1; }
.stat-lbl { font-size:12px;color:rgba(0,0,0,.65);letter-spacing:3px;font-weight:700; }

/* Classes */
.classes-section { padding:110px 40px;background:#080808; }
.classes-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:20px; }
.class-card { background:#0f0f0f;transition:transform .4s cubic-bezier(.16,1,.3,1); }
.class-card:hover { transform:translateY(-10px) scale(1.015); }
.class-inner { padding:40px 36px; }
.class-header { display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px; }
.class-code { font-family:'Bebas Neue',sans-serif;font-size:52px;line-height:1;margin-bottom:4px; }
.class-name { font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:3px;color:#fff; }
.class-tag { font-size:11px;color:#444;letter-spacing:3px;margin-top:4px;font-weight:600; }
.class-emoji { font-size:40px; }
.class-desc { color:#666;font-size:16px;line-height:1.75;font-family:'Barlow',sans-serif;font-weight:300;margin-bottom:28px; }
.class-footer { border-top:1px solid #1e1e1e;padding-top:20px;display:flex;justify-content:space-between;align-items:center; }
.class-when { font-size:12px;color:#3a3a3a;letter-spacing:1px;font-style:italic; }
.class-cta { font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:3px;text-decoration:none;transition:opacity .2s; }
.class-cta:hover { opacity:.7; }

/* Schedule */
.schedule-section { padding:110px 40px;background:#000; }
.sched-scroll { overflow-x:auto; }
.sched-grid { display:grid;grid-template-columns:repeat(7,1fr);gap:6px;min-width:700px; }
.day-col { display:flex;flex-direction:column;gap:6px; }
.day-head { font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:4px;text-align:center;padding:14px 0;color:#FF5000;border-bottom:2px solid #FF5000;margin-bottom:6px; }
.day-short { display:block; }
.day-full { font-size:10px;color:#444;letter-spacing:2px;margin-top:3px; }
.slot { padding:12px 6px;text-align:center;border-radius:3px;cursor:default;transition:transform .2s,box-shadow .2s; }
.slot:hover { transform:scale(1.08);box-shadow:0 4px 24px rgba(0,0,0,.5);z-index:10;position:relative; }
.slot-lbl { font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:1px;line-height:1.2; }
.slot-time { font-size:10px;color:#444;margin-top:4px;letter-spacing:1px; }
.legend { margin-top:40px;display:flex;gap:24px;flex-wrap:wrap; }
.legend-item { display:flex;align-items:center;gap:8px; }
.legend-dot { width:12px;height:12px;border-radius:2px; }
.legend-lbl { font-size:13px;color:#555;letter-spacing:2px;font-weight:600; }
.sched-cta { margin-top:56px;text-align:center; }
.btn-outline { display:inline-block;border:2px solid #FF5000;color:#FF5000;padding:18px 56px;font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:5px;text-decoration:none;transition:all .3s; }
.btn-outline:hover { background:#FF5000;color:#fff; }

/* Community */
.community-section { padding:110px 40px;background:#080808;position:relative;overflow:hidden; }
.community-ghost { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Bebas Neue',sans-serif;font-size:clamp(120px,18vw,280px);color:rgba(255,80,0,.04);white-space:nowrap;pointer-events:none;letter-spacing:-6px;user-select:none; }
.community-inner { max-width:960px;margin:0 auto;text-align:center;position:relative; }
.big-title { font-family:'Bebas Neue',sans-serif;font-size:clamp(48px,8vw,96px);line-height:.88;letter-spacing:2px;margin-bottom:52px; }
.pullquote { background:#0d0d0d;border-left:5px solid #FF5000;padding:32px 40px;text-align:left;margin-bottom:52px;position:relative; }
.pullquote-mark { position:absolute;top:-28px;left:32px;font-family:'Bebas Neue',sans-serif;font-size:96px;color:#FF5000;opacity:.3;line-height:1;pointer-events:none; }
.pullquote-text { font-family:'Bebas Neue',sans-serif;font-size:clamp(28px,4vw,44px);color:#FF5000;letter-spacing:3px;line-height:1.15; }
.community-body { color:#666;font-size:20px;line-height:1.85;font-family:'Barlow',sans-serif;font-weight:300;max-width:640px;margin:0 auto 56px; }
.values { display:flex;gap:40px;justify-content:center;flex-wrap:wrap; }
.value-item { text-align:center; }
.value-line { width:2px;height:36px;background:#FF5000;margin:0 auto 12px; }
.value-label { font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:4px;color:#3a3a3a; }

/* CTA bar */
.cta-bar { background:#FF5000;padding:72px 40px;display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center; }
.cta-title { font-family:'Bebas Neue',sans-serif;font-size:clamp(36px,6vw,72px);color:#000;line-height:.95;letter-spacing:3px; }
.btn-dark { background:#000;color:#FF5000;padding:20px 60px;font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:5px;text-decoration:none;transition:all .3s;display:inline-block; }
.btn-dark:hover { background:#fff; }

/* Contact */
.contact-section { padding:110px 40px;background:#000; }
.contact-grid { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start; }
.contact-label { color:#333;font-size:12px;letter-spacing:5px;font-weight:700;margin-bottom:12px; }
.contact-item { margin-bottom:48px; }
.contact-link { display:flex;align-items:center;gap:16px;text-decoration:none;color:#fff;transition:color .2s; }
.contact-link span { font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:4px; }
.btn-wa { display:block;background:#FF5000;color:#fff;padding:22px 0;text-align:center;font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:5px;text-decoration:none;animation:pulseGlow 3s infinite;transition:background .3s; }
.btn-wa:hover { background:#FF7700; }
.map-wrap { border:1px solid #1a1a1a;padding:4px; }
.map-wrap iframe { border:0;display:block;filter:grayscale(1) invert(.88) contrast(.9); }
.map-link { display:flex;align-items:center;gap:8px;padding:16px 20px;color:#FF5000;text-decoration:none;font-size:14px;letter-spacing:3px;font-weight:700;transition:background .2s; }
.map-link:hover { background:#0f0f0f; }

/* Footer */
footer { border-top:1px solid #111;padding:52px 40px;background:#000; }
.footer-inner { max-width:1440px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:28px; }
.footer-brand { font-family:'Bebas Neue',sans-serif;font-size:36px;letter-spacing:4px;margin-bottom:6px; }
.footer-brand span { color:#FF5000; }
.footer-sub { color:#2a2a2a;font-size:11px;letter-spacing:4px;font-weight:700; }
.footer-sub2 { color:#222;font-size:11px;letter-spacing:2px;margin-top:6px; }
.footer-icons { display:flex;gap:28px; }
.footer-icons a { color:#2a2a2a;transition:color .2s,transform .2s;display:block; }
.footer-icons a:hover { transform:translateY(-3px); }
.footer-copy { color:#222;font-size:12px;letter-spacing:2px; }

/* FAB */
.fab { position:fixed;bottom:32px;right:32px;background:#25D366;color:#fff;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;z-index:500;box-shadow:0 8px 32px rgba(37,211,102,.4);animation:floatY 4s ease-in-out infinite;transition:transform .3s; }
.fab:hover { transform:scale(1.12); }

/* Responsive */
@media(max-width:768px) {
  .nav-links { display:none; }
  .menu-btn { display:block; }
  .acronym-grid { grid-template-columns:repeat(2,1fr); }
  .contact-grid { grid-template-columns:1fr; gap:40px; }
  nav { padding:18px 20px; }
}
