:root{--gold:#f5a623;--gold-l:#ffd166;--gold-d:#c47d0a;--red:#c0392b;--red-l:#E74C3C;--night:#070714;--cream:#fff8ee;--soft:rgba(255,248,238,.82);}
:root{--gold:#f5a623;--gold-l:#ffd166;--gold-d:#c47d0a;--red:#c0392b;--red-l:#E74C3C;--night:#070714;--cream:#fff8ee;--soft:rgba(255,248,238,.82);}
/* ====================================================
   PHADABOUM.COM — STYLE.CSS
   ==================================================== */
:root {
  --gold:   #F5A623;
  --gold-l: #FFD166;
  --gold-d: #C47D0A;
  --red:    #C0392B;
  --red-l:  #E74C3C;
  --night:  #070714;
  --cream:  #FFF8EE;
  --soft:   rgba(255,248,238,.82);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { font-family:'Nunito',sans-serif; background:var(--night); color:var(--cream); overflow-x:hidden; }

/* ====== SPLASH ====== */
#splash {
  position:fixed; top:0; left:0;
  width:100vw; height:100vh; height:100dvh;
  z-index:99999; background:#000;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  transition:opacity .85s ease, visibility .85s ease;
}
#splash.hide { opacity:0; visibility:hidden; pointer-events:none; }

#splash-video {
  position:absolute; top:0; left:0;
  width:100%; height:100%;
  object-fit:contain;
  object-position:center center;
  background:#000; z-index:1;
}

#splash-vignette {
  position:absolute; inset:0; z-index:3; pointer-events:none;
  background:radial-gradient(ellipse 80% 75% at 50% 50%, transparent 45%, rgba(0,0,0,.72) 100%);
}
#tap-sound {
  position:absolute; inset:0; z-index:20;
  display:flex; flex-direction:column; align-items:center; justify-content:flex-end;
  padding-bottom:clamp(80px,15vh,120px);
  background:rgba(0,0,0,.45); cursor:pointer;
  animation:tapFade .6s ease 1.5s both;
}
@keyframes tapFade { from{opacity:0;transform:translateY(20px);} to{opacity:1;transform:translateY(0);} }
#tap-sound.hidden { display:none; }
.tap-bubble {
  display:flex; flex-direction:column; align-items:center; gap:10px;
  background:rgba(0,0,0,.65); border:2px solid rgba(245,166,35,.6);
  border-radius:24px; padding:20px 36px;
  backdrop-filter:blur(14px);
  animation:tapPulse 1.8s ease-in-out infinite;
}
@keyframes tapPulse {
  0%,100% { box-shadow:0 0 0 0 rgba(245,166,35,.4); }
  50%     { box-shadow:0 0 0 16px rgba(245,166,35,0); }
}
.tap-icon { font-size:clamp(2rem,8vw,3.5rem); }
.tap-txt  { font-family:'Fredoka One',cursive; font-size:clamp(.9rem,4vw,1.3rem); color:var(--gold-l); letter-spacing:1px; text-align:center; }
.tap-sub  { font-size:clamp(.7rem,2.5vw,.85rem); color:rgba(255,248,238,.65); text-align:center; }

#splash-logo {
  position:absolute; top:clamp(14px,4vw,28px); left:50%;
  transform:translateX(-50%); z-index:10; text-align:center; white-space:nowrap;
  animation:slogoIn 1s ease .6s both;
}
@keyframes slogoIn {
  from { opacity:0; transform:translateX(-50%) translateY(-18px); }
  to   { opacity:1; transform:translateX(-50%) translateY(0); }
}
#splash-logo-txt {
  font-family:'Fredoka One',cursive;
  font-size:clamp(.95rem,4vw,1.55rem);
  color:rgba(255,248,238,.93);
  text-shadow:0 0 24px rgba(245,166,35,.7), 0 2px 10px rgba(0,0,0,.9);
  letter-spacing:2px;
}
#splash-badge {
  position:absolute; top:clamp(12px,3vw,26px); right:clamp(10px,3vw,32px); z-index:10;
  background:linear-gradient(135deg,var(--gold),var(--gold-d));
  color:var(--night); font-family:'Baloo 2',cursive; font-weight:900;
  font-size:clamp(.55rem,1.6vw,.76rem); letter-spacing:1.5px; text-transform:uppercase;
  padding:clamp(4px,1vw,7px) clamp(10px,2vw,18px); border-radius:20px;
  box-shadow:0 4px 14px rgba(245,166,35,.5);
  animation:slogoIn 1s ease .9s both; white-space:nowrap;
}
@media(max-width:360px) { #splash-badge { display:none; } }

#splash-mute {
  position:absolute; bottom:clamp(18px,5vw,40px); left:clamp(12px,3.5vw,32px); z-index:15;
  background:rgba(0,0,0,.6); border:1.5px solid rgba(255,255,255,.28);
  color:rgba(255,255,255,.88);
  width:clamp(38px,8vw,48px); height:clamp(38px,8vw,48px);
  border-radius:50%; cursor:pointer; backdrop-filter:blur(10px);
  display:flex; align-items:center; justify-content:center;
  font-size:clamp(.9rem,3vw,1.2rem); transition:all .3s;
  animation:skipIn .6s ease 2.5s both;
}
#splash-mute:hover { background:rgba(245,166,35,.25); border-color:var(--gold); transform:scale(1.1); }

#splash-skip {
  position:absolute; bottom:clamp(18px,5vw,40px); right:clamp(12px,3.5vw,32px); z-index:15;
  display:flex; align-items:center; gap:7px;
  background:rgba(0,0,0,.6); border:1.5px solid rgba(245,166,35,.5);
  color:rgba(255,248,238,.9); font-family:'Nunito',sans-serif; font-weight:800;
  font-size:clamp(.68rem,2.2vw,.9rem); letter-spacing:1px; text-transform:uppercase;
  padding:clamp(8px,1.8vw,13px) clamp(14px,3vw,28px);
  border-radius:40px; cursor:pointer; backdrop-filter:blur(10px);
  transition:all .3s; animation:skipIn .6s ease 2.5s both; white-space:nowrap;
}
@keyframes skipIn { from{opacity:0;transform:translateY(14px);} to{opacity:1;transform:translateY(0);} }
#splash-skip:hover { background:rgba(245,166,35,.2); border-color:var(--gold); color:var(--gold); transform:translateY(-2px); }

#splash-progress {
  position:absolute; bottom:0; left:0; height:4px; width:0%;
  background:linear-gradient(90deg,var(--gold-d),var(--gold-l),var(--gold));
  z-index:10; box-shadow:0 0 14px rgba(245,166,35,1); border-radius:0 3px 3px 0;
  transition:width .15s linear;
}
#splash-progress::after {
  content:''; position:absolute; right:-5px; top:-5px;
  width:14px; height:14px; border-radius:50%;
  background:var(--gold-l); box-shadow:0 0 12px var(--gold);
}
#splash-overlay {
  position:absolute; inset:0; background:#000; z-index:8; pointer-events:none;
  animation:fadeBlk 1.4s ease .4s forwards;
}
@keyframes fadeBlk { from{opacity:1;} to{opacity:0;} }

/* ====== CANVAS + NOTES ====== */
#fwCanvas { position:fixed; inset:0; z-index:0; pointer-events:none; will-change:transform; }
#global-notes { position:fixed; inset:0; z-index:2; pointer-events:none; overflow:hidden; }
.gnote {
  position:absolute; bottom:-60px; color:rgba(255,209,102,.7); font-size:1.3rem;
  animation:gnoteRise linear infinite; pointer-events:none; user-select:none;
  text-shadow:0 0 14px rgba(245,166,35,.8), 0 0 28px rgba(245,166,35,.4);
  will-change:transform,opacity;
}
@keyframes gnoteRise {
  0%  { opacity:0;   transform:translateY(0)      translateX(0px)   rotate(-5deg)  scale(.75); }
  10% { opacity:.9; }
  30% { transform:translateY(-30vh)    translateX(12px)  rotate(8deg)   scale(1); }
  55% { transform:translateY(-58vh)    translateX(-10px) rotate(-4deg)  scale(1.05); opacity:.75; }
  80% { transform:translateY(-85vh)    translateX(8px)   rotate(10deg)  scale(1);    opacity:.45; }
  100%{ opacity:0;   transform:translateY(-108vh)  translateX(0px)   rotate(15deg)  scale(.9); }
}

/* ====== NAV ====== */
nav {
  position:fixed; top:0; left:0; right:0; z-index:900;
  display:flex; align-items:center; justify-content:space-between;
  padding:clamp(10px,2vw,16px) clamp(16px,4vw,48px);
  background:rgba(7,7,20,.88); backdrop-filter:blur(24px);
  border-bottom:1.5px solid rgba(245,166,35,.22);
}
.nav-brand { display:flex; align-items:center; gap:10px; text-decoration:none; }
.nav-brand-txt {
  font-family:'Fredoka One',cursive; font-size:clamp(1.1rem,3vw,1.5rem);
  color:var(--gold); text-shadow:0 0 18px rgba(245,166,35,.5); letter-spacing:1px; white-space:nowrap;
}
.nav-links { display:flex; gap:clamp(14px,2.5vw,28px); list-style:none; }
.nav-links a {
  font-weight:800; font-size:clamp(.75rem,1.5vw,.88rem);
  color:rgba(255,248,238,.72); text-decoration:none; letter-spacing:.8px;
  text-transform:uppercase; position:relative; transition:color .3s; white-space:nowrap;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-5px; left:0; right:0; height:2px;
  background:linear-gradient(90deg,var(--gold),var(--gold-l));
  transform:scaleX(0); border-radius:2px; transition:transform .3s;
}
.nav-links a:hover { color:var(--gold); }
.nav-links a:hover::after { transform:scaleX(1); }
.nav-soc { display:flex; gap:8px; }
.nav-soc a {
  width:clamp(30px,4vw,36px); height:clamp(30px,4vw,36px);
  border-radius:50%; background:rgba(245,166,35,.1); border:1.5px solid rgba(245,166,35,.35);
  display:flex; align-items:center; justify-content:center;
  color:var(--gold); text-decoration:none; transition:all .3s;
}
.nav-soc a:hover { background:var(--gold); color:var(--night); transform:scale(1.12); }
.rico-l {
  height:clamp(14px,2.5vw,20px);
  vertical-align:middle; margin:0 5px;
  filter:
    drop-shadow(0 0 4px rgba(0,180,255,.9))
    drop-shadow(0 0 10px rgba(0,150,255,.7))
    drop-shadow(0 0 20px rgba(0,120,255,.5))
    drop-shadow(0 0 35px rgba(100,180,255,.3));
}
.rico-sm {
  height:clamp(12px,2vw,16px);
  vertical-align:middle; margin:0 4px;
  filter:
    drop-shadow(0 0 3px rgba(0,180,255,.9))
    drop-shadow(0 0 8px rgba(0,150,255,.7))
    drop-shadow(0 0 16px rgba(0,120,255,.5))
    drop-shadow(0 0 28px rgba(100,180,255,.3));
}
@media(max-width:768px) { .nav-links { display:none; } }

/* ====== HERO ====== */
.hero {
  position:relative; min-height:100svh;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; z-index:3;
  padding:clamp(80px,12vw,120px) 20px clamp(40px,6vw,70px);
}
.hero-bg {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 90% 70% at 50% -10%, rgba(44,16,96,.7) 0%, transparent 65%),
    radial-gradient(ellipse 60% 50% at 80% 80%, rgba(192,57,43,.1) 0%, transparent 60%),
    rgba(7,7,20,.45);
}
.float-syms { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.fsym {
  position:absolute; animation:fSymUp linear infinite;
  opacity:0; user-select:none; pointer-events:none;
}
@keyframes fSymUp {
  0%  { opacity:0; transform:translateY(100%) rotate(0deg); }
  8%  { opacity:.7; }
  88% { opacity:.4; }
  100%{ opacity:0; transform:translateY(-120vh) rotate(360deg); }
}
.hero-inner {
  position:relative; z-index:2;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  width:100%; max-width:900px;
}
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(245,166,35,.1); border:1.5px solid rgba(245,166,35,.4);
  border-radius:30px; padding:6px clamp(14px,3vw,22px);
  font-size:clamp(.68rem,1.8vw,.8rem); font-weight:800; letter-spacing:2.5px;
  text-transform:uppercase; color:var(--gold);
  margin-bottom:clamp(16px,3vw,26px); animation:fsd .9s ease both;
}
@keyframes fsd { from{opacity:0;transform:translateY(-24px);} to{opacity:1;transform:translateY(0);} }
@keyframes fsu  { from{opacity:0;transform:translateY(36px);}  to{opacity:1;transform:translateY(0);} }

.hero-mascot {
  width:clamp(360px,48vw,645px);
  filter:drop-shadow(0 0 50px rgba(245,166,35,.55)) drop-shadow(0 40px 60px rgba(0,0,0,.6));
  animation:mascotF 4s ease-in-out infinite, fsu 1s ease .4s both;
  margin-bottom:4px;
}
@keyframes mascotF {
  0%,100% { transform:translateY(0) rotate(-1.5deg) scale(1); }
  50%     { transform:translateY(-20px) rotate(1.5deg) scale(1.015); }
}
.hero-title {
  font-family:'Fredoka One',cursive;
  font-size:clamp(3.8rem,14vw,9.5rem); line-height:.88; letter-spacing:-2px;
  background:linear-gradient(145deg,#FFE566 0%,#F5A623 40%,#C47D0A 80%,#F5A623 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  filter:drop-shadow(0 6px 30px rgba(245,166,35,.55)); animation:fsu 1s ease .6s both;
}
.hero-drummer {
  display:inline-flex; align-items:center; gap:8px;
  background:linear-gradient(135deg,rgba(192,57,43,.22),rgba(192,57,43,.08));
  border:1.5px solid rgba(192,57,43,.5); border-radius:30px;
  padding:clamp(6px,1.5vw,9px) clamp(14px,3vw,22px);
  font-size:clamp(.75rem,2vw,.9rem); font-weight:800; letter-spacing:1.5px;
  text-transform:uppercase; color:#FF8A80;
  margin-bottom:clamp(18px,4vw,30px); animation:fsu 1s ease 1s both; text-align:center;
}
.hero-desc {
  font-size:clamp(.9rem,2.2vw,1.08rem); line-height:1.9;
  color:rgba(255,248,238,.78); max-width:600px;
  margin:0 auto clamp(24px,5vw,38px); animation:fsu 1s ease 1.1s both; padding:0 10px;
}
.hero-desc strong { color:var(--gold); font-weight:800; }
.hero-btns {
  display:flex; gap:12px; flex-wrap:wrap; justify-content:center;
  animation:fsu 1s ease 1.2s both; padding:0 10px;
}
.btn-p {
  display:inline-flex; align-items:center; gap:8px;
  background:linear-gradient(135deg,var(--gold-l) 0%,var(--gold) 50%,var(--gold-d) 100%);
  color:var(--night); font-family:'Baloo 2',cursive; font-weight:900;
  font-size:clamp(.85rem,2vw,1rem); padding:clamp(11px,2vw,14px) clamp(22px,4vw,36px);
  border-radius:50px; text-decoration:none; box-shadow:0 10px 35px rgba(245,166,35,.45);
  transition:all .3s cubic-bezier(.175,.885,.32,1.275); white-space:nowrap;
}
.btn-p:hover { transform:translateY(-4px) scale(1.05); box-shadow:0 20px 50px rgba(245,166,35,.6); }
.btn-o {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.04); border:2px solid rgba(245,166,35,.5);
  color:var(--gold-l); font-family:'Baloo 2',cursive; font-weight:900;
  font-size:clamp(.85rem,2vw,1rem); padding:clamp(11px,2vw,14px) clamp(22px,4vw,36px);
  border-radius:50px; text-decoration:none; transition:all .3s; white-space:nowrap;
}
.btn-o:hover { background:rgba(245,166,35,.1); border-color:var(--gold); transform:translateY(-3px); }
.scroll-ind {
  position:absolute; bottom:clamp(16px,3vw,28px); left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:5px;
  color:rgba(245,166,35,.5); font-size:.68rem; letter-spacing:2px; text-transform:uppercase;
  animation:scrollB 2.4s ease-in-out infinite;
}
@keyframes scrollB {
  0%,100% { transform:translateX(-50%) translateY(0); opacity:.5; }
  50%     { transform:translateX(-50%) translateY(10px); opacity:1; }
}

/* ====== SECTIONS ====== */
.sw { position:relative; z-index:3; }
.si { max-width:1200px; margin:0 auto; padding:0 clamp(16px,4vw,36px); }
.sh { text-align:center; margin-bottom:clamp(36px,5vw,56px); }
.s-tag { display:inline-block; font-size:.72rem; font-weight:900; letter-spacing:3.5px; text-transform:uppercase; color:var(--gold); opacity:.8; margin-bottom:10px; }
.s-title {
  font-family:'Fredoka One',cursive; font-size:clamp(1.9rem,5.5vw,3.8rem); line-height:1.05;
  background:linear-gradient(135deg,var(--gold-l) 0%,var(--gold) 60%,var(--gold-d) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  filter:drop-shadow(0 3px 15px rgba(245,166,35,.3));
}
.s-line { width:50px; height:4px; background:linear-gradient(90deg,var(--gold),transparent); border-radius:2px; margin:12px auto 0; }

/* ====== BIO ====== */
.bio-sec { padding:clamp(60px,8vw,100px) 0 clamp(70px,9vw,110px); background:linear-gradient(180deg,rgba(7,7,20,.55) 0%,rgba(18,6,42,.5) 50%,rgba(7,7,20,.55) 100%); }
.bio-lay { display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(30px,5vw,70px); align-items:center; }
@media(max-width:768px) { .bio-lay { grid-template-columns:1fr; gap:40px; } }
.bio-ic { position:relative; }

/* Slideshow */
.bio-slideshow { position:relative; width:100%; border-radius:clamp(18px,3vw,32px); overflow:hidden; }
.bio-slideshow .bio-mi {
  width:100%; border-radius:clamp(18px,3vw,32px);
  border:3px solid rgba(245,166,35,.28);
  box-shadow:0 40px 100px rgba(0,0,0,.55), 0 0 0 1px rgba(245,166,35,.1);
  transition:opacity .6s ease, transform .6s ease;
  display:block; aspect-ratio:1; object-fit:cover; cursor:zoom-in;
}
.bio-slideshow .bio-mi.fade-out { opacity:0; transform:scale(.97); }
.bio-prev, .bio-next {
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(0,0,0,.55); border:1.5px solid rgba(245,166,35,.45);
  color:var(--gold); font-size:clamp(1.4rem,4vw,2rem);
  width:clamp(36px,6vw,46px); height:clamp(36px,6vw,46px);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all .3s; backdrop-filter:blur(6px); z-index:5;
}
.bio-prev { left:10px; } .bio-next { right:10px; }
.bio-prev:hover, .bio-next:hover { background:var(--gold); color:var(--night); transform:translateY(-50%) scale(1.1); }
.bio-dots { position:absolute; bottom:12px; left:50%; transform:translateX(-50%); display:flex; gap:6px; z-index:5; }
.bio-dot { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.4); border:1.5px solid rgba(245,166,35,.5); cursor:pointer; transition:all .3s; }
.bio-dot.active { background:var(--gold); transform:scale(1.25); box-shadow:0 0 8px rgba(245,166,35,.7); }
.bio-progress-bar { position:absolute; bottom:0; left:0; width:100%; height:3px; background:rgba(255,255,255,.12); z-index:5; }
.bio-progress-fill { height:100%; width:0%; background:linear-gradient(90deg,var(--gold-d),var(--gold-l)); transition:width .1s linear; box-shadow:0 0 8px rgba(245,166,35,.8); }

.bio-sp { position:absolute; top:-12px; right:-12px; width:70px; height:70px; background:radial-gradient(circle,rgba(245,166,35,.4) 0%,transparent 70%); border-radius:50%; animation:pulseG 3s ease-in-out infinite; }
@keyframes pulseG { 0%,100%{transform:scale(1);opacity:.7;} 50%{transform:scale(1.3);opacity:1;} }
.bio-tc h3 { font-family:'Fredoka One',cursive; font-size:clamp(1.3rem,3vw,1.8rem); color:var(--gold-l); margin-bottom:18px; line-height:1.2; }
.bio-tc p  { font-size:clamp(.9rem,1.8vw,1.04rem); line-height:1.9; color:var(--soft); margin-bottom:16px; }
.bio-tc p strong { color:var(--gold); font-weight:800; }
.mus-badge { display:inline-flex; align-items:center; gap:7px; background:linear-gradient(135deg,rgba(192,57,43,.18),rgba(192,57,43,.08)); border:1.5px solid rgba(192,57,43,.4); border-radius:14px; padding:9px 18px; font-size:clamp(.78rem,1.8vw,.9rem); font-weight:800; color:#FF8A80; margin-bottom:18px; letter-spacing:1px; }
.bio-stats { display:flex; gap:clamp(10px,2vw,16px); margin-top:26px; flex-wrap:wrap; }
.bio-stat { flex:1; min-width:80px; background:rgba(245,166,35,.08); border:1.5px solid rgba(245,166,35,.25); border-radius:18px; padding:clamp(12px,2vw,16px) clamp(10px,1.5vw,14px); text-align:center; transition:all .3s; }
.bio-stat:hover { background:rgba(245,166,35,.14); border-color:rgba(245,166,35,.5); transform:translateY(-4px); }
.bio-sn { font-family:'Fredoka One',cursive; font-size:clamp(1.5rem,3vw,2rem); color:var(--gold); display:block; line-height:1; }
.bio-sl { font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:1.5px; color:rgba(255,248,238,.55); margin-top:4px; }

/* ====== GALLERY ====== */
.gal-sec { padding:clamp(60px,8vw,100px) 0 clamp(70px,9vw,110px); background:rgba(7,7,20,.5); }
.gal-tabs { display:flex; justify-content:center; gap:8px; margin-bottom:clamp(30px,5vw,50px); flex-wrap:wrap; padding:0 10px; }
.tab-btn { font-family:'Baloo 2',cursive; font-weight:800; font-size:clamp(.75rem,2vw,.88rem); padding:9px clamp(14px,3vw,26px); border-radius:40px; border:2px solid rgba(245,166,35,.35); background:rgba(245,166,35,.05); color:rgba(255,248,238,.65); cursor:pointer; transition:all .3s; white-space:nowrap; }
.tab-btn:hover { border-color:rgba(245,166,35,.7); color:var(--gold); transform:translateY(-2px); }
.tab-btn.active { background:linear-gradient(135deg,var(--gold),var(--gold-d)); border-color:var(--gold); color:var(--night); box-shadow:0 6px 22px rgba(245,166,35,.4); transform:translateY(-3px); }
.gal-panel { display:none; } .gal-panel.active { display:block; }
.gal-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(clamp(140px,22vw,210px),1fr)); gap:clamp(8px,1.5vw,14px); }
.g-item { position:relative; border-radius:clamp(14px,2.5vw,22px); overflow:hidden; aspect-ratio:1; cursor:pointer; border:2px solid rgba(245,166,35,.12); background:#0F0F22; transition:all .4s cubic-bezier(.175,.885,.32,1.275); }
.g-item:hover { transform:translateY(-8px) scale(1.02); border-color:rgba(245,166,35,.6); box-shadow:0 24px 60px rgba(245,166,35,.22); z-index:5; }
.g-item img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.g-item:hover img { transform:scale(1.12); }
.g-ov { position:absolute; inset:0; background:linear-gradient(to top,rgba(7,7,20,.88) 0%,rgba(7,7,20,.2) 50%,transparent 100%); opacity:0; transition:opacity .3s; display:flex; align-items:flex-end; padding:12px; }
.g-item:hover .g-ov { opacity:1; }

/* ====== LIGHTBOX ====== */
.lb { display:none; position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.97); align-items:center; justify-content:center; padding:0; touch-action:none; }
.lb.open { display:flex; animation:lbF .25s ease; }
@keyframes lbF { from{opacity:0;} to{opacity:1;} }
.lb img { max-width:92vw; max-height:92svh; border-radius:clamp(10px,2vw,16px); object-fit:contain; box-shadow:0 30px 100px rgba(0,0,0,.9); transition:opacity .3s ease; transform-origin:center center; cursor:zoom-in; user-select:none; }
.lb img.zoomed { cursor:zoom-out; }
.lb-close { position:fixed; top:clamp(14px,3vw,22px); right:clamp(14px,3vw,28px); background:rgba(245,166,35,.15); border:1.5px solid rgba(245,166,35,.4); color:var(--gold); font-size:1.4rem; width:clamp(38px,6vw,44px); height:clamp(38px,6vw,44px); border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .3s; }
.lb-close:hover { background:var(--gold); color:var(--night); transform:rotate(90deg) scale(1.1); }
.lb-nav { position:fixed; top:50%; transform:translateY(-50%); background:rgba(245,166,35,.15); border:1.5px solid rgba(245,166,35,.35); color:var(--gold); font-size:1.8rem; width:clamp(38px,6vw,46px); height:clamp(38px,6vw,46px); border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .3s; line-height:1; }
.lb-nav:hover { background:var(--gold); color:var(--night); }
#lb-prev { left:clamp(8px,2vw,16px); } #lb-next { right:clamp(8px,2vw,16px); }

/* ====== FISCALE ====== */
.fisc-sec { padding:clamp(60px,8vw,100px) 0 clamp(70px,9vw,110px); background:linear-gradient(180deg,rgba(7,7,20,.5) 0%,rgba(14,8,32,.48) 55%,rgba(7,7,20,.5) 100%); }
.fisc-intro { text-align:center; margin-bottom:clamp(36px,5vw,56px); }
.bq { font-family:'Fredoka One',cursive; font-size:clamp(1.3rem,3.5vw,2.4rem); color:var(--cream); max-width:760px; margin:0 auto 20px; line-height:1.45; padding:0 10px; }
.bq span { color:var(--gold); }
.fisc-intro p { font-size:clamp(.88rem,1.8vw,1rem); color:var(--soft); max-width:600px; margin:0 auto; line-height:1.8; }
.fisc-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:clamp(14px,2vw,22px); margin-bottom:clamp(30px,4vw,50px); }
.f-card { background:linear-gradient(135deg,rgba(44,22,84,.6) 0%,rgba(26,13,59,.6) 100%); border:1.5px solid rgba(245,166,35,.25); border-radius:clamp(18px,3vw,26px); padding:clamp(22px,3vw,32px) clamp(18px,2.5vw,26px); position:relative; overflow:hidden; transition:all .4s ease; }
.f-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--gold),var(--gold-d)); }
.f-card:hover { border-color:rgba(245,166,35,.5); transform:translateY(-6px); box-shadow:0 24px 60px rgba(245,166,35,.15); }
.f-card-icon { font-size:clamp(2rem,4vw,2.8rem); margin-bottom:14px; display:block; }
.f-card h3 { font-family:'Baloo 2',cursive; font-size:clamp(.95rem,2vw,1.1rem); font-weight:900; color:var(--gold-l); margin-bottom:12px; }
.f-card p { font-size:clamp(.85rem,1.7vw,.95rem); line-height:1.8; color:var(--soft); }
.f-card p strong { color:var(--gold); font-weight:800; }
.ex-box { background:linear-gradient(135deg,rgba(192,57,43,.18),rgba(192,57,43,.08)); border:2px solid rgba(192,57,43,.4); border-radius:clamp(18px,3vw,26px); padding:clamp(28px,4vw,44px) clamp(20px,4vw,36px); text-align:center; margin:clamp(24px,3vw,40px) 0; }
.ex-box h3 { font-family:'Fredoka One',cursive; font-size:clamp(1.3rem,3vw,1.7rem); color:var(--gold); margin-bottom:12px; }
.big-n { font-family:'Fredoka One',cursive; font-size:clamp(2rem,6vw,4rem); color:var(--gold-l); display:block; line-height:1; margin:10px 0; filter:drop-shadow(0 4px 20px rgba(245,166,35,.4)); }
.ex-box p { font-size:clamp(.88rem,1.8vw,1rem); line-height:1.8; color:var(--soft); max-width:560px; margin:0 auto; }
.cerfa-btn { display:inline-flex; align-items:center; gap:8px; background:linear-gradient(135deg,var(--red),var(--red-l)); color:white; font-family:'Baloo 2',cursive; font-weight:900; font-size:clamp(.82rem,2vw,1rem); padding:clamp(12px,2vw,15px) clamp(20px,4vw,36px); border-radius:50px; text-decoration:none; margin-top:22px; box-shadow:0 10px 28px rgba(192,57,43,.35); transition:all .3s; white-space:nowrap; }
.cerfa-btn:hover { transform:translateY(-4px); box-shadow:0 20px 50px rgba(192,57,43,.45); }

/* ====== ARTIST ====== */
.art-sec { padding:clamp(60px,8vw,100px) 0 clamp(70px,9vw,110px); background:rgba(7,7,20,.48); text-align:center; }
.art-inner { max-width:680px; margin:0 auto; padding:0 16px; }
.art-logo-big {
  height:clamp(44px,8vw,72px);
  animation:logoF 4s ease-in-out infinite;
  filter:
    drop-shadow(0 0 6px rgba(0,180,255,.9))
    drop-shadow(0 0 18px rgba(0,150,255,.7))
    drop-shadow(0 0 35px rgba(0,120,255,.5))
    drop-shadow(0 0 55px rgba(100,180,255,.4));
}
@keyframes logoF { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);} }
.art-desc { font-size:clamp(.88rem,1.8vw,1.06rem); line-height:1.9; color:var(--soft); margin-bottom:10px; }
.art-desc strong { color:var(--gold); font-weight:800; }
.art-tags { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:clamp(18px,3vw,28px) 0 clamp(24px,4vw,36px); }
.art-tag { background:rgba(245,166,35,.1); border:1.5px solid rgba(245,166,35,.3); color:var(--gold-l); font-size:clamp(.72rem,1.5vw,.82rem); font-weight:800; letter-spacing:1.5px; text-transform:uppercase; padding:6px clamp(12px,2vw,18px); border-radius:30px; }
.art-socs { display:flex; gap:clamp(8px,2vw,14px); justify-content:center; flex-wrap:wrap; }
.art-soc { display:inline-flex; align-items:center; gap:8px; background:rgba(245,166,35,.08); border:2px solid rgba(245,166,35,.35); color:var(--gold); text-decoration:none; padding:clamp(10px,2vw,12px) clamp(18px,3vw,26px); border-radius:40px; font-weight:800; font-size:clamp(.8rem,1.8vw,.9rem); transition:all .3s; white-space:nowrap; }
.art-soc:hover { background:var(--gold); color:var(--night); transform:translateY(-4px); box-shadow:0 12px 30px rgba(245,166,35,.4); }

/* ====== FOOTER ====== */
footer { position:relative; z-index:3; background:rgba(4,4,16,.6); border-top:1px solid rgba(245,166,35,.18); padding:clamp(32px,5vw,48px) clamp(16px,4vw,36px) clamp(24px,3vw,36px); text-align:center; }
.foot-logo { font-family:'Fredoka One',cursive; font-size:clamp(2rem,6vw,3rem); background:linear-gradient(135deg,var(--gold-l),var(--gold-d)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; margin-bottom:8px; display:block; }
.foot-rico {
  height:clamp(18px,3vw,32px);
  margin:0 5px; vertical-align:middle;
  filter:
    drop-shadow(0 0 4px rgba(0,180,255,.9))
    drop-shadow(0 0 12px rgba(0,150,255,.7))
    drop-shadow(0 0 24px rgba(0,120,255,.5))
    drop-shadow(0 0 40px rgba(100,180,255,.3));
}
footer p { font-size:clamp(.75rem,1.5vw,.83rem); color:rgba(255,248,238,.5); margin-top:8px; line-height:1.7; }
footer a { color:rgba(245,166,35,.6); text-decoration:none; }
footer a:hover { color:var(--gold); }
.foot-links { display:flex; justify-content:center; gap:clamp(14px,3vw,24px); margin:16px 0; flex-wrap:wrap; }
.foot-links a { font-size:clamp(.75rem,1.5vw,.83rem); font-weight:700; letter-spacing:1px; }

/* ====== REVEAL ====== */
.reveal { opacity:0; transform:translateY(45px); transition:opacity .75s ease,transform .75s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ====== SAFE AREA (iPhone notch) ====== */
@supports(padding:max(0px)) {
  nav    { padding-left:max(clamp(16px,4vw,48px),env(safe-area-inset-left)); padding-right:max(clamp(16px,4vw,48px),env(safe-area-inset-right)); }
  footer { padding-bottom:max(clamp(24px,3vw,36px),env(safe-area-inset-bottom)); }
}

/* ====== FINANCEMENT ====== */
.fin-sec{padding:clamp(60px,8vw,100px) 0 clamp(70px,9vw,110px);background:linear-gradient(180deg,rgba(7,7,20,.5) 0%,rgba(10,6,30,.52) 55%,rgba(7,7,20,.5) 100%);}
.fin-intro{text-align:center;margin-bottom:clamp(36px,5vw,56px);}

.fin-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(14px,2vw,22px);margin-bottom:clamp(40px,5vw,60px);}
.fin-card{background:linear-gradient(135deg,rgba(59,130,246,.18) 0%,rgba(29,78,216,.12) 100%);border:1.5px solid rgba(59,130,246,.3);border-radius:clamp(16px,3vw,24px);padding:clamp(20px,3vw,28px) clamp(16px,2.5vw,24px);position:relative;overflow:hidden;transition:all .4s ease;}
.fin-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3B82F6,#60A5FA);}
.fin-card:hover{border-color:rgba(59,130,246,.6);transform:translateY(-6px);box-shadow:0 20px 50px rgba(59,130,246,.15);}
.fin-icon{font-size:clamp(2rem,4vw,2.6rem);margin-bottom:12px;display:block;}
.fin-card h3{font-family:'Baloo 2',cursive;font-size:clamp(.95rem,2vw,1.1rem);font-weight:900;color:#93C5FD;margin-bottom:10px;}
.fin-card p{font-size:clamp(.85rem,1.7vw,.95rem);line-height:1.8;color:var(--soft);}
.fin-card p strong{color:#60A5FA;font-weight:800;}

/* Table simulation */
.fin-table-wrap{background:linear-gradient(135deg,rgba(30,20,70,.7),rgba(20,10,50,.7));border:1.5px solid rgba(59,130,246,.25);border-radius:clamp(18px,3vw,26px);padding:clamp(24px,3vw,36px);margin-bottom:clamp(30px,4vw,50px);}
.fin-table-title{font-family:'Fredoka One',cursive;font-size:clamp(1.2rem,2.5vw,1.6rem);color:#93C5FD;margin-bottom:20px;text-align:center;}
.fin-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.fin-table{width:100%;border-collapse:collapse;min-width:600px;}
.fin-table th{background:rgba(59,130,246,.2);color:#93C5FD;font-family:'Baloo 2',cursive;font-weight:900;font-size:clamp(.75rem,1.5vw,.88rem);padding:clamp(10px,1.5vw,14px) clamp(12px,2vw,18px);text-align:center;border-bottom:2px solid rgba(59,130,246,.3);white-space:nowrap;}
.fin-table td{padding:clamp(10px,1.5vw,14px) clamp(12px,2vw,18px);text-align:center;border-bottom:1px solid rgba(255,255,255,.06);font-size:clamp(.78rem,1.5vw,.88rem);color:var(--soft);transition:background .2s;}
.fin-table tr:hover td{background:rgba(59,130,246,.06);}
.fin-table tr:last-child td{border-bottom:none;}
.fin-amount{font-family:'Fredoka One',cursive;font-size:clamp(1rem,2vw,1.2rem);color:var(--gold-l);font-weight:900;white-space:nowrap;text-align:left!important;}
.loyer{font-weight:800;color:var(--cream);font-size:clamp(.85rem,1.6vw,.95rem);}
.fin-table small{font-size:.72rem;color:rgba(147,197,253,.7);}
.fin-note{font-size:clamp(.75rem,1.5vw,.82rem);color:rgba(255,248,238,.45);text-align:center;margin-top:14px;font-style:italic;}
.fin-note strong{color:var(--gold);font-style:normal;}

/* Documents */
.fin-docs{margin-bottom:clamp(30px,4vw,50px);}
.fin-docs-title{font-family:'Fredoka One',cursive;font-size:clamp(1.2rem,2.5vw,1.6rem);color:var(--gold-l);margin-bottom:16px;text-align:center;}
.fin-doc-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px;}
.fin-doc-card{display:flex;align-items:center;gap:16px;background:rgba(245,166,35,.08);border:1.5px solid rgba(245,166,35,.25);border-radius:16px;padding:18px 20px;text-decoration:none;transition:all .3s;}
.fin-doc-card:hover{background:rgba(245,166,35,.15);border-color:rgba(245,166,35,.5);transform:translateY(-3px);box-shadow:0 10px 30px rgba(245,166,35,.15);}
.fin-doc-icon{font-size:2rem;flex-shrink:0;}
.fin-doc-name{font-weight:800;color:var(--gold-l);font-size:.92rem;margin-bottom:3px;}
.fin-doc-sub{font-size:.75rem;color:var(--soft);}
.fin-doc-dl{margin-left:auto;background:linear-gradient(135deg,var(--gold),var(--gold-d));color:var(--night);font-weight:900;font-size:.75rem;padding:6px 14px;border-radius:20px;white-space:nowrap;flex-shrink:0;}

.fin-cta{text-align:center;padding:clamp(28px,4vw,40px);background:linear-gradient(135deg,rgba(192,57,43,.12),rgba(192,57,43,.05));border:1.5px solid rgba(192,57,43,.3);border-radius:clamp(18px,3vw,26px);}
.fin-cta p{font-size:clamp(.95rem,2vw,1.1rem);line-height:1.8;color:var(--soft);margin-bottom:4px;}
.fin-cta p strong{color:var(--cream);}
