/* =========================================================================
   landing.css — 랜딩(index.html) 전용 개편 스타일 (2026-10-08, 애플 제품 페이지 문법)
   -------------------------------------------------------------------------
   kpop.css 위에 얹습니다. body.ld 가 붙은 index.html 에만 적용되고,
   가입·로그인·마이페이지는 기존 kpop.css 그대로입니다.
   원칙: 검은 무대 ↔ 밝은 회색(#f5f5f7) 교차 · 섹션마다 큰 제목 하나 ·
         포인트 색 하나(핑크 #ff375f) + 제목용 그라데이션 · 둥근 타일(28px) ·
         알약 모양 버튼(980px) · 여백으로 위계를 만든다.
   서체: 제목·숫자는 Inter + Pretendard(산세리프), 본문 한글은 고운바탕 유지(대표 지시 9/12).
   ========================================================================= */
.ld{
  --L-black:#000;
  --L-ink:#1d1d1f;
  --L-gray:#6e6e73;
  --L-gray-d:#a1a1a6;
  --L-light:#f5f5f7;
  --L-accent:#ff375f;
  --L-grad:linear-gradient(90deg,#ff6b9a 0%,#ff375f 35%,#bf5af2 75%,#7d7aff 100%);
  --L-head:"Inter","Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;
  --header-h:52px;
  background:#fff;color:var(--L-ink);
}
.ld main{padding-top:0}

/* ---------- 헤더: 반투명 검정 유리 ---------- */
.ld .hd{height:52px;background:rgba(18,18,20,.78);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid rgba(255,255,255,.08);box-shadow:none;color:#f5f5f7}
.ld .hd.scrolled{box-shadow:none}
.ld .hd-logo img{height:34px;filter:brightness(0) invert(1)}
.ld .hd-logo span,.ld .prod-btn{color:rgba(255,255,255,.72)}
.ld .hd-nav{gap:30px}
.ld .hd-nav a{font-family:var(--L-head);font-size:12.5px;font-weight:500;letter-spacing:0;color:rgba(255,255,255,.82)}
.ld .hd-nav a::after{display:none}
.ld .hd-nav a:hover{color:#fff}
.ld .hd-util{gap:16px}
.ld .hd-util a{color:rgba(255,255,255,.82);font-size:12.5px}
.ld .lang-toggle{border-color:rgba(255,255,255,.22)}
.ld .lang-toggle button{color:rgba(255,255,255,.7);font-size:11px;padding:5px 10px}
.ld .lang-toggle button.on{background:#f5f5f7;color:#000}
.ld .hd-join{height:30px;padding:0 15px;border:0;border-radius:980px;background:var(--L-accent);color:#fff !important;font-family:var(--L-head);font-size:12.5px;font-weight:600;letter-spacing:0}
.ld .hd-join:hover{background:#ff5277}
.ld .hd-burger span{background:#fff}
.ld .mnav{background:rgba(18,18,20,.96);border-bottom:1px solid rgba(255,255,255,.08)}
.ld .mnav a{color:#f5f5f7;border-bottom-color:rgba(255,255,255,.08)}
.ld .mnav a:hover{background:rgba(255,255,255,.06)}

/* ---------- 공통 ---------- */
.L-wrap{max-width:1080px;margin:0 auto;padding:0 28px}
.L-narrow{max-width:820px}
.L-sec{padding:140px 0}
.L-light{background:var(--L-light)}
.L-dark{background:var(--L-black);color:#f5f5f7}
.L-kicker{font-family:var(--L-head);font-size:17px;font-weight:600;color:var(--L-accent);margin-bottom:10px;letter-spacing:0}
.L-h2{font-family:var(--L-head);font-size:clamp(34px,5.2vw,56px);font-weight:700;line-height:1.08;letter-spacing:-.025em;max-width:880px}
.L-lead{margin-top:22px;font-size:clamp(17px,1.6vw,21px);line-height:1.6;color:var(--L-gray);max-width:760px}
.L-dark .L-lead{color:var(--L-gray-d)}
.L-grad{background:var(--L-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.L-btn{display:inline-flex;align-items:center;height:48px;padding:0 26px;border-radius:980px;background:var(--L-accent);color:#fff;
  font-family:var(--L-head);font-size:17px;font-weight:600;letter-spacing:0;transition:background .2s,transform .2s}
.L-btn:hover{background:#ff5277;transform:translateY(-1px)}
.L-link{font-family:var(--L-head);font-size:17px;font-weight:500;color:#ff6b8f}
.L-link:hover{text-decoration:underline}
.ld .reveal{transform:translateY(24px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.ld .reveal.on{transform:none}

/* ---------- 히어로 ---------- */
.L-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse 70% 55% at 50% 0%,rgba(191,90,242,.28),transparent 70%),radial-gradient(ellipse 60% 50% at 50% 100%,rgba(255,55,95,.18),transparent 70%),#000;
  color:#f5f5f7;text-align:center;padding:calc(52px + 120px) 24px 110px}
.L-hero .hero-bg{position:absolute;inset:0;pointer-events:none;opacity:.55}
.L-in{position:relative;max-width:980px;margin:0 auto}
.L-eyebrow{font-family:var(--L-head);font-size:15px;font-weight:600;color:var(--L-gray-d);letter-spacing:.02em}
.L-h1{margin-top:18px;font-family:var(--L-head);font-size:clamp(52px,9.4vw,124px);font-weight:700;line-height:1.02;letter-spacing:-.035em}
.L-h1--sm{font-size:clamp(40px,6.4vw,84px)}
.L-sub{margin:30px auto 0;max-width:700px;font-size:clamp(17px,1.7vw,22px);line-height:1.6;color:var(--L-gray-d)}
.L-cta{margin-top:38px;display:flex;justify-content:center;align-items:center;gap:30px;flex-wrap:wrap}
.L-meta{margin-top:28px;font-size:14px;color:#86868b}
.L-meta b{color:#f5f5f7;font-weight:600}
.L-hero-rv{position:relative;margin:70px auto 0;max-width:860px;padding:26px 30px;border-radius:28px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.L-rv-h{font-family:var(--L-head);font-size:19px;font-weight:700;letter-spacing:-.01em;color:#fff}
.L-rv-row{margin-top:18px;display:flex;justify-content:center;gap:40px;flex-wrap:wrap}
.rvp{display:flex;align-items:center;gap:12px;text-align:left}
.rvp b{display:block;font-family:var(--L-head);font-size:15px;font-weight:700}
.rvp small{display:block;margin-top:2px;font-size:13px;color:var(--L-gray-d)}
.ld .rv-photo{flex:0 0 52px;width:52px;height:52px;border-radius:50%;background:rgba(255,55,95,.16);color:#ff6b8f;font-family:var(--L-head);font-size:19px;font-weight:700;
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.ld .rv-photo.rv-logo{background:#fff;padding:9px;border:0}
.ld .rv-photo img{width:100%;height:100%;object-fit:contain}

/* ---------- 숫자 ---------- */
.L-stats{background:#000;color:#f5f5f7;padding:0 0 110px}
.L-stats-in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-top:1px solid rgba(255,255,255,.14);padding-top:60px}
.L-stat b{display:block;font-family:var(--L-head);font-size:clamp(44px,6vw,76px);font-weight:700;letter-spacing:-.03em;line-height:1;background:var(--L-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.L-stat span{display:block;margin-top:10px;font-family:var(--L-head);font-size:16px;font-weight:500;color:var(--L-gray-d)}

/* ---------- 누구나 ---------- */
.L-statement{margin-top:34px;font-family:var(--L-head);font-size:clamp(24px,3.2vw,38px);font-weight:600;line-height:1.35;letter-spacing:-.02em;color:var(--L-gray);max-width:940px}
.L-statement b{color:var(--L-ink)}
.L-chips{margin-top:30px;display:flex;gap:10px;flex-wrap:wrap}
.L-chips span{font-family:var(--L-head);font-size:14px;font-weight:600;padding:8px 18px;border-radius:980px;background:#fff;color:var(--L-ink)}
.L-cols3{margin-top:70px;display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.L-cols3 em{display:block;font-style:normal;font-family:var(--L-head);font-size:14px;font-weight:700;color:var(--L-accent);margin-bottom:12px}
.L-cols3 p{font-size:17px;line-height:1.75;color:var(--L-ink)}

/* ---------- 프로그램 벤토 ---------- */
.L-bento{margin-top:60px;display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.L-tile{border-radius:28px;padding:44px 40px;background:var(--L-light);min-height:340px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.L-tile--a{grid-column:span 4;background:#000;color:#f5f5f7}
.L-tile--b{grid-column:span 2}
.L-tile--c{grid-column:span 2}
.L-tile--d{grid-column:span 4;background:linear-gradient(135deg,#2a0f22,#4a1740 55%,#1c0a18);color:#f5f5f7}
.L-tag{position:absolute;top:36px;left:40px;font-family:var(--L-head);font-size:13px;font-weight:700;letter-spacing:.18em;background:var(--L-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.L-tile h3{font-family:var(--L-head);font-size:clamp(24px,2.6vw,32px);font-weight:700;letter-spacing:-.02em;line-height:1.2}
.L-tile p{margin-top:12px;font-size:16px;line-height:1.7;color:var(--L-gray)}
.L-tile--a p,.L-tile--d p{color:var(--L-gray-d)}
.L-tile--a::before{content:"";position:absolute;right:-80px;top:-80px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(255,55,95,.45),transparent 65%);filter:blur(10px)}
.L-tile--d::before{content:"";position:absolute;right:-60px;bottom:-60px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(125,122,255,.4),transparent 65%);filter:blur(10px)}

/* ---------- 피날레 ---------- */
.L-split{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.L-checks{margin-top:34px;list-style:none;display:grid;gap:14px}
.L-checks li{position:relative;padding-left:30px;font-size:16px;line-height:1.7;color:#d2d2d7}
.L-checks li::before{content:"";position:absolute;left:0;top:.55em;width:14px;height:8px;border-left:2px solid var(--L-accent);border-bottom:2px solid var(--L-accent);transform:rotate(-45deg)}
.L-cardstage{display:flex;justify-content:center;position:relative}
.L-cardstage::before{content:"";position:absolute;inset:8% 4%;background:radial-gradient(ellipse at center,rgba(255,55,95,.45),rgba(191,90,242,.25) 45%,transparent 70%);filter:blur(40px)}
.ld .compcard{position:relative;width:min(360px,80%);background:#fff;color:#1d1d1f;padding:16px 16px 20px;border-radius:6px;transform:rotate(-3deg);
  box-shadow:0 40px 80px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.08)}
.ld .compcard .cc-meta{color:#6e6e73}

/* ---------- 과정 이후 · 검토 ---------- */
.L-tracks{margin-top:60px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.L-track{border-radius:28px;background:#fff;padding:48px 44px 40px;display:flex;flex-direction:column}
.L-track .L-tag{position:static;display:block;margin-bottom:18px}
.L-track h3{font-family:var(--L-head);font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.L-track p{margin-top:14px;font-size:16px;line-height:1.75;color:var(--L-gray)}
.L-track-rv{margin-top:auto;padding-top:30px}
.L-track-rv .rvp{padding:18px 20px;border-radius:20px;background:var(--L-light)}
.L-track-rv .rv-photo{flex-basis:60px;width:60px;height:60px}
.L-track-rv .rv-photo:not(.rv-logo){background:#ffe1e8;color:var(--L-accent)}
.L-track-rv .rv-photo.rv-logo{background:#fff;box-shadow:0 0 0 1px #e5e5ea}
.L-track-rv .rvp b{font-size:17px;color:var(--L-ink)}
.L-track-rv .rvp small{color:var(--L-gray)}
.L-fine{margin-top:26px;font-size:13px;color:var(--L-gray)}

/* ---------- 일정 ---------- */
.L-sched{margin-top:60px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.L-scard{border-radius:28px;background:var(--L-light);padding:40px 40px 34px}
.L-scard em{font-style:normal;display:block;font-family:var(--L-head);font-size:14px;font-weight:700;color:var(--L-accent)}
.L-scard h3{margin-top:8px;font-family:var(--L-head);font-size:30px;font-weight:700;letter-spacing:-.02em}
.L-scard dl{margin-top:24px;display:grid;grid-template-columns:72px 1fr;row-gap:12px;font-size:15px;line-height:1.6}
.L-scard dt{color:var(--L-gray);font-family:var(--L-head);font-weight:600}
.ld .cal{margin-top:20px;border:0;border-radius:28px;overflow:hidden;background:var(--L-light)}
.ld .cal-head{border-bottom:0;padding:26px 30px 10px}
.ld .cal-head>b{font-family:var(--L-head);font-size:19px}
.ld .cal-scroll{padding:0 18px 22px}
.ld .cal-t th{background:transparent;border:0;font-family:var(--L-head)}
.ld .cal-t td{border:0;border-radius:12px;background:#fff;height:70px}
.ld .cal-t{border-collapse:separate;border-spacing:6px}
.ld .cal-t td:empty{background:transparent}
.ld .cal-t td.wd{background:#ffe1e8}
.ld .cal-t td.we{background:#e9e4ff}
.ld .cal-t td.x{background:#eceef1}
.ld .cal-t td.x span i{color:#8e8e93}
.ld .cal-legend .lg-wd{background:#ffe1e8;border:0}
.ld .cal-legend .lg-we{background:#e9e4ff;border:0}
.ld .cal-legend .lg-x{background:#eceef1;border:0}
.ld .cal-legend i{border-radius:4px}
.L-place{margin-top:26px;font-size:15px;line-height:1.75;color:var(--L-gray)}
.L-place b{color:var(--L-ink);font-family:var(--L-head);margin-right:6px}

/* ---------- 수강료 ---------- */
.ld .tiers{margin-top:60px;gap:20px}
.ld .tier{border-radius:28px;border:1px solid rgba(255,255,255,.12);background:#161617;padding:46px 40px 40px}
.ld .tier--hi{border:1px solid rgba(255,55,95,.6);background:linear-gradient(180deg,rgba(255,55,95,.12),#161617 55%)}
.ld .tier--hi::before{border-radius:980px;background:var(--L-accent);color:#fff;padding:5px 12px;top:-12px;font-weight:700;letter-spacing:.14em}
.ld .tier em{color:#ff8fab;letter-spacing:.2em}
.ld .price-num{font-family:var(--L-head)}
.ld .price-was{color:#8e8e93}
.ld .price-was small{color:#8e8e93}
.ld .price-num small{color:#ff8fab}
.ld .price-was s{text-decoration-color:var(--L-accent)}
.ld .price-buddy{margin-top:30px;color:#d2d2d7;font-size:15px;line-height:1.75}
.ld .price-buddy b{color:#fff}
.ld .price-note{margin-top:12px;color:#8e8e93;font-size:13.5px;line-height:1.75}

/* ---------- FAQ ---------- */
.ld .faq{margin-top:46px;max-width:none}
.ld .faq details{border-bottom:1px solid #d2d2d7;padding:26px 0}
.ld .faq summary{font-family:var(--L-head);font-size:19px;font-weight:600;letter-spacing:-.01em}
.ld .faq summary::after{color:var(--L-accent);font-weight:300;font-size:26px}
.ld .faq p{font-size:16px;color:var(--L-gray)}

/* ---------- 마지막 CTA ---------- */
.L-final{background:radial-gradient(ellipse 60% 70% at 50% 100%,rgba(255,55,95,.22),transparent 70%),#000;color:#f5f5f7;text-align:center;padding:160px 24px}
.L-final .L-h1{margin-top:0}
.L-final .L-btn{margin-top:38px}

/* ---------- 하단 ---------- */
.ld .ft{background:var(--L-light);color:var(--L-gray)}
.ld .ft-cau-mark{filter:brightness(0) opacity(.55)}
.ld .ft-cau-name{color:var(--L-ink)}
.ld .ft small{color:var(--L-gray)}

/* ---------- 반응형 ---------- */
@media (max-width:1000px){
  .ld .hd-nav{display:none}
}
@media (max-width:860px){
  .L-sec{padding:96px 0}
  .L-hero{padding:calc(52px + 72px) 20px 80px}
  .L-stats-in{grid-template-columns:repeat(2,1fr);row-gap:40px}
  .L-cols3{grid-template-columns:1fr;gap:28px;margin-top:50px}
  .L-bento{grid-template-columns:1fr}
  .L-tile,.L-tile--a,.L-tile--b,.L-tile--c,.L-tile--d{grid-column:auto;min-height:300px;padding:36px 30px}
  .L-tag{left:30px;top:30px}
  .L-split{grid-template-columns:1fr;gap:56px}
  .L-tracks,.L-sched{grid-template-columns:1fr}
  .L-track{padding:38px 28px 30px}
  .L-scard{padding:32px 28px 28px}
  .L-wrap{padding:0 20px}
  .L-hero-rv{padding:22px 20px}
  .L-rv-row{gap:18px;flex-direction:column;align-items:flex-start;max-width:280px;margin-left:auto;margin-right:auto}
  .ld .tier{padding:40px 28px 32px}
  .L-final{padding:110px 20px}
}
.ld section{scroll-margin-top:52px}
/* 2차 다듬기 */
.L-stats-in{text-align:center}
.L-stat b{font-size:clamp(40px,5vw,64px)}
.ld .faq{padding:0;background:transparent}
.ld .price-buddy{border:0;border-radius:20px;background:rgba(255,255,255,.06);padding:20px 24px;max-width:none}
.L-co{margin-top:14px;font-size:14px;line-height:1.7;color:var(--L-gray)}
.L-co a{font-family:var(--L-head);font-weight:600;color:var(--L-accent);white-space:nowrap}
.L-co a:hover{text-decoration:underline}

/* ---------- 움직임 (2026-10-08, 키위랩 kiwelab.com 의 연출 방식을 참고해 직접 구현) ----------
   ① 방향 있는 등장: data-dir="left|right" 는 대각선에서 떠오른다, 1.4초로 느리게
   ② 섹션 안내선: 소제목(.L-rail) 앞의 점에서 세로선이 자라 내려온다
   ③ 단계 선: 01·02·03 원형 배지를 잇는 선이 왼쪽에서 그려진다(모바일은 세로)
   움직임 줄이기 설정을 켠 사용자에게는 모두 끈다. */
.ld .reveal{opacity:0;transform:translateY(32px);transition:opacity 1.4s cubic-bezier(.16,1,.3,1) var(--d,0s),transform 1.4s cubic-bezier(.16,1,.3,1) var(--d,0s)}
.ld .reveal[data-dir=left]{transform:translate(-56px,28px)}
.ld .reveal[data-dir=right]{transform:translate(56px,28px);--d:.12s}
.ld .reveal.on{opacity:1;transform:none}

.L-rail{position:relative}
.L-rail::before{content:"";position:absolute;left:-30px;top:.42em;width:9px;height:9px;border-radius:50%;background:var(--L-accent);box-shadow:0 0 0 5px rgba(255,55,95,.16)}
.L-rail::after{content:"";position:absolute;left:-26px;top:calc(.42em + 16px);width:1px;height:0;background:linear-gradient(var(--L-accent),rgba(255,55,95,0));transition:height 1.8s cubic-bezier(.16,1,.3,1) .25s}
.L-rail.on::after{height:240px}

.L-steps{position:relative}
.L-steps::before{content:"";position:absolute;top:15px;left:0;width:0;height:1px;background:linear-gradient(90deg,var(--L-accent),#bf5af2);transition:width 1.8s cubic-bezier(.16,1,.3,1) .2s}
.L-steps.on::before{width:100%}
.L-steps em{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:50%;
  background:var(--L-accent);color:#fff !important;font-size:12px !important;margin-bottom:18px !important;box-shadow:0 0 0 6px var(--L-light)}
.L-steps>div{opacity:0;transform:translateY(20px);transition:opacity 1.2s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1)}
.L-steps.on>div{opacity:1;transform:none}
.L-steps.on>div:nth-child(2){transition-delay:.35s}
.L-steps.on>div:nth-child(3){transition-delay:.7s}

@media (max-width:860px){
  .L-rail{padding-left:20px}
  .L-rail::before{left:0}
  .L-rail::after{left:4px}
  .L-rail.on::after{height:160px}
  .L-steps{padding-left:46px}
  .L-steps::before{top:0;left:15px;width:1px;height:0;background:linear-gradient(var(--L-accent),#bf5af2)}
  .L-steps.on::before{width:1px;height:100%}
  .L-steps em{position:absolute;left:-46px;margin:0 !important}
  .L-steps>div{position:relative}
}
@media (prefers-reduced-motion:reduce){
  .ld .reveal,.L-steps>div{opacity:1 !important;transform:none !important;transition:none !important}
  .L-rail::after,.L-steps::before{transition:none}
}
.L-rv-row .rvp--wide{flex-basis:100%;justify-content:center;margin-top:4px}

.ld .rv-photo.rv-logo.rv-logo--dark,.L-track-rv .rv-photo.rv-logo.rv-logo--dark{background:#000;padding:0;box-shadow:none}
.ld .rv-photo.rv-logo--dark img{object-fit:cover}

/* ---------- 모바일 헤더 (2026-10-12 대표 지적: QR로 들어오면 버거가 잘 안 보인다) ----------
   ① 원인: 위 움직임의 data-dir=right 가 등장 전에 박스를 56px 오른쪽으로 밀어 둔다.
      그 폭만큼 문서가 넓어져(375→411px) 고정 헤더도 같이 넓어지고, 버거가 화면 밖으로 반쯤 나갔다.
      → 가로 넘침을 main 에서 잘라내고, 좁은 화면에서는 가로 이동 없이 아래에서만 떠오르게 한다.
   ② 버거 선이 1.5px 라 검은 헤더에서 흐릿했다 → 2px·넓은 터치 영역.
   ③ 유학생용: 560px 이하에서 site.css 가 .hd-util 을 통째로 숨긴다. 랜딩만 언어 버튼을
      버거 바로 아래(헤더 밖 오른쪽)에 떠 있게 꺼낸다. 메뉴가 열리면 메뉴에 가리지 않게 숨긴다. */
.ld main{overflow-x:hidden}
@supports (overflow:clip){.ld main{overflow-x:clip}}
@media (max-width:860px){
  .ld .reveal[data-dir=left],.ld .reveal[data-dir=right]{transform:translateY(28px)}
  .ld .reveal.on{transform:none}
  .ld .hd-burger{padding:12px 10px;margin-right:-6px}
  .ld .hd-burger span{width:24px;height:2px;border-radius:2px}
  .ld .hd-burger.on span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .ld .hd-burger.on span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media (max-width:560px){
  .ld .hd-util{display:flex;position:absolute;top:calc(100% + 8px);right:12px;z-index:55}
  .ld .hd-util > :not(.lang-toggle){display:none}
  .ld .hd-util .lang-toggle{background:rgba(18,18,20,.82);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
    border-color:rgba(255,255,255,.28);box-shadow:0 6px 18px rgba(0,0,0,.25)}
  .ld .hd-util .lang-toggle button{font-size:11.5px;padding:7px 11px;min-height:32px}
  .ld .hd:has(.mnav.open) .hd-util{display:none}
}

/* 중국어는 띄어쓰기가 없어 body 의 word-break:keep-all(한국어용) 아래에서는 문장 전체가 한 덩어리가 된다.
   그 폭만큼 상자가 늘어나 모바일 오른쪽이 잘렸다(2026-10-12 대표 지적). 중국어일 때만 글자 단위 줄바꿈으로 돌린다. */
html[lang^=zh] body{word-break:normal;line-break:strict}

/* 협찬사 캐러셀 (2026-10-12) — 로고+브랜드명이 오른쪽에서 왼쪽으로 끝없이 흐른다. 같은 묶음 두 벌을 이어 붙여 -50% 이동 */
.L-spon{background:#000;color:#f5f5f7;padding:70px 0 60px;overflow:hidden}
.L-spon-h{text-align:center;font-size:15px;font-weight:600;letter-spacing:.08em;color:#a1a1a6}
.L-spon-h small{font-size:inherit;font-weight:500;color:#6e6e73}
.L-spon-vp{margin-top:28px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.L-spon-track{display:flex;width:max-content;animation:L-spon-run 36s linear infinite}
.L-spon-vp:hover .L-spon-track{animation-play-state:paused}
.L-spon-grp{display:flex;flex:0 0 auto}
.L-spon-item{display:flex;align-items:center;gap:16px;padding:0 44px;flex:0 0 auto}
.L-spon-logo{display:flex;align-items:center;justify-content:center;height:56px;padding:0 22px;border-radius:999px;background:#fff}
.L-spon-logo img{height:24px;width:auto;display:block}
.L-spon-name{font-size:19px;font-weight:600;white-space:nowrap}
.L-spon-name small{font-size:14px;font-weight:500;color:#a1a1a6;margin-left:4px}
@keyframes L-spon-run{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.L-spon-track{animation:none}}
@media (max-width:734px){.L-spon{padding:50px 0 40px}.L-spon-item{padding:0 26px}.L-spon-logo{height:46px}.L-spon-logo img{height:20px}.L-spon-name{font-size:16px}}

/* 히어로 검수위원 → 아래 트랙 카드로 내려가는 '자세히 보기' (2026-10-12) */
.rv-more{display:inline-flex;align-items:center;gap:3px;padding:3px 9px 3px 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:11.5px;font-weight:600;color:#f5f5f7;text-decoration:none;white-space:nowrap;flex:0 0 auto;transition:background .2s,border-color .2s}
.rv-more i{font-style:normal;font-size:15px;line-height:1;transform:rotate(90deg);display:inline-block}
.rv-more:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5)}
.L-track[id]{scroll-margin-top:80px}
.rv-nm{display:flex;align-items:center;gap:8px}
.ld .rv-nm b{display:inline}
@media (max-width:734px){.L-rv-row{max-width:330px}.rv-more{font-size:11px;padding:2px 8px 2px 9px}}
.L-spon-logo img.wide{height:17px}
@media (max-width:734px){.L-spon-logo img.wide{height:14px}}
