@charset "UTF-8";
/* CSS Document */
 :root{
    --black: #0a0604;
    --black-2: #140b08;
    --ember: #c8202f;
    --ember-2: #7a1420;
    --flame: #ff7a1a;
    --gold: #e8ab2f;
    --gold-bright: #ffd873;
    --purple: #8a3fae;
    --purple-deep: #4a1a63;
    --blue: #2f6fd6;
    --blue-deep: #16305e;
    --cream: #f4ead9;
    --smoke: #b8a89a;

    --bs-body-bg: var(--black);
    --bs-body-color: var(--cream);
    --bs-border-color: rgba(255,255,255,.08);
  }
  body{
    font-family:'Inter',sans-serif;
    overflow-x:hidden;
  }
  .display{font-family:'Anton',sans-serif; text-transform:uppercase;}
  .script{font-family:'Permanent Marker',cursive;}
  .num{font-family:'Archivo Black',sans-serif;}
  a{color:inherit;}

  /* ---------- ambient overlays ---------- */
  .grain{
    position:fixed; inset:0; pointer-events:none; z-index:5; opacity:.05; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  .vignette{
    position:fixed; inset:0; pointer-events:none; z-index:4;
    background:radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,.65) 100%);
  }

  /* ---------- sidebar (Bootstrap offcanvas-lg) ---------- */
  #sidebar{
    --bs-offcanvas-width: 250px;
    --bs-offcanvas-bg: linear-gradient(180deg,#150a08,#0a0503);
    background:linear-gradient(180deg,#150a08,#0a0503);
    border-right:1px solid rgba(232,171,47,.18) !important;
  }
  #sidebar .offcanvas-body{display:flex; flex-direction:column; gap:26px;}
  .sidebar-brand .sb-title{
    font-family:'Anton',sans-serif; text-transform:uppercase; font-size:16px;
    letter-spacing:.05em; color:var(--cream); line-height:1.2;
  }
  .sidebar-brand .sb-sub{margin-top:6px; font-size:15px; color:var(--gold-bright);}
  .sidebar-brand .sb-sub .display{font-size:13px; color:var(--smoke); margin-left:4px;}

  .sb-links{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; flex:1;}
  .sb-links li a{
    display:block; padding:11px 12px; border-radius:8px; color:var(--smoke);
    text-decoration:none; font-size:13px; letter-spacing:.04em; font-weight:600;
    text-transform:uppercase; transition:background .2s ease, color .2s ease;
  }
  .sb-links li a:hover, .sb-links li a.active{
    background:rgba(232,171,47,.12); color:var(--gold-bright);
  }

  .sb-cta{
    display:block; text-align:center; padding:13px 10px; border-radius:999px;
    background:linear-gradient(90deg,var(--gold),var(--flame)); color:#1a0a04 !important;
    font-weight:800; font-size:12px; letter-spacing:.06em; text-transform:uppercase;
    text-decoration:none; border:none;
  }
  .sb-cta:hover{color:#1a0a04;}

  .nav-toggle-btn{
    background:rgba(10,6,4,.85); border:1px solid rgba(232,171,47,.3); color:var(--gold-bright);
    width:42px; height:42px; border-radius:10px;
  }
  .nav-toggle-btn:hover{color:var(--gold-bright); border-color:var(--gold-bright);}

  /* ---------- hero ---------- */
  .hero{
    position:relative; padding:20px 15px 60px; text-align:center; overflow:hidden;
    background:
      radial-gradient(ellipse 60% 50% at 50% 20%, rgba(200,32,47,.35), transparent 60%),
      radial-gradient(ellipse 80% 60% at 50% 90%, rgba(255,122,26,.12), transparent 70%);
  }
  .embers{position:absolute; inset:0; overflow:hidden; pointer-events:none;}
  .ember{
    position:absolute; bottom:-10px; border-radius:50%;
    background:radial-gradient(circle, var(--gold-bright), var(--flame) 60%, transparent 70%);
    opacity:.85; filter:blur(.3px);
    animation:rise linear infinite;
  }
  @keyframes rise{
    0%{transform:translateY(0) translateX(0) scale(1); opacity:0;}
    10%{opacity:.9;}
    100%{transform:translateY(-620px) translateX(var(--drift,20px)) scale(.3); opacity:0;}
  }

  .flame-mark{width:120px; height:150px; margin:10px auto 0;}

  .logo-placeholder{
    width:90px; height:90px; border-radius:14px;
    border:2px dashed rgba(232,171,47,.45);
    background:rgba(232,171,47,.06);
    color:var(--smoke); font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  }

  .eyebrow .top{color:var(--cream);}
  .eyebrow .year{color:var(--gold); display:block;}
  .eyebrow-right{font-family:'Anton',sans-serif; text-transform:uppercase; line-height:1.05; font-size:clamp(18px,2.6vw,28px);}
  .eyebrow-right .r1{color:var(--gold-bright);}
  .eyebrow-right .r2{color:var(--cream);}
  .eyebrow-right .r3{color:var(--ember); font-family:'Permanent Marker',cursive; text-transform:none; font-size:.9em;}
  .stat-line{margin-top:10px; font-size:13px; letter-spacing:.08em; color:var(--smoke); font-family:'Inter',sans-serif; text-transform:none;}
  .stat-line b{color:var(--gold-bright); font-family:'Archivo Black',sans-serif;}

  .hero-title{
    position:relative; z-index:2; margin:18px 0 0;
    font-size:clamp(52px, 13vw, 148px); line-height:.86;
    background:linear-gradient(180deg, var(--gold-bright) 0%, var(--gold) 35%, var(--ember) 75%, var(--ember-2) 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
    filter:drop-shadow(0 0 26px rgba(255,122,26,.35));
  }
  .hero-title .sub-line{
    display:block; font-size:.62em;
    background:linear-gradient(180deg, #ff8a4a 0%, var(--ember) 55%, #6e1018 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero-tag{
    position:relative; z-index:2; font-size:clamp(14px,2vw,18px); letter-spacing:.12em; color:var(--cream);
  }
  .hero-tag span.hi{color:var(--ember); font-weight:800;}
  .hero-tag .dot{color:var(--gold);}

  .hero-reel{
    max-width:260px; margin:26px auto 0; border-radius:18px; overflow:hidden;
    border:2px solid rgba(232,171,47,.4);
    box-shadow:0 0 40px rgba(255,122,26,.25);
    aspect-ratio:1176 / 1760;
  }
  .hero-reel video{width:100%; height:100%; object-fit:cover; display:block;}

  .btn-flame{
    padding:16px 38px; border-radius:999px;
    background:linear-gradient(90deg, var(--gold), var(--flame));
    color:#1a0a04; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
    font-size:14px; text-decoration:none; box-shadow:0 8px 30px rgba(255,122,26,.35);
    border:none;
  }
  .btn-flame:hover{color:#1a0a04; box-shadow:0 12px 34px rgba(255,122,26,.5);}

  /* ---------- event cards ---------- */
  .event-card{
    border-radius:16px; padding:22px 20px 26px; position:relative; overflow:hidden; height:100%;
    border:1px solid rgba(255,255,255,.08);
  }
  .event-card.red{background:linear-gradient(160deg, var(--ember-2), #1a0705 75%);}
  .event-card.purple{background:linear-gradient(160deg, var(--purple-deep), #150a1e 75%);}
  .event-card.blue{background:linear-gradient(160deg, var(--blue-deep), #06101f 75%);}
  .event-icon{width:34px; height:34px; margin-bottom:12px;}
  .event-name{font-size:clamp(22px,3.4vw,30px); margin:0 0 2px;}
  .event-tag{font-family:'Permanent Marker',cursive; font-size:15px; margin-bottom:12px;}
  .event-card.red .event-tag{color:#ff8a6a;}
  .event-card.purple .event-tag{color:#d9a6f0;}
  .event-card.blue .event-tag{color:#7fb1ff;}
  .event-desc{font-size:14px; line-height:1.55; color:var(--smoke);}
  .btn-gallery{
    display:inline-block; margin-top:16px; padding:8px 18px; border-radius:999px;
    font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
    text-decoration:none; background:transparent; font-family:'Inter',sans-serif; cursor:pointer;
  }
  .btn-gallery.gal-red{border:1.5px solid #ff8a6a; color:#ff8a6a;}
  .btn-gallery.gal-purple{border:1.5px solid #d9a6f0; color:#d9a6f0;}
  .btn-gallery.gal-blue{border:1.5px solid #7fb1ff; color:#7fb1ff;}
  .btn-gallery:hover{background:rgba(255,255,255,.08);}
  .btn-gallery.gal-red:hover{color:#ff8a6a;}
  .btn-gallery.gal-purple:hover{color:#d9a6f0;}
  .btn-gallery.gal-blue:hover{color:#7fb1ff;}

  /* ---------- gallery modal ---------- */
  .gallery-modal .modal-content{
    background:linear-gradient(160deg,#150b09,#0a0503); border:1px solid rgba(255,255,255,.12);
  }
  .gallery-modal .modal-header{border-bottom:1px solid rgba(255,255,255,.08);}
  .gallery-modal .modal-title{font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:.02em;}

  /* ---------- gender pick modal ----------
     Accent color is driven by --gm-a/--gm-b custom properties so each
     trigger button (package = gold/flame, individual events = their own
     btn-buy gradient) can theme the same modal markup. */
  .gender-modal{ --gm-a: var(--gold); --gm-b: var(--flame); }
  .gender-modal.gm-red   { --gm-a: var(--ember-2); --gm-b: var(--ember); }
  .gender-modal.gm-purple{ --gm-a: var(--purple-deep); --gm-b: var(--purple); }
  .gender-modal.gm-blue  { --gm-a: var(--blue-deep); --gm-b: var(--blue); }

  .gender-modal .modal-content{
    background:linear-gradient(160deg,#150b09,#0a0503);
    border:1px solid color-mix(in srgb, var(--gm-b) 40%, transparent);
    box-shadow:0 20px 60px color-mix(in srgb, var(--gm-b) 25%, transparent);
  }
  .gender-modal .modal-header{
    border-bottom:1px solid rgba(255,255,255,.08);
    background:linear-gradient(90deg, color-mix(in srgb, var(--gm-a) 18%, transparent), color-mix(in srgb, var(--gm-b) 18%, transparent));
  }
  .gender-modal .modal-title{font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:.03em;}
  .gender-modal .modal-subtitle{color:var(--smoke); font-size:13px;}
  .gender-pick-btn{
    display:flex; flex-direction:column; align-items:center; gap:10px;
    padding:28px 16px; border-radius:16px; text-decoration:none;
    background:linear-gradient(160deg, color-mix(in srgb, var(--gm-a) 16%, transparent), color-mix(in srgb, var(--gm-b) 8%, transparent));
    border:1.5px solid color-mix(in srgb, var(--gm-b) 35%, transparent);
    color:var(--cream); transition:transform .15s ease, border-color .15s ease, background .15s ease;
  }
  .gender-pick-btn:hover{
    color:var(--cream); transform:translateY(-3px);
    border-color:var(--gm-b);
    background:linear-gradient(160deg, color-mix(in srgb, var(--gm-a) 28%, transparent), color-mix(in srgb, var(--gm-b) 16%, transparent));
  }
  .gender-pick-btn i{
    font-size:34px;
    background:linear-gradient(90deg, var(--gm-a), var(--gm-b));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .gender-pick-btn .gp-label{
    font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:.04em; font-size:15px;
  }

  .masonry-grid{column-count:2; column-gap:10px;}
  @media (min-width:576px){.masonry-grid{column-count:3;}}
  .masonry-item{
    break-inside:avoid; margin-bottom:10px; border-radius:10px; overflow:hidden; cursor:pointer;
    border:2px dashed rgba(255,255,255,.25); background:rgba(255,255,255,.04);
    display:flex; align-items:center; justify-content:center;
    color:var(--smoke); font-size:11px; letter-spacing:.05em; text-transform:uppercase;
    transition:transform .15s ease, border-color .15s ease;
  }
  .masonry-item:hover{transform:scale(1.03); border-color:rgba(255,255,255,.5);}
  .masonry-item img{width:100%; display:block; border-radius:8px;}

  .lightbox-overlay{
    position:fixed; inset:0; background:rgba(0,0,0,.88); z-index:2000;
    display:none; align-items:center; justify-content:center; padding:30px;
  }
  .lightbox-overlay.show{display:flex;}
  .lightbox-overlay img{max-width:90vw; max-height:85vh; border-radius:12px; box-shadow:0 0 60px rgba(255,122,26,.3); display:none;}
  .lightbox-placeholder{
    width:min(90vw,460px); aspect-ratio:3 / 4; border:2px dashed rgba(255,255,255,.35); border-radius:12px;
    display:none; align-items:center; justify-content:center;
    color:var(--smoke); font-size:15px; text-transform:uppercase; letter-spacing:.08em;
    background:rgba(255,255,255,.05);
  }
  .lightbox-close{
    position:absolute; top:20px; right:24px; background:transparent; border:none;
    color:var(--cream); font-size:34px; line-height:1; cursor:pointer; z-index:2001;
  }
  .lightbox-close:hover{color:var(--gold-bright);}

  .lightbox-nav{
    position:fixed; top:50%; transform:translateY(-50%);
    width:50px; height:50px; border-radius:50%; border:1px solid rgba(255,255,255,.25);
    background:rgba(255,255,255,.06); color:var(--cream); font-size:20px;
    display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:2001;
    transition:background .15s ease, border-color .15s ease, color .15s ease;
  }
  .lightbox-nav:hover{background:rgba(232,171,47,.18); border-color:var(--gold-bright); color:var(--gold-bright);}
  .lightbox-prev{left:20px;}
  .lightbox-next{right:20px;}
  @media (max-width:600px){
    .lightbox-nav{width:42px; height:42px; font-size:16px;}
    .lightbox-prev{left:10px;}
    .lightbox-next{right:10px;}
  }

  .event-img-placeholder{
    width:100%; aspect-ratio:3 / 4; border-radius:10px; margin-bottom:16px;
    border:2px dashed rgba(255,255,255,.25);
    background:rgba(255,255,255,.04);
    display:flex; align-items:center; justify-content:center;
    color:var(--smoke); font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  }

  /* ---------- section heads ---------- */
  .section-head{
    display:inline-block; padding:10px 24px; border-radius:8px; font-size:clamp(16px,2.4vw,20px);
    font-family:'Anton',sans-serif; text-transform:uppercase; margin-bottom:22px;
  }
  .head-red{background:linear-gradient(90deg, var(--ember-2), var(--ember));}
  .head-blue{background:linear-gradient(90deg, var(--blue-deep), var(--blue));}
  .head-purple{background:linear-gradient(90deg, var(--purple-deep), var(--purple));}

  /* ---------- pricing ---------- */
  .tier{background:#150c09; border:1px solid rgba(232,171,47,.25); border-radius:12px; padding:18px 14px; text-align:center; height:100%;}
  .tier .label{
    font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
    background:linear-gradient(90deg,var(--gold),var(--flame)); color:#1a0a04;
    padding:6px 8px; border-radius:6px; margin-bottom:12px; display:inline-block;
  }
  .tier .price{font-family:'Archivo Black',sans-serif; font-size:clamp(20px,3vw,26px); color:var(--cream);}
  .tier .note{font-size:11px; color:var(--smoke); margin-top:6px;}

  /* ---------- tier availability status ---------- */
  .tier-green{border-color:rgba(46,204,113,.55); box-shadow:0 0 18px rgba(46,204,113,.18);}
  .tier-green .label{background:linear-gradient(90deg,#2ecc71,#27ae60); color:#04140a;}
  .tier-red{opacity:.55; border-color:rgba(200,32,47,.35);}
  .tier-red .label{background:linear-gradient(90deg,var(--ember-2),var(--ember)); color:var(--cream);}
  .tier-red .price{color:var(--smoke); text-decoration:line-through;}
  .banner-note{
    background:linear-gradient(90deg,var(--gold),var(--gold-bright)); color:#1a0a04;
    font-weight:800; text-align:center; padding:10px; border-radius:8px; font-size:13px;
  }
  .indiv{background:#0c1220; border:1px solid rgba(47,111,214,.25); border-radius:12px; padding:20px 12px; text-align:center; height:100%;}
  .indiv .iname{font-family:'Permanent Marker',cursive; font-size:16px; margin-bottom:8px;}
  .indiv .price{font-family:'Archivo Black',sans-serif; font-size:clamp(20px,3vw,24px);}
  .btn-buy{
    display:inline-block; margin-top:12px; padding:8px 16px; border-radius:999px;
    font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
    text-decoration:none; border:none;
  }
  .btn-buy.buy-red{background:linear-gradient(90deg,var(--ember-2),var(--ember)); color:var(--cream);}
  .btn-buy.buy-purple{background:linear-gradient(90deg,var(--purple-deep),var(--purple)); color:var(--cream);}
  .btn-buy.buy-blue{background:linear-gradient(90deg,var(--blue-deep),var(--blue)); color:var(--cream);}
  .btn-buy:hover{filter:brightness(1.15); color:var(--cream);}

  /* ---------- includes / payment ---------- */
  .includes-box{background:linear-gradient(160deg,#1c0d09,#0a0503); border:1px solid rgba(200,32,47,.25); border-radius:14px; padding:24px; height:100%;}
  .icon-item{text-align:center; font-size:12px; color:var(--cream);}
  .icon-item svg{width:30px; height:30px; margin-bottom:8px; color:var(--gold-bright);}
  .pure-revelry{text-align:center; font-family:'Permanent Marker',cursive; color:var(--gold-bright); font-size:16px;}
  .payment-box{background:linear-gradient(160deg,#1b0d24,#0a0510); border:1px solid rgba(138,63,174,.3); border-radius:14px; padding:26px; height:100%;}
  .payment-split .pct{font-family:'Archivo Black',sans-serif; font-size:clamp(36px,6vw,48px); color:var(--gold-bright);}
  .payment-split .plabel{font-size:12px; color:var(--smoke);}
  .payment-note{
    background:linear-gradient(90deg,var(--gold),var(--gold-bright)); color:#1a0a04; text-align:center;
    font-weight:800; padding:8px; border-radius:8px; font-size:12px; margin-bottom:10px;
  }
	.labelSM{
		font-weight:600; font-size:10px;
		
	}
  .payment-secure{text-align:center; font-size:12px; color:var(--smoke); letter-spacing:.05em;}
.music-toggle{
    position: fixed;
    left: 20px;
    bottom: 20px;
    z-index: 9998;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 1px solid rgba(255, 138, 106, .45);
    background: linear-gradient(145deg, rgba(30,14,10,.92), rgba(10,6,6,.92));
    color: var(--gold-bright, #ffb35c);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 18px rgba(0,0,0,.45), 0 0 0 rgba(255,138,106,.5);
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, color .2s ease;
  }
  .music-toggle svg{ width: 22px; height: 22px; }
  .music-toggle:hover{
    transform: scale(1.08);
    color: #ff8a6a;
  }
  .music-toggle.playing{
    box-shadow: 0 4px 18px rgba(0,0,0,.45), 0 0 16px rgba(255,138,106,.55);
  }
  .music-pulse{
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 1px solid rgba(255,138,106,.55);
    opacity: 0;
  }
  .music-toggle.needs-tap .music-pulse{
    opacity: 1;
    animation: musicPulse 1.8s ease-out infinite;
  }
  @keyframes musicPulse{
    0%   { transform: scale(1);   opacity: .7; }
    100% { transform: scale(1.6); opacity: 0;  }
  }
  .music-prompt{
    position: fixed;
    left: 78px;
    bottom: 32px;
    z-index: 9998;
    background: rgba(10,6,6,.88);
    border: 1px solid rgba(255,138,106,.35);
    color: var(--cream, #f4e9dc);
    padding: 8px 14px;
    border-radius: 20px;
    font-size: 13px;
    letter-spacing: .02em;
    white-space: nowrap;
    box-shadow: 0 4px 14px rgba(0,0,0,.4);
    display: none;
    pointer-events: none;
  }
  .music-prompt.show{ display: block; }
  @media (max-width: 576px){
    .music-toggle{ left: 14px; bottom: 14px; width: 46px; height: 46px; }
    .music-prompt{ left: 66px; bottom: 26px; font-size: 12px; }
  }
  /* ---------- footer ---------- */
  footer{text-align:center; padding:50px 20px 60px; border-top:1px solid rgba(255,255,255,.08); margin-top:20px;}
  footer .tagline{font-size:13px; letter-spacing:.1em; color:var(--smoke); margin-bottom:6px;}
  footer .big{
    font-size:clamp(28px,6vw,44px); margin:8px 0 20px;
    background:linear-gradient(90deg,var(--gold),var(--gold-bright));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .socials a{
    width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.2);
    display:inline-flex; align-items:center; justify-content:center; color:var(--cream);
    text-decoration:none; transition:border-color .2s ease, color .2s ease;
  }
  .socials a:hover{border-color:var(--gold-bright); color:var(--gold-bright);}
  .hashtag{color:var(--ember); font-family:'Permanent Marker',cursive; font-size:15px; margin-top:6px;}

  @media (prefers-reduced-motion: reduce){ .ember{animation:none; display:none;} }