@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");

*:not(i) {
  font-family: "Montserrat", sans-serif;
}

:root{
  --bg:#0d0f12;
  --card:#121419;
  --ink:#e5e7eb;
  --muted:#9aa1ab;
  --amber:#f6c43f;
}

html,body{
  background:var(--bg);
  color:var(--ink); 
  font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}

.navbar{
  background: var(--card);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.brand-mark{
  width: 28px;
  height: 28px;
  margin-right: .6rem;
  flex: 0 0 auto;
}

.brand-text{ 
  font-weight:700; 
  font-size:1.8rem; 
  letter-spacing:.2px
 }

.nav-underline .nav-link{
  color: #d6d9df;
  padding: 1rem 1.2rem;
  position: relative;
  font-weight: 600;
}

.nav-underline .nav-link:hover{ 
  color:#fff 
}

.nav-underline .nav-link.active{ 
  color:#fff 
}

.nav-underline .nav-link.active::after,
  .nav-underline .nav-link:hover::after{
    content:""; 
    position:absolute; 
    left:1.2rem; 
    right:1.2rem; 
    bottom:.35rem;
    height:3px; 
    border-radius:3px; 
    background:var(--amber);
  }

  .hero-wrap{
    position:relative; 
    min-height: 70vh; 
    display:flex; 
    align-items:center;
    background:radial-gradient(1200px 800px at 80% 20%, rgba(255,255,255,.06), transparent 60%) , var(--bg);
    overflow:hidden;
  }

  .hero-bg{
    position:absolute; 
    inset:0;
    background:linear-gradient(0deg, rgba(0,0,0,.65), rgba(0,0,0,.65)),
               url('../images/bg.png') center/cover no-repeat;
    opacity:.55;        
  }

  .hero-inner{ 
    position:relative; 
    z-index:1; 
  }

  .headline{
    font-weight:800; 
    line-height:1.08;
    font-size: clamp(2rem, 1.1rem + 3.5vw, 3.4rem);
    margin-bottom:1rem;
  }

  .hero-sub{ 
    color:var(--amber); 
    font-weight:600; 
  }

  .hero-copy{ 
    color:var(--muted); 
    max-width: 960px 
  }

  .btn-amber{
    background:var(--amber); 
    color:#111; 
    border:0; 
    font-weight:700;
    padding:.9rem 1.5rem; 
    border-radius:999px;
    box-shadow:0 10px 30px rgba(246,196,63,.2);
  }

  .btn-amber:hover{ 
    filter:brightness(1.05); 
    color:white;
    background-color:#f6c43f;
  }

  .marker{
    color: #f6c43f;
    background-size: 100% .55em;
    background-repeat: no-repeat;
    background-position: 0 85%;
  }

  .xp-card{
    background: var(--card);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 18px;
    transition: .25s ease;
  }
  .xp-card:hover{
    transform: translateY(-3px);
    box-shadow: 0 18px 60px rgba(0,0,0,.35), inset 0 0 0 1px rgba(246,196,63,.25);
  }

  .xp-card h3{ 
    color: var(--ink); 
  }

  .xp-card .text-secondary{ 
    color: var(--muted)!important; 
  }

  .icon-wrap{
    font-size: 2.4rem;
    color: var(--amber);
    line-height: 1;
  }

  .headline-accent{
    color: var(--amber);
    font-weight: 800;
  }

  .concert-card{
    background: var(--card);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 18px;
    transition: .25s ease;
  }

  .concert-card:hover{
    transform: translateY(-3px);
    box-shadow: 0 18px 60px rgba(0,0,0,.35), inset 0 0 0 1px rgba(246,196,63,.18);
  }

  .concert-card h3{ 
    color: var(--ink); 
  }

  .concert-card .text-secondary{ 
    color: var(--muted)!important; 
  }

  .headline-accent{
    color: var(--amber);
    font-weight: 800;
  }

  .event-card{
    background: var(--card);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 18px;
    transition: .25s ease;
  }
  .event-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 20px 60px rgba(0,0,0,.35), inset 0 0 0 1px rgba(246,196,63,.18);
  }
  .event-card h3{ 
    color: var(--ink); 
  }

  .event-card .text-secondary{ 
    color: var(--muted)!important; 
  }

  .event-thumb{
    border-radius: 14px;
    overflow: hidden;
  }

  .event-thumb img{
    display:block;
    width:100%;
    height:auto;
    transform: scale(1.002);
    transition: transform .35s ease;
  }

  .event-card:hover .event-thumb img{
    transform: scale(1.035);
  }

  .headline-accent{ 
    color: var(--amber); font-weight: 800; 
  }

  .vip-card, .why-card{
    background: var(--card);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 18px;
    transition: .25s ease;
  }

  .vip-card:hover, .why-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 20px 60px rgba(0,0,0,.35), inset 0 0 0 1px rgba(246,196,63,.18);
  }

  .vip-icon svg, .why-icon svg{ 
    color: var(--amber); 
  }

  .vip-card h3, .why-card h4{ 
    color: var(--ink); 
  }

  .text-secondary{ 
    color: var(--muted)!important; 
  }

  .text-amber{
    color:var(--amber)!important;
  }

  .testi-card{
    background:var(--card);
    border:1px solid rgba(255,255,255,.06);
    border-radius:18px;
  }

  .testi-quote{
    color:#fff;
    font-weight:700;
    letter-spacing:.15px;
  }

  .form-dark{
    background-color:#1a1e24;
    border:1px solid rgba(255,255,255,.08);
    color:#fff;
    border-radius:14px;
    padding:0.9rem 1rem;
  }

  .form-dark::placeholder{
    color:var(--muted);
  }

  .form-dark:focus{
    background-color:#1a1e24;
    color:#fff;
    border-color:rgba(246,196,63,.45);
    box-shadow:0 0 0 .25rem rgba(246,196,63,.10);
  }

  .btn-amber{
    background:var(--amber);
    color:#0d0f13;
    border:none;
    border-radius:14px;
    font-weight:700;
  }

  .btn-amber:hover{
    filter:brightness(.95);
  }

  .invalid-feedback{
    display:none;
  }

  .is-invalid + .invalid-feedback,
  .is-invalid ~ .invalid-feedback{
    display:block;
  }

  .bg-deep{ 
    background:var(--footer-bg); 
  }

  .text-body{ 
    color:var(--ink); 
  }

  .site-footer .footer-sep{
    border:0;
    border-top:1px solid var(--footer-sep);
  }

  .footer-brand svg{ 
    color:var(--amber); 
  }

  .footer-brand .brand-text{
    font-size:1.75rem;             
    font-weight:600;
    letter-spacing:.2px;
    color:var(--ink);
  }

  .footer-link{
    color:var(--ink);
    opacity:.9;
  }
  
  .footer-link:hover,
  .footer-legal-link:hover{
    color:var(--amber);
  }
  .footer-legal-link{
    color:var(--ink);
    opacity:.85;
    text-decoration:none;
  }

  .nav .nav-link{
    padding-top:.25rem!important;
    padding-bottom:.25rem!important;
  }

  h1,h2,h3{color:var(--ink); letter-spacing:.2px;}

    h1{font-size:2.25rem; font-weight:700}

    h2{font-size:1.25rem; font-weight:700; color:var(--amber); margin-top:2.25rem}

    h3{font-size:1.05rem; font-weight:700; margin-top:1.25rem}

    .lead-muted{color:var(--muted)}

    .policy-card{background:var(--card); border:1px solid var(--hr); border-radius:12px}

    hr{border-top:1px solid var(--hr)}

    ul{margin-bottom:0}

    ul li{margin:.25rem 0}

    .toc a{color:var(--ink); text-decoration:none}

    .toc a:hover{color:var(--amber)}

    .badge-amber{background:var(--amber); color:#1a1a1a}

    .link-amber{color:var(--amber); text-decoration:none}

    .link-amber:hover{opacity:.85}
    
    .stamp{color:var(--muted); font-size:.95rem}

  @media (max-width: 576px){
    .footer-brand{ margin-bottom:.25rem; }
    nav .nav{ padding-left:0; }
  }
