/* FYNMONSTA Global Styles (Fetched from fynmonsta.com) */

:root {
  --bg:#080a0e; --surface:#0f1115; --card:#14161b; --card2:#1a1d24;
  /* Gold only. No mint, no purple. Black + Gold + White. */
  --accent:#c9a84c; --accent2:#c9a84c; --accent3:#c9a84c; --accent4:#c9a84c;
  --text:#ede8df; --muted:#7a6f5e; --dim:#3a3530;
  --border:rgba(237,232,223,0.06); --border2:rgba(237,232,223,0.12);
  --spotify:#1DB954; --apple:#fa243c;
}
/* Reset browser default link blue — all anchors inherit their parent colour */
a { color: inherit; text-decoration: none; }
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;overflow-x:hidden;cursor:none;}
.cursor{position:fixed;width:12px;height:12px;background:var(--accent);border-radius:50%;pointer-events:none;z-index:9999;transition:transform .1s;mix-blend-mode:difference;}
.cursor-ring{position:fixed;width:36px;height:36px;border:1px solid rgba(201,168,76,.4);border-radius:50%;pointer-events:none;z-index:9998;transition:all .15s;}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");pointer-events:none;z-index:1000;opacity:.4;}

/* HERO TRIBE FORM */
.hero-tribe-form{display:flex;gap:8px;margin-top:28px;max-width:460px;flex-wrap:wrap;position:relative;z-index:10;}
.hero-tribe-input{flex:1;min-width:200px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px;padding:13px 18px;outline:none;transition:border-color .2s;}
.hero-tribe-input:focus{border-color:var(--accent);}
.hero-tribe-input::placeholder{color:var(--muted);}
.hero-tribe-btn{padding:13px 24px;background:var(--accent);border:none;color:#000;font-family:'Space Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .3s;white-space:nowrap;}
.hero-tribe-btn:hover{background:#b8943d;transform:translateY(-1px);}
.hero-tribe-note{font-family:'Space Mono',monospace;font-size:9px;color:var(--muted);letter-spacing:.08em;margin-top:10px;}
nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;justify-content:space-between;align-items:center;padding:24px 48px;background:linear-gradient(to bottom,rgba(8,10,14,.97),transparent);backdrop-filter:blur(4px);}
.nav-logo{font-family:'Syne',sans-serif;font-weight:800;font-size:20px;letter-spacing:.18em;color:var(--accent3);text-decoration:none;}
.nav-logo span{color:var(--text);}
.nav-links{display:flex;gap:32px;list-style:none;}
.nav-links a{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .3s;}
.nav-links a:hover{color:var(--accent2);}
.nav-cta{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.15em;padding:10px 20px;border:1px solid var(--accent2);color:var(--accent2);background:transparent;text-decoration:none;text-transform:uppercase;transition:all .3s;}
.nav-cta:hover{background:var(--accent2);color:#000;}
.mobile-menu-btn { display: none; font-size: 24px; cursor: pointer; color: var(--text); user-select: none; margin-left: 16px; line-height: 1; }

/* HERO */
#hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px 48px 80px;overflow:hidden;}
.hero-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(201,168,76,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,.018) 1px,transparent 1px);background-size:60px 60px;animation:gridShift 20s linear infinite;}
@keyframes gridShift{0%{transform:translate(0,0);}100%{transform:translate(60px,60px);}}
.hero-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.15;animation:orbFloat 8s ease-in-out infinite;}
.hero-orb-1{width:600px;height:600px;background:var(--accent2);top:-200px;right:-100px;}
.hero-orb-2{width:400px;height:400px;background:var(--accent2);bottom:0;right:200px;animation-delay:-3s;}
.hero-orb-3{width:300px;height:300px;background:var(--accent2);top:50%;left:40%;animation-delay:-6s;}
@keyframes orbFloat{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-40px) scale(1.05);}}
.hero-tag{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.3em;color:var(--accent);text-transform:uppercase;margin-bottom:24px;opacity:0;animation:fadeUp .8s ease forwards .3s;display:flex;align-items:center;gap:12px;}
.hero-tag::before{content:'';width:40px;height:1px;background:var(--accent);}
.hero-title{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(68px,12vw,150px);line-height:.9;letter-spacing:-.02em;opacity:0;animation:fadeUp .8s ease forwards .5s;position:relative;z-index:1;}
.glitch{position:relative;display:inline-block;color:var(--accent2);}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;}
.glitch::before{color:var(--text);animation:g1 4s infinite;clip-path:polygon(0 0,100% 0,100% 35%,0 35%);}
.glitch::after{color:var(--accent2);animation:g2 4s infinite;clip-path:polygon(0 65%,100% 65%,100% 100%,0 100%);}
@keyframes g1{0%,92%,100%{transform:translate(0);opacity:0;}93%{transform:translate(-4px,2px);opacity:.8;}96%{transform:translate(4px,-2px);opacity:.6;}}
@keyframes g2{0%,94%,100%{transform:translate(0);opacity:0;}95%{transform:translate(4px,2px);opacity:.8;}98%{transform:translate(-4px,-2px);opacity:.6;}}
.hero-subtitle{font-size:20px;color:var(--muted);margin-top:32px;max-width:500px;line-height:1.7;opacity:0;animation:fadeUp .8s ease forwards .7s;position:relative;z-index:10;}
.hero-subtitle strong{color:var(--text);}
.hero-ctas{display:flex;gap:16px;margin-top:48px;opacity:0;animation:fadeUp .8s ease forwards .9s;flex-wrap:wrap;}
.btn-primary{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;background:var(--accent);color:#000;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;font-weight:700;transition:all .3s;}
.btn-primary:hover{background:#b8943d;transform:translateY(-2px);}
.btn-outline{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;border:1px solid var(--border);color:var(--text);font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:all .3s;}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);}
.hero-stats{display:flex;gap:48px;margin-top:64px;opacity:0;animation:fadeUp .8s ease forwards 1.1s;}
.hs{display:flex;flex-direction:column;gap:4px;}
.hs-num{font-family:'Syne',sans-serif;font-size:36px;font-weight:800;color:var(--accent2);}
.hs-label{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.25em;color:var(--muted);text-transform:uppercase;}
.waveform-bar{position:absolute;bottom:0;left:0;right:0;height:80px;display:flex;align-items:flex-end;gap:2px;padding:0 48px;opacity:.08;pointer-events:none;}
.wave-bar{flex:1;background:var(--accent2);border-radius:2px 2px 0 0;animation:wv var(--dur,1s) ease-in-out infinite alternate;transform-origin:bottom;}
@keyframes wv{0%{transform:scaleY(.1);}100%{transform:scaleY(1);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}

/* SECTIONS */
section{padding:100px 48px;position:relative;}
.section-label{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.4em;color:var(--accent2);text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:12px;}
.section-label::before{content:'';width:20px;height:1px;background:var(--accent2);}
.section-title{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(36px,5vw,64px);line-height:1.05;margin-bottom:16px;}

/* MARQUEE */
.marquee-wrap{overflow:hidden;margin:0 -48px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:20px 0;}
.marquee-track{display:flex;gap:48px;animation:mq 22s linear infinite;width:max-content;}
.marquee-track.rev{animation:mq2 28s linear infinite;}
@keyframes mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes mq2{from{transform:translateX(-50%);}to{transform:translateX(0);}}
.mw{font-family:'Syne',sans-serif;font-size:28px;font-weight:800;white-space:nowrap;color:var(--muted);letter-spacing:.05em;}
.mw.gold{color:var(--accent);}
@keyframes pulse-gold{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.8;transform:scale(1.06);}}
.charity-amount-big{font-family:'Syne',sans-serif;font-size:clamp(32px,5vw,52px);font-weight:800;color:var(--accent);animation:pulse-gold 2.8s ease-in-out infinite;line-height:1;display:inline-block;}

/* THE STORY */
#story{background:var(--surface);}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-top:60px;}
.story-visual{position:relative;}
.story-img-box{aspect-ratio:4/5;background:var(--card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;}
.story-img-box::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(201,168,76,.04),rgba(201,168,76,.02),rgba(201,168,76,.04));}
.story-monogram{font-family:'Syne',sans-serif;font-size:120px;font-weight:800;color:rgba(201,168,76,.06);line-height:1;}
.story-corner{position:absolute;width:24px;height:24px;border-color:var(--accent);border-style:solid;}
.story-corner.tl{top:-10px;left:-10px;border-width:2px 0 0 2px;}
.story-corner.br{bottom:-10px;right:-10px;border-width:0 2px 2px 0;}
.story-pull{font-family:'Syne',sans-serif;font-size:28px;font-weight:700;line-height:1.3;color:var(--accent);margin-bottom:32px;border-left:3px solid var(--accent);padding-left:24px;}
.story-body p{color:var(--muted);font-size:16px;line-height:1.85;margin-bottom:20px;}
.story-body p strong{color:var(--text);}
.story-genre-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px;}
.sgen{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.15em;padding:6px 14px;border:1px solid var(--border);color:var(--muted);text-transform:uppercase;}

/* BEHIND THE MUSIC */
#btm{background:var(--bg);}
.btm-intro{max-width:600px;margin-bottom:60px;}
.btm-intro p{color:var(--muted);font-size:16px;line-height:1.8;margin-top:12px;}

/* Song cards */
.btm-songs{display:flex;flex-direction:column;gap:2px;margin-bottom:60px;}
.song-card{background:var(--card);border:1px solid var(--border);padding:36px 40px;position:relative;overflow:hidden;transition:border-color .3s;}
.song-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);transform:scaleY(0);transition:transform .4s;}
.song-card:hover{border-color:rgba(201,168,76,.15);}
.song-card:hover::before{transform:scaleY(1);}
.song-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.song-card-left{flex:1;min-width:0;}
.song-rank{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.3em;color:var(--accent2);text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:8px;}
.song-rank-num{font-family:'Syne',sans-serif;font-size:40px;font-weight:800;color:rgba(201,168,76,.12);line-height:1;margin-right:4px;}
.song-title{font-family:'Syne',sans-serif;font-size:26px;font-weight:800;margin-bottom:6px;}
.song-genre-tag{display:inline-block;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.15em;padding:4px 12px;border:1px solid var(--border);color:var(--muted);text-transform:uppercase;margin-bottom:16px;}
.song-note{font-size:15px;color:var(--muted);line-height:1.75;max-width:620px;}
.song-note em{color:var(--text);font-style:italic;}
.song-vote-area{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex-shrink:0;}
.vote-count{text-align:center;}
.vote-num{font-family:'Syne',sans-serif;font-size:36px;font-weight:800;color:var(--accent2);line-height:1;display:block;}
.vote-label{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;}
.vote-btn{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;padding:12px 24px;background:transparent;border:1px solid var(--accent2);color:var(--accent2);cursor:pointer;transition:all .3s;white-space:nowrap;}
.vote-btn:hover{background:var(--accent2);color:#000;}
.vote-btn.voted{border-color:var(--muted);color:var(--muted);cursor:default;background:transparent;}
.vote-btn.loading{opacity:.5;pointer-events:none;}
.song-bar{margin-top:20px;height:2px;background:var(--border);}
.song-bar-fill{height:100%;background:linear-gradient(to right,var(--accent2),var(--accent3));transition:width 1s ease;}

/* Vote modal */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:800;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(8px);}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal{background:var(--card);border:1px solid var(--border);padding:48px;max-width:480px;width:100%;position:relative;animation:modalIn .3s ease;}
@keyframes modalIn{from{transform:translateY(20px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.modal-close{position:absolute;top:20px;right:20px;background:transparent;border:none;color:var(--muted);font-size:20px;cursor:pointer;transition:color .2s;line-height:1;}
.modal-close:hover{color:var(--text);}
.modal-title{font-family:'Syne',sans-serif;font-size:22px;font-weight:800;margin-bottom:8px;}
.modal-subtitle{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:32px;}
.modal-song-name{color:var(--accent2);font-style:italic;}
.modal-field{margin-bottom:16px;}
.modal-field label{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.15em;color:var(--muted);text-transform:uppercase;display:block;margin-bottom:8px;}
.modal-input{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--border);padding:14px 16px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px;outline:none;transition:border-color .3s;}
.modal-input:focus{border-color:var(--accent2);}
.modal-note{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:24px;}
.modal-note a{color:var(--accent2);text-decoration:none;}
.modal-submit{width:100%;padding:16px;background:var(--accent2);border:none;color:#000;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;cursor:pointer;transition:background .3s;}
.modal-submit:hover{background:#b8943d;}
.modal-submit:disabled{opacity:.5;pointer-events:none;}
.modal-msg{text-align:center;padding:16px;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.1em;margin-top:12px;display:none;}
.modal-msg.success{color:var(--accent);display:block;}
.modal-msg.error{color:var(--accent2);display:block;}

/* Fan suggest / catalogue picker */
.btm-suggest{background:var(--surface);border:1px solid var(--border);padding:40px;}
.btm-suggest-title{font-family:'Syne',sans-serif;font-size:22px;font-weight:800;margin-bottom:8px;}
.btm-suggest-desc{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:28px;max-width:520px;}

/* Search picker */
.song-search-wrap{position:relative;margin-bottom:16px;}
.song-search-input{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--border);padding:14px 48px 14px 16px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px;outline:none;transition:border-color .3s;}
.song-search-input:focus{border-color:var(--accent);}
.song-search-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;font-size:16px;}
.song-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--card2);border:1px solid var(--border);border-top:none;z-index:200;max-height:280px;overflow-y:auto;display:none;}
.song-dropdown.open{display:block;}
.song-dropdown::-webkit-scrollbar{width:4px;}
.song-dropdown::-webkit-scrollbar-track{background:transparent;}
.song-dropdown::-webkit-scrollbar-thumb{background:var(--border);}
.song-option{padding:12px 16px;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.song-option:hover{background:rgba(201,168,76,.06);}
.song-option.selected{background:rgba(201,168,76,.1);}
.song-option-name{font-size:14px;font-weight:500;}
.song-option-genre{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;flex-shrink:0;}
.song-option-manual{color:var(--accent3);font-style:italic;}
.song-selected-tag{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.25);margin-bottom:16px;font-size:14px;}
.song-selected-tag button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:16px;line-height:1;padding:0;}
.song-selected-tag button:hover{color:var(--accent2);}
.suggest-email-row{display:flex;gap:12px;flex-wrap:wrap;}
.suggest-input{flex:1;min-width:200px;background:rgba(255,255,255,.04);border:1px solid var(--border);padding:14px 16px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px;outline:none;transition:border-color .3s;}
.suggest-input:focus{border-color:var(--accent);}
.suggest-btn{padding:14px 28px;background:transparent;border:1px solid var(--accent3);color:var(--accent3);font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .3s;white-space:nowrap;}
.suggest-btn:hover{background:var(--accent3);color:#fff;}
.suggest-note{font-family:'Space Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.08em;margin-top:12px;}
.manual-input-wrap{margin-bottom:16px;display:none;}
.manual-input-label{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.2em;color:var(--accent3);text-transform:uppercase;margin-bottom:8px;display:block;}
@media(max-width:600px){.suggest-email-row{flex-direction:column;}.suggest-btn{width:100%;}}

/* EXCLUSIVE */
#exclusive{background:var(--surface);overflow:hidden;}
.exclusive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);margin-top:60px;}
.ex-card{background:var(--card);padding:40px 32px;position:relative;overflow:hidden;transition:background .3s;}
.ex-card:hover{background:var(--card2);}
.ex-card-icon{font-size:28px;margin-bottom:20px;}
.ex-card-label{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.25em;color:var(--accent4);text-transform:uppercase;margin-bottom:10px;}
.ex-card-title{font-family:'Syne',sans-serif;font-size:20px;font-weight:700;margin-bottom:10px;}
.ex-card-desc{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:24px;}
.ex-lock{display:inline-flex;align-items:center;gap:8px;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);padding:8px 14px;}
.ex-lock svg{width:12px;height:12px;fill:var(--muted);}
.ex-unlock-form{display:flex;flex-direction:column;gap:8px;margin-top:8px;}
.ex-unlock-input{background:rgba(255,255,255,.04);border:1px solid var(--border);padding:10px 14px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:13px;outline:none;transition:border-color .3s;}
.ex-unlock-input:focus{border-color:var(--accent4);}
.ex-unlock-btn{padding:10px;background:var(--accent4);border:none;color:#fff;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .3s;}
.ex-unlock-btn:hover{background:#b8943d;}
.ex-card-glow{position:absolute;width:200px;height:200px;border-radius:50%;filter:blur(60px);opacity:.06;pointer-events:none;bottom:-60px;right:-60px;}

/* VIDEO */
#video{background:var(--bg);}
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:60px;}
.video-card{position:relative;background:var(--card);border:1px solid var(--border);overflow:hidden;transition:border-color .3s;}
.video-card:hover{border-color:rgba(201,168,76,.2);}
.video-embed{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;}
.video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;}
.video-placeholder{position:relative;padding-bottom:56.25%;height:0;background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;}
.video-placeholder-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;}
.video-play-icon{width:56px;height:56px;border-radius:50%;border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;transition:all .3s;}
.video-play-icon svg{width:20px;height:20px;fill:var(--accent);margin-left:3px;}
.video-placeholder:hover .video-play-icon{background:var(--accent);}
.video-placeholder:hover .video-play-icon svg{fill:#000;}
.video-placeholder-label{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.15em;color:var(--muted);text-transform:uppercase;}
.video-info{padding:20px 24px;}
.video-tag{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.2em;color:var(--accent2);text-transform:uppercase;margin-bottom:6px;}
.video-title{font-family:'Syne',sans-serif;font-size:16px;font-weight:700;}
.video-add{background:var(--card);border:1px solid var(--border);border-style:dashed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px;text-align:center;min-height:200px;}
.video-add-icon{font-size:32px;opacity:.3;}
.video-add-text{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.15em;color:var(--muted);text-transform:uppercase;}

/* STORE */
#merch{background:var(--surface);}
.store-loading{display:flex;align-items:center;justify-content:center;gap:16px;padding:80px;color:var(--muted);font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.15em;}
.store-loading-spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent4);border-radius:50%;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* Carousel wrapper */
.store-carousel-wrap{margin-top:60px;position:relative;}
.store-carousel{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border);overflow:hidden;transition:opacity .35s;}
.store-carousel.switching{opacity:0;}

/* Left — image */
.sc-img{background:var(--card2);aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:100px;position:relative;overflow:hidden;min-height:420px;}
.sc-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.sc-badge{position:absolute;top:20px;left:20px;background:var(--accent4);color:#000;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.2em;padding:6px 12px;text-transform:uppercase;font-weight:700;z-index:2;}
.sc-badge-sold{background:#cc4444;color:#fff;}

/* Right — info */
.sc-info{padding:48px;display:flex;flex-direction:column;justify-content:center;}
.sc-label{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.25em;color:var(--accent4);text-transform:uppercase;margin-bottom:12px;}
.sc-name{font-family:'Syne',sans-serif;font-size:32px;font-weight:800;line-height:1.1;margin-bottom:8px;}
.sc-sub{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:20px;}
.sc-price{font-family:'Space Mono',monospace;font-size:26px;color:var(--accent4);font-weight:700;margin-bottom:4px;}
.sc-shipping{font-size:12px;color:var(--muted);margin-bottom:24px;}
.sc-size-label{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin-bottom:10px;}
.sc-sizes{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;}
.size-btn{padding:14px 20px;min-height:44px;min-width:44px;border:1px solid var(--border);background:transparent;color:var(--text);font-family:'Space Mono',monospace;font-size:11px;cursor:pointer;transition:all .2s;}
.size-btn:hover{border-color:var(--accent4);}
.size-btn.active{border-color:var(--accent4);background:var(--accent4);color:#000;font-weight:700;}
.sc-buy{width:100%;padding:16px;background:var(--accent4);border:none;color:#000;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;cursor:pointer;transition:all .3s;margin-bottom:16px;}
.sc-buy:hover{background:#d4922a;transform:translateY(-1px);}
.sc-buy:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.sc-secure{display:flex;gap:16px;flex-wrap:wrap;font-family:'Space Mono',monospace;font-size:9px;color:var(--muted);letter-spacing:.05em;}
.sc-msg{font-family:'Space Mono',monospace;font-size:11px;margin-top:10px;min-height:16px;color:var(--accent2);}

/* Nav dots + arrows */
.store-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:28px;}
.store-nav-arrow{background:none;border:1px solid var(--border);color:var(--muted);width:40px;height:40px;cursor:pointer;font-size:16px;transition:all .2s;display:flex;align-items:center;justify-content:center;}
.store-nav-arrow:hover{border-color:var(--accent4);color:var(--accent4);}
.store-nav-arrow:disabled{opacity:.2;cursor:not-allowed;}
.store-nav-dots{display:flex;gap:8px;align-items:center;}
.store-dot{width:6px;height:6px;border-radius:50%;background:var(--border);cursor:pointer;transition:all .3s;}
.store-dot.active{background:var(--accent4);width:20px;border-radius:3px;}
.store-counter{font-family:'Space Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.1em;}

@media(max-width:768px){
  .store-carousel{grid-template-columns:1fr;}
  .sc-img{min-height:300px;aspect-ratio:unset;}
  .sc-info{padding:28px 20px;}
  .sc-name{font-size:24px;}
}

/* Video coming-soon cards */
.video-coming{position:relative;background:var(--card);border:1px solid var(--border);overflow:hidden;}
.video-coming-inner{padding-bottom:56.25%;position:relative;}
.video-coming-bg{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.02) 0%,transparent 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;filter:grayscale(1);opacity:.35;}
.video-coming-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;}
.video-coming-badge{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.2em;color:var(--accent3);text-transform:uppercase;border:1px solid rgba(201,168,76,.3);padding:5px 12px;}
.video-coming-label{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;color:rgba(255,255,255,.4);}

/* Subscribe bar */
.video-subscribe{margin-top:40px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 36px;background:var(--card);border:1px solid var(--border);border-left:3px solid #FF0000;}
.video-subscribe-text{}
.video-subscribe-label{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.2em;color:#FF0000;text-transform:uppercase;margin-bottom:6px;}
.video-subscribe-title{font-family:'Syne',sans-serif;font-size:18px;font-weight:700;}
.video-subscribe-sub{font-size:13px;color:var(--muted);margin-top:4px;}
.video-subscribe-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:#FF0000;color:#fff;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;text-decoration:none;transition:all .3s;white-space:nowrap;}
.video-subscribe-btn:hover{background:#cc0000;transform:translateY(-1px);}
.video-subscribe-btn svg{width:16px;height:16px;fill:#fff;}
@media(max-width:600px){
  .video-subscribe{flex-direction:column;align-items:flex-start;padding:24px 20px;}
  .video-subscribe-btn{width:100%;justify-content:center;}
}

/* ── COLLAPSED VIDEO CARD ── */
.video-collapsed-card{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:28px 36px;background:var(--card);border:1px solid var(--border);text-decoration:none;transition:border-color .3s;max-width:1100px;margin:0 auto;}
.video-collapsed-card:hover{border-color:rgba(201,168,76,.25);}
.vcf-left{flex:1;}
.vcf-right{flex-shrink:0;}
.vcf-cta{display:inline-flex;align-items:center;gap:10px;font-family:'Space Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);padding:12px 22px;transition:all .2s;white-space:nowrap;}
.video-collapsed-card:hover .vcf-cta{border-color:rgba(201,168,76,.3);color:var(--text);}
@media(max-width:640px){.video-collapsed-card{flex-direction:column;align-items:flex-start;padding:24px 20px;}.vcf-cta{width:100%;justify-content:center;}}
#shows{background:var(--bg);}
.shows-list{margin-top:60px;display:flex;flex-direction:column;gap:1px;background:var(--border);}
.show-item{background:var(--card);padding:28px 36px;display:grid;grid-template-columns:110px 1fr 180px 160px;align-items:center;gap:24px;transition:background .3s;position:relative;overflow:hidden;}
.show-item::after{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent2);transform:scaleY(0);transition:transform .3s;}
.show-item:hover{background:#14161b;}
.show-item:hover::after{transform:scaleY(1);}
.show-date{font-family:'Space Mono',monospace;font-size:11px;color:var(--accent2);letter-spacing:.1em;line-height:1.5;}
.show-name{font-family:'Syne',sans-serif;font-size:18px;font-weight:700;}
.show-venue{font-family:'Space Mono',monospace;font-size:10px;color:var(--muted);margin-top:2px;}
.show-location{font-family:'Space Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;}
.show-ticket{display:inline-flex;padding:10px 20px;border:1px solid var(--accent2);color:var(--accent2);font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;transition:all .3s;justify-self:end;}
.show-ticket:hover{background:var(--accent2);color:#000;}
.show-ticket.sold-out{border-color:var(--muted);color:var(--muted);pointer-events:none;}
.show-pending{opacity:.75;}
.show-date-pending{color:var(--accent3)!important;}
.show-pending-badge{display:inline-flex;padding:10px 20px;border:1px solid var(--accent3);color:var(--accent3);font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;justify-self:end;align-items:center;gap:8px;}
.show-blur{filter:blur(4px);opacity:.3;pointer-events:none;user-select:none;}
.show-blur .show-ticket{display:none;}
.show-soon{display:inline-flex;padding:10px 20px;border:1px solid var(--muted);color:var(--muted);font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;justify-self:end;}

/* BOOKING */
.booking-section{margin-top:60px;background:var(--surface);border:1px solid var(--border);padding:48px;}
.booking-inner{display:grid;grid-template-columns:1fr 1.6fr;gap:60px;align-items:start;}
.booking-title{font-family:'Syne',sans-serif;font-size:28px;font-weight:800;line-height:1.2;margin-bottom:12px;}
.booking-desc{font-size:14px;color:var(--muted);line-height:1.8;}
.booking-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.booking-field{display:flex;flex-direction:column;gap:6px;}
.booking-field label{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;}
.booking-input{background:rgba(255,255,255,.04);border:1px solid var(--border);padding:12px 14px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px;outline:none;transition:border-color .3s;width:100%;}
.booking-input:focus{border-color:var(--accent4);}
.booking-textarea{resize:vertical;min-height:100px;}
.booking-submit{padding:14px 32px;background:var(--accent4);border:none;color:#fff;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;cursor:pointer;transition:all .3s;margin-top:4px;}
.booking-submit:hover{background:#b8943d;transform:translateY(-1px);}
.booking-response{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.1em;margin-top:12px;min-height:20px;}

.soc-link.tt:hover{border-color:#ff0050;color:#ff0050;}
@media(max-width:900px){
  .booking-inner{grid-template-columns:1fr;}
  .booking-row{grid-template-columns:1fr;}
  .booking-section{padding:28px 20px;}
}

/* COMMUNITY */
#community{background:var(--surface);text-align:center;padding:120px 48px;position:relative;overflow:hidden;}
#community::before{content:'FYN NATION';position:absolute;font-family:'Syne',sans-serif;font-size:clamp(60px,15vw,200px);font-weight:800;color:rgba(201,168,76,.018);top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none;letter-spacing:-4px;}
.community-inner{position:relative;z-index:1;max-width:580px;margin:0 auto;}
.community-title{font-family:'Syne',sans-serif;font-size:clamp(36px,5vw,64px);font-weight:800;line-height:1.05;margin-bottom:20px;}
.community-desc{color:var(--muted);font-size:16px;line-height:1.8;margin-bottom:48px;}
.email-form{display:flex;max-width:460px;margin:0 auto 16px;border:1px solid var(--border);transition:border-color .3s;}
.email-form:focus-within{border-color:var(--accent2);}
.email-input{flex:1;background:rgba(255,255,255,.03);border:none;padding:16px 20px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px;outline:none;}
.email-input::placeholder{color:var(--muted);}
.email-submit{padding:16px 22px;background:var(--accent2);border:none;color:#000;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;cursor:pointer;transition:background .3s;}
.email-submit:hover{background:#b8943d;}
.community-note{font-family:'Space Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.1em;margin-bottom:48px;}
.social-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}
.soc-link{display:flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--border);color:var(--muted);font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:all .3s;}
.soc-link svg{width:14px;height:14px;fill:currentColor;}
.soc-link.sp:hover{border-color:var(--spotify);color:var(--spotify);}
.soc-link.ap:hover{border-color:var(--apple);color:var(--apple);}
.soc-link:hover{border-color:var(--accent);color:var(--accent);}

footer{background:var(--bg);border-top:1px solid var(--border);padding:40px 48px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;}
.footer-logo{font-family:'Syne',sans-serif;font-weight:800;font-size:18px;color:var(--accent3);letter-spacing:.15em;}
.footer-logo span{color:var(--text);}
.footer-text{font-family:'Space Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.08em;text-align:center;line-height:1.7;}
.footer-links{display:flex;gap:24px;}
.footer-links a{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.12em;color:var(--muted);text-decoration:none;text-transform:uppercase;transition:color .3s;}
.footer-links a:hover{color:var(--accent2);}

.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

@media(max-width:900px){
  nav{padding:20px 24px;} 
  .nav-links{display:none;}
  .mobile-menu-btn{display:block;}
  .nav-links.mobile-open {
    display: flex; flex-direction: column; position: absolute; top: 100%; left: 0; right: 0;
    background: rgba(8,10,14,.98); padding: 32px 24px; border-bottom: 1px solid var(--border);
    backdrop-filter: blur(8px); text-align: center; gap: 24px; z-index: 500;
  }
  section{padding:60px 24px;}
  .story-grid{grid-template-columns:1fr;} .story-visual{display:none;}
  .exclusive-grid{grid-template-columns:1fr;}
  #exclusive .reveal > div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important;}
  .video-grid{grid-template-columns:1fr;}
  .merch-banner{flex-direction:column;}
  .merch-items{grid-template-columns:1fr;}
  .show-item{grid-template-columns:1fr 1fr;} .show-location{display:none;}
  footer{flex-direction:column;text-align:center;}
  .hero-ctas{flex-direction:column;align-items:flex-start;}
  #hero{padding:120px 24px 80px;}
  .song-card-top{flex-direction:column;}
  .song-vote-area{align-items:flex-start;flex-direction:row;align-items:center;}
  .marquee-wrap{margin:0 -24px;}
}



/* ACCESSIBILITY: REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
  .glitch-text::before, .glitch-text::after, body::before { display: none !important; }
  .marquee-track { animation: none !important; transform: none !important; }
}

/* ── COOKIE CONSENT BANNER ── */
#fynCookieBanner{position:fixed;bottom:0;left:0;right:0;z-index:9997;background:#0f1115;border-top:1px solid rgba(201,168,76,.25);padding:16px 24px;transform:translateY(100%);transition:transform .35s cubic-bezier(.16,1,.3,1);}
#fynCookieBanner.fcb-visible{transform:translateY(0);}
.fcb-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.fcb-logo{font-family:'Arial Black',sans-serif;font-weight:900;color:#c9a84c;letter-spacing:.08em;margin-right:4px;}
.fcb-text{font-family:'Space Mono',monospace;font-size:10px;color:#7a6f5e;letter-spacing:.04em;line-height:1.6;flex:1;min-width:220px;}
.fcb-link{color:#c9a84c;text-decoration:none;}
.fcb-link:hover{text-decoration:underline;}
.fcb-actions{display:flex;gap:8px;flex-shrink:0;}
.fcb-btn{font-family:'Space Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:10px 20px;border:none;cursor:pointer;transition:all .2s;}
.fcb-decline{background:transparent;border:1px solid rgba(237,232,223,.1);color:#7a6f5e;}
.fcb-decline:hover{border-color:rgba(237,232,223,.25);color:#ede8df;}
.fcb-accept{background:#c9a84c;color:#000;}
.fcb-accept:hover{background:#b8943d;}
@media(max-width:600px){.fcb-inner{gap:12px;}.fcb-actions{width:100%;}.fcb-btn{flex:1;text-align:center;}}

/* TOUCH DEVICE GHOST HOVER MITIGATION */
@media (hover: none) {
  .btn-primary:hover { background: var(--accent); transform: none; }
  .btn-primary:active { background: #b8943d; transform: translateY(-1px); }
  
  .btn-outline:hover { border-color: var(--border); color: var(--text); }
  .btn-outline:active { border-color: var(--accent); color: var(--accent); }
  
  .nav-cta:hover { background: transparent; color: var(--accent2); }
  .nav-cta:active { background: var(--accent2); color: #000; }
  
  .nav-links a:hover { color: var(--muted); }
  .nav-links a:active { color: var(--accent2); }
  
  .size-btn:hover { border-color: var(--border); }
  .size-btn:active { border-color: var(--accent4); }
  
  .video-placeholder:hover .video-play-icon { background: transparent; }
  .video-placeholder:hover .video-play-icon svg { fill: var(--accent); }
  .video-placeholder:active .video-play-icon { background: var(--accent); }
  .video-placeholder:active .video-play-icon svg { fill: #000; }
  
  .ex-card:hover { background: var(--card); }
  .ex-card:active { background: var(--card2); }
  
  .song-card:hover { border-color: var(--border); }
  .song-card:hover::before { transform: scaleY(0); }
  .song-card:active { border-color: rgba(201,168,76,.15); }
  .song-card:active::before { transform: scaleY(1); }
  
  .soc-link:hover { border-color: var(--border); color: var(--muted); }
  .soc-link:active { border-color: var(--accent); color: var(--accent); }
}
