:root {
  --bg: #080612;
  --bg-2: #0d081a;
  --panel: #120b22;
  --panel-2: #17102a;
  --violet: #4c1267;
  --violet-deep: #260532;
  --pink: #ff0aa6;
  --pink-2: #ff45c0;
  --blue: #00d9ff;
  --blue-2: #3e7bff;
  --white: #fffafd;
  --paper: #f8f6fb;
  --ink: #16111d;
  --muted: #bdb5c8;
  --muted-dark: #665e71;
  --line: rgba(255,255,255,.12);
  --line-dark: rgba(22,17,29,.12);
  --shadow: 0 30px 80px rgba(0,0,0,.34);
  --radius-xl: 34px;
  --radius-lg: 26px;
  --radius-md: 18px;
  --container: min(1240px, calc(100% - 44px));
  --ease: cubic-bezier(.22,1,.36,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--white);
  background: var(--bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display:block; max-width:100%; height:auto; object-fit:contain; image-rendering:auto; }
button, input, select { font: inherit; }
button { color: inherit; }
::selection { background: var(--pink); color: white; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }

.container { width: var(--container); margin-inline: auto; }
.skip-link { position: fixed; z-index: 1000; top: -100px; left: 16px; padding: 10px 16px; border-radius: 10px; background: white; color: black; transition: top .2s; }
.skip-link:focus { top: 16px; }

.ambient { position: fixed; inset: 0; pointer-events: none; overflow: hidden; z-index: -5; }
.ambient__orb { position: absolute; width: 38vw; aspect-ratio: 1; border-radius: 50%; filter: blur(120px); opacity: .16; }
.ambient__orb--pink { background: var(--pink); left: -13vw; top: 18vh; }
.ambient__orb--blue { background: var(--blue); right: -16vw; top: 54vh; }
.ambient__grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.6), transparent 75%); }

.site-header { position: fixed; z-index: 100; top: 0; left: 0; width: 100%; border-bottom: 1px solid transparent; transition: background .3s, border-color .3s, backdrop-filter .3s; }
.site-header.scrolled { background: rgba(8,6,18,.82); border-color: rgba(255,255,255,.08); backdrop-filter: blur(20px) saturate(130%); }
.header-inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: max-content; }
.brand img { width: 56px; height: 56px; border-radius: 50%; box-shadow: 0 0 0 1px rgba(255,255,255,.12), 0 0 32px rgba(0,217,255,.12); }
.brand__text { display: grid; line-height: 1; }
.brand__text strong { font-size: 12px; letter-spacing: .13em; }
.brand__text span { margin-top: 5px; font-weight: 800; color: var(--pink-2); font-size: 17px; letter-spacing: .02em; }
.main-nav { display: flex; align-items: center; gap: 28px; font-size: 14px; font-weight: 700; color: #ddd5e5; }
.main-nav > a:not(.nav-cta) { position: relative; padding: 10px 0; }
.main-nav > a:not(.nav-cta)::after { content: ""; position: absolute; height: 2px; left: 0; right: 100%; bottom: 2px; background: linear-gradient(90deg,var(--pink),var(--blue)); transition: right .25s var(--ease); }
.main-nav > a:not(.nav-cta):hover::after, .main-nav > a:not(.nav-cta):focus-visible::after { right: 0; }
.nav-cta { padding: 12px 18px; border-radius: 999px; background: linear-gradient(135deg,var(--pink),#bd1dff); box-shadow: 0 10px 28px rgba(255,10,166,.22); color: #fff; }
.menu-toggle { display: none; width: 46px; height: 46px; border: 1px solid var(--line); background: rgba(255,255,255,.04); border-radius: 50%; align-items: center; justify-content: center; flex-direction: column; gap: 5px; cursor: pointer; }
.menu-toggle span { width: 19px; height: 2px; background: currentColor; transition: transform .25s, opacity .25s; }

.hero { position: relative; min-height: 850px; padding: 166px 0 105px; overflow: hidden; isolation: isolate; background: radial-gradient(circle at 76% 38%, rgba(77,18,103,.4), transparent 34%), linear-gradient(180deg,#090615 0%,#080612 100%); }
.hero::before { content: ""; position: absolute; z-index: -3; inset: 0; background: radial-gradient(circle at 10% 15%, rgba(255,10,166,.14), transparent 26%), radial-gradient(circle at 88% 22%, rgba(0,217,255,.12), transparent 28%); }
.hero::after { content: ""; position: absolute; z-index: -2; inset: 0; opacity: .1; background-image: url("data:image/svg+xml,%3Csvg width='90' height='90' viewBox='0 0 90 90' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M45 6C25 6 9 22 9 42s16 36 36 36 36-16 36-36S65 6 45 6Zm0 8c16 0 28 12 28 28S61 70 45 70 17 58 17 42s12-28 28-28Zm0 9c11 0 19 8 19 19s-8 19-19 19-19-8-19-19 8-19 19-19Z' fill='none' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E"); mask-image: linear-gradient(90deg,transparent,black 55%,black); }
.hero__laser { position: absolute; z-index: -1; top: -60px; width: 2px; height: 620px; transform-origin: top center; opacity: .46; filter: blur(.2px); }
.hero__laser::before { content: ""; position: absolute; inset: 0 -42px; background: linear-gradient(90deg,transparent,currentColor,transparent); clip-path: polygon(50% 0,100% 100%,0 100%); opacity: .22; }
.hero__laser--one { right: 16%; color: var(--blue); transform: rotate(17deg); background: var(--blue); }
.hero__laser--two { right: 36%; color: var(--pink); transform: rotate(-15deg); background: var(--pink); }
.hero__laser--three { left: 18%; color: #7b3cff; transform: rotate(22deg); background: #7b3cff; opacity: .2; }
.hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr); align-items: center; gap: clamp(48px,7vw,110px); }
.hero-copy { max-width: 710px; }
.welcome { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 24px; color: #d9d2e3; font-size: 13px; font-weight: 800; letter-spacing: .035em; }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--pink); box-shadow: 0 0 0 6px rgba(255,10,166,.10), 0 0 20px var(--pink); }
.hero-overline, .eyebrow { margin: 0 0 14px; color: var(--blue); font-size: 12px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.hero h1 { margin:0; font-size:clamp(64px,7.2vw,112px); line-height:.88; letter-spacing:-.052em; text-transform:uppercase; font-weight:900; font-family:"Arial Black", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; text-rendering:geometricPrecision; }
.hero h1 span { display:inline-block; background:linear-gradient(105deg,#ff0aa6 3%,#ff45c0 42%,#00d9ff 100%); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-stroke:.35px rgba(255,255,255,.16); text-shadow:0 8px 24px rgba(255,10,166,.12); }
.hero-role { margin: 21px 0 0; color: #faf7ff; font-size: clamp(21px,2.2vw,32px); font-weight: 600; letter-spacing: -.025em; }
.hero-role strong { color: var(--blue); font-weight: 900; text-transform: uppercase; }
.tagline-line { width: 92px; height: 3px; margin: 24px 0 18px; background: linear-gradient(90deg,var(--pink),var(--blue)); border-radius: 3px; }
.hero-tagline { margin: 0; color: #fff; font-size: clamp(21px,2vw,29px); font-weight: 800; font-style: italic; }
.hero-lead { max-width: 650px; margin: 23px 0 0; color: var(--muted); font-size: 17px; line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 34px; }
.button { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; gap: 18px; padding: 0 24px; border: 0; border-radius: 999px; font-size: 14px; font-weight: 850; letter-spacing: -.01em; cursor: pointer; transition: transform .25s var(--ease), box-shadow .25s, background .25s, border-color .25s; }
.button:hover { transform: translateY(-3px); }
.button--primary { color: #fff; background: linear-gradient(120deg,var(--pink),#b724ef 56%,#6d43ff); box-shadow: 0 16px 40px rgba(255,10,166,.24), inset 0 1px rgba(255,255,255,.22); }
.button--primary:hover { box-shadow: 0 19px 48px rgba(255,10,166,.34), 0 0 35px rgba(0,217,255,.10); }
.button--ghost { border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.045); color: white; backdrop-filter: blur(12px); }
.button--ghost:hover { border-color: rgba(0,217,255,.42); background: rgba(0,217,255,.07); }
.button--outline-light { border: 1px solid rgba(255,255,255,.24); color: white; background: transparent; }
.button--outline-light:hover { border-color: var(--blue); }
.button--full { width: 100%; }
.button-arrow { font-size: 19px; line-height: 1; }
.hero-points { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 30px; color: #c9c2d1; font-size: 13px; font-weight: 650; }
.hero-points span { display: inline-flex; align-items: center; gap: 8px; }
.hero-points i { width: 5px; height: 5px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 11px var(--blue); }

.hero-art { position: relative; width: min(100%,560px); aspect-ratio: 1; margin-inline: auto; display: grid; place-items: center; }
.hero-art__ring { position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.1); }
.hero-art__ring--outer { inset: -3%; border-color: rgba(0,217,255,.18); animation: slowspin 26s linear infinite; }
.hero-art__ring--outer::before, .hero-art__ring--outer::after { content: ""; position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 18px var(--blue); }
.hero-art__ring--outer::before { top: 12%; left: 18%; }
.hero-art__ring--outer::after { bottom: 9%; right: 22%; background: var(--pink); box-shadow: 0 0 18px var(--pink); }
.hero-art__ring--inner { inset: 8%; border-style: dashed; border-color: rgba(255,10,166,.18); animation: slowspin 18s linear infinite reverse; }
.hero-art__halo { position: absolute; inset: 15%; border-radius: 50%; background: radial-gradient(circle,rgba(255,10,166,.28),rgba(0,217,255,.06) 48%,transparent 72%); filter: blur(22px); }
.hero-logo-card { position:relative; z-index:2; width:78%; aspect-ratio:1 / 1; margin:0; display:grid; place-items:center; overflow:hidden; border-radius:50%; box-shadow:0 40px 90px rgba(0,0,0,.52),0 0 80px rgba(255,10,166,.14),0 0 60px rgba(0,217,255,.10); }
.hero-logo-card::after { content: ""; position: absolute; inset: 0; border-radius: 50%; box-shadow: inset 0 0 0 2px rgba(255,255,255,.28), inset 0 0 40px rgba(255,255,255,.09); pointer-events: none; }
.hero-logo-card img { width:100%; height:100%; border-radius:50%; object-fit:contain; object-position:center; }
.float-card { position: absolute; z-index: 4; display: flex; align-items: center; gap: 12px; min-width: 176px; padding: 12px 15px; border: 1px solid rgba(255,255,255,.13); border-radius: 18px; background: rgba(12,8,25,.72); box-shadow: 0 18px 40px rgba(0,0,0,.32); backdrop-filter: blur(17px); }
.float-card strong, .float-card small { display: block; }
.float-card strong { font-size: 13px; }
.float-card small { margin-top: 2px; color: #aaa3b5; font-size: 11px; }
.float-card--top { top: 13%; right: -4%; animation: floaty 5.2s ease-in-out infinite; }
.float-card--bottom { bottom: 12%; left: -8%; animation: floaty 5.8s ease-in-out infinite reverse; }
.float-card__icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg,var(--pink),#9d21ff); font-size: 18px; box-shadow: 0 0 24px rgba(255,10,166,.22); }
.mini-bars { display: flex; align-items: center; gap: 2px; height: 30px; }
.mini-bars i { width: 3px; border-radius: 4px; background: var(--blue); animation: bar 1.05s ease-in-out infinite; }
.mini-bars i:nth-child(1){height:8px}.mini-bars i:nth-child(2){height:18px;animation-delay:.1s}.mini-bars i:nth-child(3){height:26px;animation-delay:.2s}.mini-bars i:nth-child(4){height:13px;animation-delay:.3s}.mini-bars i:nth-child(5){height:23px;animation-delay:.4s}.mini-bars i:nth-child(6){height:10px;animation-delay:.5s}.mini-bars i:nth-child(7){height:17px;animation-delay:.6s}
.audio-wave { position: absolute; z-index: 1; left: 0; right: 0; bottom: 22px; height: 38px; display: flex; align-items: flex-end; justify-content: center; gap: 5px; opacity: .22; mask-image: linear-gradient(90deg,transparent,black 25%,black 75%,transparent); }
.audio-wave i { width: 3px; min-height: 4px; border-radius: 4px; background: linear-gradient(var(--blue),var(--pink)); animation: wavebar 1.8s ease-in-out infinite; }
.audio-wave i:nth-child(3n){height:25px;animation-delay:.2s}.audio-wave i:nth-child(4n){height:36px;animation-delay:.45s}.audio-wave i:nth-child(5n){height:17px;animation-delay:.7s}.audio-wave i:nth-child(7n){height:31px;animation-delay:.9s}.audio-wave i:nth-child(2n){height:12px;animation-delay:.3s}

.ticker { overflow: hidden; border-block: 1px solid rgba(255,255,255,.1); background: linear-gradient(90deg,rgba(255,10,166,.08),rgba(0,217,255,.08)); }
.ticker-track { width: max-content; display: flex; align-items: center; gap: 28px; min-height: 62px; padding-inline: 14px; animation: ticker 32s linear infinite; font-size: 12px; font-weight: 900; letter-spacing: .15em; white-space: nowrap; }
.ticker-track b { color: var(--pink); font-size: 14px; }

.section { position: relative; padding: 118px 0; }
.section-heading { max-width: 830px; margin: 0 auto 64px; text-align: center; }
.section-heading--left { margin-left: 0; text-align: left; }
.section-heading h2, .method h2, .promo-copy h2, .about-copy h2, .instagram-head h2, .faq-intro h2, .final-cta h2 { margin: 0; color: var(--ink); font-size: clamp(42px,5vw,70px); line-height: .99; letter-spacing: -.055em; font-weight: 900; }
.section-heading h2 span, .promo-copy h2 span, .about-copy h2 span, .faq-intro h2 span { background: linear-gradient(100deg,#d70087,#6e31ff 52%,#0089d6); -webkit-background-clip:text; background-clip:text; color:transparent; }
.section-heading > p { max-width: 720px; margin: 24px auto 0; color: var(--muted-dark); line-height: 1.75; font-size: 17px; }
.section-heading--left > p { margin-left: 0; }
.eyebrow { color: #c8007d; }
.eyebrow--light { color: var(--blue); }

.program { background: var(--paper); color: var(--ink); }
.program::before { content:""; position:absolute; inset:0; pointer-events:none; background: radial-gradient(circle at 8% 10%,rgba(255,10,166,.08),transparent 28%),radial-gradient(circle at 92% 82%,rgba(0,217,255,.08),transparent 25%); }
.program-layout { position: relative; display: grid; grid-template-columns: .72fr 1.7fr; gap: 26px; align-items: stretch; }
.program-intro { position: relative; overflow: hidden; border-radius: var(--radius-xl); padding: 40px; color: white; background: linear-gradient(150deg,#24102f,#0a1022 72%); box-shadow: 0 25px 70px rgba(35,10,48,.16); }
.program-intro::before { content:""; position:absolute; width:250px; aspect-ratio:1; border-radius:50%; right:-100px; top:-60px; background:radial-gradient(circle,rgba(0,217,255,.24),transparent 65%); }
.program-intro::after { content:""; position:absolute; width:260px; height:260px; border:1px solid rgba(255,255,255,.08); border-radius:50%; right:-70px; bottom:-120px; box-shadow:0 0 0 28px rgba(255,255,255,.02),0 0 0 58px rgba(255,255,255,.015); }
.program-intro__number { display:inline-flex; width:45px; height:45px; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.15); border-radius:50%; color:var(--blue); font-size:12px; font-weight:900; }
.program-intro h3 { margin: 74px 0 20px; font-size: 40px; line-height: .99; letter-spacing:-.045em; }
.program-intro p { margin: 0 0 30px; color:#c4bdcd; line-height:1.72; }
.text-link { display:inline-flex; align-items:center; gap:10px; font-weight:850; font-size:14px; padding-bottom:6px; border-bottom:1px solid currentColor; }
.program-intro .text-link { color:var(--blue); }
.pillar-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.pillar { position: relative; min-height: 260px; padding: 27px; border: 1px solid rgba(27,17,32,.08); border-radius: var(--radius-lg); background: rgba(255,255,255,.74); box-shadow: 0 14px 45px rgba(39,20,48,.055); transition: transform .3s var(--ease), box-shadow .3s, border-color .3s; }
.pillar:hover { transform: translateY(-6px); border-color: rgba(255,10,166,.20); box-shadow: 0 22px 55px rgba(54,18,68,.11); }
.pillar__top { display:flex; justify-content:space-between; align-items:center; }
.pillar__top > span { font-size:11px; font-weight:900; color:#8d8394; letter-spacing:.12em; }
.pillar__top svg { width:30px; height:30px; fill:none; stroke:#c90082; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.pillar h3 { margin: 58px 0 10px; font-size:21px; letter-spacing:-.025em; }
.pillar p { margin:0; color:var(--muted-dark); line-height:1.65; font-size:14px; }

.method { overflow:hidden; background: linear-gradient(155deg,#180b24 0%,#080712 68%); }
.method::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 13% 75%,rgba(255,10,166,.16),transparent 26%),radial-gradient(circle at 78% 15%,rgba(0,217,255,.12),transparent 30%); }
.method-grid { position:relative; display:grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items:center; }
.method h2 { color:white; }
.method h2 span { color: var(--pink-2); }
.method-copy > p { max-width:570px; margin:25px 0 0; color:var(--muted); font-size:17px; line-height:1.78; }
.method-quote { position:relative; margin-top:44px; padding:24px 26px 24px 64px; border-left:2px solid var(--blue); background:rgba(255,255,255,.04); border-radius:0 18px 18px 0; }
.method-quote > span { position:absolute; left:23px; top:15px; color:var(--pink); font-size:58px; font-weight:900; line-height:1; }
.method-quote p { margin:0; color:#e9e2ee; font-size:15px; font-style:italic; line-height:1.65; }
.steps-list { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.steps-list li { display:grid; grid-template-columns:70px 1fr; gap:22px; padding:29px 0; border-bottom:1px solid var(--line); transition:padding-left .25s var(--ease); }
.steps-list li:hover { padding-left:10px; }
.steps-list li > span { color:var(--blue); font-size:12px; font-weight:900; letter-spacing:.12em; padding-top:5px; }
.steps-list strong { display:block; font-size:23px; letter-spacing:-.035em; }
.steps-list p { margin:7px 0 0; color:#aaa2b3; line-height:1.65; font-size:14px; }

.vocal-pro { background: #f4f1f7; color:var(--ink); overflow:hidden; }
.vocal-pro::before { content:"VOCAL"; position:absolute; top:30px; right:-26px; color:rgba(20,10,29,.03); font-family:Impact, sans-serif; font-size:220px; letter-spacing:-.04em; line-height:1; }
.vocal-pro-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(56px,8vw,110px); align-items:center; }
.promo-visual { position:relative; width:min(100%,500px); margin-inline:auto; }
.promo-visual__glow { position:absolute; inset:12% -8% 10%; border-radius:50%; background:linear-gradient(135deg,rgba(255,10,166,.32),rgba(0,217,255,.24)); filter:blur(70px); }
.promo-frame { position:relative; z-index:1; margin:0; width:100%; aspect-ratio:1023 / 1537; overflow:hidden; border-radius:32px; border:1px solid rgba(255,255,255,.54); background:#0b0616; box-shadow:0 36px 80px rgba(27,11,38,.25); transform:none; }
.promo-frame picture { display:block; width:100%; height:100%; }
.promo-frame img { width:100%; height:100%; object-fit:contain; object-position:center; }
.promo-sticker { position:absolute; z-index:2; right:-24px; top:28px; padding:12px 16px; border-radius:999px; background:var(--blue); color:#061018; font-size:11px; font-weight:950; letter-spacing:.11em; transform:rotate(7deg); box-shadow:0 10px 35px rgba(0,217,255,.28); }
.promo-copy h2 { font-size:clamp(45px,5.2vw,72px); }
.promo-lead { margin:28px 0 0; max-width:640px; color:var(--muted-dark); font-size:17px; line-height:1.75; }
.karaoke-card { display:grid; grid-template-columns:70px 1fr; gap:20px; align-items:center; margin:34px 0; padding:24px; border:1px solid rgba(34,16,43,.10); border-radius:22px; background:white; box-shadow:0 16px 50px rgba(38,18,48,.08); }
.karaoke-card__icon { width:62px; height:62px; display:grid; place-items:center; border-radius:18px; background:linear-gradient(145deg,var(--pink),#832aff); color:white; font-family:Impact,sans-serif; font-size:30px; box-shadow:0 10px 28px rgba(255,10,166,.22); }
.karaoke-card span { color:#9c8fa3; font-size:10px; font-weight:900; letter-spacing:.16em; }
.karaoke-card h3 { margin:4px 0 6px; font-size:22px; }
.karaoke-card p { margin:0; color:var(--muted-dark); font-size:14px; line-height:1.6; }
.promo-features { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:34px; }
.promo-features div { padding:16px 14px; border-top:1px solid var(--line-dark); }
.promo-features strong { display:block; color:#c60080; font-size:11px; }
.promo-features span { display:block; margin-top:6px; font-size:13px; font-weight:750; }

.modes { background: white; color:var(--ink); }
.modes-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.mode-card { min-height:470px; display:flex; flex-direction:column; padding:30px; border:1px solid rgba(31,17,38,.11); border-radius:28px; background:#faf9fc; transition:transform .3s var(--ease), box-shadow .3s; }
.mode-card:hover { transform:translateY(-7px); box-shadow:0 24px 60px rgba(38,18,48,.10); }
.mode-card--featured { color:white; background:linear-gradient(145deg,#3c0f50,#0d0a19 72%); border-color:transparent; box-shadow:0 24px 65px rgba(49,13,66,.18); }
.mode-card__head { display:flex; justify-content:space-between; align-items:center; }
.mode-card__head > span { width:40px; height:40px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; opacity:.72; font-size:11px; font-weight:900; }
.mode-card__head small { color:#9c92a3; font-size:9px; font-weight:900; letter-spacing:.13em; }
.mode-card--featured .mode-card__head small { color:var(--blue); }
.mode-card h3 { margin:50px 0 15px; font-size:31px; line-height:1; letter-spacing:-.045em; }
.mode-card > p { margin:0; color:var(--muted-dark); line-height:1.7; font-size:14px; }
.mode-card--featured > p { color:#c8c0cf; }
.mode-card ul { list-style:none; padding:0; margin:26px 0 28px; display:grid; gap:10px; }
.mode-card li { position:relative; padding-left:18px; color:#5e5664; font-size:13px; }
.mode-card li::before { content:""; position:absolute; left:0; top:.55em; width:6px; height:6px; border-radius:50%; background:var(--pink); }
.mode-card--featured li { color:#dbd4df; }
.mode-card--featured li::before { background:var(--blue); }
.mode-card > a { margin-top:auto; display:flex; justify-content:space-between; align-items:center; padding-top:17px; border-top:1px solid currentColor; font-size:13px; font-weight:850; }
.mode-card--featured > a { color:var(--blue); border-top-color:rgba(255,255,255,.14); }

.about { color:white; background:linear-gradient(165deg,#090613,#120920); overflow:hidden; }
.about::before { content:""; position:absolute; width:480px; height:480px; left:-170px; bottom:-180px; border-radius:50%; border:1px solid rgba(255,255,255,.06); box-shadow:0 0 0 45px rgba(255,255,255,.02),0 0 0 90px rgba(255,255,255,.015); }
.about-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(60px,9vw,130px); align-items:center; }
.about-brand { position:relative; width:min(100%,480px); aspect-ratio:1; display:grid; place-items:center; }
.about-brand::before { content:""; position:absolute; inset:6%; border-radius:50%; background:radial-gradient(circle,rgba(255,10,166,.24),rgba(0,217,255,.08) 50%,transparent 72%); filter:blur(25px); }
.about-brand__rings { position:absolute; inset:0; border:1px solid rgba(0,217,255,.18); border-radius:50%; animation:slowspin 28s linear infinite; }
.about-brand__rings::before { content:""; position:absolute; inset:10%; border:1px dashed rgba(255,10,166,.22); border-radius:50%; }
.about-brand img { position:relative; width:78%; aspect-ratio:1 / 1; height:auto; object-fit:contain; border-radius:50%; box-shadow:0 34px 70px rgba(0,0,0,.4); }
.about-brand__caption { position:absolute; z-index:2; right:-12px; bottom:15%; display:grid; padding:14px 18px; border:1px solid var(--line); border-radius:16px; background:rgba(10,7,18,.78); backdrop-filter:blur(16px); box-shadow:var(--shadow); }
.about-brand__caption span { color:var(--blue); font-size:9px; font-weight:900; letter-spacing:.18em; }
.about-brand__caption strong { margin-top:3px; font-size:18px; }
.about-copy h2 { color:white; }
.about-lead { margin:28px 0 0; color:#eee7f2; font-size:21px; line-height:1.55; font-weight:650; letter-spacing:-.02em; }
.about-copy > p:not(.about-lead) { max-width:650px; margin:22px 0 0; color:var(--muted); line-height:1.75; }
.about-chips { display:flex; flex-wrap:wrap; gap:9px; margin:30px 0; }
.about-chips span { padding:9px 12px; border:1px solid var(--line); border-radius:999px; color:#d8d1de; background:rgba(255,255,255,.035); font-size:12px; font-weight:700; }
.instagram-callout { display:grid; grid-template-columns:54px 1fr auto; gap:16px; align-items:center; max-width:670px; padding:20px; border:1px solid rgba(255,255,255,.12); border-radius:22px; background:linear-gradient(120deg,rgba(255,10,166,.08),rgba(0,217,255,.05)); }
.instagram-mark { width:50px; height:50px; display:grid; place-items:center; border-radius:16px; background:linear-gradient(135deg,#ff7a00,#ff0aa6 48%,#6c36ff); font-size:27px; font-weight:900; }
.instagram-callout small { color:var(--blue); font-size:9px; font-weight:900; letter-spacing:.16em; }
.instagram-callout strong { display:block; margin-top:4px; font-size:15px; }
.instagram-callout p { margin:3px 0 0; color:#9f97a8; font-size:12px; }
.instagram-callout > a { width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--blue); font-size:18px; }

.instagram-section { background:#0c0816; }
.instagram-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:48px; }
.instagram-head h2 { max-width:760px; color:white; font-size:clamp(42px,5vw,68px); }
.instagram-head h2 span { color:var(--pink-2); }
.social-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.social-card { position:relative; min-height:370px; display:flex; flex-direction:column; padding:28px; overflow:hidden; border:1px solid var(--line); border-radius:26px; background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); transition:transform .3s var(--ease), border-color .3s, background .3s; }
.social-card::after { content:""; position:absolute; width:190px; height:190px; border-radius:50%; right:-90px; bottom:-90px; background:radial-gradient(circle,rgba(0,217,255,.16),transparent 70%); }
.social-card:nth-child(2)::after { background:radial-gradient(circle,rgba(255,10,166,.19),transparent 70%); }
.social-card:hover { transform:translateY(-6px); border-color:rgba(0,217,255,.34); background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025)); }
.social-card__index { color:#82788c; font-size:10px; font-weight:900; }
.social-card__icon { margin:36px 0 30px; width:56px; height:56px; display:grid; place-items:center; border-radius:18px; background:linear-gradient(135deg,var(--pink),#6e32ff); font-size:24px; font-weight:900; box-shadow:0 14px 36px rgba(255,10,166,.18); }
.social-card small { color:var(--blue); font-size:9px; font-weight:900; letter-spacing:.16em; }
.social-card h3 { margin:8px 0 10px; font-size:26px; letter-spacing:-.04em; }
.social-card p { margin:0; color:#a9a1b2; font-size:14px; line-height:1.65; }
.social-card__link { margin-top:auto; padding-top:22px; color:#f2ebf5; font-size:12px; font-weight:850; }

.faq { background:var(--paper); color:var(--ink); }
.faq-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(50px,8vw,110px); align-items:start; }
.faq-intro { position:sticky; top:128px; }
.faq-intro h2 { font-size:clamp(40px,4.7vw,64px); }
.faq-intro p { margin:24px 0 28px; color:var(--muted-dark); line-height:1.75; }
.faq-intro .text-link { color:#bd0079; }
.accordion { border-top:1px solid var(--line-dark); }
.accordion details { border-bottom:1px solid var(--line-dark); }
.accordion summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:25px 0; font-size:18px; font-weight:780; letter-spacing:-.02em; }
.accordion summary::-webkit-details-marker { display:none; }
.accordion summary span { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border:1px solid var(--line-dark); border-radius:50%; transition:transform .25s,background .25s; }
.accordion details[open] summary span { transform:rotate(45deg); background:#1a1022; color:white; }
.accordion details p { max-width:660px; margin:-4px 0 26px; color:var(--muted-dark); line-height:1.72; font-size:14px; }

.final-cta { position:relative; overflow:hidden; padding:120px 0; background:linear-gradient(145deg,#24102e,#080712 67%); }
.final-cta::before { content:""; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px); background-size:62px 62px; }
.final-cta__glow { position:absolute; width:520px; aspect-ratio:1; left:15%; top:5%; border-radius:50%; background:radial-gradient(circle,rgba(255,10,166,.17),transparent 65%); filter:blur(35px); }
.final-cta-grid { position:relative; display:grid; grid-template-columns:1fr .75fr; gap:80px; align-items:center; }
.final-cta h2 { color:white; font-size:clamp(48px,5.8vw,80px); }
.final-cta h2 span { background:linear-gradient(95deg,var(--pink-2),var(--blue)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.final-cta-copy > p { max-width:620px; margin:26px 0 0; color:var(--muted); font-size:17px; line-height:1.75; }
.contact-card { padding:30px; border:1px solid rgba(255,255,255,.14); border-radius:28px; background:rgba(255,255,255,.055); box-shadow:var(--shadow); backdrop-filter:blur(15px); }
.contact-card__head { display:flex; justify-content:space-between; align-items:center; margin-bottom:23px; }
.contact-card__head span { color:var(--blue); font-size:10px; font-weight:900; letter-spacing:.16em; }
.contact-card__head small { color:#9e95a7; font-size:11px; }
.contact-card label { display:grid; gap:8px; margin-bottom:14px; color:#d8d1de; font-size:12px; font-weight:750; }
.contact-card input,.contact-card select { width:100%; height:52px; padding:0 14px; border:1px solid rgba(255,255,255,.13); border-radius:14px; outline:0; color:white; background:#0d0916; transition:border-color .2s,box-shadow .2s; }
.contact-card input::placeholder { color:#726a7a; }
.contact-card input:focus,.contact-card select:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(0,217,255,.08); }
.contact-card select { appearance:auto; }
.form-note { display:block; margin-top:13px; color:#8e8597; font-size:10px; line-height:1.5; }

.site-footer { background:#07050d; border-top:1px solid rgba(255,255,255,.08); }
.footer-top { min-height:180px; display:grid; grid-template-columns:1.15fr 1fr auto; gap:40px; align-items:center; }
.footer-brand { display:flex; align-items:center; gap:15px; }
.footer-brand img { width:64px; height:64px; border-radius:50%; }
.footer-brand strong,.footer-brand small { display:block; }
.footer-brand strong { font-size:13px; letter-spacing:.05em; }
.footer-brand small { margin-top:5px; color:#9d95a4; font-size:12px; }
.footer-nav { display:flex; flex-wrap:wrap; gap:17px 24px; color:#aaa2b1; font-size:12px; font-weight:700; }
.footer-nav a:hover,.footer-social a:hover { color:var(--blue); }
.footer-social { display:grid; gap:8px; text-align:right; color:#d8d1df; font-size:12px; font-weight:750; }
.footer-bottom { min-height:62px; display:flex; justify-content:space-between; align-items:center; gap:24px; border-top:1px solid rgba(255,255,255,.06); color:#706978; font-size:11px; }

.music-control { position:fixed; z-index:80; left:18px; bottom:20px; display:flex; align-items:center; gap:11px; min-width:118px; height:52px; padding:0 15px; border:1px solid rgba(255,255,255,.13); border-radius:999px; color:white; background:rgba(11,7,18,.82); box-shadow:0 12px 38px rgba(0,0,0,.30); backdrop-filter:blur(16px); cursor:pointer; transition:border-color .2s, transform .2s; }
.music-control:hover { transform:translateY(-2px); border-color:rgba(0,217,255,.36); }
.music-control__bars { display:flex; align-items:center; gap:2px; width:24px; height:25px; }
.music-control__bars i { width:3px; height:5px; border-radius:5px; background:linear-gradient(var(--blue),var(--pink)); }
.music-control.is-playing .music-control__bars i { animation:bar .85s ease-in-out infinite; }
.music-control.is-playing .music-control__bars i:nth-child(1){height:10px}.music-control.is-playing .music-control__bars i:nth-child(2){height:20px;animation-delay:.15s}.music-control.is-playing .music-control__bars i:nth-child(3){height:14px;animation-delay:.3s}.music-control.is-playing .music-control__bars i:nth-child(4){height:23px;animation-delay:.45s}
.music-control__copy { display:grid; text-align:left; line-height:1; }
.music-control__copy strong { font-size:11px; }
.music-control__copy small { margin-top:4px; color:#8f8798; font-size:9px; }
.whatsapp-float { position:fixed; z-index:80; right:18px; bottom:20px; display:flex; align-items:center; gap:9px; height:52px; padding:0 18px; border-radius:999px; background:#25d366; color:#041409; box-shadow:0 14px 40px rgba(37,211,102,.26); font-size:12px; font-weight:900; transition:transform .2s,box-shadow .2s; }
.whatsapp-float:hover { transform:translateY(-3px); box-shadow:0 18px 46px rgba(37,211,102,.34); }
.whatsapp-float svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

.reveal { opacity:1; transform:none; }
.js .reveal { opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.js .reveal.in-view { opacity:1; transform:none; }

@keyframes slowspin { to { transform:rotate(360deg); } }
@keyframes floaty { 0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)} }
@keyframes bar { 0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)} }
@keyframes wavebar { 0%,100%{transform:scaleY(.25);opacity:.45}50%{transform:scaleY(1);opacity:1} }
@keyframes ticker { to { transform:translateX(-50%); } }

@media (max-width: 1100px) {
  :root { --container:min(calc(100% - 34px), 1000px); }
  .main-nav { gap:17px; }
  .hero-grid { grid-template-columns:1.04fr .86fr; gap:45px; }
  .float-card--top { right:-2%; }
  .float-card--bottom { left:-2%; }
  .program-layout { grid-template-columns:1fr; }
  .program-intro { min-height:330px; }
  .program-intro h3 { margin-top:52px; }
  .pillar-grid { grid-template-columns:repeat(3,1fr); }
  .method-grid,.vocal-pro-grid,.about-grid,.final-cta-grid { gap:55px; }
}

@media (max-width: 920px) {
  .header-inner { min-height:76px; }
  .brand img { width:48px;height:48px; }
  .brand__text strong { font-size:10px; }
  .brand__text span { font-size:15px; }
  .menu-toggle { display:flex; }
  .main-nav { position:fixed; inset:76px 0 0; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:28px var(--container); background:rgba(8,6,18,.97); backdrop-filter:blur(20px); transform:translateX(100%); opacity:0; pointer-events:none; transition:transform .35s var(--ease),opacity .35s; }
  .main-nav.open { transform:none; opacity:1; pointer-events:auto; }
  .main-nav > a { padding:18px 0!important; border-bottom:1px solid var(--line); font-size:17px; }
  .main-nav > a::after { display:none; }
  .main-nav .nav-cta { margin-top:20px; text-align:center; border-bottom:0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero { min-height:auto; padding:132px 0 104px; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-copy { max-width:780px; }
  .hero h1 { font-size:clamp(68px,13vw,112px); }
  .hero-art { width:min(84vw,570px); margin-top:28px; }
  .audio-wave { bottom:14px; }
  .section { padding:95px 0; }
  .method-grid,.vocal-pro-grid,.about-grid,.faq-grid,.final-cta-grid { grid-template-columns:1fr; }
  .method-grid { gap:58px; }
  .promo-visual { width:min(78vw,500px); }
  .promo-copy { max-width:720px; }
  .modes-grid { grid-template-columns:1fr; }
  .mode-card { min-height:auto; }
  .about-brand { width:min(75vw,470px); margin-inline:auto; }
  .instagram-head { align-items:flex-start; flex-direction:column; }
  .social-grid { grid-template-columns:1fr; }
  .social-card { min-height:300px; }
  .faq-intro { position:static; }
  .footer-top { grid-template-columns:1fr 1fr; padding:38px 0; }
  .footer-social { text-align:left; }
}

@media (max-width: 680px) {
  :root { --container:calc(100% - 30px); --radius-xl:26px; --radius-lg:22px; }
  .brand__text { display:none; }
  .site-header.scrolled .brand__text { display:grid; }
  .hero { padding-top:116px; }
  .welcome { align-items:flex-start; font-size:11px; line-height:1.5; }
  .live-dot { margin-top:4px; flex:0 0 auto; }
  .hero-overline { font-size:10px; letter-spacing:.14em; }
  .hero h1 { font-size:clamp(56px,18vw,84px); line-height:.9; letter-spacing:-.045em; }
  .hero-role { font-size:21px; }
  .hero-tagline { font-size:20px; }
  .hero-lead { font-size:15px; line-height:1.7; }
  .hero-actions { flex-direction:column; }
  .hero-actions .button { width:100%; }
  .hero-points { display:grid; grid-template-columns:1fr; }
  .hero-art { width:min(90vw,560px); transform:none; }
  .float-card { min-width:150px; padding:10px 12px; }
  .float-card--top { top:12%; right:0; }
  .float-card--bottom { bottom:8%; left:0; }
  .ticker-track { min-height:54px; gap:22px; font-size:10px; }
  .section { padding:78px 0; }
  .section-heading { margin-bottom:44px; }
  .section-heading h2,.method h2,.promo-copy h2,.about-copy h2,.instagram-head h2,.faq-intro h2,.final-cta h2 { font-size:clamp(38px,11.5vw,56px); }
  .section-heading > p { font-size:15px; }
  .program-intro { padding:28px; }
  .program-intro h3 { margin-top:58px; font-size:35px; }
  .pillar-grid { grid-template-columns:1fr; }
  .pillar { min-height:220px; }
  .pillar h3 { margin-top:42px; }
  .method-quote { padding-left:55px; }
  .steps-list li { grid-template-columns:50px 1fr; }
  .promo-visual { width:min(88vw,480px); }
  .promo-sticker { right:-4px; top:14px; font-size:9px; }
  .karaoke-card { grid-template-columns:1fr; }
  .promo-features { grid-template-columns:1fr; }
  .promo-features div { display:flex; gap:14px; align-items:center; }
  .about-brand { width:86vw; }
  .about-brand__caption { right:0; }
  .about-lead { font-size:18px; }
  .instagram-callout { grid-template-columns:44px 1fr; }
  .instagram-mark { width:44px;height:44px; }
  .instagram-callout > a { display:none; }
  .social-card { min-height:320px; }
  .accordion summary { font-size:16px; }
  .final-cta { padding:84px 0 105px; }
  .contact-card { padding:22px; }
  .footer-top { grid-template-columns:1fr; gap:28px; }
  .footer-bottom { min-height:80px; flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; padding-bottom:78px; }
  .music-control { left:12px; bottom:12px; min-width:auto; width:52px; padding:0; justify-content:center; }
  .music-control__copy { display:none; }
  .whatsapp-float { right:12px; bottom:12px; width:52px; height:52px; padding:0; justify-content:center; }
  .whatsapp-float span { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; }
  .reveal { opacity:1; transform:none; }
}


/* ===== Producción: nitidez, proporciones y rendimiento ===== */
.section-heading h2, .promo-copy h2, .about-copy h2, .faq-intro h2, .final-cta h2 { text-wrap:balance; }
.hero-lead, .section-heading > p, .promo-lead, .about-copy p, .faq-intro p { text-wrap:pretty; }
.instagram-callout strong { overflow-wrap:anywhere; }
@media (max-width:680px) {
  .promo-frame { border-radius:24px; }
  .hero-logo-card { width:80%; }
}
