:root {
  --bg:#0a0a0c; --bg-2:#111114; --bg-3:#18181c; --line:#2a2a30;
  --ink:#f4f4f6; --ink-dim:#c8c8cf; --ink-low:#8a8a93;
  --accent:#ff6b1a; --accent-2:#ffb56b; --accent-3:#d62b1f;
  --maxw:1280px; --pad:clamp(20px,4vw,56px);
  --font-display:"Anton","Bebas Neue","Oswald",system-ui,sans-serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.055;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent);color:#000}
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px) saturate(140%);background:rgba(10,10,12,.72);border-bottom:1px solid var(--line)}
.nav{max-width:var(--maxw);margin:0 auto;padding:18px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:22px;letter-spacing:.14em;text-transform:uppercase}
.brand-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);background:radial-gradient(circle at 30% 30%,rgba(255,107,26,.5),transparent 60%),var(--bg-2);border-radius:999px}
.brand-mark::after{content:"";width:8px;height:8px;border-radius:999px;background:var(--accent);box-shadow:0 0 12px var(--accent)}
.brand b{color:var(--ink);font-weight:700}
.brand span{color:var(--ink-dim);font-weight:400}
.nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.nav-links a{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);position:relative;padding:6px 0;transition:color .2s}
.nav-links a:hover{color:var(--ink)}
.nav-links a.active{color:var(--ink)}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--accent)}
.nav-cta{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:10px 18px;border:1px solid var(--accent);color:var(--accent);border-radius:999px;transition:all .2s}
.nav-cta:hover{background:var(--accent);color:#000}
.nav-toggle{display:none;background:none;border:0;color:var(--ink);cursor:pointer;font-size:22px}
@media (max-width:760px){.nav-links,.nav-cta{display:none}.nav-toggle{display:block}.nav-links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--bg-2);border-bottom:1px solid var(--line);padding:12px 0}.nav-links.open li{padding:10px var(--pad)}}
.section{max-width:var(--maxw);margin:0 auto;padding:clamp(80px,10vw,140px) var(--pad)}
.section-divider{border-top:1px solid var(--line)}
.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:10px;margin-bottom:24px}
.eyebrow::before{content:"";width:24px;height:1px;background:var(--accent)}
h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:.02em;line-height:.95;margin:0 0 24px;text-transform:uppercase}
h1{font-size:clamp(56px,10vw,156px)}
h2{font-size:clamp(40px,6vw,84px)}
h3{font-size:clamp(22px,2.2vw,32px);letter-spacing:.04em}
p{margin:0 0 18px;color:var(--ink-dim);max-width:64ch;font-weight:400}
p.lead{color:var(--ink);font-size:19px;line-height:1.55;max-width:60ch;font-weight:500}
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 28px;font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;background:var(--accent);color:#0a0a0c;border:1px solid var(--accent);border-radius:999px;cursor:pointer;transition:all .2s}
.btn:hover{background:transparent;color:var(--accent)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink);background:rgba(255,255,255,.03);color:var(--ink)}
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;padding:120px var(--pad) 80px;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 80% 20%,rgba(255,107,26,.1),transparent 60%),radial-gradient(ellipse at 10% 90%,rgba(214,43,31,.08),transparent 60%),linear-gradient(180deg,transparent 0%,transparent 55%,rgba(10,10,12,.4) 80%,rgba(5,5,7,.85) 100%)}
.hero-slideshow{position:absolute;inset:0;z-index:-3;overflow:hidden;background:#050507}
.hero-slideshow img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:brightness(1) contrast(1.05) saturate(1.12);animation:hero-slide 30s infinite cubic-bezier(.4,0,.2,1)}
.hero-slideshow img:nth-child(1){animation-delay:0s}
.hero-slideshow img:nth-child(2){animation-delay:6s}
.hero-slideshow img:nth-child(3){animation-delay:12s}
.hero-slideshow img:nth-child(4){animation-delay:18s}
.hero-slideshow img:nth-child(5){animation-delay:24s}
@keyframes hero-slide{0%{opacity:0;transform:scale(1.12)}5%{opacity:1}18%{opacity:1;transform:scale(1)}22%{opacity:0}100%{opacity:0;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.hero-slideshow img{animation-duration:0s;animation-iteration-count:1;opacity:1;transform:none}.hero-slideshow img:not(:first-child){display:none}}
.hero-bg::after{content:"";position:absolute;inset:0;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:80px 80px;-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 80%)}
.hero-inner{max-width:var(--maxw);margin:0 auto;width:100%;position:relative}
.hero h1{margin-bottom:32px}
.hero h1{text-shadow:0 2px 24px rgba(0,0,0,.85),0 1px 4px rgba(0,0,0,.7)}
.hero h1 .stroke{display:block;color:var(--ink);-webkit-text-stroke:1.5px rgba(0,0,0,.6);text-shadow:0 0 24px rgba(0,0,0,.9),0 2px 8px rgba(0,0,0,.8)}
.hero h1 .accent{color:var(--accent);text-shadow:0 0 28px rgba(255,107,26,.5),0 2px 12px rgba(0,0,0,.85)}
.hero .eyebrow{text-shadow:0 1px 8px rgba(0,0,0,.9)}
.hero p.lead{font-weight:500;text-shadow:0 1px 16px rgba(0,0,0,.85),0 1px 4px rgba(0,0,0,.7)}
.hero-meta{text-shadow:0 1px 8px rgba(0,0,0,.9)}
.hero-tag{text-shadow:0 1px 8px rgba(0,0,0,.9)}
.hero-meta{display:flex;gap:40px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:28px;margin-top:40px;font-family:var(--font-mono);font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-dim)}
.hero-meta span b{color:var(--accent);margin-right:8px;font-weight:400}
.hero-tag{position:absolute;right:var(--pad);top:0;writing-mode:vertical-rl;font-family:var(--font-mono);font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--ink-low)}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:center}
@media (max-width:880px){.split{grid-template-columns:1fr}}
.split figure{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;background:var(--bg-2)}
.split figure img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2) contrast(1.05) brightness(.85);transition:filter .6s}
.split figure:hover img{filter:grayscale(0) contrast(1) brightness(1)}
.split figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.8) 100%);pointer-events:none}
.split figure figcaption{position:absolute;bottom:16px;left:16px;font-family:var(--font-mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-dim)}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.gallery a{position:relative;overflow:hidden;background:var(--bg-2);display:block;aspect-ratio:1}
.gallery a:nth-child(1){grid-column:span 6;aspect-ratio:16/10}
.gallery a:nth-child(2){grid-column:span 3}
.gallery a:nth-child(3){grid-column:span 3}
.gallery a:nth-child(4){grid-column:span 4}
.gallery a:nth-child(5){grid-column:span 4}
.gallery a:nth-child(6){grid-column:span 4}
.gallery a:nth-child(7){grid-column:span 6;aspect-ratio:16/10}
.gallery a:nth-child(8){grid-column:span 6;aspect-ratio:16/10}
@media (max-width:760px){.gallery a,.gallery a:nth-child(n){grid-column:span 6;aspect-ratio:1}}
.gallery img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.85);transition:transform .6s ease,filter .6s}
.gallery a:hover img{transform:scale(1.04);filter:grayscale(0) brightness(1)}
.gallery a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.7) 100%);pointer-events:none;transition:opacity .3s}
.gallery a:hover::after{opacity:.4}
.gallery .gallery-label{position:absolute;bottom:14px;left:14px;z-index:2;font-family:var(--font-mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink);text-shadow:0 1px 8px rgba(0,0,0,.8)}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.gallery-grid a{position:relative;aspect-ratio:1;overflow:hidden;background:var(--bg-2);display:block}
.gallery-grid img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.85);transition:transform .6s ease,filter .6s}
.gallery-grid a:hover img{transform:scale(1.04);filter:grayscale(0) brightness(1)}
.gallery-grid a::after{content:attr(data-label);position:absolute;bottom:14px;left:14px;font-family:var(--font-mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink);text-shadow:0 1px 8px rgba(0,0,0,.8)}
.membership{position:relative;border:1px solid var(--line);background:radial-gradient(ellipse at 80% 0%,rgba(255,107,26,.18),transparent 60%),var(--bg-2);padding:clamp(40px,6vw,80px);overflow:hidden}
.membership::before{content:"MEMBERSHIP";position:absolute;top:-20px;right:-20px;font-family:var(--font-display);font-size:clamp(80px,16vw,220px);color:rgba(255,107,26,.05);letter-spacing:.04em;pointer-events:none;line-height:1}
.membership .badge{display:inline-block;font-family:var(--font-mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);padding:6px 14px;border-radius:999px;margin-bottom:24px}
.benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:40px;list-style:none;padding:0}
.benefits li{border-top:1px solid var(--line);padding-top:20px}
.benefits li b{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-weight:400}
.benefits li span{color:var(--ink);font-size:15px}
.history-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;margin-top:48px}
.stat{border-top:1px solid var(--line);padding-top:20px}
.stat-num{font-family:var(--font-display);font-size:clamp(48px,6vw,84px);color:var(--accent);line-height:1;display:block}
.stat-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-dim);margin-top:8px;display:block}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px)}
@media (max-width:880px){.contact-grid{grid-template-columns:1fr}}
.contact-info dl{display:grid;gap:32px;margin:0}
.contact-info dt{font-family:var(--font-mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.contact-info dd{margin:0;font-family:var(--font-display);font-size:clamp(24px,3vw,36px);color:var(--ink);letter-spacing:.04em}
.form{display:grid;gap:16px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:600px){.form .row{grid-template-columns:1fr}}
.form input,.form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);padding:14px 0;font-family:var(--font-body);font-size:15px;transition:border-color .2s}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--accent)}
.form textarea{min-height:140px;resize:vertical}
.form input::placeholder,.form textarea::placeholder{color:var(--ink-low);font-family:var(--font-mono);font-size:12px;letter-spacing:.15em;text-transform:uppercase}
.site-footer{border-top:1px solid var(--line);background:var(--bg-2);padding:60px var(--pad) 40px;margin-top:80px}
.footer-inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
@media (max-width:760px){.footer-inner{grid-template-columns:1fr;gap:32px}}
.footer-inner h4{font-family:var(--font-mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin:0 0 16px}
.footer-inner ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.footer-inner ul a,.footer-inner ul li{color:var(--ink-dim);font-size:14px}
.footer-inner ul a:hover{color:var(--ink)}
.footer-inner p{color:var(--ink-dim);font-size:14px}
.footer-bottom{max-width:var(--maxw);margin:60px auto 0;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-low);flex-wrap:wrap;gap:16px}
.page-header{position:relative;padding:200px var(--pad) 80px;border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate;min-height:75vh;display:flex;align-items:flex-end}
.page-header::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 80% 20%,rgba(255,107,26,.1),transparent 60%),radial-gradient(ellipse at 10% 90%,rgba(214,43,31,.08),transparent 60%),linear-gradient(180deg,transparent 0%,transparent 55%,rgba(10,10,12,.4) 80%,rgba(5,5,7,.85) 100%)}
.page-header-inner{max-width:var(--maxw);margin:0 auto;width:100%}
.page-header h1{font-size:clamp(56px,9vw,130px);text-shadow:0 2px 24px rgba(0,0,0,.85),0 1px 4px rgba(0,0,0,.7);white-space:nowrap}
.page-header .crumbs{font-family:var(--font-mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink);margin-bottom:24px;text-shadow:0 1px 8px rgba(0,0,0,.9)}
.page-header .crumbs a{color:var(--accent)}
.page-header .eyebrow{text-shadow:0 1px 8px rgba(0,0,0,.9)}
.page-header p.lead{text-shadow:0 1px 16px rgba(0,0,0,.85),0 1px 4px rgba(0,0,0,.7)}
.page-header .hero-slideshow{position:absolute;inset:0;z-index:-3;overflow:hidden;background:#050507}
.page-header .hero-slideshow img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:brightness(1) contrast(1.05) saturate(1.12);animation:hero-slide 30s infinite cubic-bezier(.4,0,.2,1)}
.page-header .hero-slideshow img:nth-child(1){animation-delay:0s}
.page-header .hero-slideshow img:nth-child(2){animation-delay:6s}
.page-header .hero-slideshow img:nth-child(3){animation-delay:12s}
.page-header .hero-slideshow img:nth-child(4){animation-delay:18s}
.page-header .hero-slideshow img:nth-child(5){animation-delay:24s}


/* ===== Cleanup additions ===== */
.nav-social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: #fff;
  border: 1px solid rgba(255,255,255,0.2);
  margin-right: 12px;
  transition: all 0.2s ease;
}
.nav-social:hover {
  background: #f56b1f;
  border-color: #f56b1f;
  color: #fff;
}
.events-list { display: flex; flex-direction: column; gap: 16px; margin-top: 16px; }
.event-card {
  display: grid;
  grid-template-columns: 110px 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 28px 32px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-left: 3px solid #f56b1f;
  border-radius: 4px;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.event-card:hover { background: rgba(255,255,255,0.05); border-left-color: #ff8540; }
.event-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,0.1);
  padding-right: 28px;
}
.event-day { font-family: 'Anton', sans-serif; font-size: 56px; line-height: 1; color: #f56b1f; }
.event-month { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 4px; text-transform: uppercase; color: rgba(255,255,255,0.7); margin-top: 4px; }
.event-info h3 { font-family: 'Anton', sans-serif; font-size: 24px; font-weight: 400; line-height: 1.2; letter-spacing: 0.5px; margin: 0 0 10px; color: #fff; }
.event-venue { font-size: 14px; color: rgba(255,255,255,0.85); margin: 0 0 6px; }
.event-lineup { font-size: 13px; color: rgba(255,255,255,0.6); margin: 0 0 6px; }
.event-meta { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 2px; color: #f56b1f; text-transform: uppercase; margin: 0; }
@media (max-width: 768px) {
  .event-card { grid-template-columns: 1fr; gap: 16px; padding: 24px; }
  .event-date { flex-direction: row; border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); padding: 0 0 16px; justify-content: flex-start; gap: 12px; }
  .event-day { font-size: 42px; }
}
.membership-cta { margin-top: 40px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,0.1); text-align: center; }
.membership-cta .cta-line { font-size: 15px; color: rgba(255,255,255,0.85); margin: 0 0 20px; }
.membership-cta .cta-line a { color: #f56b1f; text-decoration: none; }
.membership-cta .cta-line a:hover { text-decoration: underline; }
.membership-cta .btn { display: inline-block; }
.membership-cta .cta-note { margin-top: 24px; font-size: 13px; color: rgba(255,255,255,0.6); }
.membership-cta .cta-note a { color: rgba(255,255,255,0.85); text-decoration: underline; }
.stat-link { display: flex; flex-direction: column; text-decoration: none; color: inherit; cursor: pointer; transition: opacity 0.2s ease; }
.stat-link:hover { opacity: 0.75; }
.stat-link .stat-num { color: #f56b1f; }

/* ===== Newsletter signup section ===== */
.newsletter-card {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
  padding: 8px 16px;
}
.newsletter-card .eyebrow { display: inline-block; margin-bottom: 16px; }
.newsletter-card h2 { margin-bottom: 18px; }
.newsletter-card .lead { margin-bottom: 28px; max-width: 520px; margin-left: auto; margin-right: auto; }
.newsletter-form {
  display: flex;
  gap: 8px;
  max-width: 520px;
  margin: 0 auto 20px;
}
.newsletter-form input[type="email"] {
  flex: 1;
  padding: 14px 18px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 4px;
  color: #f5f5f0;
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: 15px;
  outline: none;
  transition: border-color 0.2s ease;
}
.newsletter-form input[type="email"]:focus { border-color: #f56b1f; background: rgba(255,255,255,0.06); }
.newsletter-form input[type="email"]::placeholder { color: rgba(255,255,255,0.35); }
.newsletter-form .btn { padding-left: 22px; padding-right: 22px; white-space: nowrap; }
.newsletter-success { max-width: 520px; margin: 0 auto 16px; padding: 12px 16px; background: rgba(40,167,69,0.12); border-left: 3px solid #28a745; color: #6dd182; font-size: 14px; border-radius: 2px; text-align: left; }
.newsletter-error { max-width: 520px; margin: 0 auto 16px; padding: 12px 16px; background: rgba(220,53,69,0.12); border-left: 3px solid #dc3545; color: #ff8c95; font-size: 14px; border-radius: 2px; text-align: left; }
.newsletter-card .cta-note { margin-top: 20px; font-size: 13px; color: rgba(255,255,255,0.55); line-height: 1.7; }
.newsletter-card .cta-note a { color: #f56b1f; text-decoration: none; }
.newsletter-card .cta-note a:hover { text-decoration: underline; }
@media (max-width: 540px) {
  .newsletter-form { flex-direction: column; }
  .newsletter-form .btn { width: 100%; padding: 12px 22px; }
}
