@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Montserrat:wght@300;400;500;600;700&family=Noto+Sans+KR:wght@300;400;500&family=Noto+Serif+KR:wght@300;400;600&display=swap');

:root {
  --bg:          #FFFFFF;
  --bg-2:        #F8F8F8;
  --bg-3:        #F2F2F2;
  --text:        #0D0D0D;
  --text-muted:  #666666;
  --text-dim:    #AAAAAA;
  --purple:      #7C3AED;
  --purple-mid:  #7C3AED;
  --purple-light:#7C3AED;
  --border:      #E8E8E8;
  --border-mid:  #D8D8D8;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; max-width: 100%; }
body { overflow-x: clip; max-width: 100%; width: 100%; }

body {
  background: var(--bg);
  color: var(--text);
  font-family: 'Noto Sans KR', sans-serif;
  font-weight: 300;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }

/* ── NAVIGATION ── */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 999;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 64px; height: 72px; overflow: hidden;
  background: rgba(255,255,255,0.94);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
}
.nav__logo {
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: 15px; letter-spacing: 6px; text-transform: uppercase;
  color: var(--text);
}
.nav__logo em { color: var(--purple-light); font-style: normal; }

.nav__list { display: flex; align-items: center; list-style: none; gap: 44px; }
.nav__list a {
  font-family: 'Montserrat', sans-serif; font-size: 10.5px; font-weight: 500;
  letter-spacing: 3px; text-transform: uppercase;
  color: var(--text-muted); transition: color 0.25s; position: relative;
}
.nav__list a:hover { color: var(--text); }
.nav__list a.active { color: var(--text); }
.nav__list a.active::after {
  content: ''; position: absolute; bottom: -8px; left: 0;
  width: 100%; height: 1px; background: var(--purple-light);
}
.nav__with a {
  background: var(--purple); color: #fff !important;
  padding: 9px 24px; border: 1px solid var(--purple);
  transition: background 0.25s, color 0.25s !important;
}
.nav__with a:hover {
  background: transparent !important;
  border-color: var(--purple) !important;
  color: var(--purple) !important;
}
.nav__with a::after { display: none !important; }

/* ── FOOTER ── */
footer {
  border-top: 1px solid var(--border);
  padding: 60px 64px; margin-top: 120px;
  display: flex; justify-content: space-between; align-items: flex-start;
}
.footer__logo {
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: 13px; letter-spacing: 5px; margin-bottom: 16px;
}
.footer__logo em { color: var(--purple-light); font-style: normal; }
.footer__copy { font-size: 12px; color: var(--text-muted); line-height: 2.2; }
.footer__links { display: flex; gap: 32px; margin-bottom: 14px; }
.footer__links a {
  font-family: 'Montserrat', sans-serif; font-size: 10.5px;
  letter-spacing: 2px; text-transform: uppercase;
  color: var(--text-muted); transition: color 0.25s;
}
.footer__links a:hover { color: var(--text); }
.footer__right { text-align: right; }
.footer__right p { font-size: 11px; color: var(--text-dim); margin-top: 8px; }

/* ── BUTTONS ── */
.btn {
  display: inline-block; font-family: 'Montserrat', sans-serif;
  font-size: 10.5px; font-weight: 500; letter-spacing: 3px; text-transform: uppercase;
  padding: 13px 36px; border: 1px solid rgba(13,13,13,0.28);
  color: var(--text); transition: all 0.25s; cursor: pointer; background: transparent;
}
.btn:hover { background: var(--text); color: var(--bg); border-color: var(--text); }
.btn--purple { border-color: var(--purple-light); color: var(--purple-light); }
.btn--purple:hover { background: var(--purple-light); color: var(--bg); border-color: var(--purple-light); }

/* ── PAGE HERO ── */
.page-hero { padding: 160px 64px 130px; background: linear-gradient(to bottom, #0a0018 55%, var(--bg) 100%); }
.page-hero__sub {
  font-family: 'Montserrat', sans-serif; font-size: 11px;
  letter-spacing: 6px; color: var(--purple-light); text-transform: uppercase;
  margin-bottom: 24px; display: block;
}
.page-hero__title {
  font-family: 'Cormorant Garamond', serif; font-weight: 300; font-style: italic;
  font-size: clamp(80px, 10vw, 130px); letter-spacing: -3px; line-height: 1; color: #fff;
}
.page-hero__desc {
  margin-top: 28px; max-width: 520px;
  font-size: 13px; color: rgba(255,255,255,0.48); line-height: 2.1;
}

/* ── SECTION LABELS & TITLES ── */
.section-label {
  font-family: 'Montserrat', sans-serif; font-size: 10px;
  letter-spacing: 6px; text-transform: uppercase; color: var(--purple-light);
  margin-bottom: 18px; display: block;
  padding-left: 14px; border-left: 2px solid var(--purple-light);
}
.section-title {
  font-family: 'Noto Serif KR', serif; font-weight: 300;
  font-size: clamp(42px, 4.5vw, 64px); line-height: 1.15; color: var(--text);
}
.divider { width: 36px; height: 1px; background: var(--purple-light); margin-bottom: 40px; }

/* ────────────────────────────────
   INDEX – HERO SLIDESHOW
──────────────────────────────── */
.hero { position: relative; height: 100vh; overflow: hidden; background: var(--bg); }
.slide {
  position: absolute; inset: 0; opacity: 0;
  transition: opacity 1.2s ease; display: flex; align-items: flex-end;
}
.slide.active { opacity: 1; }
.slide__bg { position: absolute; inset: 0; z-index: 0; }
.slide__overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to top, rgba(8,8,8,0.92) 0%, rgba(8,8,8,0.25) 55%, transparent 100%);
}
.slide__content { position: relative; z-index: 2; padding: 0 64px 96px; }
.slide__label {
  font-family: 'Montserrat', sans-serif; font-size: 10px;
  letter-spacing: 5px; color: var(--purple-light); text-transform: uppercase;
  display: block; margin-bottom: 16px;
}
.slide__name {
  font-family: 'Noto Serif KR', serif; font-weight: 300;
  font-size: 88px; line-height: 1; letter-spacing: -2px; margin-bottom: 10px;
  color: var(--text);
}
.slide__role {
  font-family: 'Montserrat', sans-serif; font-size: 10.5px;
  letter-spacing: 4px; text-transform: uppercase;
  color: rgba(240,238,236,0.5); margin-bottom: 40px;
}

.slide-arrows { position: absolute; bottom: 40px; left: 64px; z-index: 10; display: flex; gap: 8px; }
.slide-arr {
  width: 48px; height: 48px; border: 1px solid rgba(240,238,236,0.2);
  background: transparent; color: var(--text); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: border-color 0.25s; font-size: 18px;
}
.slide-arr:hover { border-color: rgba(240,238,236,0.6); }

.slide-dots { position: absolute; bottom: 56px; right: 64px; z-index: 10; display: flex; gap: 10px; }
.slide-dot {
  width: 6px; height: 6px; border-radius: 3px;
  background: rgba(240,238,236,0.25); cursor: pointer;
  transition: all 0.4s; border: none; padding: 0;
}
.slide-dot.active { background: var(--purple-light); width: 24px; }

/* ── INDEX INTRO ── */
.intro { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--border); }
.intro__left {
  padding: 100px 64px; border-right: 1px solid var(--border);
  display: flex; flex-direction: column; justify-content: center;
}
.intro__right { padding: 100px 64px; }
.intro__quote {
  font-family: 'Noto Serif KR', serif; font-weight: 300;
  font-size: 28px; line-height: 1.85; color: var(--text);
}
.intro__body { font-size: 14px; color: var(--text-muted); line-height: 2.1; margin-top: 32px; }
.intro__cta { margin-top: 40px; }

/* ── INDEX FEATURED ARTISTS ── */
.featured { padding: 100px 64px; border-bottom: 1px solid var(--border); }
.featured__header {
  display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 56px;
}
.featured__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px; }
.featured__card { position: relative; overflow: hidden; aspect-ratio: 2/3; cursor: pointer; display: block; }
.featured__card-bg { width: 100%; height: 100%; background-size: cover; background-position: center top; transition: transform 0.7s cubic-bezier(0.4,0,0.2,1); }
.featured__card:hover .featured__card-bg { transform: scale(1.05); }
.featured__card-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(8,8,8,0.85) 0%, transparent 55%);
  transition: background 0.35s;
}
.featured__card:hover .featured__card-overlay {
  background: linear-gradient(to top, rgba(8,8,8,0.93) 0%, rgba(8,8,8,0.2) 100%);
}
.featured__card-info { position: absolute; bottom: 0; left: 0; right: 0; padding: 24px 20px; }
.featured__card-info span {
  font-family: 'Montserrat', sans-serif; font-size: 9px;
  letter-spacing: 3px; color: rgba(255,255,255,0.85); text-transform: uppercase; text-shadow: 0 1px 6px rgba(0,0,0,0.5);
  display: block; margin-bottom: 6px;
}
.featured__card-info h3 {
  font-family: 'Noto Serif KR', serif; font-weight: 300;
  font-size: 22px; color: #fff;
}
.featured__card-link {
  display: block; font-family: 'Montserrat', sans-serif; font-size: 9px;
  letter-spacing: 2px; text-transform: uppercase; color: rgba(240,238,236,0.45);
  margin-top: 8px; opacity: 0; transform: translateY(4px);
  transition: opacity 0.35s, transform 0.35s;
}
.featured__card:hover .featured__card-link { opacity: 1; transform: translateY(0); }

/* ── INDEX LATEST NEWS ── */
.news-brief { padding: 100px 64px; }
.news-brief__header {
  display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 48px;
}
.news-brief__list { display: flex; flex-direction: column; }
.news-brief-item {
  display: flex; gap: 48px; align-items: baseline;
  padding: 22px 0; border-bottom: 1px solid var(--border);
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1); cursor: pointer;
  color: inherit; text-decoration: none;
}
.news-brief-item:hover { transform: translateX(12px); }
.news-brief-item__date {
  font-family: 'Montserrat', sans-serif; font-size: 11px;
  letter-spacing: 1px; color: var(--text-muted); min-width: 110px;
}
.news-brief-item__cat {
  font-family: 'Montserrat', sans-serif; font-size: 9px;
  letter-spacing: 3px; text-transform: uppercase; color: var(--purple-light); min-width: 80px;
}
.news-brief-item__title { font-size: 15px; color: var(--text); }

/* ── COMPANY PAGE ── */
.company-split { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--border); }
.company-split__left { padding: 100px 64px; border-right: 1px solid var(--border); }
.company-split__right { padding: 100px 64px; }
.company-split__right .large-text {
  font-family: 'Noto Serif KR', serif; font-weight: 300;
  font-size: 24px; line-height: 1.95; color: var(--text);
}
.company-split__right .body-text {
  font-size: 14px; color: var(--text-muted); line-height: 2.1; margin-top: 28px;
}
.company-values { padding: 100px 64px; border-bottom: 1px solid var(--border); }
.company-values__grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1px; margin-top: 60px; background: var(--border-mid);
}
.value-card { padding: 52px 40px; background: var(--bg-2); }
.value-card__num {
  font-family: 'Cormorant Garamond', serif; font-size: 60px; font-weight: 300;
  color: var(--purple-light); opacity: 0.3; line-height: 1; margin-bottom: 28px;
}
.value-card__title {
  font-family: 'Montserrat', sans-serif; font-size: 11px;
  letter-spacing: 3px; text-transform: uppercase; margin-bottom: 20px; color: var(--text);
}
.value-card__desc { font-size: 13px; color: var(--text-muted); line-height: 2; }

.company-info { padding: 100px 64px; }
.company-info__grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  border: 1px solid var(--border); margin-top: 60px;
}
.info-row { display: flex; border-bottom: 1px solid var(--border); }
.info-row:last-child { border-bottom: none; }
.info-row__key {
  font-family: 'Montserrat', sans-serif; font-size: 9.5px;
  letter-spacing: 2px; text-transform: uppercase; color: var(--text-muted);
  padding: 22px 28px; border-right: 1px solid var(--border);
  min-width: 140px; display: flex; align-items: center;
}
.info-row__val { padding: 22px 28px; font-size: 13px; color: var(--text); }

/* ── ARTIST GRID ── */
.artist-grid-wrap { padding: 80px 64px 0; }
.artist-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px; }
.artist-card { position: relative; overflow: hidden; aspect-ratio: 3/4; cursor: pointer; display: block; }
.artist-card__bg { width: 100%; height: 100%; background-size: cover; background-position: center top; transition: transform 0.7s cubic-bezier(0.4,0,0.2,1); }
.artist-card:hover .artist-card__bg { transform: scale(1.04); }
.artist-card__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(8,8,8,0.85) 0%, transparent 55%);
  transition: background 0.35s;
}
.artist-card:hover .artist-card__overlay {
  background: linear-gradient(to top, rgba(8,8,8,0.93) 0%, rgba(8,8,8,0.25) 100%);
}
.artist-card__info {
  position: absolute; bottom: 0; left: 0; right: 0; padding: 28px 24px;
  transform: translateY(8px); transition: transform 0.35s;
}
.artist-card:hover .artist-card__info { transform: translateY(0); }
.artist-card__info span {
  font-family: 'Montserrat', sans-serif; font-size: 9px;
  letter-spacing: 3px; color: rgba(255,255,255,0.85); text-transform: uppercase; text-shadow: 0 1px 6px rgba(0,0,0,0.5);
  display: block; margin-bottom: 8px;
}
.artist-card__info h3 {
  font-family: 'Noto Serif KR', serif; font-weight: 300;
  font-size: 26px; color: #fff;
}
.artist-card__view {
  display: block; font-family: 'Montserrat', sans-serif; font-size: 9px;
  letter-spacing: 2px; text-transform: uppercase; color: rgba(240,238,236,0.5);
  margin-top: 10px; opacity: 0; transition: opacity 0.35s;
}
.artist-card:hover .artist-card__view { opacity: 1; }

/* ── ARTIST DETAIL ── */
.artist-hero {
  height: 100vh; position: relative;
  display: flex; align-items: flex-end; overflow: hidden; background: var(--bg);
}
.artist-hero__bg { position: absolute; inset: 0; z-index: 0; }
.artist-hero__overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to top, rgba(8,8,8,0.94) 0%, rgba(8,8,8,0.18) 60%, transparent 100%);
}
.artist-hero__content { position: relative; z-index: 2; padding: 0 64px 80px; }
.artist-hero__label {
  font-family: 'Montserrat', sans-serif; font-size: 10px;
  letter-spacing: 5px; color: var(--purple-light); text-transform: uppercase;
  display: block; margin-bottom: 16px;
}
.artist-hero__name {
  font-family: 'Noto Serif KR', serif; font-weight: 300;
  font-size: 96px; line-height: 1; letter-spacing: -2px; margin-bottom: 10px;
  color: #fff;
}
.artist-hero__en {
  font-family: 'Cormorant Garamond', serif; font-weight: 300; font-style: italic;
  font-size: 24px; color: rgba(240,238,236,0.4);
}
.artist-hero__back {
  position: absolute; top: 96px; left: 64px; z-index: 10;
  font-family: 'Montserrat', sans-serif; font-size: 10px;
  letter-spacing: 3px; text-transform: uppercase;
  color: rgba(240,238,236,0.5); transition: color 0.25s;
}
.artist-hero__back:hover { color: var(--text); }

.artist-profile { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--border); }
.artist-profile__photo { overflow: hidden; border-right: 1px solid var(--border); }
.artist-profile__photo-img { width: 100%; height: 100%; min-height: 600px; }
.artist-profile__info { padding: 80px 64px; }

.profile-name {
  font-family: 'Noto Serif KR', serif; font-weight: 300;
  font-size: 52px; letter-spacing: 0; margin: 8px 0; color: var(--text);
}
.profile-en {
  font-family: 'Cormorant Garamond', serif; font-style: italic;
  font-size: 20px; color: var(--text-muted); margin-bottom: 48px;
}
.profile-table { width: 100%; border-collapse: collapse; }
.profile-table tr { border-bottom: 1px solid var(--border); }
.profile-table td { padding: 16px 0; font-size: 13.5px; vertical-align: middle; color: var(--text); }
.profile-table td:first-child {
  font-family: 'Montserrat', sans-serif; font-size: 9.5px;
  letter-spacing: 2px; text-transform: uppercase; color: var(--text-muted); width: 110px;
}

.artist-career { padding: 80px 64px; }
.career-tabs { display: flex; border-bottom: 1px solid var(--border); }
.career-tab {
  font-family: 'Montserrat', sans-serif; font-size: 10.5px;
  letter-spacing: 3px; text-transform: uppercase; padding: 14px 32px;
  color: var(--text-muted); cursor: pointer; border: none; background: transparent;
  transition: color 0.25s; position: relative;
}
.career-tab:hover { color: var(--text); }
.career-tab.active { color: var(--text); }
.career-tab.active::after {
  content: ''; position: absolute; bottom: -1px; left: 0;
  width: 100%; height: 2px; background: var(--purple-light);
}
.career-panel { display: none; padding-top: 48px; }
.career-panel.active { display: block; }

.career-table { width: 100%; border-collapse: collapse; }
.career-table thead tr { border-bottom: 1px solid var(--border-mid); }
.career-table th {
  padding: 12px 20px 12px 0; text-align: left;
  font-family: 'Montserrat', sans-serif; font-size: 9px;
  letter-spacing: 3px; text-transform: uppercase; color: var(--text-muted); font-weight: 400;
}
.career-table tbody tr { border-bottom: 1px solid var(--border); transition: background 0.2s; }
.career-table tbody tr:hover { background: var(--bg-2); }
.cf-row:hover td { color: var(--purple-light) !important; }
.career-table td { padding: 20px 20px 20px 0; font-size: 14px; vertical-align: middle; color: var(--text); }
.career-table td.year {
  font-family: 'Montserrat', sans-serif; font-size: 12px;
  letter-spacing: 1px; color: var(--purple-light); width: 70px;
}
.career-table td.role { color: var(--text-muted); font-size: 13px; }
.career-table td.channel {
  font-family: 'Montserrat', sans-serif; font-size: 11px;
  color: var(--text-dim); letter-spacing: 1px;
}

/* ── ARTIST MAGAZINE LAYOUT ── */
.artist-magazine {
  display: grid;
  grid-template-columns: 38vw 1fr;
  min-height: 100vh;
  padding-top: 124px;
  align-items: start;
  background: #0d0d0d;
}
.artist-magazine__photo {
  position: sticky;
  top: 124px;
  height: calc(100vh - 124px);
  overflow: hidden;
  background: #0d0d0d;
}
/* 화살표 포지셔닝 기준점 (Samsung sticky 버그 우회) */
.hero-photo-inner {
  position: relative;
  width: 100%;
  height: 100%;
}
/* 사진 위에 올라가는 그라데이션 오버레이 — mask-image 대신 색상 그라데이션으로 페이드 */
.artist-magazine__photo::after {
  content: '';
  position: absolute; inset: 0; z-index: 5;
  pointer-events: none;
  background:
    linear-gradient(to bottom, rgba(0,0,0,0.25) 0%, transparent 25%, transparent 60%, rgba(0,0,0,0.6) 100%),
    linear-gradient(to right,  rgba(0,0,0,0.4) 0%, transparent 20%),
    linear-gradient(to left,   #0d0d0d 0%, rgba(13,13,13,0.55) 9%, transparent 22%);
}
/* 페이지 좌우 사이드 비네트 */
.artist-magazine::before {
  content: '';
  position: fixed; inset: 0; z-index: 50;
  pointer-events: none;
  background:
    linear-gradient(to right, rgba(0,0,0,0.35) 0%, transparent 4%),
    linear-gradient(to left,  rgba(0,0,0,0.35) 0%, transparent 4%);
}
.hero-slider__track {
  display: flex;
  height: 100%;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}
.hero-slider__slide {
  min-width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  flex-shrink: 0;
}
.hero-slider__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.22);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,0.18);
  color: #fff;
  font-size: 24px;
  width: 42px;
  height: 42px;
  border-radius: 2px;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
  line-height: 1;
}
.hero-slider__nav--prev { left: 16px; }
.hero-slider__nav--next { right: 16px; }
.hero-slider__nav:hover { background: rgba(0,0,0,0.48); }
.hero-slider__dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}
.hero-slider__dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255,255,255,0.32);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background 0.25s, transform 0.25s;
}
.hero-slider__dot.active {
  background: #fff;
  transform: scale(1.35);
}
.hero-slider__counter {
  position: absolute;
  bottom: 22px;
  left: 16px;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  letter-spacing: 2px;
  color: rgba(255,255,255,0.55);
  z-index: 10;
  display: none;
}
.hero-slider__counter em {
  color: #fff;
  font-style: normal;
}
.artist-instagram {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  padding: 11px 20px;
  border: 1px solid var(--border-mid);
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--text-muted);
  text-decoration: none;
  transition: all 0.3s ease;
  background: transparent;
}
.artist-instagram:hover {
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
  color: #fff;
  border-color: transparent;
}
.artist-instagram svg { transition: stroke 0.3s ease; }
.artist-instagram:hover svg { stroke: #fff; }
/* ── ARTIST VIDEOS ── */
.artist-videos {
  margin-top: 56px;
  padding-top: 48px;
  border-top: 1px solid var(--border);
}
.artist-videos__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
  max-width: 560px;
}
.video-thumb {
  cursor: pointer;
}
.video-thumb__img {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--bg-3);
}
.video-thumb__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  display: block;
}
.video-thumb:hover .video-thumb__img img { transform: scale(1.04); }
.video-thumb__play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.28);
  color: #fff;
  font-size: 26px;
  opacity: 0;
  transition: opacity 0.25s;
}
.video-thumb:hover .video-thumb__play { opacity: 1; }
.video-thumb__title {
  font-size: 12px;
  color: var(--text-muted);
  margin-top: 8px;
  letter-spacing: 0.5px;
}

/* ── VIDEO MODAL ── */
.video-modal {
  position: fixed; inset: 0; z-index: 1100;
  background: rgba(0,0,0,0.88);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none;
  transition: opacity 0.3s;
}
.video-modal.active { opacity: 1; pointer-events: all; }
.video-modal__inner {
  position: relative;
  width: min(860px, 92vw);
}
.video-modal__close {
  position: absolute;
  top: -40px; right: 0;
  background: none; border: none;
  color: rgba(255,255,255,0.6);
  font-size: 28px; cursor: pointer;
  line-height: 1;
  transition: color 0.2s;
}
.video-modal__close:hover { color: #fff; }
.video-modal__frame {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}
.video-modal__frame iframe {
  position: absolute;
  inset: 0; width: 100%; height: 100%;
}

.artist-news {
  margin-top: 56px;
  padding-top: 48px;
  border-top: 1px solid var(--border);
}
.artist-news .news-item {
  font-size: 14px;
  padding: 20px 0;
  grid-template-columns: 72px 1fr 32px;
  gap: 28px;
}
.artist-news .news-item__title { font-size: 14.5px; }

.artist-gallery {
  margin-top: 56px;
  padding-top: 48px;
  border-top: 1px solid var(--border);
}
.artist-gallery__grid { position: relative; }

/* ── 슬라이더 ── */
.gallery-slider { position: relative; }
.gallery-slider__track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
}
.gallery-slider__track::-webkit-scrollbar { display: none; }
.gallery-slider__page {
  min-width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  scroll-snap-align: start;
}
.artist-gallery__item {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--bg-3);
  cursor: zoom-in;
}
.artist-gallery__item img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform 0.5s cubic-bezier(0.4,0,0.2,1);
  pointer-events: none;
}
.artist-gallery__item:hover img { transform: scale(1.05); }

/* ── 스트립 래퍼 & 화살표 ── */
.strip-wrap {
  display: flex;
  align-items: center;
}
.strip-nav {
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(10,0,24,0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 1px solid rgba(167,139,250,0.5);
  color: #fff; font-size: 22px; line-height: 1;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: background 0.2s, border-color 0.2s;
  flex-shrink: 0;
  position: relative;
  z-index: 5;
}
/* 음수 마진으로 사진 위에 겹침 — absolute 없이 모든 기기 대응 */
.strip-nav--prev { margin-right: -18px; }
.strip-nav--next { margin-left: -18px; }
.strip-nav:hover { background: rgba(139,92,246,0.7); border-color: #a78bfa; }

/* ── 가로 스크롤 스트립 ── */
.gallery-strip,
.poster-strip {
  cursor: grab; flex: 1; min-width: 0;
  touch-action: pan-x;
}
.gallery-strip:active,
.poster-strip:active {
  cursor: grabbing;
}
.gallery-strip {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  gap: 4px;
  -webkit-overflow-scrolling: touch;
}
.gallery-strip::-webkit-scrollbar { display: none; }
.gallery-strip__item {
  flex: 0 0 calc(33.33% - 3px);
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--bg-3);
  cursor: zoom-in;
  scroll-snap-align: start;
}
.gallery-strip__item img {
  width: 100%; height: 100%;
  object-fit: contain;
  object-position: center;
  transition: transform 0.5s cubic-bezier(0.4,0,0.2,1);
  pointer-events: none;
}
.gallery-strip__item:hover img { transform: scale(1.05); }
.artist-mag-cnt .gallery-strip__item { background: rgba(255,255,255,0.06); }

/* ── 페이지 네비 ── */
.gallery-nav {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(10,0,24,0.72);
  border: 1px solid rgba(255,255,255,0.18);
  color: #fff; font-size: 22px; line-height: 1;
  cursor: pointer; z-index: 10;
  transition: background 0.2s, border-color 0.2s;
  display: flex; align-items: center; justify-content: center;
}
.gallery-nav:hover { background: var(--purple); border-color: var(--purple); }
.gallery-nav--prev { left: -22px; }
.gallery-nav--next { right: -22px; }

/* ── 라이트박스 ── */
.lightbox {
  position: fixed; inset: 0; z-index: 999999;
  background: rgba(0,0,0,0.93);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none;
  transition: opacity 0.25s;
}
.lightbox.active { opacity: 1; pointer-events: all; }
.lightbox__img {
  max-width: 90vw; max-height: 90vh;
  object-fit: contain; border-radius: 2px;
  transition: transform 0.3s cubic-bezier(0.22,1,0.36,1);
}
.lightbox__close {
  position: absolute; top: 28px; right: 36px;
  color: rgba(255,255,255,0.6); font-size: 36px;
  cursor: pointer; line-height: 1;
  font-family: 'Montserrat', sans-serif; font-weight: 300;
  transition: color 0.2s;
}
.lightbox__close:hover { color: #fff; }
.lightbox__nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 52px; height: 52px; border-radius: 50%;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  color: #fff; font-size: 26px;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: background 0.2s;
}
.lightbox__nav:hover { background: rgba(124,58,237,0.6); }
.lightbox__nav--prev { left: 24px; }
.lightbox__nav--next { right: 24px; }
.artist-magazine__back {
  display: none;
  position: absolute; top: 28px; left: 28px; z-index: 10;
  font-family: 'Montserrat', sans-serif; font-size: 10px;
  letter-spacing: 2.5px; text-transform: uppercase;
  color: #fff;
  text-decoration: none;
  background: rgba(0,0,0,0.32);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.18);
  padding: 10px 18px;
  border-radius: 2px;
  transition: background 0.25s, border-color 0.25s;
}
.artist-magazine__back:hover {
  background: rgba(124,58,237,0.7);
  border-color: rgba(124,58,237,0.8);
}
.artist-magazine__body {
  padding: 0;
  background: #120228;
}
.artist-magazine__label {
  font-family: 'Montserrat', sans-serif; font-size: 10px;
  letter-spacing: 5px; text-transform: uppercase;
  color: var(--purple-light); display: block; margin-bottom: 24px;
}
.artist-magazine__name {
  font-family: 'Noto Serif KR', serif; font-weight: 300;
  font-size: clamp(80px, 8.5vw, 118px);
  line-height: 0.92; letter-spacing: -3px;
  color: var(--text); margin-bottom: 14px;
}
.artist-magazine__en {
  font-family: 'Cormorant Garamond', serif; font-weight: 300; font-style: italic;
  font-size: 18px; color: var(--text-muted);
  margin-bottom: 36px; letter-spacing: 1px;
}
.artist-magazine__career {
  margin-top: 56px;
  padding-top: 48px;
  border-top: 1px solid var(--border);
}

/* ── NEWS ── */
.news-list { padding: 80px 64px; }
.news-item {
  display: grid; grid-template-columns: 80px 1fr 40px;
  gap: 40px; align-items: center;
  padding: 28px 0; border-bottom: 1px solid var(--border);
  transition: padding-left 0.3s; cursor: pointer;
  text-decoration: none; color: inherit;
}
.news-item:hover { padding-left: 16px; }
.news-item__date {
  font-family: 'Montserrat', sans-serif; font-size: 11px;
  letter-spacing: 1px; color: var(--text-muted);
}
.news-item__cat {
  font-family: 'Montserrat', sans-serif; font-size: 9px;
  letter-spacing: 3px; text-transform: uppercase; color: var(--purple-light);
}
.news-item__title { font-size: 16px; line-height: 1.5; color: var(--text); font-weight: 400; }
.news-item:hover .news-item__title { color: #000; }
.news-item__arrow { color: var(--text-dim); font-size: 18px; justify-self: end; transition: color 0.25s, transform 0.25s; }
.news-item:hover .news-item__arrow { color: var(--purple-light); transform: translateX(4px); }

/* ── WITH ANDFLUXUS ── */
.with-split { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--border); }
.with-split__left { padding: 100px 64px; border-right: 1px solid var(--border); }
.with-split__right { padding: 100px 64px; }
.with-split .large-text {
  font-family: 'Noto Serif KR', serif; font-weight: 300;
  font-size: 26px; line-height: 1.95; color: var(--text);
}
.contact-item {
  padding: 28px 0; border-bottom: 1px solid var(--border);
  display: flex; gap: 28px; align-items: flex-start;
}
.contact-item__icon { font-size: 18px; color: var(--purple-light); min-width: 24px; padding-top: 2px; }
.contact-item__label {
  font-family: 'Montserrat', sans-serif; font-size: 9.5px;
  letter-spacing: 3px; text-transform: uppercase; color: var(--text-muted);
  margin-bottom: 6px; display: block;
}
.contact-item__value { font-size: 14px; line-height: 1.8; color: var(--text); }

.with-form-section { padding: 100px 64px; }
.with-form { max-width: 720px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.form-group { margin-bottom: 16px; }
.form-label {
  display: block; font-family: 'Montserrat', sans-serif; font-size: 9.5px;
  letter-spacing: 3px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 10px;
}
.form-input {
  width: 100%; background: var(--bg-2); border: 1px solid var(--border-mid);
  color: var(--text); padding: 14px 18px;
  font-family: 'Noto Sans KR', sans-serif; font-size: 14px; font-weight: 300;
  outline: none; transition: border-color 0.25s; appearance: none;
}
.form-input:focus { border-color: var(--purple-light); }
.form-input::placeholder { color: var(--text-dim); }
textarea.form-input { resize: vertical; min-height: 160px; }
.form-submit { margin-top: 32px; }

/* ── SCROLL REVEAL ── */
.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}
.reveal.visible { opacity: 1; transform: translateY(0); }

/* ── DARK EDITORIAL HEADER ── */
.artist-mag-hd {
  background: linear-gradient(160deg, #0e001e 0%, #120228 30%, #1a0a38 55%, #0d0d0d 100%);
  padding: 48px 56px 52px;
  min-height: 55vh;
  display: flex; flex-direction: column; justify-content: flex-end;
  position: relative; overflow: hidden;
}
/* 워터마크 — 수평 가이드라인 패턴 */
.artist-mag-hd::before {
  content: '';
  position: absolute; inset: 0; z-index: 0;
  pointer-events: none;
  background-image: repeating-linear-gradient(
    to bottom,
    transparent 0px,
    transparent 46px,
    rgba(255,255,255,0.032) 46px,
    rgba(255,255,255,0.032) 47px
  );
}
/* 이름 뒤 ambient 보라 glow */
.artist-mag-hd::after {
  content: '';
  position: absolute; bottom: 0; left: -30px;
  width: 90%; height: 65%;
  background: radial-gradient(ellipse at 25% 85%, rgba(139,92,246,0.28) 0%, rgba(109,40,217,0.12) 40%, transparent 70%);
  pointer-events: none; z-index: 0;
}
.artist-mag-hd__label {
  display: block; position: relative; z-index: 1;
  font-family: 'Montserrat', sans-serif; font-size: 10px;
  letter-spacing: 6px; text-transform: uppercase;
  color: #a78bfa; margin-bottom: 28px;
}
.artist-mag-hd__name {
  font-family: 'Noto Serif KR', serif; font-weight: 300;
  font-size: clamp(80px, 9.5vw, 136px);
  line-height: 0.88; letter-spacing: -4px;
  color: #fff; position: relative; z-index: 1;
}
.artist-mag-hd__foot {
  display: flex; align-items: center; justify-content: space-between;
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: 22px; margin-top: 28px;
  position: relative; z-index: 1;
}
.artist-mag-hd__en {
  font-family: 'Cormorant Garamond', serif; font-weight: 300; font-style: italic;
  font-size: 18px; color: rgba(255,255,255,0.32); letter-spacing: 1px;
}
.artist-instagram--inv {
  border-color: rgba(255,255,255,0.18);
  color: rgba(255,255,255,0.45);
  margin-top: 0;
}
.artist-instagram--inv svg { stroke: rgba(255,255,255,0.45); }
/* ── PAGE TOP BAND (full-width fixed strip) ── */
.page-top-band {
  position: fixed; top: 72px; left: 0; right: 0; z-index: 998;
  height: 52px; overflow: hidden;
  display: flex; align-items: center; gap: 28px;
  padding: 0 64px;
  background: linear-gradient(100deg, #ddd6fe 0%, #a78bfa 24%, #7c3aed 48%, #5b21b6 72%, #1e0952 100%);
  box-shadow: 0 2px 28px rgba(124,58,237,0.28);
}
.page-top-band__left {
  display: flex; align-items: center; gap: 12px;
  font-family: 'Montserrat', sans-serif;
  font-size: 8.5px; font-weight: 500; letter-spacing: 5px;
  text-transform: uppercase; color: rgba(255,255,255,0.78);
  white-space: nowrap;
}
.page-top-band__dot {
  width: 4px; height: 4px;
  background: rgba(255,255,255,0.7); border-radius: 50%; flex-shrink: 0;
}
.page-top-band__rule { flex: 1; height: 1px; background: rgba(255,255,255,0.18); }
.page-top-band__num {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300; font-style: italic;
  font-size: 17px; letter-spacing: 2px;
  color: rgba(255,255,255,0.55); white-space: nowrap;
}

/* ── STICKY ARTIST NAME ── */
.artist-name-sticky {
  display: none;
}
.artist-name-sticky__label {
  font-family: 'Montserrat', sans-serif;
  font-size: 8.5px; font-weight: 500; letter-spacing: 4px;
  text-transform: uppercase; color: #a78bfa;
  white-space: nowrap;
}
.artist-name-sticky__divider {
  width: 1px; height: 14px;
  background: rgba(255,255,255,0.18); flex-shrink: 0;
}
.artist-name-sticky__name {
  font-family: 'Noto Serif KR', serif; font-weight: 300;
  font-size: 20px; letter-spacing: -0.5px; color: #fff;
}

/* ── DARK CONTENT AREA ── */
.artist-mag-cnt { padding: 72px 56px 8px; background: linear-gradient(to bottom, #120228 0%, #0d0d0d 20%); }

.artist-mag-cnt .section-title { color: #fff; }

.artist-mag-cnt .profile-table tr { border-bottom-color: rgba(255,255,255,0.1); }
.artist-mag-cnt .profile-table td { color: #fff; }
.artist-mag-cnt .profile-table td:first-child { color: rgba(255,255,255,0.5); }

.artist-mag-cnt .career-tabs { border-bottom-color: rgba(255,255,255,0.12); }
.artist-mag-cnt .career-tab { color: rgba(255,255,255,0.52); }
.artist-mag-cnt .career-tab:hover { color: rgba(255,255,255,0.88); }
.artist-mag-cnt .career-tab.active { color: #fff; }
.artist-mag-cnt .career-tab.active::after { background: #a78bfa; }

.artist-mag-cnt .career-table thead tr { border-bottom-color: rgba(255,255,255,0.14); }
.artist-mag-cnt .career-table th { color: rgba(255,255,255,0.52); }
.artist-mag-cnt .career-table tbody tr { border-bottom-color: rgba(255,255,255,0.09); }
.artist-mag-cnt .career-table tbody tr:hover { background: rgba(255,255,255,0.05); }
.artist-mag-cnt .career-table td { color: rgba(255,255,255,0.9); font-size: 14px; }
.artist-mag-cnt .career-table td.year { color: #a78bfa; font-size: 11px; letter-spacing: 1.5px; white-space: nowrap; }
.artist-mag-cnt .career-table td.title { color: #fff; font-weight: 400; white-space: nowrap; }
.artist-mag-cnt .career-table td.role { color: rgba(255,255,255,0.6); font-size: 13px; }
.artist-mag-cnt .career-table td.channel { color: rgba(255,255,255,0.5); font-size: 12px; white-space: nowrap; }

/* 섹션 구분 — 보라 그라데이션 선 + 여백 */
.artist-mag-cnt .artist-magazine__career,
.artist-mag-cnt .artist-news,
.artist-mag-cnt .artist-videos,
.artist-mag-cnt .artist-gallery {
  border-top: none;
  position: relative;
  padding-top: 36px;
  margin-top: 36px;
}
.artist-mag-cnt .artist-magazine__career::before,
.artist-mag-cnt .artist-news::before,
.artist-mag-cnt .artist-videos::before,
.artist-mag-cnt .artist-gallery::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, #a78bfa 0%, rgba(167,139,250,0.35) 35%, transparent 100%);
}

/* 섹션 레이블 강조 */
.artist-mag-cnt .section-label {
  font-size: 8.5px; letter-spacing: 7px;
  color: #a78bfa;
  border-left: 2px solid #a78bfa;
  padding-left: 10px;
  margin-bottom: 14px;
}

/* 섹션 제목 드라마틱하게 */
.artist-mag-cnt .section-title {
  font-size: clamp(40px, 4.2vw, 60px);
  letter-spacing: -2px; color: #fff;
  line-height: 1; margin-bottom: 40px;
}

.artist-mag-cnt .news-item { border-bottom-color: rgba(255,255,255,0.08); color: inherit; transition: background 0.2s, padding-left 0.3s; }
.artist-mag-cnt .news-item:hover { background: rgba(167,139,250,0.07); padding-left: 20px; }
.artist-mag-cnt .news-item__date { color: rgba(255,255,255,0.62); }
.artist-mag-cnt .news-item__cat { color: #a78bfa; font-weight: 500; }
.artist-mag-cnt .news-item__title { color: rgba(255,255,255,0.92); }
.artist-mag-cnt .news-item:hover .news-item__title { color: #fff; }
.artist-mag-cnt .news-item__arrow { color: rgba(255,255,255,0.3); }
.artist-mag-cnt .news-item:hover .news-item__arrow { color: #a78bfa; }

.news-pagination {
  display: flex; align-items: center; justify-content: center;
  gap: 20px; padding: 24px 0 4px;
  border-top: 1px solid rgba(255,255,255,0.08);
  margin-top: 4px;
}
.news-pag__btn {
  background: transparent; border: 1px solid rgba(255,255,255,0.2);
  color: rgba(255,255,255,0.7); width: 36px; height: 36px;
  font-size: 22px; cursor: pointer; border-radius: 2px;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  line-height: 1;
}
.news-pag__btn:hover:not(:disabled) { background: rgba(167,139,250,0.15); color: #a78bfa; border-color: #a78bfa; }
.news-pag__btn:disabled { opacity: 0.3; cursor: default; }
.news-pag__info {
  font-family: 'Montserrat', sans-serif; font-size: 11px;
  letter-spacing: 2px; color: rgba(255,255,255,0.45);
}

.artist-mag-cnt .video-thumb__img { background: rgba(255,255,255,0.06); }
.artist-mag-cnt .video-thumb__title { color: rgba(255,255,255,0.75); }

.artist-mag-cnt .artist-gallery__item { background: rgba(255,255,255,0.06); }

.artist-mag-cnt .artist-posters {
  border-top: none;
  position: relative;
  padding-top: 36px;
  margin-top: 36px;
}
.artist-mag-cnt .artist-posters::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, #a78bfa 0%, rgba(167,139,250,0.35) 35%, transparent 100%);
}
.artist-mag-cnt .artist-posters .section-label {
  font-size: 8.5px; letter-spacing: 7px;
  color: #a78bfa; border-left: 2px solid #a78bfa;
  padding-left: 10px; margin-bottom: 14px;
}
.artist-mag-cnt .artist-posters .section-title { color: #fff; }
.artist-mag-cnt .artist-poster__item { background: rgba(255,255,255,0.06); }
.artist-magazine ~ footer { margin-top: 0; }


/* ── ARTIST POSTERS ── */
.artist-posters {
  margin-top: 56px;
  padding-top: 48px;
  border-top: 1px solid var(--border);
}
.artist-posters__grid {
  position: relative;
}
.artist-poster__item {
  aspect-ratio: 2 / 3;
  overflow: hidden;
  background: rgba(255,255,255,0.06);
  cursor: zoom-in;
}
.artist-poster__item img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform 0.5s cubic-bezier(0.4,0,0.2,1);
  pointer-events: none;
}
.artist-poster__item:hover img { transform: scale(1.04); }

/* ── 포스터 가로 스크롤 스트립 ── */
.poster-strip {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  gap: 4px;
  -webkit-overflow-scrolling: touch;
}
.poster-strip::-webkit-scrollbar { display: none; }
.poster-strip__item {
  flex: 0 0 calc(25% - 3px);
  aspect-ratio: 2 / 3;
  overflow: hidden;
  background: rgba(255,255,255,0.06);
  cursor: zoom-in;
  scroll-snap-align: start;
}
.poster-strip__item img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform 0.5s cubic-bezier(0.4,0,0.2,1);
  pointer-events: none;
}
.poster-strip__item:hover img { transform: scale(1.04); }

.poster-slider { position: relative; }
.poster-slider__track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
}
.poster-slider__track::-webkit-scrollbar { display: none; }
.poster-slider__page {
  min-width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  scroll-snap-align: start;
}

/* ── ARCH PHOTO SHAPE ── */
.hero-photo-wrap {
  position: relative; width: 62%;
}
.hero-photo-shape {
  width: 100%; aspect-ratio: 3/4;
  border-radius: 50% 50% 10px 10px;
  overflow: hidden;
  box-shadow: 0 28px 80px rgba(0,0,0,0.18);
  position: relative;
}
.hero-photo-shape .hero-slider__track { height: 100%; }
.hero-photo-shape .hero-slider__slide { height: 100%; }
.hero-photo-btn {
  position: absolute; top: 48%; transform: translateY(-50%);
  background: rgba(255,255,255,0.88); backdrop-filter: blur(6px);
  border: 1px solid rgba(0,0,0,0.08);
  width: 34px; height: 34px; border-radius: 50%;
  color: var(--text); font-size: 20px; line-height: 1;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: background 0.2s, box-shadow 0.2s; z-index: 10;
}
.hero-photo-btn--prev { left: -17px; }
.hero-photo-btn--next { right: -17px; }
.hero-photo-btn:hover { background: #fff; box-shadow: 0 2px 12px rgba(0,0,0,0.12); }
.hero-photo-footer {
  display: flex; align-items: center; justify-content: center;
  gap: 14px; margin-top: 20px; min-height: 24px;
}
.hero-photo-footer .hero-slider__dots {
  position: static; transform: none; bottom: auto; left: auto;
}
.hero-photo-footer .hero-slider__counter {
  position: static; bottom: auto; right: auto;
  font-size: 10px; letter-spacing: 2px; color: var(--text-dim);
  display: none;
}
.hero-photo-footer .hero-slider__dot { background: rgba(0,0,0,0.15); }
.hero-photo-footer .hero-slider__dot.active { background: var(--purple); width: 18px; }

/* ── ARTIST DETAIL — FULLBLEED HERO ── */
.artist-hero-full {
  position: relative; width: 100%; height: 100vh;
  overflow: hidden; background: #06000e;
}
.artist-hero-full__overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to top, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.20) 52%, transparent 100%);
}
.artist-hero-full .artist-magazine__back { top: 90px; }
.artist-hero-full__info {
  position: absolute; bottom: 0; left: 0; right: 0; z-index: 5;
  padding: 0 80px 58px;
}
.artist-hero-full__label {
  display: block;
  font-family: 'Montserrat', sans-serif; font-size: 10px;
  letter-spacing: 6px; text-transform: uppercase;
  color: var(--purple-light); margin-bottom: 20px;
}
.artist-hero-full__rule {
  width: 100%; height: 1px;
  background: rgba(255,255,255,0.15); margin-bottom: 24px;
}
.artist-hero-full__name-row {
  display: flex; align-items: flex-end; justify-content: space-between;
}
.artist-hero-full__name {
  font-family: 'Noto Serif KR', serif; font-weight: 300;
  font-size: clamp(56px, 7.5vw, 100px);
  line-height: 0.95; letter-spacing: -2px; color: #fff;
}
.artist-hero-full__right {
  display: flex; flex-direction: column;
  align-items: flex-end; gap: 14px; padding-bottom: 6px;
}
.artist-hero-full__en {
  font-family: 'Cormorant Garamond', serif; font-weight: 300; font-style: italic;
  font-size: 19px; color: rgba(255,255,255,0.38);
}
.artist-instagram--hero {
  border-color: rgba(255,255,255,0.22);
  color: rgba(255,255,255,0.55);
  margin-top: 0;
}
.artist-instagram--hero svg { stroke: rgba(255,255,255,0.55); }
.artist-detail__body { padding: 72px 80px 120px; }
.artist-detail__career { padding-top: 0; }

/* ── FILM GRAIN ── */
body::after {
  content: '';
  position: fixed;
  inset: -50%;
  width: 200%; height: 200%;
  pointer-events: none;
  z-index: 99990;
  opacity: 0.038;
  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='0.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation: grain 0.4s steps(1) infinite;
}
@keyframes grain {
  0%   { transform: translate(0,0); }
  20%  { transform: translate(-4%,5%); }
  40%  { transform: translate(3%,-4%); }
  60%  { transform: translate(-5%,3%); }
  80%  { transform: translate(4%,-5%); }
  100% { transform: translate(-2%,4%); }
}

/* ── MOBILE RESPONSIVE ── */
@media (max-width: 768px) {

  /* 전체 overflow 차단 — 안드로이드 우측 여백 보호 */
  .artist-magazine,
  .artist-magazine__body,
  .artist-mag-hd,
  .artist-mag-cnt { max-width: 100%; }
  .artist-mag-hd,
  .artist-mag-cnt { overflow-x: clip; }

  /* Nav */
  .nav { padding: 0 16px; height: 56px; }
  .nav__logo { font-size: 12px; letter-spacing: 2px; }
  .nav__list { gap: 10px; }
  .nav__list a { font-size: 8.5px; letter-spacing: 0.5px; white-space: nowrap; }
  .nav__with a { padding: 6px 10px; font-size: 7.5px; letter-spacing: 0; white-space: nowrap; }

  /* Page top band */
  .page-top-band { padding: 0 20px; top: 56px; height: 44px; font-size: 7.5px; overflow: hidden; }
  .page-top-band__left { letter-spacing: 2px; gap: 8px; }
  .page-top-band__num { font-size: 14px; letter-spacing: 1px; }

  /* Artist magazine — 세로 단일 컬럼 */
  .artist-magazine {
    display: block !important;
    padding-top: 100px !important;
    min-height: unset !important;
  }
  .artist-magazine__photo {
    display: block !important;
    position: relative !important;
    top: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    -webkit-mask: none !important;
    mask: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
  .artist-magazine__body {
    display: block !important;
    width: 100% !important;
  }
  .artist-magazine__back { display: block; }
  .artist-magazine__photo .hero-slider__track {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    height: 100%;
  }
  .artist-magazine__photo .hero-slider__slide { height: 100%; }
  .artist-magazine__photo::after {
    background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, transparent 20%, transparent 45%, #0d0d0d 100%);
  }
  .artist-magazine::before { display: none; }
  .artist-magazine__photo .hero-slider__nav--next { right: 20px; }

  /* 이름 섹션 */
  .artist-mag-hd {
    min-height: auto;
    padding: 36px 24px 40px;
  }
  .artist-mag-hd__name {
    font-size: clamp(48px, 13vw, 72px);
    letter-spacing: -1.5px;
  }
  .artist-mag-hd__label { font-size: 9px; margin-bottom: 20px; }
  .artist-mag-hd__en { font-size: 14px; }

  /* 콘텐츠 섹션 */
  .artist-mag-cnt { padding: 40px 24px 8px; width: 100%; box-sizing: border-box; overflow-x: clip; }

  /* 뉴스 아이템 — 세로 스택 + 왼쪽 정렬 */
  .news-item,
  .artist-news .news-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px;
    padding: 18px 0;
    grid-template-columns: unset !important;
  }
  .news-item__date { font-size: 10.5px; }
  .news-item__cat  { font-size: 8.5px; letter-spacing: 2px; }
  .news-item__title,
  .artist-news .news-item__title { font-size: 13.5px; line-height: 1.6; text-align: left; }
  .news-item__arrow { align-self: flex-end; font-size: 16px; }

  /* 필모그래피 테이블 — 가로 스크롤 */
  .artist-magazine__career,
  .artist-news,
  .artist-videos,
  .artist-gallery { padding-top: 44px; }

  .career-tabs { gap: 0; flex-wrap: wrap; }
  .career-tab { font-size: 9px; padding: 10px 14px; letter-spacing: 2px; }

  /* Career table — 세로 카드형 (specificity 강제 override) */
  .career-panel { overflow: hidden; max-width: 100%; }
  .career-table { display: block; width: 100%; max-width: 100%; table-layout: fixed; }
  .career-table thead { display: none; }
  .career-table tbody { display: block; width: 100%; }
  .career-table tr {
    display: flex; flex-direction: column; gap: 4px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .career-table td,
  .artist-mag-cnt .career-table td,
  .artist-mag-cnt .career-table td.title,
  .artist-mag-cnt .career-table td.channel {
    display: block; padding: 0; border: none;
    white-space: normal !important; text-align: left;
    width: 100%; max-width: 100%; word-break: keep-all;
  }
  .career-table td.year,
  .artist-mag-cnt .career-table td.year { font-size: 10px; letter-spacing: 1px; color: #a78bfa; }
  .career-table td.title,
  .artist-mag-cnt .career-table td.title { font-size: 14px; font-weight: 400; color: #fff; }
  .career-table td.role,
  .career-table td.channel,
  .artist-mag-cnt .career-table td.role,
  .artist-mag-cnt .career-table td.channel { font-size: 12px; color: rgba(255,255,255,0.55); }
  .career-table td:empty { display: none; }

  /* Gallery nav 버튼 — overflow 차단 */
  .gallery-nav--prev { left: 4px; }
  .gallery-nav--next { right: 4px; }
  .artist-gallery, .gallery-slider, .poster-slider { max-width: 100%; }
  .artist-gallery { overflow: visible; }
  .gallery-slider__track, .poster-slider__track { max-width: 100%; }

  /* 프로필 테이블 */
  .profile-table { width: 100%; max-width: 100%; }
  .profile-table td { font-size: 12.5px; padding: 14px 0; word-break: keep-all; max-width: 60vw; }

  /* 갤러리/포스터 — 2칸 */
  .gallery-slider__page { grid-template-columns: repeat(2, 1fr); gap: 4px; }
  .poster-slider__page { grid-template-columns: repeat(2, 1fr); gap: 4px; }
  .artist-gallery__item { aspect-ratio: 1/1; }
  .artist-poster__item { aspect-ratio: 2/3; }

  /* 가로 스크롤 스트립 — 모바일 2.5개, 왼쪽 여백 제거 */
  .gallery-strip__item { flex: 0 0 calc(44% - 2px); }
  .poster-strip__item { flex: 0 0 calc(38% - 2px); }
  .strip-nav { display: flex; width: 34px; height: 34px; font-size: 20px; }
  .strip-nav { width: 34px; height: 34px; font-size: 20px; }

  /* 슬라이더 nav 버튼 */
  .gallery-slider__nav,
  .poster-slider__nav { padding: 8px 16px; font-size: 11px; }

  /* 아티스트 목록 그리드 */
  .artist-grid { grid-template-columns: repeat(2, 1fr); gap: 2px; }
  .artist-grid-wrap { padding: 40px 20px 0; }

  /* 메인 홈 featured 그리드 */
  .featured__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 2px; }
  .featured { padding: 60px 20px; }
  .featured__card-info h3 { font-size: 15px; }

  /* 홈 뉴스 */
  .news-brief { padding: 60px 20px; }
  .news-brief-item {
    display: flex; flex-direction: column; gap: 6px;
    padding: 18px 0;
  }
  .news-brief-item__date { font-size: 10px; }
  .news-brief-item__title { font-size: 13.5px; line-height: 1.5; }

  /* 홈 인트로 — 중복 문구 제거 */
  .intro { grid-template-columns: 1fr; }
  .intro__quote { display: none; }
  .scroll-hint { display: flex !important; }
  .intro { margin-top: -72px; position: relative; z-index: 2; }
  .intro__left { border-right: none; border-bottom: none; padding: 0 20px 0; }
  .intro__right { padding: 4px 20px 36px; }
  .intro__body { font-size: 13px; line-height: 1.9; }
  .intro__quote { font-size: 18px; line-height: 1.7; }
  .divider { margin-bottom: 24px; }

  /* 메인 히어로 링 — 가운데로 */
  @keyframes ring-spin-mobile   { to { transform: translate(-50%, -50%) rotate(360deg); } }
  @keyframes ring-spin-r-mobile { to { transform: translate(-50%, -50%) rotate(-360deg); } }

  .main-hero__bg-ring {
    right: auto;
    left: 50%;
    width: 100%; height: 100vw;
    animation: ring-spin-mobile 5s linear infinite;
  }
  .main-hero__ring2 {
    right: auto;
    left: 50%;
    width: 62%; height: 62vw;
    animation: ring-spin-r-mobile 7s linear infinite;
  }

  /* 메인 히어로 콘텐츠 */
  .main-hero {
    padding: 0 20px;
    height: 52vh;
    min-height: unset;
    background: linear-gradient(to bottom, #0a0018 60%, #ffffff 100%);
  }
  .main-hero__title { font-size: clamp(52px, 14vw, 80px); }
  .main-hero__desc { font-size: 13px; white-space: normal; max-width: 100%; }


  /* 홈 히어로 */
  .slide__content { padding: 0 20px 56px; }

  /* Section labels */
  .section-label { font-size: 8.5px; letter-spacing: 4px; }
  .section-title { font-size: clamp(22px, 6vw, 32px); }

  /* 페이지 히어로 (artist.html) */
  .page-hero { padding: 90px 20px 64px; }
  .page-hero__title { font-size: clamp(36px, 10vw, 60px); }
  .page-hero__desc { font-size: 12.5px; white-space: normal !important; }

  /* 뒤로가기 버튼 */
  .artist-magazine__back { top: 16px; left: 16px; font-size: 10px; padding: 8px 14px; }

  /* Nav — WITH ANDFLUXUS 글자 축소 */
  .nav__with a { font-size: 7.5px; letter-spacing: 1px; padding: 6px 10px; }

  /* With ANDFLUXUS 페이지 */
  .with-split { grid-template-columns: 1fr; }
  .with-split__left { border-right: none; border-bottom: 1px solid var(--border); padding: 56px 20px; }
  .with-split__right { padding: 56px 20px; overflow-x: clip; }
  .with-split__right > div { width: 100%; box-sizing: border-box; }
  .with-split .large-text { font-size: 16px; line-height: 1.85; }
  .with-form-section { padding: 56px 20px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }

  /* Career table — career-panel에 스크롤 적용 */
  .career-panel { overflow-x: auto; -webkit-overflow-scrolling: touch; width: 100%; max-width: 100%; }
  .career-table { min-width: 400px; }

  /* 푸터 */
  footer {
    flex-direction: column;
    gap: 28px;
    padding: 44px 20px;
    margin-top: 48px;
  }
  .footer__right { text-align: left; }
  .footer__links { flex-wrap: wrap; gap: 14px; }
  .footer__copy { font-size: 11px; line-height: 2; }

  /* 모바일 성능 최적화 — backdrop-filter 제거 */
  .hero-slider__nav,
  .strip-nav,
  .artist-magazine__back {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .hero-slider__nav { background: rgba(0,0,0,0.45); }
  .strip-nav { background: rgba(10,0,24,0.7); }
  .artist-magazine__back { background: rgba(0,0,0,0.5); }
}
