*{box-sizing:border-box}html{scroll-behavior:smooth;background:#050407}body{margin:0;background:#050407;color:#eadfca;font-family:"Libre Caslon Text",Georgia,serif}.site-shell{overflow:hidden}.topbar{position:fixed;z-index:50;top:0;left:0;right:0;height:78px;display:flex;align-items:center;padding:0 3.2vw;border-bottom:1px solid rgba(205,165,83,.18);background:linear-gradient(to bottom,rgba(3,2,5,.92),rgba(3,2,5,.56),transparent);backdrop-filter:blur(5px)}.brand-mini{display:none;color:#d9b668;font:700 .78rem "Cinzel";letter-spacing:.18em}.nav{display:flex;gap:2.4vw}.nav-right{margin-left:auto}.nav a{position:relative;padding:29px 0 20px;color:#d3c09b;text-decoration:none;text-transform:uppercase;font:600 clamp(.63rem,.75vw,.84rem) "Cinzel";letter-spacing:.13em;opacity:.82}.nav a:after{content:"";position:absolute;left:0;bottom:17px;width:100%;height:1px;background:#d7ad52;transform:scaleX(0);transform-origin:left;transition:.2s}.nav a:hover:after,.nav a.active:after{transform:scaleX(1)}.menu-btn{display:none;margin-left:auto;width:42px;height:42px;border:1px solid rgba(213,175,84,.55);border-radius:50%;background:rgba(5,4,7,.45);padding:10px}.menu-btn span{display:block;height:1px;background:#dbb662;margin:5px}.hero{position:relative;min-height:100svh;background:#050407;overflow:hidden}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.015);animation:breath 16s ease-in-out infinite alternate}.shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,transparent 0 30%,rgba(2,1,5,.2) 54%,rgba(2,1,5,.74) 100%),linear-gradient(to bottom,rgba(2,1,5,.08),transparent 52%,rgba(2,1,5,.4))}.moon-haze{position:absolute;top:2%;right:22%;width:24vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(182,128,234,.18),transparent 68%);filter:blur(24px);animation:moon 5s ease-in-out infinite}.fog{position:absolute;left:-20%;width:140%;height:18%;bottom:16%;background:radial-gradient(ellipse at 30% 50%,rgba(231,226,238,.15),transparent 31%),radial-gradient(ellipse at 72% 55%,rgba(231,226,238,.1),transparent 35%);filter:blur(24px);pointer-events:none}.fog-a{animation:fog 27s linear infinite}.fog-b{bottom:7%;opacity:.62;animation:fog 40s linear infinite reverse}.water-light{position:absolute;left:0;right:0;bottom:0;height:43%;opacity:.2;mix-blend-mode:screen;background:repeating-linear-gradient(178deg,transparent 0 9px,rgba(131,78,170,.16) 10px 11px,transparent 12px 20px);mask-image:linear-gradient(to bottom,transparent,#000 34%);animation:shimmer 8s ease-in-out infinite}.pointer-light{position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(154,91,202,.14),transparent 68%);transform:translate(-50%,-50%);opacity:0;pointer-events:none;transition:opacity .2s}.sound-btn{position:absolute;right:3.6vw;top:90px;z-index:9;display:flex;align-items:center;gap:12px;padding:11px 18px;border:1px solid rgba(210,169,76,.56);background:rgba(8,6,10,.6);color:#e0c27f;text-transform:uppercase;font:600 .66rem "Cinzel";letter-spacing:.09em;cursor:pointer}.hotspot{position:absolute;z-index:10;width:42px;height:42px;border:0;background:transparent;cursor:pointer}.pulse{position:absolute;inset:10px;border-radius:50%;background:#b768e8;box-shadow:0 0 10px #b768e8,0 0 24px rgba(183,104,232,.7)}.pulse:before,.pulse:after{content:"";position:absolute;inset:-9px;border:1px solid rgba(190,119,236,.66);border-radius:50%;animation:pulse 2s infinite}.pulse:after{animation-delay:1s}.hotspot-label{position:absolute;left:50%;bottom:41px;transform:translateX(-50%);white-space:nowrap;color:#e0c27f;text-transform:uppercase;font:600 .72rem "Cinzel";letter-spacing:.08em;text-shadow:0 2px 5px #000}.music-hotspot{left:16.5%;top:51%}.shows-hotspot{right:14.8%;top:55%}.store-hotspot{left:14.6%;top:68%}.about-hotspot{right:15.3%;top:70%}.enter-btn{position:absolute;z-index:12;left:50%;bottom:13.5%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:#e7c36e;text-decoration:none;text-transform:uppercase;font:600 1rem "Cinzel";letter-spacing:.1em;padding:16px 38px 10px;border:1px solid rgba(211,168,70,.74);background:rgba(7,5,9,.7);box-shadow:inset 0 0 0 4px rgba(7,5,9,.85),0 14px 38px rgba(0,0,0,.32);transition:.2s}.enter-btn:hover{transform:translateX(-50%) translateY(-4px);background:rgba(57,27,73,.7)}.enter-btn i{font-style:normal;font-size:1.3rem}.tip{position:absolute;z-index:11;left:2vw;bottom:4.5%;display:flex;gap:14px;align-items:center;min-width:260px;padding:17px 22px;border:1px solid rgba(213,172,77,.34);background:rgba(6,5,8,.55);color:#d9bd7d;font-size:.82rem;line-height:1.5}.tip .bug{font-size:1.7rem}.socials{position:absolute;right:4vw;bottom:5.8%;z-index:11;display:flex;gap:22px}.socials a{color:#d7b35f;text-decoration:none;font:bold 1rem Arial}.scroll-note{position:absolute;left:50%;bottom:1.8%;transform:translateX(-50%);z-index:11;display:flex;flex-direction:column;align-items:center;gap:8px;color:#d6b96f;text-transform:uppercase;font:500 .62rem "Cinzel";letter-spacing:.12em}.mouse{display:grid;place-items:center;width:20px;height:28px;border:1px solid rgba(219,183,97,.75);border-radius:11px}.ripple-layer{position:absolute;inset:0;pointer-events:none;z-index:8}.ripple{position:absolute;width:12px;height:12px;border:1px solid rgba(191,129,231,.7);border-radius:50%;transform:translate(-50%,-50%);animation:ripple 1.1s ease-out forwards}
.story-section,
.music-section,
.shows-section,
.media-section,
.booking-section,
.store-section,
.contact-section{
  position:relative;
  overflow:hidden;
  padding:clamp(92px,11vw,170px) clamp(24px,7vw,120px)
}
.section-shell{position:relative;z-index:2;max-width:1180px;margin:auto}
.kicker,.eyebrow{margin:0 0 18px;color:#d2ad5e;text-transform:uppercase;font:600 .68rem "Cinzel";letter-spacing:.2em}
.story-section h2,.music-section h2,.shows-section h2,.media-section h2,.booking-section h2,.store-section h2,.contact-section h2{
  margin:0;
  font:600 clamp(2.7rem,6vw,6.1rem)/1.02 "Cinzel";
  letter-spacing:-.035em
}
.story-section{
  background:
    linear-gradient(180deg,#070609 0%,#0b0810 55%,#08070a 100%)
}
.mist-band{
  position:absolute;left:-10%;right:-10%;top:-3%;height:180px;
  background:radial-gradient(ellipse at center,rgba(150,112,172,.16),transparent 65%);
  filter:blur(35px)
}
.story-grid{
  position:relative;z-index:2;max-width:1180px;margin:auto;
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(48px,8vw,110px);align-items:center
}
.story-copy .lead{font-size:1.24rem;color:#e5dac9}
.story-copy p{max-width:690px;color:rgba(235,226,211,.68);font-size:1.04rem;line-height:1.85}
.text-link,.ghost-link{color:#d7b35f;text-decoration:none}
.story-art{position:relative}
.story-frame{
  position:relative;aspect-ratio:4/5;overflow:hidden;
  border:1px solid rgba(213,175,88,.32);
  box-shadow:0 35px 90px rgba(0,0,0,.55)
}
.story-frame:before{
  content:"";position:absolute;inset:12px;border:1px solid rgba(213,175,88,.16);z-index:2;pointer-events:none
}
.story-frame img{
  width:100%;height:100%;object-fit:cover;object-position:51% 46%;
  transform:scale(1.55);
  filter:saturate(.72) contrast(1.06) brightness(.74)
}
.story-caption{
  display:block;margin-top:15px;color:#8f8395;text-transform:uppercase;
  font:500 .62rem "Cinzel";letter-spacing:.12em
}
.music-section{
  background:
    radial-gradient(circle at 18% 20%,rgba(91,47,121,.24),transparent 32rem),
    linear-gradient(180deg,#0d0911,#09070b)
}
.music-glow{
  position:absolute;right:-10%;top:5%;width:50vw;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(112,63,148,.16),transparent 68%);filter:blur(20px)
}
.section-heading{max-width:800px}
.section-heading p{color:rgba(235,226,211,.64);line-height:1.8}
.featured-player{
  margin-top:55px;display:grid;grid-template-columns:minmax(260px,420px) 1fr;
  gap:clamp(36px,6vw,80px);align-items:center;padding:clamp(28px,5vw,66px);
  border:1px solid rgba(213,175,88,.2);
  background:linear-gradient(145deg,rgba(255,255,255,.024),rgba(255,255,255,.006));
  box-shadow:0 28px 80px rgba(0,0,0,.34)
}
.vinyl-wrap{display:grid;place-items:center}
.vinyl{
  width:min(100%,360px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;
  background:
    radial-gradient(circle at center,#b49352 0 6%,#302314 6.5% 13%,transparent 13.5%),
    repeating-radial-gradient(circle,#442753 0 2px,#211425 3px 8px);
  box-shadow:inset 0 0 0 15px rgba(0,0,0,.46),0 28px 55px rgba(0,0,0,.55);
  animation:slowSpin 22s linear infinite
}
.vinyl span{font:700 1rem "Cinzel";letter-spacing:.2em;color:#d9bb77}
.player-copy h3{margin:0 0 18px;font:600 clamp(2.2rem,5vw,4.7rem) "Cinzel"}
.player-copy p{color:rgba(235,226,211,.65);line-height:1.8}
.player-actions,.media-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}
.gold-btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;
  border:1px solid rgba(213,173,78,.7);background:rgba(8,6,10,.45);color:#e0bd69;
  text-transform:uppercase;text-decoration:none;font:600 .7rem "Cinzel";letter-spacing:.13em;cursor:pointer;
  transition:.2s
}
.gold-btn:hover{transform:translateY(-2px);background:rgba(74,36,93,.55)}
.platform-row{
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px;padding-top:22px;
  border-top:1px solid rgba(213,175,88,.13);color:#8f8395
}
.platform-row span{font:600 .62rem "Cinzel";letter-spacing:.14em;text-transform:uppercase}
.platform-row a{color:#d5bb82;text-decoration:none}
.shows-section{
  background:
    linear-gradient(rgba(6,5,8,.9),rgba(7,6,9,.96)),
    url("assets/bayou-purple-hero.png") center 73%/cover no-repeat
}
.water-lines{
  position:absolute;inset:auto 0 0;height:50%;opacity:.16;
  background:repeating-linear-gradient(177deg,transparent 0 10px,rgba(146,91,184,.18) 11px 12px,transparent 13px 21px)
}
.shows-heading{
  display:grid;grid-template-columns:1.4fr .6fr;gap:50px;align-items:end;max-width:1180px;margin:auto
}
.shows-heading>p{color:rgba(235,226,211,.62);line-height:1.8}
.empty-show-card{
  position:relative;z-index:2;max-width:1180px;margin:55px auto 0;
  display:grid;grid-template-columns:150px 1fr auto;gap:34px;align-items:center;
  padding:34px;border:1px solid rgba(213,175,88,.24);background:rgba(7,5,9,.7);backdrop-filter:blur(7px)
}
.date-orbit{
  width:118px;height:118px;border-radius:50%;display:grid;place-items:center;text-align:center;
  border:1px solid rgba(213,175,88,.34);box-shadow:inset 0 0 30px rgba(102,57,127,.16)
}
.date-orbit span,.date-orbit strong{display:block}
.date-orbit span{font:500 .6rem "Cinzel";letter-spacing:.14em;text-transform:uppercase;color:#9b8fa0}
.date-orbit strong{font:600 1.2rem "Cinzel";color:#d6ba7d}
.empty-show-copy h3{margin:0 0 10px;font:600 1.9rem "Cinzel"}
.empty-show-copy p{margin:0;color:rgba(235,226,211,.62);line-height:1.7}
.media-section{
  min-height:78vh;display:grid;place-items:center;
  background:#08070a
}
.media-bg{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(4,3,6,.92),rgba(4,3,6,.45) 55%,rgba(4,3,6,.8)),
    url("assets/bayou-purple-hero.png") center 46%/cover no-repeat;
  filter:saturate(.68) brightness(.58)
}
.media-card{
  position:relative;z-index:2;width:min(760px,100%);margin-right:auto;
  padding:clamp(30px,5vw,65px);border:1px solid rgba(213,175,88,.24);
  background:rgba(7,5,9,.72);backdrop-filter:blur(6px)
}
.media-card p{color:rgba(235,226,211,.66);line-height:1.8}
.booking-section{
  display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(45px,8vw,110px);align-items:center;
  background:
    radial-gradient(circle at 75% 35%,rgba(93,48,122,.22),transparent 30rem),
    #0b0810
}
.booking-text p{max-width:730px;color:rgba(235,226,211,.66);line-height:1.8}
.booking-panel{
  padding:38px;border:1px solid rgba(213,175,88,.25);
  background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.006))
}
.booking-label{display:block;color:#d5b266;text-transform:uppercase;font:600 .65rem "Cinzel";letter-spacing:.16em}
.booking-panel p{color:#bdb2c1;line-height:1.7;margin:18px 0 25px}
.store-section{
  min-height:60vh;display:grid;place-items:center;text-align:center;
  background:
    linear-gradient(rgba(6,5,8,.86),rgba(6,5,8,.94)),
    url("assets/bayou-purple-hero.png") center 72%/cover no-repeat
}
.store-inner{max-width:850px}
.store-inner p{color:rgba(235,226,211,.64)}
.coming-mark{
  display:inline-block;margin-top:28px;padding:11px 16px;border-top:1px solid rgba(213,175,88,.35);
  border-bottom:1px solid rgba(213,175,88,.35);color:#d8b86f;text-transform:uppercase;
  font:600 .66rem "Cinzel";letter-spacing:.2em
}
.contact-section{
  background:
    radial-gradient(circle at 18% 20%,rgba(91,47,121,.2),transparent 26rem),
    #070609
}
.contact-shell{
  max-width:1180px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(45px,8vw,110px)
}
.contact-copy p{color:rgba(235,226,211,.64);line-height:1.8}
.contact-detail{margin-top:38px;padding-top:20px;border-top:1px solid rgba(213,175,88,.16)}
.contact-detail span{display:block;color:#8f8395;text-transform:uppercase;font:500 .6rem "Cinzel";letter-spacing:.14em}
.contact-detail strong{display:block;margin-top:8px;font:600 1.15rem "Cinzel";color:#d6bc82}
.contact-form{display:grid;gap:20px}
.contact-form label{display:grid;gap:9px;color:#c6bba8}
.contact-form label span{font:500 .68rem "Cinzel";letter-spacing:.1em;text-transform:uppercase}
.contact-form input,.contact-form textarea{
  width:100%;border:0;border-bottom:1px solid rgba(215,177,87,.28);
  background:rgba(255,255,255,.02);color:#eee4d3;padding:15px;outline:none
}
.contact-form input:focus,.contact-form textarea:focus{border-color:#d4ae58}
.form-note{margin:0;color:#7f7485;font-size:.72rem}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:none}
@keyframes slowSpin{to{transform:rotate(360deg)}}
@media(max-width:900px){
  .story-grid,.booking-section,.contact-shell{grid-template-columns:1fr}
  .story-art{max-width:620px}
  .featured-player{grid-template-columns:1fr}
  .shows-heading{grid-template-columns:1fr}
  .empty-show-card{grid-template-columns:120px 1fr}
  .empty-show-card .gold-btn{grid-column:2;width:max-content}
}
@media(max-width:620px){
  .story-frame{aspect-ratio:4/4.8}
  .story-frame img{transform:scale(1.35)}
  .empty-show-card{grid-template-columns:1fr;text-align:center}
  .date-orbit{margin:auto}
  .empty-show-card .gold-btn{grid-column:1;margin:auto}
}
@media(prefers-reduced-motion:reduce){
  .vinyl{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
}
