
:root {
  --gold: #FFC107;
  --deep-gold: #E6A800;
  --brown: #5C1A00;
  --dark-brown: #3A0A00;
  --black: #0A0A0A;
  --off-white: #FFF8EE;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  background: var(--black);
  color: var(--off-white);
  font-family: 'Montserrat', sans-serif;
  overflow-x: hidden;
}

/* NAV */
nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 28px;
  background: rgba(10,10,10,0.93);
  backdrop-filter: blur(14px);
  border-bottom: 2px solid var(--brown);
}

.nav-logo img {
  height: 58px;
  display: block;
}

.nav-links {
  display: flex;
  gap: 6px;
  list-style: none;
  align-items: center;
}

.nav-links a {
  color: var(--off-white);
  text-decoration: none;
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 20px;
  transition: all 0.2s;
}

.nav-links a:hover {
  background: var(--gold);
  color: var(--brown);
}

.nav-cta {
  background: var(--gold) !important;
  color: var(--brown) !important;
}

/* HERO */
#hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background: #0A0A0A;
  padding-top: 70px;
}

.hero-video-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  opacity: 0.55;
}

.hero-yt-wrap{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;background:#0A0A0A}
.hero-yt-wrap iframe{position:absolute;top:0;left:50%;width:max(100vw,177.78vh);height:max(56.25vw,100vh);transform:translateX(-50%) scale(1.04);transform-origin:50% 0;border:0;pointer-events:none;opacity:.55}
#hero-mp4{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;opacity:0;transition:opacity .6s;pointer-events:none}
#hero-mp4.on{opacity:.55}
#hero-mp4-bg{position:absolute;inset:-40px;width:calc(100% + 80px);height:calc(100% + 80px);object-fit:cover;filter:blur(28px) brightness(.6);opacity:0;pointer-events:none;transition:opacity .6s}
.hero-yt-wrap.tall #hero-mp4{object-fit:contain;object-position:50% 50%}
.hero-yt-wrap.tall #hero-mp4-bg.on{opacity:.45}
.hero-yt-wrap.portrait iframe{top:50%;width:max(100vw,56.25vh);height:max(177.78vw,100vh);transform:translate(-50%,-50%) scale(1.04);transform-origin:50% 50%}
.hero-video-overlay {
  position: absolute;
  inset: 0;
  background: 
    radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.65) 100%),
    linear-gradient(to bottom, rgba(10,10,10,0.5) 0%, rgba(10,10,10,0) 30%, rgba(10,10,10,0) 70%, rgba(10,10,10,0.8) 100%);
  z-index: 1;
}

.hero-bg-360 {
  display: none;
}

.hero-logo {
  width: min(780px, 96vw);
  opacity: 0;
  animation: fadeUp 0.7s 0.3s forwards;
  display: block;
}

.hero-tagline {
  position: relative;
  z-index: 2;
  font-weight: 600;
  font-size: clamp(0.65rem, 1.8vw, 0.88rem);
  letter-spacing: 4px;
  text-transform: uppercase;
  color: rgba(255,248,238,0.6);
  margin-top: 22px;
  opacity: 0;
  animation: fadeUp 0.5s 0.7s forwards;
  text-align: center;
}

.hero-tagline strong {
  color: var(--gold);
  font-weight: 800;
}

.hero-buttons {
  position: relative;
  z-index: 2;
  display: flex;
  gap: 14px;
  margin-top: 36px;
  flex-wrap: wrap;
  justify-content: center;
  opacity: 0;
  animation: fadeUp 0.5s 0.9s forwards;
}

.btn-primary {
  background: var(--gold);
  color: var(--brown);
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 0.78rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  padding: 14px 30px;
  border-radius: 50px;
  text-decoration: none;
  border: 3px solid var(--brown);
  box-shadow: 4px 4px 0 var(--brown);
  transition: all 0.15s;
  cursor: pointer;
  display: inline-block;
}

.btn-primary:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--brown);
}

.btn-secondary {
  background: transparent;
  color: var(--gold);
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 0.78rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  padding: 14px 30px;
  border-radius: 50px;
  text-decoration: none;
  border: 3px solid var(--gold);
  box-shadow: 4px 4px 0 rgba(255,193,7,0.25);
  transition: all 0.15s;
  cursor: pointer;
  display: inline-block;
}

.btn-secondary:hover {
  background: var(--gold);
  color: var(--brown);
  transform: translate(-2px, -2px);
}

.hero-scroll-hint {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  opacity: 0;
  animation: fadeUp 0.5s 1.3s forwards;
}

.scroll-label {
  font-weight: 700;
  font-size: 0.6rem;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--gold);
}

.scroll-bar {
  width: 2px;
  height: 40px;
  background: var(--gold);
  animation: scrollPulse 1.5s ease-in-out infinite;
}

@keyframes scrollPulse {
  0%, 100% { opacity: 1; height: 40px; }
  50% { opacity: 0.3; height: 20px; }
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

#hero{padding-bottom:110px}
.hero-now{position:relative;z-index:2;margin-top:22px;display:inline-flex;align-items:center;gap:10px;background:rgba(10,10,10,.6);border:1px solid rgba(255,193,7,.35);border-radius:30px;padding:8px 16px;font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,248,238,.8);opacity:0;animation:fadeUp .5s .8s forwards;text-align:center}
.hero-now strong{color:var(--gold);font-weight:800}
.hero-now-dot{width:8px;height:8px;border-radius:50%;background:#E63946;box-shadow:0 0 0 0 rgba(230,57,70,.7);animation:odbPulse 1.6s infinite;flex:none}
@keyframes odbPulse{0%{box-shadow:0 0 0 0 rgba(230,57,70,.7)}70%{box-shadow:0 0 0 8px rgba(230,57,70,0)}100%{box-shadow:0 0 0 0 rgba(230,57,70,0)}}
/* PACKAGES */
.pk-wrap{max-width:1100px;margin:30px auto 0;padding:0 16px}
.pk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:980px;margin:0 auto}
.pk-price.pk-ask{font-size:1.6rem;line-height:1.1}
.pk{position:relative;background:#0e0e0e;border:2px solid var(--brown);border-radius:18px;padding:24px 18px 20px;display:flex;flex-direction:column}
.pk.hot{border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,193,7,.12);background:linear-gradient(180deg,#1a0c00 0%,#0e0e0e 60%)}
.pk-flag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--brown);font-weight:900;font-size:.58rem;letter-spacing:2px;text-transform:uppercase;padding:5px 12px;border-radius:20px;white-space:nowrap;border:2px solid var(--brown)}
.pk-name{font-weight:900;font-size:1rem;letter-spacing:.5px;color:var(--off-white)}
.pk-price{margin-top:10px;font-weight:900;font-size:2.4rem;line-height:1;color:var(--gold);text-shadow:2px 2px 0 var(--brown)}
.pk-price small{font-size:.8rem;color:rgba(255,248,238,.5);text-shadow:none;font-weight:700}
.pk-for{margin-top:8px;font-size:.74rem;color:rgba(255,248,238,.55);line-height:1.5;min-height:34px}
.pk ul{list-style:none;margin:16px 0 18px;display:flex;flex-direction:column;gap:9px;flex:1}
.pk li{font-size:.8rem;line-height:1.4;color:rgba(255,248,238,.82);padding-left:22px;position:relative}
.pk li:before{content:"";position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:inset 0 0 0 3px var(--brown)}
.pk button{width:100%;background:transparent;color:var(--gold);border:2px solid var(--gold);border-radius:30px;padding:11px 10px;font:800 .7rem 'Montserrat',sans-serif;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .15s}
.pk.hot button,.pk button:hover{background:var(--gold);color:var(--brown)}
.pk-addons{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center}
.pk-addons b{font-size:.62rem;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-right:6px}
.pk-addons span{border:1px solid #333;border-radius:20px;padding:6px 12px;font-size:.72rem;font-weight:700;color:rgba(255,248,238,.8)}
.pk-invite{margin:22px auto 0;max-width:760px;text-align:center;border:1px dashed rgba(255,193,7,.45);border-radius:14px;padding:16px 18px;font-size:.84rem;line-height:1.6;color:rgba(255,248,238,.78)}
.date-box{border:2px solid var(--brown);border-radius:14px;padding:16px;margin:0 0 18px;background:#111}
.odb-date{color-scheme:dark;min-height:46px}
.day-chips{display:flex;flex-wrap:wrap;gap:6px}
.day-chip{position:relative;cursor:pointer}
.day-chip input{position:absolute;opacity:0;pointer-events:none}
.day-chip span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:40px;padding:0 10px;border-radius:20px;border:2px solid var(--brown);font-weight:800;font-size:.72rem;letter-spacing:1px;color:rgba(255,248,238,.8);background:#0e0e0e}
.day-chip input:checked+span{background:var(--gold);color:var(--brown);border-color:var(--gold)}
.day-chip input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.crew-box{border:2px solid var(--gold);border-radius:14px;padding:16px;margin:6px 0 18px;background:rgba(255,193,7,.04)}
.crew-head{margin-bottom:14px}
.crew-head b{display:block;color:var(--gold);font-weight:900;font-size:.95rem;margin-bottom:4px}
.crew-head span{font-size:.8rem;color:rgba(255,248,238,.7);line-height:1.5}
.crew-count{float:right;font-size:.7rem;color:#ff8a80;letter-spacing:1px}
.crew-count.ok{color:#7ddc82}
.crew-hint{font-size:.7rem;color:rgba(255,248,238,.45);margin-top:6px}
.rs-enq a{color:var(--gold);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.pk-invite strong{color:var(--gold)}
/* self-funded */
.sf-box{max-width:900px;margin:0 auto 30px;text-align:center;background:linear-gradient(135deg,rgba(255,193,7,.12),rgba(255,107,0,.08));border:2px solid rgba(255,193,7,.55);border-radius:18px;padding:26px 20px 22px}
.sf-tag{display:inline-block;background:var(--gold);color:#1a0800;font-weight:800;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding:5px 12px;border-radius:20px}
.sf-title{font-size:1.45rem;margin:12px 0 8px;color:#fff;line-height:1.25}.sf-title span{color:var(--gold)}
.sf-body{max-width:640px;margin:0 auto;color:rgba(255,248,238,.8);font-size:.9rem;line-height:1.6}
.sf-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0 14px}
.sf-points div{background:rgba(0,0,0,.35);border-radius:12px;padding:14px 12px;text-align:center}
.sf-points b{display:block;font-size:1.4rem;margin-bottom:6px}.sf-points strong{display:block;color:var(--gold);font-size:.88rem;margin-bottom:4px}
.sf-points span{font-size:.78rem;color:rgba(255,248,238,.72);line-height:1.5}
.sf-foot{font-weight:700;color:#fff;font-size:.9rem;margin:0}
@media(max-width:640px){.sf-points{grid-template-columns:1fr}.sf-title{font-size:1.2rem}}
/* vote */
.vt-grid{max-width:1100px;margin:0 auto;padding:0 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.vt-card{position:relative;background:#111;border:2px solid #1d1d1d;border-radius:14px;overflow:hidden;cursor:pointer;text-align:left;color:inherit;transition:border-color .15s,transform .15s}
.vt-card:hover{transform:translateY(-3px);border-color:rgba(255,193,7,.6)}
.vt-card.on{border-color:var(--gold)}
.vt-meta{padding:12px 14px 14px}.vt-meta strong{display:block;font-size:.92rem;color:#fff}.vt-meta span{font-size:.74rem;color:rgba(255,248,238,.6)}
.vt-watch{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.75);color:#fff;border:0;border-radius:14px;padding:6px 11px;font-size:.72rem;font-weight:700;cursor:pointer;min-height:32px}
.vt-card{display:flex;flex-direction:column;cursor:default}.vt-card:hover{transform:none}
.vt-meta{flex:1}
.vt-crown{position:absolute;top:10px;left:10px;background:var(--gold);color:#1a0800;font-weight:800;font-size:.66rem;padding:4px 9px;border-radius:12px;letter-spacing:.04em}
.vt-thumb{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 12px 12px;min-height:44px;border-radius:30px;border:2px solid var(--gold);background:transparent;color:var(--gold);font:inherit;font-weight:800;cursor:pointer;transition:background .15s,color .15s,transform .1s}
.vt-thumb:hover{background:rgba(255,193,7,.12)}.vt-thumb:active{transform:scale(.96)}
.vt-thumb b{font-size:1rem}.vt-thumb em{font-style:normal;font-size:.72rem;font-weight:600;opacity:.8}
.vt-card.on .vt-thumb{background:var(--gold);color:#1a0800}
.vt-thumb.shake{animation:vtShake .35s}@keyframes vtShake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.vt-note{text-align:center;font-size:.74rem;color:rgba(255,248,238,.5);margin:18px 16px 0}
@media(max-width:640px){.vt-grid{grid-template-columns:repeat(2,1fr);gap:10px;padding:0 12px}.vt-meta{padding:8px 10px 10px}.vt-meta strong{font-size:.78rem;line-height:1.3}.vt-meta span{display:none}.vt-watch{left:6px;bottom:6px;padding:4px 8px;font-size:.66rem;min-height:26px}.vt-thumb{margin:0 8px 8px;min-height:40px;gap:6px}.vt-thumb b{font-size:.9rem}.vt-crown{top:6px;left:6px;font-size:.58rem;padding:3px 7px}.vt-card .yt-stats{gap:8px;font-size:.66rem}}

.pk-travel{border-style:solid;border-color:rgba(255,193,7,.25);background:rgba(255,193,7,.04)}
@media(max-width:860px){.pk-grid{grid-template-columns:1fr;max-width:460px}}
@media(max-width:560px){.pk-grid{grid-template-columns:1fr}.pk-for{min-height:0}.hero-now{margin:20px 16px 0;font-size:.62rem;letter-spacing:1px;padding:8px 12px;flex-wrap:wrap;justify-content:center}}

/* SECTION HEADER */
.section-header {
  text-align: center;
  padding: 80px 24px 40px;
}

.section-label {
  font-weight: 700;
  font-size: 0.68rem;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}

.section-title {
  font-weight: 900;
  font-size: clamp(2.2rem, 5.5vw, 4rem);
  color: var(--off-white);
  text-shadow: 3px 3px 0 var(--brown);
  line-height: 1;
  letter-spacing: -0.5px;
}

.section-title span { color: var(--gold); }

.divider {
  width: 56px;
  height: 4px;
  background: var(--gold);
  border-radius: 2px;
  margin: 16px auto 0;
}

/* VIDEOS */
#videos { background: #050505; }

.video-feed {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 420px;
  margin: 0 auto;
  padding-bottom: 60px;
}

.video-card {
  width: 100%;
  position: relative;
  background: #111;
  overflow: hidden;
  border-bottom: 3px solid var(--brown);
}

.video-card:first-child { border-top: 3px solid var(--brown); }

.video-placeholder {
  width: 100%;
  aspect-ratio: 9/16;
  background: linear-gradient(160deg, #1A0800 0%, #0A0500 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.video-placeholder::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 30%, rgba(255,193,7,0.07) 0%, transparent 70%);
}

.video-play-btn {
  width: 68px;
  height: 68px;
  background: var(--gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: 4px solid var(--brown);
  box-shadow: 0 0 0 6px rgba(255,193,7,0.18);
  transition: all 0.2s;
  z-index: 2;
}

.video-play-btn:hover {
  transform: scale(1.1);
  box-shadow: 0 0 0 10px rgba(255,193,7,0.12);
}

.play-triangle {
  width: 0; height: 0;
  border-style: solid;
  border-width: 13px 0 13px 22px;
  border-color: transparent transparent transparent var(--brown);
  margin-left: 5px;
}

.video-overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 60px 20px 20px;
  background: linear-gradient(transparent, rgba(0,0,0,0.92));
  z-index: 3;
}

.video-artist {
  font-weight: 900;
  font-size: 1.8rem;
  color: var(--gold);
  text-shadow: 2px 2px 0 var(--brown);
  line-height: 1;
  letter-spacing: -0.5px;
}

.video-track {
  font-weight: 600;
  font-size: 0.8rem;
  color: rgba(255,248,238,0.7);
  margin-top: 4px;
  letter-spacing: 0.5px;
}

.video-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}

.video-tag {
  background: var(--gold);
  color: var(--brown);
  font-weight: 800;
  font-size: 0.6rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
}

.video-location {
  font-weight: 600;
  font-size: 0.7rem;
  color: rgba(255,248,238,0.45);
  letter-spacing: 0.5px;
}

.more-card {
  width: 100%;
  background: transparent;
  border: 2px dashed var(--brown);
  padding: 48px 24px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
  display: block;
}

.more-card:hover {
  border-color: var(--gold);
  background: rgba(255,193,7,0.03);
}

.more-card-text {
  font-weight: 900;
  font-size: 1.2rem;
  color: var(--gold);
  letter-spacing: 3px;
  text-transform: uppercase;
}

.more-card-sub {
  font-weight: 600;
  font-size: 0.68rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(255,248,238,0.3);
  margin-top: 8px;
}

/* ABOUT */
#about {
  padding: 80px 24px;
  background: #050505;
}

.about-inner {
  max-width: 660px;
  margin: 0 auto;
  text-align: center;
}

.about-body {
  font-weight: 500;
  font-size: 0.98rem;
  color: rgba(255,248,238,0.65);
  line-height: 1.9;
  margin-top: 28px;
  letter-spacing: 0.2px;
}

.about-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 52px;
}

.stat {
  background: #0F0F0F;
  border: 2px solid var(--brown);
  border-radius: 14px;
  padding: 28px 12px;
  transition: border-color 0.2s;
}

.stat:hover { border-color: var(--gold); }

.stat-num {
  font-weight: 900;
  font-size: 2rem;
  color: var(--gold);
  text-shadow: 2px 2px 0 var(--brown);
  line-height: 1;
  letter-spacing: -1px;
}

.stat-label {
  font-weight: 700;
  font-size: 0.6rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(255,248,238,0.35);
  margin-top: 8px;
}

/* APPLY */
#apply {
  background: linear-gradient(180deg, #050505 0%, #0D0400 100%);
  padding-bottom: 80px;
}

.apply-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  max-width: 840px;
  margin: 0 auto 48px;
  padding: 0 24px;
}

@media (max-width: 620px) {
  .apply-grid { grid-template-columns: 1fr; }
  .nav-links { display: none; }
}

.apply-card {
  background: #0F0F0F;
  border: 2px solid var(--brown);
  border-radius: 14px;
  padding: 30px 24px;
  position: relative;
  overflow: hidden;
  transition: all 0.2s;
}

.apply-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--gold);
}

.apply-card:hover {
  border-color: var(--gold);
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(255,193,7,0.07);
}

.apply-card-title {
  font-weight: 900;
  font-size: 1.4rem;
  color: var(--gold);
  text-shadow: 2px 2px 0 var(--brown);
  margin-bottom: 12px;
  letter-spacing: -0.5px;
}

.apply-card-desc {
  font-weight: 500;
  font-size: 0.86rem;
  color: rgba(255,248,238,0.6);
  line-height: 1.8;
}

.apply-card-desc strong {
  color: var(--gold);
  font-weight: 700;
}

.form-section {
  max-width: 580px;
  margin: 0 auto;
  padding: 0 24px;
}

.form-tabs {
  display: flex;
  border: 2px solid var(--brown);
  border-radius: 50px;
  overflow: hidden;
  margin-bottom: 32px;
  background: #111;
}

.form-tab {
  flex: 1;
  padding: 13px;
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 0.72rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s;
  color: rgba(255,248,238,0.35);
  border: none;
  background: none;
}

.form-tab.active {
  background: var(--gold);
  color: var(--brown);
  border-radius: 48px;
}

.form-panel { display: none; }
.form-panel.active { display: block; }

.form-group { margin-bottom: 16px; }

label {
  display: block;
  font-weight: 700;
  font-size: 0.65rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}

input, textarea, select {
  width: 100%;
  background: #141414;
  border: 2px solid var(--brown);
  border-radius: 10px;
  padding: 13px 16px;
  color: var(--off-white);
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 0.88rem;
  transition: border-color 0.2s;
  outline: none;
}

input:focus, textarea:focus, select:focus { border-color: var(--gold); }
textarea { min-height: 100px; resize: vertical; }
select option { background: #141414; }

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

@media (max-width: 480px) { .form-row { grid-template-columns: 1fr; } }

.form-note {
  background: rgba(255,193,7,0.05);
  border: 1px solid rgba(255,193,7,0.15);
  border-radius: 10px;
  padding: 14px 16px;
  font-weight: 500;
  font-size: 0.8rem;
  color: rgba(255,248,238,0.55);
  line-height: 1.75;
  margin-bottom: 22px;
}

.form-note strong {
  color: var(--gold);
  font-weight: 700;
}

.btn-submit {
  width: 100%;
  background: var(--gold);
  color: var(--brown);
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 0.82rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  padding: 16px;
  border-radius: 50px;
  border: 3px solid var(--brown);
  box-shadow: 4px 4px 0 var(--brown);
  cursor: pointer;
  transition: all 0.15s;
}

.btn-submit:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--brown);
}

/* SPONSORS */
#sponsors {
  background: var(--gold);
  padding: 80px 24px;
  text-align: center;
}

.cs-box{max-width:1000px;margin:34px auto 36px;display:grid;grid-template-columns:1.15fr 1fr;gap:26px;align-items:center;background:#0e0e0e;border:3px solid var(--brown);border-radius:22px;padding:20px;box-shadow:6px 6px 0 var(--brown);text-align:left}
.cs-video{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;cursor:pointer;background:#000}
.cs-video img{width:100%;height:100%;object-fit:cover;display:block;color:transparent;font-size:0;transition:transform .3s}
.cs-video:hover img{transform:scale(1.04)}
.cs-tag{position:absolute;top:12px;left:12px;background:var(--gold);color:var(--brown);font-weight:900;font-size:.58rem;letter-spacing:2px;text-transform:uppercase;padding:5px 10px;border-radius:20px;border:2px solid var(--brown)}
#sponsors .cs-label{font-size:.62rem;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:800}
.cs-info h3{margin:8px 0 12px;font-weight:900;font-size:clamp(1.4rem,3vw,1.9rem);color:var(--off-white);line-height:1.1}
.cs-info p{font-size:.86rem;line-height:1.6;color:rgba(255,248,238,.75);margin-bottom:10px}
.cs-info b{color:var(--gold)}
.cs-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.cs-play,.cs-link{cursor:pointer;border-radius:30px;padding:11px 18px;font:800 .68rem 'Montserrat',sans-serif;letter-spacing:2px;text-transform:uppercase;text-decoration:none}
.cs-play{background:var(--gold);color:var(--brown);border:2px solid var(--gold)}
.cs-link{background:transparent;color:var(--gold);border:2px solid var(--gold)}
@media(max-width:760px){.cs-box{grid-template-columns:1fr;padding:14px;box-shadow:4px 4px 0 var(--brown)}}
#sponsors .section-label { color: var(--brown); }
#sponsors .section-title {
  color: var(--brown);
  text-shadow: 3px 3px 0 rgba(0,0,0,0.1);
}
#sponsors .divider { background: var(--brown); }

.sponsor-packages {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(248px, 1fr));
  gap: 18px;
  max-width: 840px;
  margin: 44px auto 0;
}

.sponsor-pkg {
  background: var(--brown);
  border-radius: 16px;
  padding: 30px 22px;
  text-align: left;
  border: 3px solid var(--dark-brown);
  transition: all 0.2s;
  position: relative;
}

.sponsor-pkg:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 40px rgba(0,0,0,0.22);
}

.sponsor-pkg.featured {
  background: var(--dark-brown);
  border-color: var(--gold);
}

.sponsor-pkg.featured::after {
  content: 'Popular';
  position: absolute;
  top: 14px; right: 14px;
  background: var(--gold);
  color: var(--brown);
  font-weight: 800;
  font-size: 0.6rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
}

.pkg-title {
  font-weight: 900;
  font-size: 1.3rem;
  color: var(--gold);
  text-shadow: 2px 2px 0 rgba(0,0,0,0.25);
  margin-bottom: 10px;
  letter-spacing: -0.5px;
}

.pkg-desc {
  font-weight: 500;
  font-size: 0.8rem;
  color: rgba(255,248,238,0.72);
  line-height: 1.75;
  margin-bottom: 18px;
}

.pkg-features {
  list-style: none;
  margin-bottom: 22px;
}

.pkg-features li {
  font-weight: 600;
  font-size: 0.78rem;
  color: rgba(255,248,238,0.82);
  padding: 5px 0 5px 15px;
  position: relative;
  text-align: left;
}

.pkg-features li::before {
  content: '';
  position: absolute; left: 0; top: 11px;
  width: 5px; height: 5px;
  background: var(--gold);
  border-radius: 50%;
  flex-shrink: 0;
}

.pkg-cta {
  display: block;
  background: var(--gold);
  color: var(--brown);
  font-weight: 800;
  font-size: 0.75rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 13px 24px;
  border-radius: 50px;
  text-decoration: none;
  text-align: center;
  transition: all 0.15s;
}

.pkg-cta:hover {
  background: var(--off-white);
  transform: translateY(-2px);
}

/* FOOTER */
footer {
  background: var(--dark-brown);
  border-top: 3px solid var(--brown);
  padding: 48px 24px;
  text-align: center;
}

.footer-logo img {
  height: 52px;
  display: block;
  margin: 0 auto;
}

.footer-tagline {
  font-weight: 600;
  font-size: 0.68rem;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: rgba(255,248,238,0.35);
  margin-top: 14px;
}

.footer-links {
  display: flex;
  justify-content: center;
  gap: 28px;
  margin-top: 28px;
  flex-wrap: wrap;
}

.footer-links a {
  color: rgba(255,248,238,0.45);
  text-decoration: none;
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  transition: color 0.2s;
}

.footer-links a:hover { color: var(--gold); }

.footer-credit {
  margin-top: 36px;
  font-weight: 500;
  font-size: 0.62rem;
  letter-spacing: 1px;
  color: rgba(255,248,238,0.18);
}

.footer-credit a {
  color: rgba(255,248,238,0.28);
  text-decoration: none;
}

/* TOAST */
.toast {
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%) translateY(100px);
  background: var(--gold);
  color: var(--brown);
  font-weight: 800;
  font-size: 0.82rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 14px 28px;
  border-radius: 50px;
  border: 3px solid var(--brown);
  box-shadow: 4px 4px 0 var(--brown);
  z-index: 9999;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.toast.show { transform: translateX(-50%) translateY(0); }

/* LOGO HOVER GLOW */
.hero-logo {
  cursor: pointer;
  transition: filter 0.3s ease, transform 0.3s ease;
  position: relative;
  z-index: 2;
}

.hero-logo:hover {
  filter: 
    drop-shadow(0 0 12px rgba(255,193,7,0.9))
    drop-shadow(0 0 28px rgba(255,193,7,0.6))
    drop-shadow(0 0 60px rgba(255,193,7,0.3))
    drop-shadow(0 0 100px rgba(255,140,0,0.2));
  transform: scale(1.03);
}

@keyframes logoGlowPulse {
  0%, 100% { filter: drop-shadow(0 0 8px rgba(255,193,7,0.5)) drop-shadow(0 0 20px rgba(255,193,7,0.25)); }
  50% { filter: drop-shadow(0 0 14px rgba(255,193,7,0.8)) drop-shadow(0 0 40px rgba(255,193,7,0.4)); }
}


/* ARTISTS */
#artists {
  background: #050505;
  padding-bottom: 0;
}

.artists-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px 60px;
}

.artist-card {
  background: #0F0F0F;
  border: 2px solid var(--brown);
  border-radius: 14px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 18px;
  transition: all 0.2s;
}

.artist-card:hover {
  border-color: var(--gold);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(255,193,7,0.07);
}

.artist-card--more {
  border-style: dashed;
  opacity: 0.5;
  justify-content: center;
}

.artist-thumb {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--brown);
  border: 2px solid var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.artist-thumb-inner {
  font-weight: 900;
  font-size: 1.2rem;
  color: var(--gold);
}

.artist-name {
  font-weight: 800;
  font-size: 1rem;
  color: var(--off-white);
  letter-spacing: 0.3px;
}

.artist-track {
  font-weight: 500;
  font-size: 0.75rem;
  color: rgba(255,248,238,0.45);
  margin-top: 3px;
  letter-spacing: 0.3px;
}

.artist-tags {
  display: flex;
  gap: 6px;
  margin-top: 8px;
  flex-wrap: wrap;
}

.atag {
  background: rgba(255,193,7,0.12);
  color: var(--gold);
  font-weight: 700;
  font-size: 0.6rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 20px;
}

.atag-loc {
  background: rgba(255,248,238,0.06);
  color: rgba(255,248,238,0.5);
}



/* FAM'LY EXPERIENCE */
#famly {
  background: #0A0A0A;
  border-top: 3px solid #1a1a1a;
  padding: 80px 24px;
}

.famly-inner {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

.famly-logo-wrap {
  margin-bottom: 24px;
}

.famly-logo {
  width: min(360px, 70vw);
  filter: drop-shadow(0 4px 24px rgba(255,255,255,0.1));
}

.famly-title {
  font-weight: 900;
  font-size: clamp(2rem, 5vw, 3.5rem);
  color: var(--off-white);
  letter-spacing: -0.5px;
  line-height: 1;
  margin-top: 8px;
}

.famly-title span {
  color: var(--gold);
  text-shadow: 2px 2px 0 var(--brown);
}

.famly-body {
  font-weight: 500;
  font-size: 0.97rem;
  color: rgba(255,248,238,0.6);
  line-height: 1.9;
  margin-top: 24px;
  letter-spacing: 0.2px;
}

.famly-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 44px;
}

.famly-stat {
  background: #111;
  border: 2px solid #222;
  border-radius: 12px;
  padding: 24px 12px;
  transition: border-color 0.2s;
}

.famly-stat:hover { border-color: var(--gold); }

.famly-stat-num {
  font-weight: 900;
  font-size: 1.6rem;
  color: var(--off-white);
  line-height: 1;
  letter-spacing: -0.5px;
}

.famly-stat-label {
  font-weight: 700;
  font-size: 0.6rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(255,248,238,0.3);
  margin-top: 8px;
}


/* ════════════════════════════════
   MOBILE RESPONSIVE full pass
   ════════════════════════════════ */

/* NAV */
@media (max-width: 768px) {
  nav {
    padding: 10px 16px;
  }
  .nav-logo img {
    height: 48px;
  }
  .nav-links {
    display: none;
  }

  /* HERO */
  #hero {
    padding-top: 60px;
    min-height: 100svh;
  }
  .hero-logo {
    width: min(320px, 88vw);
  }
  .hero-tagline {
    font-size: 0.62rem;
    letter-spacing: 2.5px;
    padding: 0 20px;
    text-align: center;
  }
  .hero-buttons {
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-top: 28px;
    padding: 0 24px;
    width: 100%;
  }
  .btn-primary, .btn-secondary {
    width: 100%;
    max-width: 320px;
    text-align: center;
    font-size: 0.72rem;
    padding: 14px 20px;
  }

  /* SECTION HEADERS */
  .section-header {
    padding: 56px 20px 32px;
  }
  .section-title {
    font-size: clamp(1.8rem, 8vw, 2.8rem);
  }

  /* VIDEO FEED */
  .video-feed {
    max-width: 100%;
  }
  .video-card {
    border-left: none;
    border-right: none;
  }
  .video-artist {
    font-size: 1.5rem;
  }
  .more-card {
    padding: 36px 20px;
  }

  /* ARTISTS SECTION */
  .artists-grid {
    grid-template-columns: 1fr;
    padding: 0 16px 40px;
    gap: 12px;
  }
  .artist-card {
    padding: 14px 16px;
  }

  /* INTERNATIONAL */
  .intl-wrapper {
    padding: 48px 16px;
  }
  .intl-logo {
    width: min(300px, 88vw);
  }
  .intl-body {
    font-size: 0.88rem;
  }
  .intl-tabs {
    max-width: 240px;
  }

  /* APPLY */
  .apply-grid {
    grid-template-columns: 1fr;
    padding: 0 16px;
    gap: 14px;
  }
  .apply-card {
    padding: 24px 20px;
  }
  .form-section {
    padding: 0 16px;
  }
  .form-tabs {
    margin-bottom: 24px;
  }
  .form-tab {
    font-size: 0.68rem;
    padding: 12px 8px;
    letter-spacing: 1px;
  }
  .form-row {
    grid-template-columns: 1fr;
  }
  input, textarea, select {
    font-size: 16px; /* prevents iOS zoom on focus */
  }

  /* SPONSORS */
  #sponsors {
    padding: 56px 16px;
  }
  .sponsor-packages {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  /* ABOUT */
  #about {
    padding: 56px 16px;
  }
  .about-stats {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  .stat-num {
    font-size: 1.5rem;
  }
  .stat-label {
    font-size: 0.55rem;
    letter-spacing: 2px;
  }

  /* FAM'LY */
  #famly {
    padding: 56px 16px;
  }
  .famly-logo {
    width: min(280px, 80vw);
  }
  .famly-title {
    font-size: clamp(1.6rem, 7vw, 2.5rem);
  }
  .famly-stats {
    gap: 10px;
  }
  .famly-stat-num {
    font-size: 1.2rem;
  }

  /* FOOTER */
  footer {
    padding: 36px 16px;
  }
  .footer-logo img {
    height: 44px;
  }
  .footer-links {
    flex-direction: column;
    align-items: center;
    gap: 14px;
  }
  .footer-links a {
    font-size: 0.72rem;
  }

  /* PROFILE BANNER */
  .profile-banner {
    height: 160px;
  }
  .profile-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-top: -40px;
    padding: 0 16px;
  }
  .profile-avatar {
    width: 80px;
    height: 80px;
    font-size: 1.8rem;
  }
  .profile-body {
    grid-template-columns: 1fr;
    padding: 0 16px;
    margin-top: 20px;
  }
}

/* Slightly larger phones / small tablets */
@media (min-width: 480px) and (max-width: 768px) {
  .apply-grid {
    grid-template-columns: 1fr 1fr;
  }
  .form-row {
    grid-template-columns: 1fr 1fr;
  }
}

/* Touch targets make all clickable elements finger-friendly */
@media (hover: none) {
  .btn-primary, .btn-secondary, .btn-submit,
  .form-tab, .intl-tab, .pkg-cta, .nav-btn,
  .video-play-btn, .more-card, .artist-card,
  .artist-card-browse {
    min-height: 44px;
  }
  /* Remove hover transforms on touch avoid sticky states */
  .artist-card:hover,
  .apply-card:hover,
  .sponsor-pkg:hover,
  .stat:hover,
  .famly-stat:hover {
    transform: none;
    box-shadow: none;
  }
  /* Keep button press feel */
  .btn-primary:active { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--brown); }
  .btn-secondary:active { transform: translate(2px, 2px); }
}

/* Hamburger menu for mobile */
.nav-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 4px;
  background: none;
  border: none;
}
.nav-hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--off-white);
  border-radius: 2px;
  transition: all 0.3s;
}
.nav-hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; }
.nav-hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

@media (max-width: 900px) {
  .nav-hamburger { display: flex; }
  .nav-mobile-menu {
    display: none;
    position: fixed;
    top: 60px; left: 0; right: 0;
    background: rgba(10,10,10,0.98);
    backdrop-filter: blur(16px);
    border-bottom: 2px solid var(--brown);
    padding: 20px 24px 28px;
    z-index: 999;
    flex-direction: column;
    gap: 4px;
  }
  .nav-mobile-menu.open { display: flex; }
  .nav-mobile-menu a {
    color: var(--off-white);
    text-decoration: none;
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 14px 0;
    border-bottom: 1px solid var(--border, #1f1f1f);
    display: block;
    transition: color 0.2s;
  }
  .nav-mobile-menu a:last-child { border-bottom: none; }
  .nav-mobile-menu a:hover { color: var(--gold); }
  .nav-mobile-menu .menu-cta {
    margin-top: 12px;
    background: var(--gold);
    color: var(--brown) !important;
    padding: 14px 20px !important;
    border-radius: 50px;
    text-align: center;
    border-bottom: none !important;
  }
}


/* Safe area for notched phones */
nav {
  padding-top: max(10px, env(safe-area-inset-top));
  padding-left: max(28px, env(safe-area-inset-left));
  padding-right: max(28px, env(safe-area-inset-right));
}
footer {
  padding-bottom: max(48px, calc(48px + env(safe-area-inset-bottom)));
}
.hero-scroll-hint {
  bottom: max(30px, calc(30px + env(safe-area-inset-bottom)));
}
@media (max-width: 768px) {
  nav {
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
  }
  .section-header,
  .artists-browse,
  .apply-grid,
  .form-section,
  .about-inner,
  .intl-wrapper,
  .famly-inner {
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
  }
}


.video-overlay {
  transition: opacity 0.3s ease;
}
.video-play-btn {
  transition: background 0.2s, border 0.2s, transform 0.2s, box-shadow 0.2s;
}


/* ── STICKY ACTION BUTTON ── */
.sticky-fab {
  position: fixed;
  bottom: 24px;
  right: 18px;
  z-index: 500;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.sticky-fab-options {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.sticky-fab-options.open {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}

.sticky-fab-option {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  cursor: pointer;
}

.sticky-fab-option-label {
  background: rgba(10,10,10,0.92);
  backdrop-filter: blur(10px);
  color: var(--off-white);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 10px 16px;
  border-radius: 50px;
  border: 2px solid var(--brown);
  white-space: nowrap;
  transition: all 0.15s;
}

.sticky-fab-option:hover .sticky-fab-option-label,
.sticky-fab-option:active .sticky-fab-option-label {
  background: var(--brown);
  border-color: var(--gold);
  color: var(--gold);
}

.sticky-fab-option-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--brown);
  border: 2px solid var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.15s;
}

.sticky-fab-option:hover .sticky-fab-option-icon {
  background: var(--gold);
}

.sticky-fab-option:hover .sticky-fab-option-icon svg {
  fill: var(--brown);
}

.sticky-fab-option-icon svg {
  fill: var(--gold);
  transition: fill 0.15s;
}

.sticky-fab-main {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--gold);
  border: 4px solid var(--brown);
  box-shadow:
    0 0 0 6px rgba(255,193,7,0.25),
    0 0 0 12px rgba(255,193,7,0.1),
    0 8px 32px rgba(255,193,7,0.5),
    4px 4px 0 var(--brown);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: relative;
  animation: fabPulse 2.5s ease-in-out infinite;
}

@keyframes fabPulse {
  0%, 100% {
    box-shadow:
      0 0 0 6px rgba(255,193,7,0.25),
      0 0 0 12px rgba(255,193,7,0.1),
      0 8px 32px rgba(255,193,7,0.5),
      4px 4px 0 var(--brown);
  }
  50% {
    box-shadow:
      0 0 0 10px rgba(255,193,7,0.3),
      0 0 0 20px rgba(255,193,7,0.08),
      0 8px 40px rgba(255,193,7,0.7),
      4px 4px 0 var(--brown);
  }
}

.sticky-fab-main:hover {
  transform: scale(1.12);
  animation: none;
  box-shadow:
    0 0 0 10px rgba(255,193,7,0.3),
    0 0 0 20px rgba(255,193,7,0.1),
    0 10px 40px rgba(255,193,7,0.6),
    4px 4px 0 var(--brown);
}

.sticky-fab-main.open {
  background: var(--brown);
  border-color: var(--gold);
  transform: scale(1.1);
}

.sticky-fab-main svg {
  transition: all 0.25s;
  fill: var(--brown);
}

.sticky-fab-main.open svg {
  fill: var(--gold);
}

/* Safe area on notched phones */
@media (max-width: 768px) {
  .sticky-fab {
    bottom: max(20px, calc(20px + env(safe-area-inset-bottom)));
    right: 16px;
  }
}


/* ── TRADEMARK ── */
.tm {
  font-size: 0.45em;
  vertical-align: super;
  font-weight: 700;
  letter-spacing: 0;
  color: inherit;
  opacity: 0.75;
}
.hero-logo-wrap {
  position: relative;
  display: inline-block;
}
.logo-tm {
  position: absolute;
  top: 8%;
  right: -18px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
  font-size: 0.85rem;
  color: var(--gold);
  opacity: 0.8;
  letter-spacing: 0;
  line-height: 1;
}
@media (max-width: 768px) {
  .logo-tm {
    font-size: 0.65rem;
    right: -14px;
  }
}


/* ── UPLOAD DROP ZONE ── */
.upload-drop-zone {
  position: relative;
  border: 2px dashed var(--brown);
  border-radius: 10px;
  padding: 20px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
  background: #0D0D0D;
}
.upload-drop-zone:hover,
.upload-drop-zone.has-file {
  border-color: var(--gold);
  background: rgba(255,193,7,0.03);
}
.upload-drop-zone input[type=file] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.upload-drop-icon { margin-bottom: 6px; }
.upload-drop-label {
  font-weight: 700;
  font-size: 0.8rem;
  color: rgba(255,248,238,0.5);
  letter-spacing: 0.5px;
}
.upload-drop-label.has-file {
  color: var(--gold);
  font-weight: 800;
}
.upload-drop-sub {
  font-size: 0.65rem;
  color: rgba(255,248,238,0.25);
  margin-top: 4px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* Style all form inputs consistently */
.form-input-styled {
  width: 100%;
  background: #141414;
  border: 2px solid var(--brown);
  border-radius: 10px;
  padding: 13px 16px;
  color: var(--off-white);
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 0.9rem;
  transition: border-color 0.2s;
  outline: none;
  display: block;
}
.form-input-styled:focus { border-color: var(--gold); }
.form-input-styled::placeholder { color: rgba(255,248,238,0.2); }
textarea.form-input-styled { resize: vertical; }
select.form-input-styled option { background: #141414; }

/* Submitting state */
.btn-submit.submitting {
  opacity: 0.6;
  pointer-events: none;
  letter-spacing: 4px;
}


/* Play button hidden until hover */
.video-placeholder .video-play-btn {
  opacity: 0;
  transition: opacity 0.2s ease;
}
.video-placeholder:hover .video-play-btn {
  opacity: 1;
}
/* Always show on touch devices */
@media (hover: none) {
  .video-placeholder .video-play-btn {
    opacity: 1;
  }
}


.hero-logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}



@media (max-width: 860px) {
  
}
@media (max-width: 620px) {
  
}
/* Slightly smaller font size on venue tab button */
.form-tab:nth-child(3) {
  font-size: 0.65rem;
}


@media (max-width: 540px) {
  .form-tabs {
    flex-wrap: wrap;
    border-radius: 14px;
    padding: 4px;
    gap: 4px;
  }
  .form-tab {
    flex: 1 1 calc(50% - 4px);
    border-radius: 10px !important;
    font-size: 0.62rem;
    padding: 10px 6px;
  }
  .form-tab.active {
    border-radius: 10px !important;
  }
}


/* ════════════════════════
   REEL FEED, Instagram style
   ════════════════════════ */


.reel {
  background: #000;
  border-bottom: 3px solid var(--brown);
}

.reel:first-child { border-top: 3px solid var(--brown); }

/* VIDEO */
.reel-video-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 9/16;
  background: #0A0A0A;
  overflow: hidden;
  cursor: pointer;
}

.reel-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.reel-tap-zone {
  position: absolute;
  inset: 0;
  z-index: 4;
}

/* Play indicator */
.reel-play-indicator {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  pointer-events: none;
  transition: opacity 0.2s;
}

.reel-play-icon {
  width: 72px;
  height: 72px;
  background: var(--gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 4px solid var(--brown);
  box-shadow: 0 0 0 8px rgba(255,193,7,0.18);
}

.reel-play-indicator.playing {
  opacity: 0;
}

/* Top bar overlay */
.reel-top-bar {
  position: absolute;
  top: 0; left: 0; right: 0;
  padding: 16px 14px 40px;
  background: linear-gradient(to bottom, rgba(0,0,0,0.75) 0%, transparent 100%);
  display: flex;
  align-items: center;
  gap: 10px;
  z-index: 3;
  pointer-events: none;
}

.reel-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--brown);
  border: 2px solid var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 0.85rem;
  color: var(--gold);
  flex-shrink: 0;
}

.reel-artist-info { flex: 1; }

.reel-artist-name {
  font-weight: 800;
  font-size: 0.88rem;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,0.8);
}

.reel-artist-sub {
  font-weight: 600;
  font-size: 0.68rem;
  color: rgba(255,255,255,0.7);
}

.reel-tag {
  background: var(--gold);
  color: var(--brown);
  font-weight: 800;
  font-size: 0.58rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 20px;
}

/* Bottom bar overlay */
.reel-bottom-bar {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 40px 14px 14px;
  background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 100%);
  z-index: 3;
  pointer-events: none;
}

.reel-track-title {
  font-weight: 800;
  font-size: 1rem;
  color: var(--gold);
  text-shadow: 1px 1px 0 var(--brown);
}

.reel-prod {
  font-weight: 600;
  font-size: 0.7rem;
  color: rgba(255,255,255,0.6);
  margin-top: 2px;
}

/* ACTIONS ROW */
.reel-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 10px 14px;
  background: #0A0A0A;
  border-top: 1px solid var(--border, #1f1f1f);
}

.reel-action-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  color: rgba(255,248,238,0.7);
  cursor: pointer;
  padding: 8px 10px;
  border-radius: 8px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.78rem;
  transition: all 0.15s;
  min-height: 44px;
}

.reel-action-btn:hover {
  color: var(--off-white);
  background: rgba(255,248,238,0.06);
}

.reel-action-btn:last-child { margin-left: auto; }

.heart-icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  transition: all 0.2s;
}

.like-btn.liked .heart-icon {
  fill: #ff4d6d;
  stroke: #ff4d6d;
  animation: heartPop 0.3s cubic-bezier(0.34,1.56,0.64,1);
}

.like-btn.liked {
  color: #ff4d6d;
}

@keyframes heartPop {
  0% { transform: scale(1); }
  50% { transform: scale(1.4); }
  100% { transform: scale(1); }
}

.reel-caption {
  padding: 14px 14px 16px;
  background: #0A0A0A;
  border-top: 1px solid var(--border, #1f1f1f);
  color: rgba(255,248,238,0.85);
  font-size: 0.85rem;
  line-height: 1.55;
}

.reel-caption p { margin: 0 0 10px; }
.reel-caption p:last-child { margin-bottom: 0; }

.reel-caption-lineup {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}

.reel-caption-chip {
  background: rgba(255,193,7,0.1);
  border: 1px solid rgba(255,193,7,0.35);
  color: var(--gold);
  font-weight: 700;
  font-size: 0.72rem;
  padding: 4px 10px;
  border-radius: 999px;
  white-space: nowrap;
}

.reel-caption-cta {
  color: var(--gold);
  font-weight: 700;
  text-decoration: underline;
}

/* COMMENTS PANEL */
.reel-comments-panel {
  display: none;
  background: #0D0D0D;
  border-top: 1px solid var(--border, #1f1f1f);
  padding: 12px 14px 14px;
}

.reel-comments-panel.open {
  display: block;
}

.comments-list {
  max-height: 200px;
  overflow-y: auto;
  margin-bottom: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.comments-list:empty::after {
  content: 'No comments yet. Be the first.';
  font-size: 0.75rem;
  color: rgba(255,248,238,0.25);
  font-weight: 600;
  letter-spacing: 0.5px;
  display: block;
  padding: 8px 0;
}

.comment-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.comment-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--brown);
  border: 1px solid rgba(255,193,7,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.65rem;
  color: var(--gold);
  flex-shrink: 0;
  margin-top: 1px;
}

.comment-body { flex: 1; min-width: 0; }

.comment-name {
  font-weight: 800;
  font-size: 0.72rem;
  color: var(--gold);
  margin-bottom: 2px;
}

.comment-text {
  font-weight: 500;
  font-size: 0.82rem;
  color: rgba(255,248,238,0.8);
  line-height: 1.5;
  word-break: break-word;
}

.comment-time {
  font-size: 0.6rem;
  color: rgba(255,248,238,0.25);
  margin-top: 3px;
  font-weight: 600;
  letter-spacing: 0.5px;
}

/* COMMENT INPUT */
.comment-input-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

.comment-input {
  flex: 1;
  background: #1A1A1A;
  border: 1.5px solid var(--brown);
  border-radius: 50px;
  padding: 10px 16px;
  color: var(--off-white);
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 0.82rem;
  outline: none;
  transition: border-color 0.2s;
  min-height: 44px;
}

.comment-input:focus { border-color: var(--gold); }
.comment-input::placeholder { color: rgba(255,248,238,0.2); }

.comment-post-btn {
  background: var(--gold);
  color: var(--brown);
  border: none;
  border-radius: 50px;
  padding: 10px 18px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 0.72rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.15s;
  min-height: 44px;
  white-space: nowrap;
}

.comment-post-btn:hover { background: var(--deep-gold); }

/* Name prompt modal */
.name-modal {
  position: fixed;
  inset: 0;
  z-index: 8000;
  background: rgba(0,0,0,0.8);
  backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.name-modal-box {
  background: var(--dark, #111);
  border: 2px solid var(--brown);
  border-radius: 20px;
  padding: 32px 28px;
  width: 100%;
  max-width: 360px;
  text-align: center;
}

.name-modal-title {
  font-weight: 900;
  font-size: 1.3rem;
  color: var(--off-white);
  margin-bottom: 6px;
}

.name-modal-sub {
  font-size: 0.78rem;
  color: rgba(255,248,238,0.5);
  margin-bottom: 20px;
  line-height: 1.6;
}

/* Supabase notice */
.supabase-notice {
  max-width: 480px;
  margin: 0 auto 0;
  padding: 10px 16px;
  background: rgba(255,193,7,0.05);
  border-top: 1px solid rgba(255,193,7,0.1);
  text-align: center;
  font-size: 0.65rem;
  color: rgba(255,248,238,0.2);
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
}


/* Platform selector */
.platform-selector {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 4px;
}

.platform-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #1A1A1A;
  border: 1.5px solid var(--brown);
  border-radius: 10px;
  padding: 11px 12px;
  color: var(--off-white);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.72rem;
  cursor: pointer;
  transition: all 0.15s;
  text-align: left;
  min-height: 44px;
}

.platform-btn:hover {
  border-color: var(--gold);
  background: rgba(255,193,7,0.05);
}

.platform-icon {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.handle-prefix-row {
  display: flex;
  align-items: center;
  gap: 0;
  background: #1A1A1A;
  border: 1.5px solid var(--brown);
  border-radius: 10px;
  overflow: hidden;
  transition: border-color 0.2s;
}

.handle-prefix-row:focus-within {
  border-color: var(--gold);
}

.handle-prefix {
  padding: 0 12px;
  font-weight: 800;
  font-size: 1rem;
  color: var(--gold);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  border-right: 1px solid var(--brown);
  min-height: 44px;
}

.handle-prefix-row .comment-input {
  border: none;
  border-radius: 0;
  background: transparent;
  padding-left: 12px;
}

.handle-prefix-row .comment-input:focus {
  border: none;
}

.comment-platform-badge {
  display: inline-flex;
  align-items: center;
  margin-right: 5px;
  vertical-align: middle;
  position: relative;
  top: -1px;
}


/* ── THUMBNAILS ── */
.reel-thumbnail {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  z-index: 2;
  transition: opacity 0.3s ease;
}

.reel-thumbnail.hidden {
  opacity: 0;
  pointer-events: none;
}

/* ── FULLSCREEN REEL PLAYER ── */
#fs-reel-player {
  position: fixed;
  inset: 0;
  z-index: 9000;
  background: #000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  touch-action: pan-y;
}

#fs-reel-video {
  position: relative !important;
  inset: auto !important;
  width: min(100vw, calc(100svh * 9 / 16));
  height: min(100svh, calc(100vw * 16 / 9));
  max-width: 100vw;
  max-height: 100svh;
  border: none;
  z-index: 1;
}

.fs-close-btn {
  position: absolute;
  top: max(16px, env(safe-area-inset-top));
  left: 16px;
  z-index: 10;
  background: rgba(0,0,0,0.55);
  border: none;
  color: #fff;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 1.1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px);
}

.fs-top-bar {
  position: absolute;
  top: max(16px, env(safe-area-inset-top));
  left: 60px;
  right: 16px;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 10px;
  pointer-events: none;
}

.fs-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--brown);
  border: 2px solid var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 0.8rem;
  color: var(--gold);
  flex-shrink: 0;
}

.fs-artist-name {
  font-weight: 800;
  font-size: 0.88rem;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,0.8);
}

.fs-track {
  font-size: 0.7rem;
  color: rgba(255,255,255,0.7);
  margin-top: 1px;
}

.fs-bottom-bar {
  position: absolute;
  bottom: max(20px, env(safe-area-inset-bottom));
  left: 0;
  right: 60px;
  z-index: 10;
  padding: 0 16px;
  pointer-events: none;
}

.fs-track-title {
  font-weight: 900;
  font-size: 1.1rem;
  color: var(--gold);
  text-shadow: 1px 1px 0 var(--brown);
}

.fs-prod {
  font-size: 0.7rem;
  color: rgba(255,255,255,0.55);
  margin-top: 2px;
}

.fs-actions {
  position: absolute;
  right: 12px;
  bottom: max(80px, calc(80px + env(safe-area-inset-bottom)));
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.fs-action-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.65rem;
  padding: 4px;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,0.7));
}

.fs-heart {
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  transition: all 0.2s;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,0.5));
}

.fs-action-btn.liked .fs-heart {
  fill: #ff4d6d;
  stroke: #ff4d6d;
  animation: heartPop 0.3s cubic-bezier(0.34,1.56,0.64,1);
}

.fs-action-btn.liked {
  color: #ff4d6d;
}

.fs-progress {
  position: absolute;
  bottom: max(16px, env(safe-area-inset-bottom));
  left: 16px;
  right: 16px;
  height: 3px;
  background: rgba(255,255,255,0.25);
  border-radius: 2px;
  z-index: 10;
  cursor: pointer;
}

.fs-progress-fill {
  height: 100%;
  background: var(--gold);
  border-radius: 2px;
  width: 0%;
  transition: width 0.5s linear;
  pointer-events: none;
}

/* Pause indicator in fullscreen */
.fs-pause-indicator {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s;
}

.fs-pause-indicator.show {
  opacity: 1;
}

.fs-pause-circle {
  width: 72px;
  height: 72px;
  background: rgba(0,0,0,0.5);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px);
}

/* Thumbnail upload section in reel */
.reel-thumb-upload {
  background: #0A0A0A;
  border-top: 1px solid var(--border, #1f1f1f);
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.thumb-upload-label {
  font-weight: 700;
  font-size: 0.65rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,248,238,0.35);
  flex: 1;
}

.thumb-upload-btn {
  background: transparent;
  border: 1.5px solid var(--brown);
  border-radius: 50px;
  color: rgba(255,248,238,0.6);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.65rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 7px 14px;
  cursor: pointer;
  transition: all 0.2s;
  position: relative;
  overflow: hidden;
}

.thumb-upload-btn input[type=file] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  width: 100%;
}

.thumb-upload-btn:hover {
  border-color: var(--gold);
  color: var(--gold);
}

.thumb-preview {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  object-fit: cover;
  border: 1.5px solid var(--gold);
  display: none;
}


.reel-yt-iframe {
  pointer-events: none;
}
/* Hide progress bar in fs since YouTube has its own */
.fs-progress { display: none; }


/* Snap scroll hints */
.fs-next-hint, .fs-prev-hint {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.62rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  pointer-events: none;
  z-index: 10;
}
.fs-next-hint { bottom: max(28px, calc(28px + env(safe-area-inset-bottom))); }
.fs-prev-hint { top: max(60px, calc(60px + env(safe-area-inset-top))); }

/* Show progress bar */
.fs-progress { display: none !important; }

/* Remove YouTube iframe CSS that's no longer needed */


/* ── VIDEO LOADING SKELETON ── */
.reel-video-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    #1A0800 0%,
    #2A1200 40%,
    #1A0800 80%
  );
  background-size: 200% 100%;
  animation: shimmer 1.8s infinite;
  z-index: 0;
}

@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.reel-video-wrap.loaded::before {
  display: none;
}


/* Desktop: keep feed portrait-sized and centred */
@media (min-width: 500px) {
  
  .reel {
    border-left: 2px solid var(--brown);
    border-right: 2px solid var(--brown);
  }
}


/* ── DESKTOP FEED FIX ── */
#videos {
  background: #050505;
}

.reel-feed-outer {
  display: flex;
  justify-content: center;
  padding: 0 0 60px;
  background: #050505;
}



@media (min-width: 900px) {
  .reel-feed-outer {
    gap: 40px;
    align-items: flex-start;
    padding: 0 40px 60px;
  }
  
}

@media (max-width: 500px) {
  
}


/* ── REEL FEED, single definitive rule ── */
.reel-feed {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  padding: 0 0 60px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.reel {
  background: #000;
  border-bottom: 3px solid var(--brown);
}

.reel:first-child { border-top: 3px solid var(--brown); }

@media (min-width: 600px) {
  .reel-feed {
    max-width: 400px;
    border-left: 2px solid var(--brown);
    border-right: 2px solid var(--brown);
    box-shadow: 0 0 80px rgba(0,0,0,0.5);
  }
}


/* ── T&C MODAL ── */
.tc-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9500;
  background: rgba(0,0,0,0.88);
  backdrop-filter: blur(6px);
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.tc-modal-overlay.open { display: flex; }

.tc-modal {
  background: var(--dark);
  border: 2px solid var(--brown);
  border-radius: 20px;
  width: 100%;
  max-width: 640px;
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.tc-modal-header {
  padding: 20px 24px 16px;
  border-bottom: 1px solid var(--border, #1f1f1f);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

.tc-modal-title {
  font-weight: 900;
  font-size: 1.1rem;
  color: var(--gold);
  letter-spacing: -0.5px;
}

.tc-modal-close {
  background: none;
  border: none;
  color: rgba(255,248,238,0.4);
  font-size: 1.2rem;
  cursor: pointer;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.2s;
}
.tc-modal-close:hover { background: rgba(255,248,238,0.08); color: var(--off-white); }

.tc-modal-body {
  padding: 20px 24px;
  overflow-y: auto;
  flex: 1;
}

.tc-section {
  margin-bottom: 24px;
}

.tc-section-title {
  font-weight: 800;
  font-size: 0.72rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
}

.tc-text {
  font-weight: 500;
  font-size: 0.82rem;
  color: rgba(255,248,238,0.65);
  line-height: 1.8;
}

.tc-text strong {
  color: var(--off-white);
  font-weight: 700;
}

.tc-modal-footer {
  padding: 16px 24px;
  border-top: 1px solid var(--border, #1f1f1f);
  flex-shrink: 0;
}

/* T&C checkbox */
.tc-checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
  padding: 14px 16px;
  background: rgba(255,193,7,0.05);
  border: 1px solid rgba(255,193,7,0.15);
  border-radius: 10px;
}

.tc-checkbox-row input[type=checkbox] {
  width: 18px;
  height: 18px;
  accent-color: var(--gold);
  flex-shrink: 0;
  margin-top: 2px;
  cursor: pointer;
}

.tc-checkbox-label {
  font-weight: 600;
  font-size: 0.82rem;
  color: rgba(255,248,238,0.7);
  line-height: 1.6;
  cursor: pointer;
}

.tc-checkbox-label a {
  color: var(--gold);
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,193,7,0.3);
}
.tc-checkbox-label a:hover { border-color: var(--gold); }

/* Make artist section more prominent */
.apply-hero {
  max-width: 840px;
  margin: 0 auto 32px;
  padding: 0 24px;
  text-align: center;
}
.apply-hero-title {
  font-weight: 900;
  font-size: clamp(1.8rem, 4vw, 3rem);
  color: var(--off-white);
  letter-spacing: -0.5px;
  margin-bottom: 10px;
}
.apply-hero-title span { color: var(--gold); text-shadow: 2px 2px 0 var(--brown); }
.apply-hero-sub {
  font-weight: 500;
  font-size: 0.92rem;
  color: rgba(255,248,238,0.55);
  line-height: 1.7;
  max-width: 560px;
  margin: 0 auto 24px;
}
.apply-hero-cta {
  display: inline-block;
  background: var(--gold);
  color: var(--brown);
  font-weight: 900;
  font-size: 0.9rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 16px 40px;
  border-radius: 50px;
  border: 3px solid var(--brown);
  box-shadow: 4px 4px 0 var(--brown);
  cursor: pointer;
  transition: all 0.15s;
  text-decoration: none;
}
.apply-hero-cta:hover { transform: translate(-2px,-2px); box-shadow: 6px 6px 0 var(--brown); }


.fab-label {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 0.58rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold);
  text-align: center;
  margin-top: 4px;
  text-shadow: 0 2px 8px rgba(0,0,0,0.8);
}


/* ══════════════════════════════
   JUKEBOX
   ══════════════════════════════ */
.jukebox {
  max-width: 700px;
  margin: 0 auto 60px;
  padding: 0 24px;
}

.jukebox-player {
  background: linear-gradient(135deg, #1A0800 0%, #0D0400 100%);
  border: 3px solid var(--brown);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 40px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,193,7,0.1);
  margin-bottom: 16px;
}

.jukebox-now-playing {
  background: #0A0300;
  border-bottom: 2px solid var(--brown);
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.jukebox-vinyl {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #333, #000);
  border: 3px solid #222;
  flex-shrink: 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.jukebox-vinyl::after {
  content: '';
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--gold);
  position: absolute;
}

.jukebox-vinyl.spinning {
  animation: vinylSpin 2s linear infinite;
}

@keyframes vinylSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.jukebox-track-info { flex: 1; min-width: 0; }

.jukebox-track-name {
  font-weight: 900;
  font-size: 1rem;
  color: var(--gold);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: -0.3px;
}

.jukebox-track-artist {
  font-weight: 600;
  font-size: 0.75rem;
  color: rgba(255,248,238,0.5);
  margin-top: 2px;
}

.jukebox-play-count-display {
  font-weight: 800;
  font-size: 0.65rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,193,7,0.5);
  text-align: right;
  white-space: nowrap;
}

.jukebox-play-count-display span {
  display: block;
  font-size: 1.2rem;
  color: var(--gold);
  letter-spacing: -1px;
}

.jukebox-controls {
  padding: 14px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.jb-ctrl {
  background: none;
  border: none;
  cursor: pointer;
  color: rgba(255,248,238,0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  border-radius: 50%;
  transition: all 0.15s;
  min-width: 36px;
  min-height: 36px;
}

.jb-ctrl:hover { color: var(--gold); background: rgba(255,193,7,0.08); }

.jb-play {
  width: 48px;
  height: 48px;
  background: var(--gold);
  border-radius: 50%;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
  box-shadow: 0 4px 16px rgba(255,193,7,0.4);
  flex-shrink: 0;
}

.jb-play:hover { transform: scale(1.08); box-shadow: 0 6px 24px rgba(255,193,7,0.5); }

.jb-progress-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.jb-progress {
  width: 100%;
  height: 4px;
  background: rgba(255,193,7,0.15);
  border-radius: 2px;
  cursor: pointer;
  position: relative;
}

.jb-progress-fill {
  height: 100%;
  background: var(--gold);
  border-radius: 2px;
  width: 0%;
  transition: width 0.4s linear;
  pointer-events: none;
}

.jb-time-row {
  display: flex;
  justify-content: space-between;
  font-size: 0.62rem;
  font-weight: 700;
  color: rgba(255,248,238,0.3);
  font-variant-numeric: tabular-nums;
}

.jb-volume {
  width: 60px;
  height: 3px;
  accent-color: var(--gold);
  cursor: pointer;
  flex-shrink: 0;
}

/* TRACK LIST */
.jukebox-tracklist {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.jb-track {
  background: #0F0F0F;
  border: 2px solid var(--border, #1f1f1f);
  border-radius: 12px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  transition: all 0.2s;
}

.jb-track:hover {
  border-color: var(--brown);
  background: #161616;
}

.jb-track.active {
  border-color: var(--gold);
  background: rgba(255,193,7,0.05);
}

.jb-track-num {
  font-weight: 800;
  font-size: 0.72rem;
  color: rgba(255,248,238,0.2);
  width: 18px;
  text-align: center;
  flex-shrink: 0;
}

.jb-track.active .jb-track-num {
  color: var(--gold);
}

.jb-track-mini-play {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--brown);
  border: 2px solid rgba(255,193,7,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.15s;
}

.jb-track:hover .jb-track-mini-play,
.jb-track.active .jb-track-mini-play {
  background: var(--gold);
  border-color: var(--brown);
}

.jb-track.active .jb-track-mini-play svg { fill: var(--brown); }

.jb-track-details { flex: 1; min-width: 0; }

.jb-track-title {
  font-weight: 800;
  font-size: 0.88rem;
  color: var(--off-white);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.jb-track.active .jb-track-title { color: var(--gold); }

.jb-track-meta {
  font-weight: 600;
  font-size: 0.68rem;
  color: rgba(255,248,238,0.35);
  margin-top: 2px;
}

.jb-track-stats {
  text-align: right;
  flex-shrink: 0;
}

.jb-play-count {
  font-weight: 800;
  font-size: 0.82rem;
  color: var(--gold);
}

.jb-play-label {
  font-weight: 600;
  font-size: 0.6rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,248,238,0.25);
}

@media (max-width: 500px) {
  .jb-volume { display: none; }
  .jukebox { padding: 0 16px; }
}


/* ── APPLY OPTIONS ── */
.apply-options {
  max-width: 840px;
  margin: 0 auto 40px;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

@media (max-width: 560px) {
  .apply-options { grid-template-columns: 1fr; }
}

.apply-option {
  background: #0F0F0F;
  border: 2px solid var(--border, #1f1f1f);
  border-radius: 14px;
  padding: 20px 20px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 14px;
  position: relative;
}

.apply-option:hover {
  border-color: var(--brown);
  background: #141414;
  transform: translateX(4px);
}

.apply-option--featured {
  background: linear-gradient(135deg, #1A0800, #0F0500);
  border-color: var(--brown);
  grid-column: 1 / -1;
  padding: 24px 20px;
}

.apply-option--featured:hover {
  border-color: var(--gold);
  box-shadow: 0 6px 28px rgba(255,193,7,0.1);
  transform: translateX(4px);
}

.apply-option-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.2s;
}

.apply-option:not(.apply-option--featured) .apply-option-icon {
  background: var(--brown);
  width: 42px;
  height: 42px;
}

.apply-option:not(.apply-option--featured) .apply-option-icon svg {
  fill: var(--gold);
}

.apply-option:hover .apply-option-icon {
  background: var(--gold);
}

.apply-option:hover .apply-option-icon svg {
  fill: var(--brown);
}

.apply-option-label {
  font-weight: 900;
  font-size: 1rem;
  color: var(--off-white);
  letter-spacing: -0.3px;
}

.apply-option--featured .apply-option-label {
  font-size: 1.2rem;
  color: var(--gold);
}

.apply-option-desc {
  font-weight: 500;
  font-size: 0.75rem;
  color: rgba(255,248,238,0.4);
  margin-top: 2px;
}

.apply-option-arrow {
  margin-left: auto;
  font-size: 1.2rem;
  color: rgba(255,248,238,0.2);
  transition: all 0.2s;
  flex-shrink: 0;
}

.apply-option:hover .apply-option-arrow {
  color: var(--gold);
  transform: translateX(4px);
}

/* Remove old apply-card styles on mobile that might conflict */
@media (max-width: 560px) {
  .apply-option--featured { grid-column: 1; }
}


/* ── ARTIST APPLY SECTION ── */
.artist-apply-wrap {
  max-width: 960px;
  margin: 32px auto 0;
  padding: 0 24px 60px;
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 40px;
  align-items: start;
}

@media (max-width: 720px) {
  .artist-apply-wrap { grid-template-columns: 1fr; gap: 24px; }
}

.artist-apply-info {
  position: sticky;
  top: 80px;
}

.artist-apply-info-title {
  font-weight: 900;
  font-size: clamp(1.4rem, 3vw, 2rem);
  color: var(--off-white);
  letter-spacing: -0.5px;
  margin-bottom: 12px;
  line-height: 1.2;
}

.artist-apply-info-body {
  font-weight: 500;
  font-size: 0.88rem;
  color: rgba(255,248,238,0.55);
  line-height: 1.85;
  margin-bottom: 24px;
}

.artist-apply-perks {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.artist-apply-perk {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  font-size: 0.82rem;
  color: rgba(255,248,238,0.65);
}

.perk-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
  box-shadow: 0 0 6px rgba(255,193,7,0.4);
}

.artist-apply-form-box {
  background: #0F0F0F;
  border: 2px solid var(--brown);
  border-radius: 16px;
  padding: 28px 24px;
  position: relative;
  overflow: hidden;
}

.artist-apply-form-box::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--gold);
}

/* WORK WITH US - apply-options 3 cols */
#work-with-us .apply-options {
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 600px) {
  #work-with-us .apply-options { grid-template-columns: 1fr; }
}


/* ── TC DOCS ── */
.tc-docs {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tc-doc-link {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255,193,7,0.06);
  border: 1px solid rgba(255,193,7,0.15);
  border-radius: 10px;
  padding: 12px 14px;
  color: var(--off-white);
  text-decoration: none;
  font-weight: 700;
  font-size: 0.82rem;
  transition: all 0.2s;
}

.tc-doc-link:hover {
  background: rgba(255,193,7,0.12);
  border-color: rgba(255,193,7,0.35);
  color: var(--gold);
}

.spin16-header-logo {
  max-width: 520px;
  width: 100%;
  height: auto;
  margin: 0 auto 14px;
  display: block;
}
.spin16-header-tagline {
  color: var(--off-white);
  font-size: 1.05rem;
  max-width: 600px;
  margin: 0 auto 18px;
  line-height: 1.6;
  opacity: 0.9;
  text-align: center;
}
.spin16-header-cities {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 auto 20px;
}
.spin16-header-chip {
  border: 2px solid var(--gold);
  color: var(--gold);
  border-radius: 999px;
  padding: 6px 16px;
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.spin16-header-apply {
  text-align: center;
  margin-bottom: 8px;
}

/* ---- */

/* ===== MOBILE POLISH ===== */
@media (max-width:768px){
  .nav-hamburger{min-width:44px;min-height:44px;display:flex;flex-direction:column;justify-content:center;align-items:center}
  #watch .odb-chip{padding:11px 14px;font-size:.66rem}
  #watch .odb-tab{padding:13px 14px}
  #collabs .odb-collab-count button,#join .jt-card button{padding:12px 16px}
  #numbers .odb-stat span,#shorts .odb-views,#growth .gr-why-label{font-size:.68rem}
  #odb-series-link{display:inline-block;padding:10px 0}
  .footer-links a{display:inline-block;padding:10px 8px}
  .footer-links{row-gap:0}
  .odb-stat span,.odb-views,.gr-why-label{font-size:.68rem}
  .hero-tagline{font-size:.72rem}
  .tc-checkbox-row input[type=checkbox]{width:22px;height:22px;flex:none}
  .pu-note a{display:inline-block;padding:6px 0}
  .odb-collab-count button,.jt-card button{padding:11px 16px}
  .odb-chips{gap:8px}
  .odb-modal-inner{margin-top:40px}
  .sticky-fab{align-items:flex-end !important;right:12px !important}
  .sticky-fab-main{transform:scale(.72);transform-origin:bottom right}
}
/* invisible FAB area must never block taps underneath */
.sticky-fab{pointer-events:none}
.sticky-fab-main,.sticky-fab-options.open,.sticky-fab-options.open *{pointer-events:auto}
@media(max-width:768px){
  .tc-checkbox-label{text-transform:none !important;letter-spacing:0 !important;font-size:.8rem !important;line-height:1.55 !important}
}

/* ---- */

.odb-social{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.odb-social a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:30px;border:2px solid var(--brown);background:#111;color:var(--off-white);text-decoration:none;font-weight:800;font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;transition:all .15s}
.odb-social a:hover{background:var(--gold);color:var(--brown);border-color:var(--gold)}
.odb-follow{text-align:center;margin-top:28px}
.odb-follow p{font-size:.64rem;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-weight:800;margin-bottom:12px}
footer .odb-social{margin:18px 0 6px}
footer .odb-social span{display:none}
footer .odb-social a{padding:10px;border-radius:50%;width:46px;height:46px;justify-content:center}

/* ---- */

/* ---- collapsible sections ---- */
section[data-collapse]:not(.open) .sec-body{display:none}
.sec-toggle-wrap{text-align:center;padding:0 16px}
section[data-collapse].open .sec-toggle-wrap{margin-bottom:26px}
.sec-teaser{max-width:620px;margin:0 auto 16px;color:rgba(255,248,238,.72);font-size:.92rem;line-height:1.6}
.sec-toggle{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 26px;border-radius:40px;border:2px solid var(--gold);background:transparent;color:var(--gold);font-family:'Montserrat',sans-serif;font-weight:800;font-size:.78rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s}
.sec-toggle:hover{background:var(--gold);color:var(--brown)}
.sec-toggle i{font-style:normal;transition:transform .25s;font-size:.9rem}
section[data-collapse].open .sec-toggle i{transform:rotate(180deg)}
section[data-collapse]:not(.open){padding-bottom:56px!important}
#apply .sec-toggle{background:var(--gold);color:var(--brown)}
#sponsors .sec-teaser{color:var(--dark-brown);font-weight:600}
#sponsors .sec-toggle{border-color:var(--dark-brown);color:var(--dark-brown)}
#sponsors .sec-toggle:hover{background:var(--dark-brown);color:var(--gold)}

/* ---- */
.odb-modal-links{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.odb-modal-links a{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border-radius:20px;border:2px solid var(--gold)}#odb-modal-watch{background:var(--gold);color:var(--brown)!important}@media(max-width:600px){.odb-modal-title{flex-wrap:wrap}.odb-modal-links a{font-size:.6rem!important;letter-spacing:1px!important}}
/* ---- */

.hc-wrap{max-width:1150px;margin:0 auto;padding:0 16px;display:grid;grid-template-columns:.8fr 1.6fr;gap:28px;align-items:center}
.hc-title{font-weight:900;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1;text-shadow:3px 3px 0 var(--brown);margin:4px 0 12px}
.hc-title span{color:var(--gold)}
.hc-new{display:inline-block;background:#E63946;color:#fff;padding:3px 9px;border-radius:12px;margin-right:6px;letter-spacing:2px}
.hc-text p:not(.section-label){color:rgba(255,248,238,.78);line-height:1.6;margin-bottom:18px;font-size:.95rem}
.hc-text b{color:var(--gold)}
.hc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hc-card{display:block;text-decoration:none;color:inherit;background:#111;border:2px solid #1f1f1f;border-radius:14px;overflow:hidden;transition:border-color .15s,transform .15s}
.hc-card:hover{border-color:var(--gold);transform:translateY(-3px)}
.hc-img{position:relative;aspect-ratio:1/1;background:#fff;display:flex;align-items:center;justify-content:center}
.hc-img img.worn{opacity:0;transition:opacity .35s;object-position:50% 18%}@media(hover:hover){.hc-card:hover .hc-img img.worn{opacity:1}}.hc-img svg{width:80%;height:auto}.hc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hc-meta{padding:10px 12px;display:flex;justify-content:space-between;gap:8px;align-items:center}
.hc-meta b{font-size:.78rem;line-height:1.3;text-align:left}.hc-meta span{color:var(--gold);font-weight:900}
@media(max-width:820px){.hc-wrap{grid-template-columns:1fr;text-align:center}.hc-text .section-label{text-align:center!important}}
@media(max-width:480px){.hc-grid{gap:8px}.hc-meta{flex-direction:column;align-items:flex-start;padding:8px}.hc-meta b{font-size:.66rem}}

/* ---- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* ---- */

/* tidy desktop nav */
.nav-links a{white-space:nowrap;padding:8px 12px;letter-spacing:1.6px}
.nav-links .nav-cta{padding:9px 20px;margin-left:6px}
@media(max-width:1100px) and (min-width:769px){.nav-links{gap:2px}.nav-links a{padding:8px 9px;font-size:.66rem;letter-spacing:1.2px}}
@media(max-width:900px){.nav-links{display:none}.nav-hamburger{display:flex}}

/* ---- */

.ex-wrap{max-width:1100px;margin:0 auto 28px;padding:0 16px}
.ex-card{display:grid;grid-template-columns:1.3fr 1fr;gap:0;width:100%;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer;background:linear-gradient(135deg,#1a0c00,#0d0d0d);border:2px solid var(--gold);border-radius:18px;overflow:hidden;box-shadow:0 0 0 4px rgba(255,193,7,.12);transition:transform .15s}
.ex-card:hover{transform:translateY(-3px)}
.ex-thumb{position:relative;aspect-ratio:16/9;background:#000}
.ex-thumb img{width:100%;height:100%;object-fit:cover;display:block;color:transparent;font-size:0}
.ex-flag{position:absolute;top:12px;left:12px;background:#E63946;color:#fff;font-weight:900;font-size:.66rem;letter-spacing:2px;text-transform:uppercase;padding:6px 11px;border-radius:14px;animation:exPulse 2s infinite}
@keyframes exPulse{50%{box-shadow:0 0 0 6px rgba(230,57,70,.25)}}
.ex-play{position:absolute;inset:0;margin:auto;width:66px;height:66px;border-radius:50%;background:var(--gold);border:3px solid var(--brown);box-shadow:3px 3px 0 var(--brown);display:flex;align-items:center;justify-content:center}
.ex-info{padding:24px 22px;display:flex;flex-direction:column;justify-content:center}
.ex-kicker{font-size:.62rem;letter-spacing:2.5px;text-transform:uppercase;font-weight:800;color:var(--gold);margin-bottom:8px}
.ex-info h3{font-weight:900;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1;color:var(--off-white);text-shadow:3px 3px 0 var(--brown)}
.ex-info h3 span{color:var(--gold)}
.ex-sub{margin:8px 0 10px;font-size:.78rem;font-weight:700;color:rgba(255,248,238,.6)}
.ex-txt{font-size:.88rem;line-height:1.6;color:rgba(255,248,238,.8);margin-bottom:16px}
.ex-btn{align-self:flex-start;background:var(--gold);color:var(--brown);font-weight:900;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;padding:12px 20px;border-radius:30px;border:3px solid var(--brown)}
@media(max-width:760px){.ex-card{grid-template-columns:1fr}.ex-info{padding:18px 16px 20px}}
/* footer newsletter */
.nl-foot{max-width:520px;margin:0 auto 26px;text-align:center}
.nl-foot p{font-weight:800;font-size:.82rem;color:var(--off-white);margin-bottom:10px}.nl-foot p b{color:var(--gold)}
.nl-foot form{display:flex;gap:8px}
.nl-foot input{flex:1;min-width:0;background:#050505;border:1px solid #333;border-radius:40px;color:#FFF8EE;font:500 16px 'Montserrat',sans-serif;padding:12px 16px}
.nl-foot button{background:var(--gold);color:var(--brown);border:0;border-radius:40px;padding:0 20px;font:900 .72rem 'Montserrat',sans-serif;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.nl-foot .ok{color:#7CFC9A;font-weight:700}

/* ---- */

.odb-ico{display:inline-block;vertical-align:middle;filter:drop-shadow(2px 2px 0 #5C1A00);overflow:visible}
.odb-ico-sm{display:inline-block;vertical-align:-1px;margin-right:6px}
.sf-points b .odb-ico{width:54px;height:54px;margin-bottom:4px}

/* ---- */

.fp-cta{display:flex;flex-direction:column;justify-content:center;gap:12px;text-align:center}
.fp-cta-title{font-weight:900;font-size:1.5rem;color:var(--off-white);line-height:1.15}
.fp-cta-txt{font-size:.9rem;line-height:1.6;color:rgba(255,248,238,.72)}
.fp-cta-btn{align-self:center;text-decoration:none}
.fp-cta-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:4px}
.fp-cta-links a{font-size:.7rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--gold);border:1px solid rgba(255,193,7,.4);border-radius:20px;padding:8px 12px;text-decoration:none}

/* ---- */
.footer-logo img{height:auto!important;width:340px!important;max-width:80vw}@media(max-width:600px){.footer-logo img{width:240px!important}}
/* ---- */

@keyframes footLogoGlow{0%,100%{filter:drop-shadow(0 0 8px rgba(255,193,7,.5)) drop-shadow(0 0 20px rgba(255,193,7,.25))}50%{filter:drop-shadow(0 0 14px rgba(255,193,7,.85)) drop-shadow(0 0 40px rgba(255,193,7,.45))}}
.footer-logo img{animation:footLogoGlow 3s ease-in-out infinite;transition:transform .3s ease;cursor:pointer}
.footer-logo img:hover{animation:none;filter:drop-shadow(0 0 12px rgba(255,193,7,.9)) drop-shadow(0 0 28px rgba(255,193,7,.6)) drop-shadow(0 0 60px rgba(255,193,7,.3)) drop-shadow(0 0 100px rgba(255,140,0,.2));transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.footer-logo img{animation:none}}

/* ---- */

/* highlighted tagline (YouTube banner style) */
.hero-tagline,.footer-tagline{font-weight:900!important;color:#fff!important;letter-spacing:1.5px!important;text-shadow:0 2px 6px rgba(0,0,0,.55);line-height:2.1!important}
.hero-tagline{font-size:clamp(.8rem,2.2vw,1.15rem)!important}
.tg-hl{display:inline;background:#5C1A00;color:#FFC107;padding:3px 9px;border-radius:8px;box-decoration-break:clone;-webkit-box-decoration-break:clone;text-shadow:none;box-shadow:0 2px 0 rgba(0,0,0,.35)}
@media(max-width:600px){.hero-tagline,.footer-tagline{letter-spacing:.8px!important}.tg-hl{padding:2px 6px}}

/* ---- */

.odb-sec{padding:70px 0 60px;background:#050505;border-top:2px solid var(--dark-brown)}
.odb-sec.alt{background:linear-gradient(180deg,#0A0A0A 0%,#120500 100%)}
.odb-sec .section-header{padding:0 16px 30px}
.odb-sub{max-width:620px;margin:16px auto 0;color:rgba(255,248,238,.7);font-size:.92rem;line-height:1.6;text-align:center}
.odb-wrap{max-width:1200px;margin:0 auto;padding:0 16px}
/* stats */
.odb-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:1080px;margin:0 auto;padding:0 16px}
.odb-stat{border:2px solid var(--brown);border-radius:14px;padding:18px 10px;text-align:center;background:#0d0d0d}
.odb-stat b{display:block;font-weight:900;font-size:clamp(1.6rem,4vw,2.4rem);color:var(--gold);text-shadow:2px 2px 0 var(--brown);line-height:1}
.odb-stat span{display:block;margin-top:8px;font-size:.62rem;letter-spacing:3px;text-transform:uppercase;color:rgba(255,248,238,.65);font-weight:700}
/* rows + cards */
.odb-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,300px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 16px 18px;scrollbar-width:thin;scrollbar-color:var(--brown) transparent}
.odb-row>*{scroll-snap-align:start}
.odb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.odb-card{background:#111;border:2px solid #1d1d1d;border-radius:14px;overflow:hidden;cursor:pointer;transition:transform .15s,border-color .15s;text-align:left;color:inherit;font:inherit;padding:0;display:block;width:100%}
.odb-card:hover,.odb-card:focus-visible{transform:translateY(-3px);border-color:var(--gold);outline:none}
.odb-thumb{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}
.odb-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;color:transparent;font-size:0}
.odb-card:hover .odb-thumb img{transform:scale(1.04)}
.odb-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.odb-play i{width:52px;height:52px;border-radius:50%;background:var(--gold);border:3px solid var(--brown);box-shadow:3px 3px 0 var(--brown);display:flex;align-items:center;justify-content:center}
.odb-badge{position:absolute;top:10px;left:10px;background:var(--gold);color:var(--brown);font-weight:800;font-size:.58rem;letter-spacing:2px;text-transform:uppercase;padding:4px 9px;border-radius:20px}
.odb-badge.new{background:#E63946;color:#fff}
.odb-meta{padding:12px 14px 14px}
.odb-title{font-weight:800;font-size:.9rem;line-height:1.3;color:var(--off-white)}
.odb-by{margin-top:5px;font-size:.72rem;color:rgba(255,248,238,.55);font-weight:600}
.yt-stats{display:flex;gap:12px;margin-top:8px;font-size:.72rem;color:rgba(255,248,238,.7)}.yt-stats span{display:inline-flex;align-items:center;gap:4px}.yt-stats svg{color:var(--gold);opacity:.85}.yt-stats b{font-weight:700}
.odb-views.new{background:#E63946}
/* tabs */
.odb-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:0 auto 14px;padding:0 16px}
.odb-tab{background:transparent;color:var(--off-white);border:2px solid var(--brown);border-radius:30px;padding:9px 16px;font:800 .7rem 'Montserrat',sans-serif;letter-spacing:2px;text-transform:uppercase;cursor:pointer}
.odb-tab[aria-selected="true"],.odb-tab:hover{background:var(--gold);color:var(--brown);border-color:var(--gold)}
.odb-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:0 auto 26px;padding:0 16px}
.odb-chip{background:#141414;color:rgba(255,248,238,.75);border:1px solid #2a2a2a;border-radius:20px;padding:6px 12px;font:700 .64rem 'Montserrat',sans-serif;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer}
.odb-chip[aria-pressed="true"]{border-color:var(--gold);color:var(--gold)}
.odb-series-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.odb-series-head h3{font-weight:900;font-size:clamp(1.3rem,3vw,1.9rem);color:var(--gold);text-shadow:2px 2px 0 var(--brown)}
.odb-series-head p{color:rgba(255,248,238,.65);font-size:.85rem;margin-top:6px;max-width:560px;line-height:1.5}
.odb-link{color:var(--gold);font-weight:800;font-size:.7rem;letter-spacing:2px;text-transform:uppercase;text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:2px;white-space:nowrap}
.odb-empty{color:rgba(255,248,238,.5);text-align:center;padding:30px 0;font-size:.85rem}
/* shorts */
.odb-shorts{grid-auto-columns:minmax(160px,190px)}
.odb-short .odb-thumb{aspect-ratio:9/16}
.odb-short .odb-meta{padding:10px 12px 12px}
.odb-short .odb-title{font-size:.78rem}
.odb-views{position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,.75);color:#fff;font-size:.62rem;font-weight:700;padding:3px 8px;border-radius:10px}
/* collabs */
.odb-collabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:14px}
.odb-collab{background:#0e0e0e;border:2px solid var(--brown);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.odb-collab .odb-thumb{cursor:pointer}
.odb-collab-body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.odb-x{font-weight:900;font-size:1.05rem;color:var(--off-white)}
.odb-x em{font-style:normal;color:var(--gold)}
.odb-where{font-size:.62rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:700}
.odb-collab-body p{font-size:.82rem;line-height:1.55;color:rgba(255,248,238,.72)}
.odb-collab-count{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center;font-size:.7rem;font-weight:700;color:rgba(255,248,238,.6)}
.odb-collab-count button{background:var(--gold);color:var(--brown);border:2px solid var(--brown);border-radius:20px;padding:7px 14px;font:800 .64rem 'Montserrat',sans-serif;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer}
.odb-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:1000px;margin:0 auto 34px;padding:0 16px}
.odb-logos button{background:#0e0e0e;border:2px solid #222;border-radius:16px;width:172px;height:100px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:14px;transition:border-color .15s,transform .15s}
.odb-logos button:hover{border-color:var(--gold);transform:translateY(-2px)}
.odb-logo{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.odb-logo img{max-width:100%;max-height:100%;object-fit:contain;opacity:.9;transition:opacity .2s,transform .2s}
.odb-logos button:hover img{opacity:1;transform:scale(1.05)}
.odb-logo em{display:none;font-style:normal;font-weight:900;font-size:1.05rem;letter-spacing:.5px;color:var(--off-white);text-align:center;line-height:1.15}
.odb-logo.nologo em{display:block}
.odb-collab-logo{height:44px;display:flex;justify-content:flex-start}
.odb-collab-logo .odb-logo{justify-content:flex-start;width:auto}
.odb-collab-logo .odb-logo img{filter:none;opacity:1;max-height:44px}
.odb-collab-logo .odb-logo.nologo{display:none}
.odb-collab-logo:has(.nologo){display:none}
@media(max-width:620px){.odb-logos button{width:calc(50% - 6px);height:88px}.odb-logos button:last-child:nth-child(odd){width:calc(50% - 6px)}}
.odb-sofar{text-align:center;font-weight:900;font-size:1.3rem;color:var(--gold);letter-spacing:1px;margin:0 16px 20px;text-shadow:2px 2px 0 var(--brown)}
.odb-sofar span{font-size:.7rem;letter-spacing:3px;text-transform:uppercase;color:rgba(255,248,238,.6);text-shadow:none;font-weight:700}
.pu-wrap{max-width:1100px;margin:0 auto;padding:0 16px;display:grid;grid-template-columns:1fr 1.2fr;gap:34px;align-items:center}
.pu-art{position:relative;background:radial-gradient(ellipse at 30% 40%,rgba(255,106,0,.18),transparent 60%),radial-gradient(ellipse at 75% 50%,rgba(0,140,255,.18),transparent 60%),#07080c;border:2px solid #1f2a44;border-radius:22px;padding:56px 26px 30px;text-align:center}
.pu-badge{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:8px;background:rgba(10,10,10,.7);border:1px solid rgba(255,193,7,.4);border-radius:20px;padding:6px 12px;font-size:.62rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.pu-logo{width:100%;max-width:420px;height:auto;display:block;margin:0 auto}
.pu-x{margin-top:14px;font-weight:900;font-size:1.1rem;color:var(--gold);letter-spacing:1px}
.pu-count{margin-top:14px;display:inline-block;background:var(--gold);color:var(--brown);font-weight:900;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;padding:7px 14px;border-radius:20px;border:2px solid var(--brown)}
.pu-count:empty{display:none}
.pu-title{font-weight:900;font-size:clamp(2rem,4.5vw,3.2rem);line-height:1;color:var(--off-white);text-shadow:3px 3px 0 var(--brown)}
.pu-title span{color:var(--gold)}
.pu-facts{margin:20px 0 14px;display:flex;flex-direction:column;gap:8px}
.pu-facts div{font-size:.9rem;color:rgba(255,248,238,.85);line-height:1.45}
.pu-facts b{display:inline-block;min-width:64px;font-size:.62rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-right:8px}
.pu-body{font-size:.86rem;line-height:1.65;color:rgba(255,248,238,.7)}
.pu-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.pu-mail{margin-top:14px;background:#111;border:2px solid var(--brown);border-radius:14px;padding:14px 16px}
.pu-mail p{font-size:.82rem;color:rgba(255,248,238,.75);margin-bottom:10px}
.pu-mail b{color:var(--gold)}
.pu-mail-btns{display:flex;flex-wrap:wrap;gap:8px}
.pu-mail-btns a,.pu-mail-btns button{cursor:pointer;background:transparent;border:2px solid var(--gold);color:var(--gold);border-radius:24px;padding:9px 14px;font:800 .64rem 'Montserrat',sans-serif;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none}
.pu-mail-btns a:hover,.pu-mail-btns button:hover{background:var(--gold);color:var(--brown)}
.pu-note{margin-top:12px;font-size:.72rem;color:rgba(255,248,238,.45)}
@media(max-width:820px){.pu-wrap{grid-template-columns:1fr}.pu-info .section-label{text-align:center!important}.pu-info{text-align:center}.pu-facts{align-items:center}.pu-btns{justify-content:center}}
.odb-collab.upcoming .odb-thumb{display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 30% 40%,rgba(255,106,0,.2),transparent 60%),radial-gradient(ellipse at 75% 50%,rgba(0,140,255,.2),transparent 60%),#07080c;padding:18px;cursor:pointer}
.odb-collab.upcoming .odb-thumb img{object-fit:contain;max-height:100%}
.odb-producers{margin-top:34px;text-align:center}
.odb-producers h4{font-size:.66rem;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.odb-producers div{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.odb-producers span{border:1px solid #333;border-radius:20px;padding:6px 12px;font-size:.72rem;font-weight:700;color:rgba(255,248,238,.8)}
.odb-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px}
/* modal */
.odb-modal{position:fixed;inset:0;z-index:5000;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:16px}
.odb-modal.open{display:flex}
.odb-modal-inner{width:min(1000px,100%);position:relative}
.odb-modal-inner.vertical{width:min(380px,100%)}
.odb-frame{position:relative;aspect-ratio:16/9;background:#000;border:3px solid var(--brown);border-radius:12px;overflow:hidden}
.vertical .odb-frame{aspect-ratio:9/16;max-height:82vh;margin:0 auto}
.odb-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.odb-modal-title{margin-top:12px;font-weight:800;font-size:.9rem;color:var(--off-white);display:flex;justify-content:space-between;gap:12px;align-items:center}
.odb-modal-title a{color:var(--gold);font-size:.66rem;letter-spacing:2px;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.odb-close{position:absolute;top:-46px;right:0;background:var(--gold);color:var(--brown);border:2px solid var(--brown);width:38px;height:38px;border-radius:50%;font-size:1.2rem;font-weight:900;cursor:pointer}
@media (max-width:620px){
  .odb-stats{grid-template-columns:repeat(2,1fr)}
  .odb-stats .odb-stat:last-child{grid-column:1/-1}
  .odb-row{grid-auto-columns:78%}
  .odb-shorts{grid-auto-columns:44%}
  .odb-grid{grid-template-columns:1fr 1fr;gap:10px}
  .odb-grid .odb-title{font-size:.76rem}
  .odb-grid .odb-meta{padding:9px 10px 11px}
  .odb-play i{width:40px;height:40px}
  .odb-tab{padding:8px 12px;font-size:.62rem}
}

/* ---- */

.fd-wrap{max-width:1100px;margin:0 auto;padding:0 16px;display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center}
.fd-photo{position:relative;border:3px solid var(--brown);border-radius:22px;overflow:hidden;box-shadow:8px 8px 0 var(--brown);aspect-ratio:2/3;background:#111}
.fd-photo img{width:100%;height:100%;object-fit:cover;display:block}
.fd-badge{position:absolute;top:16px;left:16px;background:var(--gold);color:var(--brown);font-weight:900;font-size:.62rem;letter-spacing:2.5px;text-transform:uppercase;padding:6px 12px;border-radius:20px;border:2px solid var(--brown)}
.fd-name{font-weight:900;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1;color:var(--off-white);text-shadow:3px 3px 0 var(--brown)}
.fd-name span{color:var(--gold)}
.fd-role{margin:10px 0 18px;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,248,238,.6);font-weight:700}
.fd-info>p:not(.section-label):not(.fd-role){font-size:.92rem;line-height:1.7;color:rgba(255,248,238,.78);margin-bottom:12px}
.fd-info a{color:var(--gold);font-weight:700}
.fd-info .fd-timeline{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:8px}
@media(max-width:560px){.fd-info .fd-timeline{grid-template-columns:repeat(2,1fr)!important}}
.fd-photo{align-self:start;position:sticky;top:90px}
@media(max-width:820px){.fd-photo{position:relative;top:0}}
.fd-brands{margin:18px 0 4px}
.fd-brands p{font-size:.62rem!important;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold)!important;font-weight:800;margin-bottom:10px!important}
.fd-brands div{display:flex;flex-wrap:wrap;gap:8px}
.fd-brands span{background:#141414;border:1px solid #2e2e2e;border-radius:20px;padding:7px 12px;font-size:.74rem;font-weight:800;color:var(--off-white)}
.fd-brands span.more{border-style:dashed;color:rgba(255,248,238,.6)}
.sp-trust{max-width:1000px;margin:34px auto 30px;text-align:center}
.sp-trust p{font-size:.64rem;letter-spacing:3px;text-transform:uppercase;color:var(--brown);font-weight:800;margin-bottom:12px}
.sp-trust div{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.sp-trust span{background:rgba(92,26,0,.1);border:2px solid var(--brown);color:var(--brown);border-radius:24px;padding:8px 14px;font-size:.76rem;font-weight:900}
a.tt-link{color:inherit;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
a.tt-link:hover{color:var(--gold)}
#sponsors .sp-trust a.tt-link:hover{color:var(--dark-brown)}
.fd-tt{margin-top:14px}
.bw-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}
.bw-tile{height:70px;border-radius:12px;background:#121212;border:1px solid #2a2a2a;display:flex;align-items:center;justify-content:center;padding:12px 14px}
a.bw-tile{text-decoration:none;transition:border-color .15s,transform .15s}a.bw-tile:hover{border-color:var(--gold);transform:translateY(-2px)}
.bw-tile img{max-width:100%;max-height:100%;object-fit:contain;opacity:.92}
.bw-text{font-weight:900;font-size:.8rem;color:var(--off-white);text-align:center;line-height:1.2;letter-spacing:.3px}
.bw-more{border-style:dashed;color:rgba(255,248,238,.55);font-weight:700}
#sponsors .sp-trust .bw-grid{max-width:1000px;margin:0 auto;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
#sponsors .bw-tile{background:#1a0a02;border:2px solid var(--brown);height:80px}
#sponsors .bw-text{color:var(--gold)}
#sponsors .bw-more{color:rgba(255,193,7,.7)}
.fd-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:4px 0 18px}
.fd-feats a{display:block;text-decoration:none;background:#0d0d0d;border:2px solid var(--brown);border-radius:12px;padding:12px 10px;text-align:center;transition:border-color .15s}
.fd-feats a:hover{border-color:var(--gold)}
.fd-feats b{display:block;font-weight:900;font-size:1.35rem;color:var(--gold);line-height:1.1}
.fd-feats span{display:block;margin-top:4px;font-size:.7rem;color:rgba(255,248,238,.7);line-height:1.35}
@media(max-width:480px){.fd-feats b{font-size:1.1rem}.fd-feats span{font-size:.64rem}}
.fd-short{max-width:960px;margin:0 auto;padding:0 16px;display:grid;grid-template-columns:260px 1fr;gap:34px;align-items:center}
.fd-short-photo{position:relative;display:block;border:3px solid var(--brown);border-radius:20px;overflow:hidden;box-shadow:6px 6px 0 var(--brown);aspect-ratio:4/5;background:#111}
.fd-short-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block;transition:transform .3s}
.fd-short-photo:hover img{transform:scale(1.04)}
.fd-short-blurb{font-size:.95rem;line-height:1.7;color:rgba(255,248,238,.8);margin:0 0 20px}
.fd-short-info .fd-role a{color:inherit}
@media(max-width:700px){.fd-short{grid-template-columns:1fr;gap:22px;text-align:center}.fd-short-photo{max-width:240px;margin:0 auto}.fd-short-info .section-label{text-align:center!important}}
.fd-quote{margin:18px 0;padding:14px 18px;border-left:4px solid var(--gold);background:rgba(255,193,7,.06);border-radius:0 12px 12px 0;font-weight:800;font-size:1.02rem;color:var(--off-white);font-style:italic}
.fd-info b{color:var(--off-white)}
.fd-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 4px}
.fd-timeline div{background:#111;border:1px solid #2a2a2a;border-left:3px solid var(--gold);border-radius:10px;padding:9px 11px}
.fd-timeline b{display:block;font-size:.8rem;color:var(--gold)!important;font-weight:900}
.fd-timeline span{display:block;margin-top:3px;font-size:.72rem;color:rgba(255,248,238,.65);line-height:1.35}
@media(max-width:560px){.fd-timeline{grid-template-columns:1fr 1fr}}
.fd-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}
.fd-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;border:2px solid #222;display:block}
@media(max-width:820px){.fd-wrap{grid-template-columns:1fr;gap:26px}.fd-photo{max-width:420px;margin:0 auto;width:100%;box-shadow:5px 5px 0 var(--brown)}.fd-info .section-label{text-align:center!important}.fd-name,.fd-role{text-align:center}}

/* ---- */

.gr-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}
.gr-big{background:linear-gradient(180deg,#1a0c00,#0e0e0e);border:2px solid var(--brown);border-radius:18px;padding:22px 20px;text-align:center}
.gr-big b{display:block;font-weight:900;font-size:clamp(2.2rem,5vw,3.2rem);color:var(--gold);text-shadow:3px 3px 0 var(--brown);line-height:1}
.gr-big span{display:block;margin-top:10px;font-size:.78rem;color:rgba(255,248,238,.7);line-height:1.4}
.gr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gr-card{background:#0e0e0e;border:2px solid #222;border-radius:16px;padding:18px}
.gr-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.gr-plat{font-weight:900;font-size:1rem;color:var(--off-white)}
.gr-up{background:rgba(76,175,80,.14);color:#7ddc82;border:1px solid rgba(125,220,130,.35);border-radius:20px;padding:4px 10px;font-size:.7rem;font-weight:800}
.gr-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-top:1px solid #1e1e1e;font-size:.8rem;color:rgba(255,248,238,.6)}
.gr-row b{color:var(--off-white);font-size:1rem;font-weight:800}
.gr-row small{color:rgba(255,248,238,.45);font-size:.72rem;margin-right:6px}
.gr-chart-box{margin-top:18px;background:#0e0e0e;border:2px solid #222;border-radius:16px;padding:18px 18px 10px}
.gr-chart-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}
.gr-chart-head h3{font-weight:900;font-size:1rem;color:var(--off-white)}
.gr-chart-head span{font-size:.75rem;color:rgba(255,248,238,.55)}
.gr-chart{position:relative;margin-top:8px}
.gr-chart svg{width:100%;height:auto;display:block;overflow:visible}
.gr-tip{position:absolute;pointer-events:none;background:#1b1b1b;border:1px solid #333;border-radius:8px;padding:6px 10px;font-size:.75rem;color:var(--off-white);white-space:nowrap;transform:translate(-50%,-120%);opacity:0;transition:opacity .12s}
.gr-tip b{color:var(--gold)}
.gr-table{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.gr-details{margin-top:18px;background:#0e0e0e;border:2px solid var(--brown);border-radius:16px;overflow:hidden}
.gr-details summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;font-weight:800;font-size:.8rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.gr-details summary::-webkit-details-marker{display:none}
.gr-details summary i{font-style:normal;font-size:1.3rem;transition:transform .2s}
.gr-details[open] summary i{transform:rotate(45deg)}
.gr-tbl-wrap{overflow-x:auto;padding:0 16px 16px}
.gr-full{width:100%;border-collapse:collapse;font-size:.88rem;min-width:420px}
.gr-full th{text-align:left;font-size:.62rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,248,238,.5);padding:10px 12px;border-bottom:1px solid #2a2a2a;font-weight:800}
.gr-full td{padding:12px;border-bottom:1px solid #1c1c1c;color:rgba(255,248,238,.85)}
.gr-full td:last-child{color:#7ddc82;font-weight:800}
.gr-full tr:last-child td{border-bottom:0}
.gr-full th:not(:first-child),.gr-full td:not(:first-child){text-align:right}
.gr-why{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.gr-why-card{background:linear-gradient(180deg,#1a0c00,#0e0e0e 70%);border:2px solid var(--brown);border-radius:18px;padding:24px 22px;display:flex;flex-direction:column}
.gr-why-label{font-size:.64rem;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-weight:800}
.gr-why-card h3{margin-top:8px;font-weight:900;font-size:1.3rem;color:var(--off-white);line-height:1.2}
.gr-why-card ul{list-style:none;margin:16px 0 20px;display:flex;flex-direction:column;gap:12px;flex:1}
.gr-why-card li{font-size:.84rem;line-height:1.55;color:rgba(255,248,238,.72);padding-left:22px;position:relative}
.gr-why-card li:before{content:"";position:absolute;left:0;top:6px;width:10px;height:10px;border-radius:50%;background:var(--gold)}
.gr-why-card li b{color:var(--off-white)}
.gr-why-card .btn-primary{align-self:flex-start}
@media(max-width:820px){.gr-why{grid-template-columns:1fr}}
.gr-updated{margin-top:14px;text-align:center;font-size:.7rem;color:rgba(255,248,238,.4);letter-spacing:1px}
@media(max-width:820px){.gr-grid{grid-template-columns:1fr}.gr-hero{grid-template-columns:1fr 1fr;gap:10px}.gr-big{padding:16px 10px}.gr-big span{font-size:.72rem}}

/* ---- */

.jt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.jt-card{background:#0e0e0e;border:2px solid var(--brown);border-radius:16px;padding:20px 18px;display:flex;flex-direction:column;gap:8px}
.jt-type{font-size:.6rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:800}
.jt-role{font-weight:900;font-size:1.1rem;color:var(--off-white)}
.jt-card p{font-size:.82rem;line-height:1.55;color:rgba(255,248,238,.7);flex:1}
.jt-card button{align-self:flex-start;margin-top:6px;background:transparent;color:var(--gold);border:2px solid var(--gold);border-radius:30px;padding:9px 16px;font:800 .64rem 'Montserrat',sans-serif;letter-spacing:2px;text-transform:uppercase;cursor:pointer}
.jt-other{border-style:dashed;border-color:rgba(255,193,7,.45)}
.jt-card button:hover{background:var(--gold);color:var(--brown)}
.jt-form-box{max-width:720px;margin:34px auto 0;background:#111;border:2px solid var(--brown);border-radius:18px;padding:26px 22px}
@media(max-width:1100px){.jt-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.jt-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.jt-grid{grid-template-columns:1fr}.jt-form-box{padding:20px 16px}}

/* ---- */

.nl{position:fixed;inset:0;z-index:7000;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;transition:opacity .3s}
.nl.show{opacity:1}.nl[hidden]{display:none}
.nl-box{position:relative;width:min(440px,100%);background:#0f0f0f;border:2px solid #FFC107;border-radius:20px;padding:28px 24px 22px;text-align:center;color:#FFF8EE;font-family:'Montserrat',sans-serif;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.nl-x{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;border:0;background:#1d1d1d;color:#FFF8EE;font-size:1.4rem;cursor:pointer}
.nl-tag{display:inline-block;background:#E63946;color:#fff;font-weight:900;font-size:.62rem;letter-spacing:2px;text-transform:uppercase;padding:5px 10px;border-radius:12px}
.nl h2{font-weight:900;font-size:1.7rem;line-height:1.1;margin:12px 0 8px;text-shadow:3px 3px 0 #5C1A00}.nl h2 span{color:#FFC107}
.nl p{font-size:.86rem;line-height:1.55;color:rgba(255,248,238,.75);margin:0 0 16px}
.nl input[type=email]{width:100%;background:#050505;border:1px solid #333;border-radius:40px;color:#FFF8EE;font:500 16px 'Montserrat',sans-serif;padding:13px 18px;margin-bottom:10px}
.nl input[type=email]:focus{outline:2px solid #FFC107;border-color:#FFC107}
.nl-btn{width:100%;min-height:50px;border-radius:40px;background:#FFC107;color:#5C1A00;border:3px solid #5C1A00;box-shadow:4px 4px 0 #5C1A00;font:900 .8rem/1 'Montserrat',sans-serif;letter-spacing:2px;text-transform:uppercase;cursor:pointer}
.nl-small{font-size:.66rem!important;color:rgba(255,248,238,.45)!important;margin:12px 0 0!important}
.nl-code{display:inline-flex;align-items:center;gap:10px;margin:6px 0 14px;padding:10px 16px;border:2px dashed #FFC107;border-radius:12px;font-weight:900;font-size:1.4rem;letter-spacing:3px;color:#FFC107;cursor:pointer;background:transparent}
.nl-tab{position:fixed;left:12px;bottom:14px;z-index:450;background:#FFC107;color:#5C1A00;border:2px solid #5C1A00;border-radius:30px;padding:10px 14px;font:900 .64rem/1 'Montserrat',sans-serif;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;box-shadow:3px 3px 0 #5C1A00}
.nl-tab[hidden]{display:none}
@media(max-width:480px){.nl h2{font-size:1.4rem}.nl-tab{bottom:12px;left:10px;font-size:.58rem;padding:9px 12px}}
