/* ═══════════════════════════════════════════════════════════════
   DOUG MELLO — Sofisticado · Moderno · Disruptivo
   ═══════════════════════════════════════════════════════════════ */

/* ─── TOKENS ─────────────────────────────────────────────────── */
:root {
  --black:         #060A1E;
  --dark:          #0A102C;
  --dark-2:        #0E1538;
  --surface:       #121C44;
  --surface-2:     #172250;
  --border:        rgba(195,196,212,.12);
  --copper:        #C8CAD8;
  --copper-bright: #E2E3EC;
  --copper-dim:    #64657A;
  --copper-glow:   rgba(195,196,215,.1);
  --cream:         #DCDDE8;
  --cream-dim:     rgba(175,176,195,.65);
  --text:          #D2D4E2;
  --text-dim:      rgba(160,162,182,.65);
  --white:         #EAEBF2;
  --font-d: 'Barlow', sans-serif;
  --font-s: 'Libre Baskerville', serif;
  --ease:   cubic-bezier(.25,.46,.45,.94);
  --ease-o: cubic-bezier(.16,1,.3,1);
  --nav-h:  72px;
  --cont:   1280px;
  --gap:    clamp(1.25rem, 5vw, 4rem);
}

body.le-prive {
  --black:         #04081A;
  --dark:          #080E26;
  --dark-2:        #0C1332;
  --surface:       #101940;
  --surface-2:     #141F4C;
  --border:        rgba(200,215,255,.15);
  --copper:        #D0D2E0;
  --copper-bright: #E6E7F0;
  --copper-dim:    #6A6B80;
  --copper-glow:   rgba(195,196,215,.12);
}

/* ─── RESET ───────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:var(--nav-h); overflow-x:hidden; }
body { font-family:var(--font-d); background:var(--black); color:var(--text); overflow-x:hidden; cursor:none; -webkit-font-smoothing:antialiased; }
img,video { display:block; max-width:100%; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
button { cursor:none; font-family:inherit; border:none; background:none; }
textarea { font-family:inherit; resize:vertical; }
iframe { display:block; }
section { isolation:isolate; }

/* ─── PERFORMANCE ─────────────────────────────────────────────── */
#fireCanvas      { transform:translateZ(0); will-change:contents; }
.ticker-inner    { transform:translateZ(0); }
.hero-photo      { transform:translateZ(0); }
.bio,.datas,.musica,.galeria,.quotes,.presskit,.contato,.footer,.timeline {
  content-visibility:auto; contain-intrinsic-block-size:600px;
}
.bio,.datas,.musica,.galeria,.quotes,.presskit,.contato,.timeline {
  contain:layout paint style; isolation:isolate;
}
/* personas: display:none deve sobrepor qualquer contain/content-visibility */
section[data-personas][style*="display: none"],
section[data-personas][style*="display:none"] {
  display:none !important;
  content-visibility:hidden;
}

/* ─── SCROLL PROGRESS ─────────────────────────────────────────── */
.scroll-progress {
  position:fixed; top:0; left:0; z-index:2001; height:2px; width:0%;
  background:linear-gradient(to right, var(--copper-dim), var(--copper-bright));
  transition:width .1s linear;
  box-shadow:0 0 8px var(--copper-glow);
}

/* ─── SECTION DOTS ────────────────────────────────────────────── */
.section-dots {
  position:fixed; right:1.4rem; top:50%; transform:translateY(-50%);
  z-index:500; display:flex; flex-direction:column; gap:.55rem;
}
.sdot {
  width:6px; height:6px; border-radius:50%;
  background:rgba(195,196,215,.3); border:1px solid transparent;
  transition:background .3s, transform .3s, border-color .3s;
  position:relative;
}
.sdot::after {
  content:attr(data-label);
  position:absolute; right:calc(100% + 10px); top:50%; transform:translateY(-50%);
  font-size:.5rem; font-weight:700; letter-spacing:.2em; white-space:nowrap;
  color:var(--copper); opacity:0; transition:opacity .25s;
  pointer-events:none;
}
.sdot:hover::after,.sdot.active::after { opacity:1; }
.sdot.active { background:var(--copper); transform:scale(1.5); border-color:var(--copper-dim); }
.sdot:hover:not(.active) { background:rgba(195,196,215,.6); transform:scale(1.25); }

/* ─── MINI PLAYER ─────────────────────────────────────────────── */
.mini-player {
  position:fixed; bottom:2rem; left:2rem; z-index:800;
  display:flex; align-items:center; gap:.9rem;
  background:rgba(14,10,7,.92); backdrop-filter:blur(20px);
  border:1px solid var(--border); border-radius:40px;
  padding:.6rem 1rem .6rem .8rem;
  transform:translateY(120%) translateX(-10px); opacity:0;
  transition:transform .55s var(--ease-o), opacity .55s;
  pointer-events:none;
}
.mini-player.visible { transform:translateY(0) translateX(0); opacity:1; pointer-events:all; }
.mini-eq { display:flex; align-items:flex-end; gap:2px; height:18px; }
.mini-eq i { display:block; width:3px; background:var(--copper); border-radius:2px; animation:miniEQ 1.4s ease-in-out infinite; }
.mini-eq i:nth-child(1){--h:14px;animation-delay:0s}
.mini-eq i:nth-child(2){--h:10px;animation-delay:.12s}
.mini-eq i:nth-child(3){--h:17px;animation-delay:.06s}
.mini-eq i:nth-child(4){--h:8px; animation-delay:.18s}
.mini-eq i:nth-child(5){--h:13px;animation-delay:.09s}
@keyframes miniEQ { 0%,100%{height:3px;opacity:.4} 50%{height:var(--h,12px);opacity:1} }
.mini-info { display:flex; flex-direction:column; }
.mini-title { font-size:.72rem; font-weight:800; color:var(--white); letter-spacing:.06em; }
.mini-artist { font-size:.56rem; color:var(--text-dim); letter-spacing:.06em; }
.mini-link {
  font-size:1rem; color:var(--copper);
  width:30px; height:30px; border-radius:50%; background:rgba(195,196,215,.12);
  border:1px solid var(--border); display:flex; align-items:center; justify-content:center;
  transition:background .25s, color .25s;
}
.mini-link:hover { background:var(--copper); color:var(--black); }
.mini-close {
  font-size:.65rem; color:var(--text-dim); padding:.2rem .4rem;
  transition:color .25s; line-height:1;
}
.mini-close:hover { color:var(--copper); }

/* ─── EASTER EGG ──────────────────────────────────────────────── */
.easter-egg {
  position:fixed; inset:0; z-index:99998;
  display:flex; align-items:center; justify-content:center;
  pointer-events:none; opacity:0; visibility:hidden;
  transition:opacity .5s, visibility .5s;
}
.easter-egg.active { opacity:1; visibility:visible; pointer-events:all; }
.easter-egg canvas { position:absolute; inset:0; width:100%; height:100%; }
.easter-text {
  position:relative; z-index:1;
  font-family:var(--font-d); font-size:clamp(3rem,12vw,9rem);
  font-weight:900; text-transform:uppercase; text-align:center;
  color:var(--white); letter-spacing:.08em; line-height:.9;
  animation:easterPop .5s var(--ease-o) both;
}
.easter-text span { color:var(--copper); display:block; font-family:var(--font-s); font-style:italic; font-size:.65em; }
@keyframes easterPop { from{transform:scale(.7);opacity:0} to{transform:scale(1);opacity:1} }

/* ─── SPLASH ──────────────────────────────────────────────────── */
.splash {
  position:fixed; inset:0; z-index:99999; background:var(--black);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.8rem;
  transition:opacity .9s var(--ease), visibility .9s;
}
.splash.done { opacity:0; visibility:hidden; pointer-events:none; }
.splash-logo { width:clamp(180px,36vw,340px); filter:brightness(0) invert(1); animation:splashIn 1.2s var(--ease-o) both; }
.splash-bar { width:140px; height:1px; background:var(--surface-2); overflow:hidden; }
.splash-fill { height:100%; background:var(--copper); animation:splashFill 2s var(--ease) forwards; }
.splash-tagline { font-family:var(--font-s); font-style:italic; font-size:clamp(.7rem,1.5vw,.88rem); color:var(--copper-dim); letter-spacing:.08em; animation:splashIn 1.2s var(--ease-o) .3s both; }
@keyframes splashIn   { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }
@keyframes splashFill { from{width:0} to{width:100%} }

/* ─── GRAIN ───────────────────────────────────────────────────── */
.grain { position:fixed; inset:0; pointer-events:none; z-index:9999; opacity:.028; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E"); background-size:200px 200px; }

/* ─── CURSOR ──────────────────────────────────────────────────── */
.cursor-outer,.cursor-inner { position:fixed; border-radius:50%; pointer-events:none; z-index:10000; transform:translate(-50%,-50%); will-change:left,top; }
.cursor-outer { width:38px; height:38px; border:1.5px solid var(--copper); opacity:.65; transition:left .14s var(--ease),top .14s var(--ease),width .25s var(--ease),height .25s var(--ease),background .25s,border-color .25s,opacity .3s; }
.cursor-inner { width:6px; height:6px; background:var(--copper-bright); }
.cursor-outer.hover { width:64px; height:64px; background:var(--copper-glow); border-color:var(--copper-bright); opacity:.8; }
@media(pointer:coarse){ .cursor-outer,.cursor-inner{display:none} body{cursor:auto} button{cursor:pointer} }

/* ─── CONTAINER ───────────────────────────────────────────────── */
.container { max-width:var(--cont); margin-inline:auto; padding-inline:var(--gap); }

/* ─── SECTION COMMON ──────────────────────────────────────────── */
.section-label { display:inline-block; font-family:var(--font-d); font-size:.72rem; font-weight:700; letter-spacing:.22em; color:var(--copper); text-transform:uppercase; }
.label-row { display:flex; align-items:center; gap:1rem; margin-bottom:1.2rem; }
.label-line { flex:1; height:1px; background:linear-gradient(to right,var(--copper-dim),transparent); max-width:120px; }
.section-header { text-align:center; margin-bottom:4rem; }
.section-header .section-label { display:block; margin-bottom:.6rem; }
.section-title { font-family:var(--font-d); font-size:clamp(2.4rem,6vw,5rem); font-weight:900; letter-spacing:.06em; text-transform:uppercase; color:var(--white); line-height:1; }

/* Scramble glitch flash */
.scramble.scrambling { color:var(--copper-bright); }

/* ─── REVEAL ──────────────────────────────────────────────────── */
.reveal-up { opacity:0; transform:translateY(48px); transition:opacity .9s var(--ease-o) var(--card-delay,0s),transform .9s var(--ease-o) var(--card-delay,0s); }
.reveal-up.visible { opacity:1; transform:none; }

/* ─── MAGNETIC ────────────────────────────────────────────────── */
.magnetic { transition:transform .4s var(--ease-o); will-change:transform; }

/* ═══════════════════════════ NAVBAR ════════════════════════════ */
.navbar { position:fixed; top:0; left:0; right:0; z-index:1000; height:var(--nav-h); display:flex; align-items:center; justify-content:space-between; padding-inline:var(--gap); gap:1rem; transition:background .4s var(--ease),border-color .4s,backdrop-filter .4s; }
.navbar.scrolled { background:rgba(6,10,30,.9); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); border-bottom:1px solid var(--border); }
.nav-logo { flex-shrink:0; display:flex; align-items:center; }
.nav-logo .logo-img { height:34px; width:auto; filter:brightness(0) invert(1); transition:opacity .3s; }
.nav-logo:hover .logo-img { opacity:.75; }

.nav-links { display:flex; align-items:center; gap:1.6rem; }
.nav-link { font-size:.68rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--cream-dim); position:relative; transition:color .3s; }
.nav-link::after { content:''; position:absolute; bottom:-3px; left:0; width:0; height:1px; background:var(--copper); transition:width .35s var(--ease); }
.nav-link:hover { color:var(--cream); }
.nav-link:hover::after { width:100%; }

.nav-right { display:flex; align-items:center; gap:.8rem; flex-shrink:0; }

.lp-toggle { display:flex; align-items:center; gap:.4rem; font-size:.55rem; font-weight:700; letter-spacing:.16em; color:var(--text-dim); border:1px solid var(--border); padding:.35rem .7rem; border-radius:20px; transition:all .3s; }
.lp-dot { width:6px; height:6px; border-radius:50%; background:var(--copper-dim); transition:background .3s; }
.lp-label { white-space:nowrap; }
.lp-toggle:hover,.lp-toggle.active { color:var(--copper); border-color:var(--copper-dim); background:rgba(195,196,215,.06); }
.lp-toggle.active .lp-dot { background:var(--copper); box-shadow:0 0 6px var(--copper); }

.lang-selector { display:flex; align-items:center; gap:.3rem; }
.lang-btn { display:flex; flex-direction:column; align-items:center; gap:.18rem; padding:.2rem .28rem; border-radius:4px; opacity:.4; transition:opacity .25s; }
.lang-btn .fi { width:18px; height:14px; border-radius:2px; font-size:14px; line-height:1; }
.lang-code { font-size:.5rem; font-weight:700; letter-spacing:.1em; color:var(--cream-dim); }
.lang-btn:hover { opacity:.75; }
.lang-btn.active { opacity:1; }
.lang-btn.active .lang-code { color:var(--copper); }

.booking-btn { font-size:.65rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--copper); border:1px solid var(--copper); padding:.5rem 1.1rem; border-radius:2px; transition:background .3s,color .3s,box-shadow .3s; white-space:nowrap; }
.booking-btn:hover { background:var(--copper); color:var(--black); box-shadow:0 0 24px var(--copper-glow); }

.hamburger { display:none; flex-direction:column; gap:5px; padding:.5rem; touch-action:manipulation; }
.hamburger span { display:block; width:22px; height:1.5px; background:var(--cream); transition:transform .35s var(--ease),opacity .35s; }
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Mobile nav photo background */
.nav-mobile-photo { display:none; }

/* ═══════════════════════════ HERO ══════════════════════════════ */
.hero { position:relative; height:100svh; min-height:640px; overflow:hidden; background:var(--black); display:flex; align-items:center; }
#fireCanvas { position:absolute; inset:0; width:100%; height:100%; z-index:3; pointer-events:none; }

/* Hero EQ Background */
.hero-eq { position:absolute; bottom:0; left:0; right:0; height:160px; z-index:2; display:flex; align-items:flex-end; gap:3px; padding-inline:2%; pointer-events:none; }
.hero-eq b { display:block; flex:1; background:linear-gradient(to top,rgba(195,196,215,.12),transparent); border-radius:2px 2px 0 0; animation:heroEQ var(--d,2s) ease-in-out infinite var(--vd,0s); }
.hero-eq b:nth-child(odd)  { --d:1.8s; }
.hero-eq b:nth-child(even) { --d:2.3s; }
.hero-eq b:nth-child(1){--vd:0s;--h:45%}   .hero-eq b:nth-child(2){--vd:.2s;--h:70%}
.hero-eq b:nth-child(3){--vd:.1s;--h:30%}  .hero-eq b:nth-child(4){--vd:.35s;--h:85%}
.hero-eq b:nth-child(5){--vd:.15s;--h:55%} .hero-eq b:nth-child(6){--vd:.4s;--h:40%}
.hero-eq b:nth-child(7){--vd:.05s;--h:90%} .hero-eq b:nth-child(8){--vd:.25s;--h:65%}
.hero-eq b:nth-child(9){--vd:.3s;--h:35%}  .hero-eq b:nth-child(10){--vd:.08s;--h:80%}
.hero-eq b:nth-child(11){--vd:.18s;--h:50%}.hero-eq b:nth-child(12){--vd:.42s;--h:95%}
.hero-eq b:nth-child(13){--vd:.12s;--h:60%}.hero-eq b:nth-child(14){--vd:.32s;--h:25%}
.hero-eq b:nth-child(15){--vd:.22s;--h:75%}.hero-eq b:nth-child(16){--vd:.48s;--h:42%}
.hero-eq b:nth-child(17){--vd:.03s;--h:88%}.hero-eq b:nth-child(18){--vd:.38s;--h:33%}
.hero-eq b:nth-child(19){--vd:.14s;--h:62%}.hero-eq b:nth-child(20){--vd:.28s;--h:78%}
.hero-eq b:nth-child(21){--vd:.06s;--h:48%}.hero-eq b:nth-child(22){--vd:.44s;--h:92%}
.hero-eq b:nth-child(23){--vd:.19s;--h:38%}.hero-eq b:nth-child(24){--vd:.36s;--h:68%}
.hero-eq b:nth-child(25){--vd:.11s;--h:55%}.hero-eq b:nth-child(26){--vd:.26s;--h:82%}
.hero-eq b:nth-child(27){--vd:.16s;--h:28%}.hero-eq b:nth-child(28){--vd:.46s;--h:72%}
.hero-eq b:nth-child(29){--vd:.08s;--h:58%}.hero-eq b:nth-child(30){--vd:.34s;--h:45%}
@keyframes heroEQ { 0%,100%{height:8%} 50%{height:var(--h,50%)} }

.hero-visual { position:absolute; inset:0; z-index:1; }
.hero-photo { position:absolute; right:0; top:0; height:100%; width:62%; object-fit:cover; object-position:50% 8%; }
.hero-grad-left { position:absolute; inset:0; background:linear-gradient(to right,var(--black) 0%,rgba(6,10,30,.9) 26%,rgba(6,10,30,.5) 50%,rgba(6,10,30,.08) 70%,transparent 100%); }
.hero-grad-bottom { position:absolute; inset:0; background:linear-gradient(to top,var(--black) 0%,rgba(6,10,30,.55) 14%,transparent 32%); }

.hero-content { position:relative; z-index:4; padding-inline:var(--gap); max-width:600px; display:flex; flex-direction:column; gap:1.5rem; }
.hero-logo-wrap { width:clamp(200px,34vw,400px); }
.hero-logo { width:100%; filter:brightness(0) invert(1); animation:logoReveal 1.2s var(--ease-o) .3s both; }
@keyframes logoReveal { from{opacity:0;transform:translateY(24px);filter:brightness(0) invert(1) blur(8px)} to{opacity:1;transform:none;filter:brightness(0) invert(1) blur(0)} }
.hero-tagline { font-size:clamp(.6rem,1.1vw,.82rem); font-weight:700; letter-spacing:.28em; text-transform:uppercase; color:var(--copper); animation:fadeUp 1s var(--ease-o) .6s both; }
.hero-socials { display:flex; align-items:center; gap:1rem; animation:fadeUp 1s var(--ease-o) .8s both; }
.social-link { width:36px; height:36px; display:flex; align-items:center; justify-content:center; border:1px solid var(--border); border-radius:50%; color:var(--cream-dim); transition:color .3s,border-color .3s,background .3s,box-shadow .3s; }
.social-link svg { width:15px; height:15px; }
.social-link:hover { color:var(--copper-bright); border-color:var(--copper); background:rgba(195,196,215,.08); box-shadow:0 0 14px var(--copper-glow); }
.hero-cta { display:inline-flex; align-items:center; font-size:.7rem; font-weight:800; letter-spacing:.24em; text-transform:uppercase; color:var(--black); background:var(--copper); padding:.95rem 1.9rem; border-radius:2px; align-self:flex-start; transition:background .3s,box-shadow .3s; animation:fadeUp 1s var(--ease-o) 1s both; }
.hero-cta:hover { background:var(--copper-bright); box-shadow:0 0 36px var(--copper-glow),0 8px 24px rgba(0,0,0,.4); }

.scroll-indicator { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); z-index:4; display:flex; flex-direction:column; align-items:center; gap:.6rem; animation:fadeUp 1s var(--ease-o) 1.4s both; }
.scroll-line-track { width:1px; height:44px; background:rgba(195,196,215,.2); overflow:hidden; }
.scroll-line-fill { width:100%; height:50%; background:var(--copper); border-radius:1px; animation:scrollFill 2s ease-in-out infinite; }
@keyframes scrollFill { 0%{transform:translateY(-100%);opacity:1} 60%{transform:translateY(200%);opacity:1} 61%{opacity:0} 100%{transform:translateY(-100%);opacity:0} }
.scroll-label { font-size:.5rem; letter-spacing:.3em; color:var(--copper-dim); text-transform:uppercase; writing-mode:vertical-rl; }
@keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:none} }

/* ═══════════════════════════ TICKERS ════════════════════════════ */
.ticker-wrap { position:relative; background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border); overflow:hidden; padding-block:.85rem; }
.ticker-wrap-2 { background:var(--dark-2); }
.ticker-track { display:flex; }
.ticker-inner { display:flex; align-items:center; gap:1.8rem; white-space:nowrap; animation:tickerScroll 26s linear infinite; will-change:transform; }
.ticker-reverse { animation-direction:reverse; animation-duration:32s; }
.ticker-inner span { font-size:.66rem; font-weight:800; letter-spacing:.22em; text-transform:uppercase; color:var(--copper); }
.ticker-wrap-2 .ticker-inner span { color:var(--text-dim); font-weight:600; }
.ticker-inner em { font-style:normal; color:var(--copper-dim); font-size:.58rem; }
.ticker-wrap-2 .ticker-inner em { color:rgba(195,196,215,.2); }
@keyframes tickerScroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.ticker-wrap:hover .ticker-inner { animation-play-state:paused; }

/* ═══════════════════════════ BIO ═══════════════════════════════ */
.bio { position:relative; padding-block:clamp(5rem,10vw,9rem); background:var(--dark); overflow:hidden; }
.bio-deco { position:absolute; right:-2%; top:50%; transform:translateY(-50%); width:clamp(140px,18vw,260px); pointer-events:none; opacity:.5; }
.bio-deco svg { width:100%; height:auto; }
.bio-grid { display:grid; grid-template-columns:1fr 260px 300px; gap:3rem; align-items:start; }
.bio-name { font-family:var(--font-d); font-size:clamp(3rem,8vw,6.5rem); font-weight:900; text-transform:uppercase; letter-spacing:.04em; color:var(--white); line-height:.92; margin-bottom:2rem; }
.bio-name-serif { font-family:var(--font-s); font-style:italic; font-weight:400; font-size:.74em; color:var(--copper); letter-spacing:.02em; }
.bio-body { display:flex; flex-direction:column; gap:1.1rem; margin-bottom:1.8rem; }
.bio-body p { font-size:clamp(.88rem,1.3vw,1rem); line-height:1.75; color:var(--text-dim); max-width:58ch; }
.bio-body em { color:var(--copper); font-style:italic; }
.bio-quote { font-family:var(--font-s); font-style:italic; font-size:clamp(1rem,1.7vw,1.2rem); color:var(--copper); border-left:2px solid var(--copper-dim); padding-left:1.2rem; }

.bio-photo-col { display:flex; justify-content:center; align-self:stretch; }
.bio-photo-frame { position:relative; width:100%; border-radius:4px; overflow:hidden; border:1px solid var(--border); min-height:380px; }
.bio-photo-frame img { width:100%; height:100%; min-height:380px; object-fit:cover; object-position:50% 8%; transition:transform .1s linear; will-change:transform; }
.bio-photo-overlay { position:absolute; inset:0; background:linear-gradient(to bottom,transparent 55%,var(--dark) 100%); }
.bio-photo-badge { position:absolute; bottom:1rem; left:1rem; z-index:1; font-family:var(--font-s); font-style:italic; font-size:.7rem; color:var(--copper); letter-spacing:.08em; }

.bio-stats-col { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:4px; overflow:hidden; align-self:center; }
.stat-card { background:var(--surface); padding:1.6rem 1.2rem; display:flex; flex-direction:column; gap:.4rem; transition:background .3s; }
.stat-card:hover { background:var(--surface-2); }
.stat-num { font-family:var(--font-d); font-size:clamp(1.6rem,3vw,2.4rem); font-weight:900; color:var(--copper-bright); line-height:1; }
.stat-text-big { font-family:var(--font-d); font-size:clamp(.85rem,1.4vw,1.05rem); font-weight:900; color:var(--copper-bright); text-transform:uppercase; letter-spacing:.06em; line-height:1.2; }
.stat-lbl { font-size:.6rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--text-dim); }

/* ═══════════════════════════ TIMELINE ══════════════════════════ */
.timeline { padding-block:clamp(5rem,10vw,9rem); background:var(--dark-2); }
.tl-track { position:relative; display:flex; flex-direction:column; gap:0; max-width:860px; margin-inline:auto; }
.tl-line { position:absolute; left:88px; top:0; bottom:0; width:1px; background:linear-gradient(to bottom,transparent,var(--copper-dim) 10%,var(--copper-dim) 90%,transparent); }
.tl-item { display:grid; grid-template-columns:88px 20px 1fr; align-items:start; gap:0 1.5rem; padding-bottom:3rem; position:relative; }
.tl-item:last-child { padding-bottom:0; }
.tl-year { font-family:var(--font-d); font-size:.72rem; font-weight:800; letter-spacing:.2em; color:var(--copper-dim); text-align:right; padding-top:.3rem; }
.tl-dot { width:12px; height:12px; border-radius:50%; background:var(--surface-2); border:2px solid var(--copper-dim); margin-top:.2rem; flex-shrink:0; transition:background .4s,border-color .4s,box-shadow .4s; position:relative; z-index:1; }
.tl-item.visible .tl-dot { background:var(--copper); border-color:var(--copper-bright); box-shadow:0 0 12px var(--copper-glow); }
.tl-highlight .tl-dot { background:var(--copper); border-color:var(--copper-bright); box-shadow:0 0 18px var(--copper-glow); animation:dotPulse 2s ease-in-out infinite; }
@keyframes dotPulse { 0%,100%{box-shadow:0 0 12px var(--copper-glow)} 50%{box-shadow:0 0 24px var(--copper-glow),0 0 40px rgba(195,196,215,.15)} }
.tl-content { padding-top:.1rem; }
.tl-event { font-family:var(--font-d); font-size:clamp(.95rem,1.6vw,1.15rem); font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--white); margin-bottom:.5rem; }
.tl-highlight .tl-event { color:var(--copper-bright); }
.tl-desc { font-size:clamp(.82rem,1.2vw,.94rem); line-height:1.7; color:var(--text-dim); max-width:52ch; }

/* ═══════════════════════════ DATAS ════════════════════════════ */
.datas { padding-block:clamp(5rem,10vw,9rem); background:var(--black); }

/* Próximas datas — em breve */
.em-breve-wrap { display:flex; flex-direction:column; align-items:center; gap:.5rem; padding:2.5rem; border:1px dashed var(--border); border-radius:6px; margin-bottom:3.5rem; text-align:center; }
.em-breve-label { font-size:.62rem; font-weight:700; letter-spacing:.28em; text-transform:uppercase; color:var(--copper); }
.em-breve-sub { font-size:.85rem; color:var(--text-dim); }

/* Cards de shows em destaque */
.datas-list { display:flex; flex-direction:column; gap:.6rem; margin-bottom:2.5rem; }
.data-card { display:grid; grid-template-columns:80px 1fr auto; align-items:center; gap:1.5rem; padding:1.4rem 1.8rem; background:var(--surface); border:1px solid var(--border); border-radius:6px; transition:background .3s,border-color .3s,transform .4s var(--ease-o); }
.data-card:hover { background:var(--surface-2); border-color:var(--copper-dim); transform:translateX(6px); }
.data-date { text-align:center; border-right:1px solid var(--border); padding-right:1.5rem; }
.data-day { font-family:var(--font-d); font-size:2.2rem; font-weight:900; color:var(--copper); line-height:1; }
.data-month { font-size:.58rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--text-dim); }
.data-info { display:flex; flex-direction:column; gap:.3rem; min-width:0; }
.data-event { font-family:var(--font-d); font-size:clamp(.9rem,1.5vw,1.05rem); font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--white); }
.data-venue { font-size:.72rem; color:var(--text-dim); letter-spacing:.04em; }
.data-badge { font-size:.5rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--copper-dim); border:1px solid var(--border); padding:.4rem .8rem; border-radius:20px; white-space:nowrap; flex-shrink:0; }
.data-badge.rolando { color:#4ade80; border-color:rgba(74,222,128,.35); }
.data-badge.proxima { color:#60a5fa; border-color:rgba(96,165,250,.35); }

/* Ver mais toggle */
.ver-mais-btn { display:flex; align-items:center; gap:.7rem; width:100%; padding:1rem 1.4rem; background:var(--surface); border:1px solid var(--border); border-radius:6px; font-size:.62rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--copper-dim); cursor:pointer; transition:background .3s,border-color .3s,color .3s; margin-bottom:0; }
.ver-mais-btn:hover { background:var(--surface-2); border-color:var(--copper-dim); color:var(--copper); }
.ver-mais-icon { margin-left:auto; font-size:.8rem; transition:transform .35s var(--ease); display:inline-block; }
.ver-mais-btn.open .ver-mais-icon { transform:rotate(180deg); }
.ver-mais-panel { max-height:0; overflow:hidden; transition:max-height .5s var(--ease-o); }
.ver-mais-panel.open { max-height:4000px; }
.ver-mais-inner { padding-top:1rem; }

/* Realizados */
.realizados-section { margin-bottom:3rem; }
.realizados-sublabel { display:block; font-size:.6rem; font-weight:700; letter-spacing:.28em; text-transform:uppercase; color:var(--copper-dim); padding-bottom:.7rem; border-bottom:1px solid var(--border); margin-bottom:1.2rem; }
.realizados-list { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.realizado-card { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 1.4rem; background:var(--surface); border:1px solid var(--border); border-radius:6px; transition:background .3s,border-color .3s; }
.realizado-card:hover { background:var(--surface-2); border-color:var(--copper-dim); }
.realizado-info { display:flex; flex-direction:column; gap:.25rem; min-width:0; }
.realizado-name { font-family:var(--font-d); font-size:.88rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--white); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.realizado-local { font-size:.62rem; color:var(--text-dim); letter-spacing:.04em; }
.realizado-badge { font-size:.46rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--copper-dim); border:1px solid var(--border); padding:.26rem .6rem; border-radius:20px; white-space:nowrap; flex-shrink:0; }

/* data-cta reutilizado no em-breve */
.data-cta { display:inline-block; font-size:.6rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--copper); border:1px solid var(--copper-dim); padding:.65rem 1.3rem; border-radius:2px; white-space:nowrap; transition:background .3s,color .3s,border-color .3s; flex-shrink:0; }
.data-cta:hover { background:var(--copper); color:var(--black); border-color:var(--copper); }

/* ═══════════════════════════ MÚSICA ════════════════════════════ */
.musica { padding-block:clamp(5rem,10vw,9rem); background:var(--dark); }
.tracks-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1.5rem; margin-bottom:3rem; }
.track-card { background:var(--surface); border:1px solid var(--border); border-radius:6px; overflow:hidden; transition:border-color .35s,box-shadow .35s; --card-delay:0s; }
.track-card:hover { border-color:var(--copper-dim); box-shadow:0 0 36px rgba(195,196,215,.08); }
.track-header { display:flex; align-items:center; justify-content:space-between; padding:.9rem 1.1rem .5rem; }
.track-badge { font-size:.55rem; font-weight:800; letter-spacing:.22em; text-transform:uppercase; color:var(--copper); background:rgba(195,196,215,.1); border:1px solid rgba(195,196,215,.25); padding:.28rem .65rem; border-radius:20px; }
.now-playing { display:flex; align-items:center; gap:.4rem; font-size:.52rem; font-weight:700; letter-spacing:.18em; color:var(--copper-bright); text-transform:uppercase; }
.np-dot { width:6px; height:6px; border-radius:50%; background:var(--copper-bright); animation:npBlink 1.5s ease-in-out infinite; flex-shrink:0; }
@keyframes npBlink { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.35;transform:scale(.65)} }
.track-embed { padding:0; }
.track-embed iframe { width:100%; height:120px; }
.track-info { padding:.9rem 1.1rem .7rem; }
.track-title { font-family:var(--font-d); font-size:1rem; font-weight:800; color:var(--white); letter-spacing:.04em; text-transform:uppercase; margin-bottom:.2rem; }
.track-sub { font-size:.64rem; color:var(--text-dim); letter-spacing:.08em; }
.track-visualizer { display:flex; align-items:flex-end; gap:2px; padding:.4rem 1.1rem .9rem; height:44px; }
.track-visualizer b { display:block; flex:1; background:linear-gradient(to top,var(--copper),var(--copper-bright)); border-radius:2px 2px 0 0; transform-origin:bottom; animation:vizPulse var(--d,1.1s) ease-in-out infinite var(--vd,0s); opacity:.7; will-change:transform; }
.track-visualizer b:nth-child(odd){--d:1.0s} .track-visualizer b:nth-child(even){--d:1.35s}
.track-visualizer b:nth-child(1){--vd:0s}.track-visualizer b:nth-child(2){--vd:.08s}.track-visualizer b:nth-child(3){--vd:.16s}.track-visualizer b:nth-child(4){--vd:.04s}.track-visualizer b:nth-child(5){--vd:.22s}.track-visualizer b:nth-child(6){--vd:.14s}.track-visualizer b:nth-child(7){--vd:.30s}.track-visualizer b:nth-child(8){--vd:.10s}.track-visualizer b:nth-child(9){--vd:.26s}.track-visualizer b:nth-child(10){--vd:.06s}.track-visualizer b:nth-child(11){--vd:.20s}.track-visualizer b:nth-child(12){--vd:.32s}
@keyframes vizPulse { 0%,100%{transform:scaleY(.12);opacity:.35} 50%{transform:scaleY(1);opacity:.85} }
.musica.paused .track-visualizer b,.musica.paused .np-dot { animation-play-state:paused; }

.track-card-video { display:flex; flex-direction:column; }
.video-thumb-btn { position:relative; display:block; overflow:hidden; width:100%; aspect-ratio:4/3; flex-shrink:0; border:none; padding:0; }
.video-thumb-img { width:100%; height:100%; object-fit:cover; object-position:50% 15%; transition:transform .5s var(--ease),filter .4s; }
.video-thumb-btn:hover .video-thumb-img { transform:scale(1.05); filter:brightness(.8); }
.video-play-overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(6,10,30,.35); transition:background .3s; }
.video-thumb-btn:hover .video-play-overlay { background:rgba(195,196,215,.25); }
.video-play-icon { width:56px; height:56px; border-radius:50%; background:var(--copper); display:flex; align-items:center; justify-content:center; box-shadow:0 0 28px var(--copper-glow); transition:transform .35s var(--ease-o),background .3s; }
.video-thumb-btn:hover .video-play-icon { transform:scale(1.1); background:var(--copper-bright); }
.video-play-icon svg { width:22px; height:22px; color:var(--black); margin-left:2px; }

.music-actions { display:flex; justify-content:center; gap:1.2rem; flex-wrap:wrap; }
.btn-outline { display:inline-flex; align-items:center; font-size:.65rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:var(--copper); border:1px solid var(--copper-dim); padding:.85rem 1.6rem; border-radius:2px; transition:background .3s,color .3s,border-color .3s,box-shadow .3s; }
.btn-outline:hover { background:var(--copper); color:var(--black); border-color:var(--copper); box-shadow:0 0 28px var(--copper-glow); }

/* ═══════════════════════════ GALERIA ═══════════════════════════ */
.galeria { padding-block:clamp(5rem,10vw,9rem); background:var(--dark-2); }

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 320px;
  gap: 10px;
}

/* foto destaque: 2 colunas × 2 linhas */
.gallery-item:first-child { grid-column: span 2; grid-row: span 2; }

.gallery-item {
  overflow: hidden; border-radius: 10px;
  position: relative; cursor: none;
  border: 1px solid var(--border);
  transition: border-color .35s, box-shadow .35s;
}
.gallery-item:hover {
  border-color: rgba(80,80,232,.5);
  box-shadow: 0 0 40px rgba(195,196,215,.25), inset 0 0 0 1px rgba(80,80,232,.35);
}
.gallery-item img {
  width: 100%; height: 100%; object-fit: cover; object-position: center 15%; display: block;
  transition: transform .65s var(--ease), filter .45s;
  filter: brightness(.82) saturate(.9);
}
.gallery-item:hover img { transform: scale(1.06); filter: brightness(1) saturate(1.08); }

.gallery-item-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(5,5,20,.88) 0%, rgba(5,5,20,.25) 40%, transparent 70%);
  opacity: 0; display: flex; align-items: center; justify-content: center;
  transition: opacity .4s;
}
.gallery-item:hover .gallery-item-overlay { opacity: 1; }
.gallery-item-overlay svg { width:36px; height:36px; color:var(--white); filter:drop-shadow(0 2px 12px rgba(0,0,0,.6)); }
.gallery-num {
  position: absolute; bottom: .9rem; left: 1.1rem;
  font-size: .5rem; font-weight: 800; letter-spacing: .22em; color: rgba(255,255,255,.5);
  opacity: 0; transition: opacity .4s; pointer-events: none;
}
.gallery-item:hover .gallery-num { opacity: 1; }
.lightbox { position:fixed; inset:0; z-index:9000; background:rgba(4,3,2,.97); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .35s; overflow:hidden; }
.lightbox.open { opacity:1; pointer-events:all; }
.lb-img-wrap { max-width:90vw; max-height:90vh; display:flex; align-items:center; justify-content:center; }
.lb-img { max-width:90vw; max-height:90vh; width:auto; height:auto; object-fit:contain; border-radius:4px; box-shadow:0 32px 80px rgba(0,0,0,.7); }
.lb-close,.lb-prev,.lb-next { position:absolute; background:rgba(195,196,215,.1); border:1px solid var(--border); color:var(--cream); border-radius:50%; display:flex; align-items:center; justify-content:center; width:44px; height:44px; transition:background .25s,color .25s; }
.lb-close:hover,.lb-prev:hover,.lb-next:hover { background:var(--copper); color:var(--black); }
.lb-close{top:1.5rem;right:1.5rem;font-size:.85rem}
.lb-prev{left:1.5rem;top:50%;transform:translateY(-50%);font-size:1.4rem}
.lb-next{right:1.5rem;top:50%;transform:translateY(-50%);font-size:1.4rem}
.lb-counter { position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%); font-size:.62rem; letter-spacing:.2em; color:var(--text-dim); }

/* ═══════════════════════════ QUOTES ═══════════════════════════ */
.quotes { padding-block:clamp(5rem,10vw,9rem); background:var(--black); }
.quotes-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-bottom:3rem; }
.quote-card { background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:2rem; display:flex; flex-direction:column; gap:1.5rem; transition:border-color .35s,background .35s; }
.quote-card:hover { border-color:var(--copper-dim); background:var(--surface-2); }
.quote-text { font-family:var(--font-s); font-style:italic; font-size:clamp(.88rem,1.3vw,1rem); color:var(--text); line-height:1.75; flex:1; }
.quote-text::before { content:'"'; font-size:2.5em; color:var(--copper-dim); line-height:0; vertical-align:-.4em; margin-right:.1em; }
.quote-source { display:flex; align-items:center; justify-content:space-between; padding-top:1rem; border-top:1px solid var(--border); }
.quote-pub { font-size:.62rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:var(--copper); }
.quote-year { font-size:.6rem; color:var(--text-dim); letter-spacing:.1em; }
.press-logos { display:flex; align-items:center; justify-content:center; gap:1rem; flex-wrap:wrap; }
.press-logos span { font-size:.62rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--text-dim); }
.press-logos em { font-style:normal; color:var(--border); font-size:.55rem; }

/* ═══════════════════════════ PRESS KIT ════════════════════════ */
.presskit { padding-block:clamp(5rem,10vw,9rem); background:var(--dark); }
.press-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.press-card { background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:2.4rem 1.8rem; display:flex; flex-direction:column; gap:.9rem; transition:background .35s,border-color .35s,box-shadow .35s,transform .4s var(--ease-o); --card-delay:0s; }
.press-card:hover { background:var(--surface-2); border-color:var(--copper-dim); box-shadow:0 24px 48px rgba(0,0,0,.35),0 0 28px rgba(195,196,215,.06); }
.press-icon { width:42px; height:42px; border:1px solid var(--border); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--copper); transition:background .3s,border-color .3s; }
.press-icon svg { width:18px; height:18px; }
.press-card:hover .press-icon { background:rgba(195,196,215,.1); border-color:var(--copper-dim); }
.press-name { font-family:var(--font-d); font-size:1.1rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--white); }
.press-desc { font-size:.8rem; color:var(--text-dim); line-height:1.5; flex:1; }
.press-cta { display:inline-flex; font-size:.6rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:var(--copper); position:relative; align-self:flex-start; transition:color .3s; }
.press-cta::after { content:''; position:absolute; bottom:-2px; left:0; width:0; height:1px; background:var(--copper-bright); transition:width .35s var(--ease); }
.press-cta:hover { color:var(--copper-bright); }
.press-cta:hover::after { width:100%; }

/* ═══════════════════════════ CONTATO ═══════════════════════════ */
.contato { padding-block:clamp(5rem,10vw,9rem); background:var(--dark-2); position:relative; overflow:hidden; }
.contato::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(to right,transparent,var(--copper-dim),transparent); }
.contato-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.contato-sub { font-size:1rem; color:var(--text-dim); margin-bottom:2rem; line-height:1.6; }
.contact-links { display:flex; flex-direction:column; gap:.5rem; }
.contact-link { display:flex; align-items:center; gap:.9rem; padding:.85rem 1rem; border:1px solid var(--border); border-radius:4px; color:var(--text-dim); transition:background .3s,border-color .3s,color .3s; }
.contact-link:hover { background:rgba(195,196,215,.06); border-color:var(--copper-dim); color:var(--cream); }
.cl-icon { width:34px; height:34px; display:flex; align-items:center; justify-content:center; color:var(--copper); flex-shrink:0; }
.cl-icon svg { width:17px; height:17px; }
.cl-text { flex:1; font-size:.8rem; letter-spacing:.04em; }
.cl-arrow { color:var(--copper-dim); transition:transform .3s,color .3s; }
.contact-link:hover .cl-arrow { transform:translateX(4px); color:var(--copper); }
.contato-form { display:flex; flex-direction:column; gap:.4rem; }
.form-field { position:relative; margin-bottom:.85rem; }
.form-field input,.form-field textarea { width:100%; background:var(--surface); border:none; border-bottom:1px solid var(--border); color:var(--cream); font-size:.9rem; padding:1.15rem .2rem .45rem; outline:none; transition:border-color .3s; }
.form-field-ta textarea { border:1px solid var(--border); border-radius:4px; padding:1.15rem .8rem .45rem; background:var(--surface); }
.form-field input:focus,.form-field textarea:focus { border-color:var(--copper-dim); }
.form-field label { position:absolute; top:1.15rem; left:.2rem; font-size:.8rem; color:var(--text-dim); letter-spacing:.08em; pointer-events:none; transition:top .25s var(--ease),font-size .25s,color .25s,letter-spacing .25s; }
.form-field-ta label { left:.8rem; }
.form-field input:not(:placeholder-shown)+label,.form-field input:focus+label,
.form-field textarea:not(:placeholder-shown)+label,.form-field textarea:focus+label { top:.08rem; font-size:.55rem; letter-spacing:.2em; color:var(--copper); }
.form-bar { position:absolute; bottom:0; left:0; width:0; height:1px; background:var(--copper); transition:width .35s var(--ease); }
.form-field input:focus~.form-bar { width:100%; }
.form-submit { display:inline-flex; align-items:center; justify-content:center; font-family:var(--font-d); font-size:.7rem; font-weight:800; letter-spacing:.22em; text-transform:uppercase; background:var(--copper); color:var(--black); border-radius:2px; padding:1.05rem 2.4rem; margin-top:.6rem; align-self:flex-start; transition:background .3s,box-shadow .3s; }
.form-submit:hover { background:var(--copper-bright); box-shadow:0 0 28px var(--copper-glow); }
.form-feedback { font-size:.78rem; padding:.4rem 0; min-height:1.4rem; color:var(--copper-bright); letter-spacing:.06em; }
.form-feedback.error { color:#e07070; }

/* ═══════════════════════════ FOOTER ════════════════════════════ */
.footer { background:var(--dark); border-top:1px solid var(--border); padding-block:3rem; }
.footer-inner { max-width:var(--cont); margin-inline:auto; padding-inline:var(--gap); display:flex; flex-direction:column; align-items:center; gap:1.3rem; text-align:center; }
.footer-logo img { height:42px; width:auto; filter:brightness(0) invert(1); opacity:.9; transition:opacity .3s; }
.footer-logo:hover img { opacity:1; }
.footer-tagline { font-family:var(--font-s); font-style:italic; font-size:.84rem; color:rgba(220,220,255,.65); letter-spacing:.06em; }
.footer-easter { font-size:.52rem; letter-spacing:.2em; color:rgba(255,255,255,.15); text-transform:uppercase; }
.footer-socials { display:flex; gap:.9rem; }
.footer-socials a { width:32px; height:32px; display:flex; align-items:center; justify-content:center; color:rgba(200,200,240,.5); border:1px solid rgba(100,100,200,.25); border-radius:50%; transition:color .3s,border-color .3s; }
.footer-socials a svg { width:13px; height:13px; }
.footer-socials a:hover { color:var(--copper); border-color:var(--copper); }
.footer-copy { font-size:.62rem; letter-spacing:.15em; color:rgba(200,200,240,.4); text-transform:uppercase; }
.elevate { transition:transform .4s var(--ease-o),box-shadow .4s var(--ease-o); will-change:transform; }

/* ═══════════════════════════ FLOATING WA ═══════════════════════ */
.wa-float { position:fixed; bottom:2rem; right:2rem; z-index:800; width:54px; height:54px; background:#25D366; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(37,211,102,.4); transition:transform .3s var(--ease-o),box-shadow .3s; animation:waPop .5s var(--ease-o) 2.5s both; }
.wa-float:hover { transform:scale(1.12); box-shadow:0 8px 32px rgba(37,211,102,.5); }
.wa-float svg { width:26px; height:26px; color:#fff; }
.wa-pulse { position:absolute; inset:-4px; border-radius:50%; border:2px solid rgba(37,211,102,.4); animation:waPulse 2.2s ease-out infinite 2.5s; }
@keyframes waPop  { from{transform:scale(0);opacity:0} to{transform:scale(1);opacity:1} }
@keyframes waPulse{ 0%{transform:scale(1);opacity:.8} 100%{transform:scale(1.6);opacity:0} }

/* ═══════════════════════════ YT MODAL ══════════════════════════ */
.yt-modal { position:fixed; inset:0; z-index:8500; background:rgba(4,3,2,.96); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .35s; backdrop-filter:blur(12px); }
.yt-modal.open { opacity:1; pointer-events:all; }
.yt-wrap { position:relative; width:min(900px,92vw); }
.yt-close { position:absolute; top:-36px; right:0; font-size:.7rem; font-weight:700; letter-spacing:.15em; color:var(--cream-dim); background:none; border:none; text-transform:uppercase; transition:color .25s; }
.yt-close:hover { color:var(--copper-bright); }
.yt-frame { width:100%; aspect-ratio:16/9; border-radius:6px; overflow:hidden; background:var(--dark); }
.yt-frame iframe { width:100%; height:100%; }

/* ═══════════════════════════ RESPONSIVE ════════════════════════ */
@media(max-width:1200px) {
  .bio-grid { grid-template-columns:1fr 220px 260px; gap:2rem; }
  .tracks-grid { grid-template-columns:1fr 1fr; }
  .track-card-video { grid-column:1/-1; }
  .track-card-video .video-thumb-btn { aspect-ratio:16/5; }
  .quotes-grid { grid-template-columns:1fr 1fr 1fr; }
}

@media(max-width:1024px) {
  .bio-grid { grid-template-columns:1fr 200px; grid-template-rows:auto auto; }
  .bio-stats-col { grid-column:1/-1; grid-template-columns:repeat(4,1fr); }
  .bio-deco { display:none; }
  .tracks-grid { grid-template-columns:1fr 1fr; }
  .press-grid { grid-template-columns:repeat(3,1fr); }
  .quotes-grid { grid-template-columns:1fr 1fr; }
  .section-dots { display:none; }
}

@media(max-width:900px) {
  .gallery-grid { grid-template-columns:repeat(2,1fr); grid-auto-rows:260px; }
  .gallery-item:first-child { grid-column:span 2; grid-row:span 1; }
  .press-grid { grid-template-columns:1fr 1fr; }
  .contato-grid { grid-template-columns:1fr; gap:3rem; }
  .data-card { grid-template-columns:64px 1fr auto; }
  .data-cta { grid-column:2; justify-self:start; }
  .quotes-grid { grid-template-columns:1fr; max-width:560px; margin-inline:auto; }
}

@media(max-width:768px) {
  :root { --nav-h:60px; }

  /* navbar sempre visível com background no mobile */
  /* backdrop-filter removido em TODOS os estados: cria containing block para
     fixed children no Safari, fazendo o menu overlay ter altura zero */
  .navbar,
  .navbar.scrolled {
    background: rgba(5,5,15,.98);
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    z-index: 1500;
  }

  .nav-links {
    position:fixed; inset:0; top:var(--nav-h);
    background:rgba(5,5,15,.88);
    backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
    flex-direction:column; justify-content:center; gap:2rem;
    transform:translateX(100%); transition:transform .45s var(--ease-o);
    z-index:1400; overflow:hidden;
    pointer-events: none;
  }
  .nav-mobile-photo { display:none !important; }
  .nav-links.open { transform:translateX(0); pointer-events: all; }

  /* Mobile menu photo background */
  .nav-mobile-photo {
    display:block; position:absolute; inset:0;
    background-image:url('img/nav-bg.webp');
    background-size:cover; background-position:50% 8%;
    z-index:0;
  }
  .nav-mobile-photo::after { content:''; position:absolute; inset:0; background:rgba(6,10,30,.88); }
  .nav-link { font-size:1.3rem; letter-spacing:.1em; position:relative; z-index:1; }

  .hamburger { display:flex; }
  .lp-toggle,.lp-label { display:none; }
  .nav-right { gap:.6rem; }
  .booking-btn { padding:.42rem .85rem; font-size:.58rem; }
  .lang-code { display:none; }

  .hero-photo { width:100%; object-position:50% 5%; }
  .hero-grad-left { background:linear-gradient(to bottom,rgba(6,10,30,.6) 0%,rgba(6,10,30,.35) 40%,rgba(6,10,30,.75) 100%); }
  .hero-content { max-width:100%; }
  .hero-logo-wrap { width:clamp(180px,70vw,300px); }

  .bio-grid { grid-template-columns:1fr; gap:2.5rem; }
  .bio-photo-col { max-width:320px; margin-inline:auto; width:100%; }
  .bio-photo-frame img { min-height:320px; }
  .bio-stats-col { grid-template-columns:1fr 1fr; }

  .tl-track { padding-left:0; }
  .tl-item { grid-template-columns:60px 16px 1fr; gap:0 1rem; }
  .tl-year { font-size:.6rem; }
  .tl-line { left:60px; }

  .tracks-grid { grid-template-columns:1fr; }
  .track-card-video .video-thumb-btn { aspect-ratio:4/3; }

  .data-card { padding:1rem 1.2rem; gap:1rem; }
  .data-day { font-size:1.7rem; }
  .realizados-list { grid-template-columns:1fr; }
  .realizado-name { font-size:.78rem; }

  .gallery-grid { grid-template-columns:repeat(2,1fr); grid-auto-rows:240px; }
  .gallery-item:first-child { grid-column:span 2; grid-row:span 1; }
  .press-grid { grid-template-columns:1fr 1fr; }
  .music-actions { flex-direction:column; align-items:center; }
  .btn-outline { width:100%; max-width:340px; justify-content:center; }
  .lb-prev { left:.5rem; }
  .lb-next { right:.5rem; }
  .form-submit { width:100%; }
  .wa-float { bottom:1.2rem; right:1.2rem; width:48px; height:48px; }
  .wa-float svg { width:22px; height:22px; }
  .mini-player { left:1rem; bottom:1rem; }
  .countdown-grid { gap:.3rem; }
  .cd-num { font-size:clamp(1.5rem,8vw,2.8rem); }
}

@media(max-width:480px) {
  .gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:200px; gap:6px; }
  .gallery-item:first-child { grid-column:span 2; grid-row:span 2; }
  .bio-stats-col { grid-template-columns:1fr 1fr; }
  .press-grid { grid-template-columns:1fr; max-width:380px; margin-inline:auto; }
  .data-card { grid-template-columns:54px 1fr auto; gap:.8rem; }
  .data-badge { font-size:.42rem; padding:.3rem .55rem; }
  .hero-socials { gap:.7rem; }
  .social-link { width:32px; height:32px; }
  .social-link svg { width:13px; height:13px; }
  .section-title { font-size:clamp(2rem,10vw,3rem); }
  .press-logos { gap:.6rem; }
  .press-logos em { display:none; }
}

/* ═══════════════════════════════════════════════════════════════
   PERSONA HUB
   ═══════════════════════════════════════════════════════════════ */
.persona-hub {
  position: sticky;
  top: var(--nav-h);
  z-index: 400;
  background: rgba(5,5,15,.92);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
}
.persona-hub-inner {
  max-width: var(--cont);
  margin: 0 auto;
  display: flex;
  align-items: stretch;
}
.ph-btn {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .3rem;
  padding: 1rem .5rem;
  border-bottom: 2px solid transparent;
  transition: border-color .3s var(--ease), background .3s;
  position: relative;
  overflow: hidden;
  cursor: none;
}
.ph-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--copper-glow);
  opacity: 0;
  transition: opacity .3s;
}
.ph-btn.active { border-bottom-color: var(--copper); }
.ph-btn.active::before,
.ph-btn:hover::before { opacity: 1; }
.ph-icon {
  width: 20px; height: 20px;
  color: var(--text-dim);
  transition: color .3s;
}
.ph-btn.active .ph-icon,
.ph-btn:hover .ph-icon { color: var(--copper); }
.ph-label {
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .2em;
  color: var(--text-dim);
  transition: color .3s;
}
.ph-btn.active .ph-label,
.ph-btn:hover .ph-label { color: var(--copper); }
.ph-sub {
  font-size: .44rem;
  letter-spacing: .08em;
  color: var(--text-dim);
  opacity: .5;
}

/* ═══════════════════════════════════════════════════════════════
   MODELO SECTION
   ═══════════════════════════════════════════════════════════════ */
.modelo-sec {
  padding: clamp(5rem,10vw,8rem) 0;
  background: var(--dark);
  content-visibility: auto;
  contain-intrinsic-block-size: 800px;
}
.modelo-stats {
  display: flex;
  gap: 1.2rem;
  margin: 3rem 0;
  flex-wrap: wrap;
}
.mstat {
  flex: 1;
  min-width: 110px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .4rem;
  padding: 2rem 1rem;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--surface);
  transition: border-color .3s;
}
.mstat:hover { border-color: var(--copper); }
.mstat-num {
  font-size: clamp(2.2rem,6vw,3.8rem);
  font-weight: 900;
  color: var(--copper);
  line-height: 1;
}
.mstat-lbl {
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .22em;
  color: var(--text-dim);
  text-transform: uppercase;
  text-align: center;
}
.modelo-mags {
  margin: 2rem 0;
  padding: 1.4rem 2rem;
  border-left: 2px solid var(--copper);
  background: var(--surface);
  border-radius: 0 6px 6px 0;
}
.modelo-mags-label {
  font-size: .5rem;
  font-weight: 700;
  letter-spacing: .28em;
  color: var(--copper);
  margin-bottom: .7rem;
}
.modelo-mags-list {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .8rem;
  align-items: center;
  font-size: .78rem;
  color: var(--text-dim);
  letter-spacing: .05em;
}
.modelo-mags-list em { color: var(--copper-dim); font-style: normal; }

/* ═══════════════════════════════════════════════════════════════
   IG CARDS
   ═══════════════════════════════════════════════════════════════ */
.ig-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(180px,1fr));
  gap: 1rem;
  margin: 2rem 0;
}
.ig-grid-large { grid-template-columns: repeat(auto-fill,minmax(200px,1fr)); }

/* card remodelado como thumbnail de reel */
.ig-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
  overflow: hidden;
  transition: border-color .3s, transform .3s var(--ease-o);
}
.ig-card:hover { border-color: var(--copper); transform: translateY(-4px); }

/* área de thumbnail */
.ig-thumb {
  width: 100%;
  aspect-ratio: 4/5;
  background: linear-gradient(160deg, var(--dark-2) 0%, var(--surface-2) 100%);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.ig-thumb::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
    rgba(131,58,180,.18) 0%,
    rgba(253,29,29,.12) 50%,
    rgba(252,176,69,.1) 100%);
}
.ig-thumb::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(5,5,15,.7) 0%, transparent 50%);
}

/* play button */
.ig-play-btn {
  width: 52px; height: 52px;
  color: rgba(255,255,255,.9);
  position: relative;
  z-index: 2;
  filter: drop-shadow(0 2px 12px rgba(0,0,0,.6));
  transition: transform .3s var(--ease-o), color .3s;
}
.ig-card:hover .ig-play-btn { transform: scale(1.1); color: #fff; }

/* badge dentro do thumb */
.ig-badge {
  font-size: .42rem;
  font-weight: 800;
  letter-spacing: .25em;
  color: var(--copper);
  background: rgba(5,5,15,.75);
  backdrop-filter: blur(6px);
  padding: .3rem .7rem;
  border-radius: 20px;
  border: 1px solid var(--copper-dim);
  position: absolute;
  bottom: 10px; left: 10px;
  z-index: 3;
}

/* footer do card */
.ig-card-footer {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .75rem 1rem;
  border-top: 1px solid var(--border);
  background: var(--surface);
}
.ig-card-footer svg {
  width: 14px; height: 14px;
  color: var(--text-dim);
  flex-shrink: 0;
}
.ig-card-cta {
  font-size: .48rem;
  font-weight: 700;
  letter-spacing: .14em;
  color: var(--text-dim);
  transition: color .3s;
  white-space: nowrap;
}
.ig-card:hover .ig-card-cta { color: var(--copper); }

/* ═══════════════════════════════════════════════════════════════
   INFLUENCER SECTION
   ═══════════════════════════════════════════════════════════════ */
.influencer-sec {
  padding: clamp(5rem,10vw,8rem) 0;
  background: var(--dark-2);
  content-visibility: auto;
  contain-intrinsic-block-size: 900px;
}
.influencer-intro {
  max-width: 680px;
  margin: 2rem 0 3rem;
  font-size: 1rem;
  line-height: 1.8;
  color: var(--text-dim);
}
.influencer-cta {
  margin-top: 3rem;
  display: flex;
  justify-content: center;
}

/* ─── Highlights ──────────────────────────────────────────────── */
.highlights-grid {
  display: flex;
  gap: 2rem;
  justify-content: center;
  flex-wrap: wrap;
  margin: 2rem 0;
}
.highlight-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .7rem;
  padding: 2rem 3rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
  transition: border-color .3s, transform .3s var(--ease-o);
  text-align: center;
}
.highlight-card:hover { border-color: var(--copper); transform: translateY(-4px); }
.highlight-ring {
  width: 60px; height: 60px;
  border-radius: 50%;
  border: 2px solid var(--copper);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 16px var(--copper-glow);
  background: radial-gradient(circle,var(--copper-glow),transparent 70%);
}
.highlight-label {
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .2em;
  color: var(--cream);
  text-transform: uppercase;
}
.highlight-sub {
  font-size: .48rem;
  color: var(--text-dim);
  letter-spacing: .1em;
}

/* ═══════════════════════════════════════════════════════════════
   EVENTOS SECTION
   ═══════════════════════════════════════════════════════════════ */
.eventos-sec {
  padding: clamp(5rem,10vw,8rem) 0;
  background: var(--dark);
  content-visibility: auto;
  contain-intrinsic-block-size: 700px;
}
.eventos-intro {
  max-width: 680px;
  margin: 2rem 0 3rem;
  font-size: 1rem;
  line-height: 1.8;
  color: var(--text-dim);
}
.eventos-tipos {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(240px,1fr));
  gap: 1.5rem;
  margin: 2rem 0;
}
.et-card {
  padding: 2.5rem 2rem;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  transition: border-color .3s, transform .3s var(--ease-o);
}
.et-card:hover { border-color: var(--copper); transform: translateY(-4px); }
.et-icon { width: 36px; height: 36px; color: var(--copper); margin-bottom: 1.2rem; }
.et-title {
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .1em;
  color: var(--white);
  margin-bottom: .6rem;
  text-transform: uppercase;
}
.et-desc { font-size: .8rem; line-height: 1.7; color: var(--text-dim); }
.eventos-cta {
  margin-top: 4rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
.eventos-cta-text {
  font-size: 1rem;
  color: var(--text-dim);
  font-family: var(--font-s);
  font-style: italic;
}

/* ─── Quote card com link ─────────────────────────────────────── */
.quote-card-media {
  cursor: none;
  transition: border-color .3s, transform .3s var(--ease-o);
}
.quote-card-media:hover { border-color: var(--copper); transform: translateY(-4px); }
.quote-card-media .quote-year { color: var(--copper); font-weight: 700; }

/* ─── Responsive persona hub ─────────────────────────────────── */
@media (max-width: 600px) {
  .ph-sub { display: none; }
  .ph-btn { padding: .75rem .3rem; }
}
@media (max-width: 380px) {
  .persona-hub-inner { overflow-x: auto; }
  .ph-btn { min-width: 72px; flex: none; }
}
@media (max-width: 600px) {
  .ig-grid, .ig-grid-large { grid-template-columns: 1fr 1fr; }
  .eventos-tipos { grid-template-columns: 1fr; }
  .highlights-grid { gap: 1rem; }
  .highlight-card { padding: 1.5rem 1.8rem; }
}
