/* ═══ JQ Ent 공유 스타일 — Virtual Artist Entertainment ═══ */
:root{
  --bg:#08060d; --bg2:#0e0a17; --fg:#f2eef8; --dim:#9d93ad; --line:rgba(242,238,248,.09);
  --pink:#ff2d78; --violet:#8b5cf6; --grad:linear-gradient(100deg,#ff2d78 0%,#8b5cf6 100%);
  --radius:18px; --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:'Pretendard','Segoe UI','Apple SD Gothic Neo','Malgun Gothic',sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ── GNB ── */
.ehd{position:fixed;top:0;left:0;right:0;z-index:50;backdrop-filter:blur(12px);background:rgba(8,6,13,.75);border-bottom:1px solid var(--line)}
.ehd-in{display:flex;align-items:center;justify-content:space-between;height:64px}
.ehd-logo{font-weight:800;font-size:18px;letter-spacing:2.5px}
.ehd-logo i{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ehd-nav{display:flex;gap:26px;font-size:12.5px;letter-spacing:2px;color:var(--dim);align-items:center}
.ehd-nav a:hover{color:var(--fg)}
.ehd-nav a.on{color:var(--fg);border-bottom:2px solid var(--pink);padding-bottom:3px}
.ehd-nav .co{color:#6e6580;font-size:11.5px;border-left:1px solid var(--line);padding-left:22px}
.ehd-nav .co:hover{color:var(--pink)}

/* ── 페이지 헤드(서브) ── */
.phead{padding:150px 0 40px;position:relative;overflow:hidden}
.phead::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 60% at 80% -10%,rgba(139,92,246,.16),transparent 65%)}
.phead .k{font-size:11.5px;letter-spacing:5px;color:var(--pink);margin-bottom:14px;position:relative}
.phead h1{font-size:clamp(40px,6vw,72px);font-weight:800;letter-spacing:1px;line-height:1.05;position:relative}
.phead p{margin-top:16px;color:var(--dim);max-width:600px;font-size:15.5px;position:relative}

/* ── 카드·그리드 ── */
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:transform .3s ease,border-color .3s ease}
.card:hover{transform:translateY(-4px);border-color:rgba(255,45,120,.35)}
.card .ic{font-size:26px;margin-bottom:14px}
.card h3{font-size:18px;margin-bottom:8px;letter-spacing:.5px}
.card p{color:var(--dim);font-size:13.8px}
.tag{display:inline-block;font-size:10.5px;letter-spacing:2px;padding:4px 12px;border-radius:99px;border:1px solid rgba(255,45,120,.45);color:var(--pink);margin-bottom:14px}
.tag.v{border-color:rgba(139,92,246,.5);color:#b39dfb}
.tag.dim{border-color:var(--line);color:var(--dim)}

/* ── 아티스트 카드 ── */
.artist-card{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--bg2);display:block;transition:transform .35s ease,border-color .35s ease}
.artist-card:hover{transform:translateY(-6px);border-color:rgba(255,45,120,.4)}
.artist-card .ph{aspect-ratio:3/3.6;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(ellipse at 50% 20%,#1a1226,#0b0813)}
.artist-card .ph img{width:88%;object-fit:contain;object-position:bottom}
.artist-card .meta{padding:20px 24px;display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--line)}
.artist-card .meta b{font-size:20px;letter-spacing:1px}
.artist-card .meta span{font-size:11px;letter-spacing:2px;color:var(--dim)}
.artist-card.soon .ph{align-items:center}
.artist-card.soon .qm{font-size:90px;font-weight:800;color:rgba(242,238,248,.10);letter-spacing:0}
.artist-card.soon .meta b{color:var(--dim)}
.soon-badge{position:absolute;top:16px;left:16px;font-size:10px;letter-spacing:2.5px;padding:6px 12px;border-radius:99px;background:rgba(139,92,246,.18);border:1px solid rgba(139,92,246,.5);color:#c9b8ff}
.live-badge{position:absolute;top:16px;left:16px;font-size:10px;letter-spacing:2.5px;padding:6px 12px;border-radius:99px;background:rgba(255,45,120,.16);border:1px solid rgba(255,45,120,.55);color:var(--pink)}
.live-badge::before{content:"●";margin-right:6px;animation:blink 1.6s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}

/* ── 섹션 ── */
.sec{padding:64px 0}
.sec-t{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px}
.sec-t h2{font-size:26px;letter-spacing:1px}
.sec-t a{font-size:12px;letter-spacing:2px;color:var(--dim)}
.sec-t a:hover{color:var(--pink)}

/* ── 타임라인 ── */
.tl{border-left:2px solid rgba(139,92,246,.35);margin-left:8px;padding-left:28px;display:grid;gap:26px}
.tl .it{position:relative}
.tl .it::before{content:"";position:absolute;left:-35px;top:7px;width:11px;height:11px;border-radius:50%;background:var(--violet);box-shadow:0 0 12px rgba(139,92,246,.7)}
.tl .it.now::before{background:var(--pink);box-shadow:0 0 12px rgba(255,45,120,.8)}
.tl .d{font-size:11.5px;letter-spacing:2px;color:var(--dim)}
.tl b{display:block;font-size:16px;margin:3px 0 4px}
.tl p{color:var(--dim);font-size:13.5px}

/* ── 푸터 ── */
.eft{border-top:1px solid var(--line);padding:44px 0 60px;text-align:center;color:#6e6580;font-size:12px;letter-spacing:1.5px}
.eft .lg{font-weight:800;font-size:15px;letter-spacing:3px;color:var(--dim);margin-bottom:12px}
.eft a:hover{color:var(--pink)}

@media (max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  .g2,.g3,.g4{grid-template-columns:1fr}
  .ehd-nav{gap:14px;font-size:11px}.ehd-nav .co{display:none}
  .phead{padding:120px 0 30px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
