.hero { position: relative; height: calc(100vh - 80px); min-height: 700px; max-height: 1000px; background: var(--navy); color: #fff; overflow: hidden; }
.hero-slides { position: absolute; inset: 0; }
.hero-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1.4s ease, visibility 1.4s; }
.hero-slide.is-on { opacity: 1; visibility: visible; }
.hero-kv { background: var(--navy) url(../img/kv/kv_bg.jpg) center 58% / cover no-repeat; }
.kv-cluster { position: absolute; top: calc(var(--hd) + 10px); right: max(0px, calc(50% - 760px)); width: min(36vw, 660px); height: auto; animation: float 9s ease-in-out infinite; }
@keyframes float { 50% { transform: translateY(-14px); } }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 7s linear; }
.hero-photo.is-on img { transform: scale(1); }
.hero-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(1, 20, 80, 0.94) 0%, rgba(1, 20, 80, 0.72) 48%, rgba(1, 20, 80, 0.38) 100%); }

.hero-in { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; height: 100%; padding-top: calc(var(--hd) + 2vh); padding-bottom: 118px; }
.hero-eyebrow { position: relative; padding-left: 16px; font-size: min(20px, 2.2vh); font-weight: 500; line-height: 1.45; letter-spacing: -0.01em; }
.hero-eyebrow::before { content: ''; position: absolute; left: 0; top: 6px; bottom: 6px; width: 4px; background: linear-gradient(var(--pink) 0 46%, transparent 46% 54%, var(--violet) 54%); }
.hero-title { margin-top: auto; }
.kv-gate { position: relative; display: block; width: min(150px, 14vh); margin-bottom: 4px; }
.kv-gate img:first-child { width: 100%; }
.kv-flare { position: absolute; left: 34%; top: -55%; width: min(250px, 24vh); max-width: none; mix-blend-mode: screen; pointer-events: none; animation: flare 4s ease-in-out infinite; }
@keyframes flare { 50% { opacity: 0.6; transform: scale(0.92); } }
.hero-slogan img { width: min(400px, 40vh); }
.hero h1 { margin-top: 0.6vh; font-weight: 800; }
.hero h1 .en { display: block; font-family: var(--en); font-size: clamp(44px, min(4.8vw, 8.6vh), 92px); line-height: 1.02; letter-spacing: -0.02em; }
.hero h1 .en em { display: block; font-style: normal; background: linear-gradient(180deg, #ffd0e8 8%, #f89ac9 48%, #e8559f 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero h1 .en b { font-weight: inherit; }
.hero h1 .ko { display: block; margin-top: 1.4vh; font-size: clamp(22px, min(2vw, 3.8vh), 38px); line-height: 1.25; letter-spacing: -0.03em; }
.hero h1 .ko::after { content: ''; display: block; width: 64px; height: 3px; margin-top: 2.4vh; background: #fff; }
.hero-foot { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 48px; margin-top: 2.4vh; }
.hero-meta { flex: none; }
.hero-meta dt { font-family: var(--en); font-size: 14px; font-weight: 600; letter-spacing: 0.16em; color: var(--pink-2); }
.hero-meta dd { margin-top: 4px; font-size: min(20px, 2.3vh); font-weight: 500; line-height: 1.55; }
.hero-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.hero-ctrl { position: absolute; left: 0; right: 0; bottom: 100px; z-index: 3; margin: 0 auto; pointer-events: none; }
.hero-ctrl-in { display: flex; align-items: center; justify-content: flex-end; gap: 16px; pointer-events: auto; }
.hero-play { position: relative; width: 36px; height: 36px; border: 1px solid rgba(255, 255, 255, 0.5); border-radius: var(--r); }
.hero-play span, .v-play span { position: absolute; left: 50%; top: 50%; width: 10px; height: 12px; margin: -6px 0 0 -5px; border-left: 3px solid #fff; border-right: 3px solid #fff; }
.hero-play.is-paused span, .v-play.is-paused span { width: 0; height: 0; margin: -7px 0 0 -4px; border-style: solid; border-width: 7px 0 7px 12px; border-color: transparent transparent transparent #fff; }
.hero-dots { display: flex; gap: 10px; }
.hero-dots button { width: 10px; height: 10px; border: 1px solid #fff; border-radius: 50%; transition: background 0.2s, width 0.3s; }
.hero-dots button.is-on { width: 30px; background: #fff; border-radius: 5px; }

.quick { position: relative; z-index: 4; margin-top: -72px; }
.quick-in { display: flex; background: #fff; border-radius: var(--r); box-shadow: 0 24px 60px rgba(1, 20, 80, 0.16); overflow: hidden; }
.dday { flex: 0 0 270px; display: flex; flex-direction: column; justify-content: center; padding: 30px 34px; background: var(--pink); color: #fff; }
.dday-num { font-family: var(--en); font-size: 54px; font-weight: 800; line-height: 1; letter-spacing: -0.02em; }
.dday.is-live .dday-num { font-size: 34px; }
.dday-txt { margin-top: 12px; font-family: var(--en); font-size: 13px; font-weight: 600; letter-spacing: 0.08em; opacity: 0.9; }
.quick-list { flex: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.quick-list li + li { border-left: 1px solid var(--line); }
.quick-list a { position: relative; display: flex; flex-direction: column; height: 100%; padding: 30px 30px 32px; transition: background 0.25s, color 0.25s; }
.quick-list .no { font-family: var(--en); font-size: 14px; font-weight: 700; color: var(--pink); }
.quick-list strong { margin-top: 10px; font-size: 21px; font-weight: 700; color: var(--ink); transition: color 0.25s; }
.quick-list small { margin-top: 2px; font-family: var(--en); font-size: 12px; font-weight: 600; letter-spacing: 0.1em; color: var(--mute); transition: color 0.25s; }
.quick-list .arr { position: absolute; right: 30px; bottom: 36px; color: var(--ink); transition: color 0.25s, transform 0.25s; }
.quick-list a:hover { background: var(--navy); }
.quick-list a:hover strong, .quick-list a:hover .arr { color: #fff; }
.quick-list a:hover small { color: rgba(255, 255, 255, 0.6); }
.quick-list a:hover .arr { transform: translateX(5px); }

.about { padding-top: 160px; }
.about-in { display: grid; grid-template-columns: minmax(0, 1fr) 540px; gap: 90px; align-items: center; }
.about-desc { margin-top: 30px; font-size: 18px; line-height: 1.85; color: var(--text); }
.about-sum { margin-top: 40px; border-top: 2px solid var(--ink); }
.about-sum div { display: flex; gap: 20px; padding: 15px 4px; border-bottom: 1px solid var(--line); font-size: 16px; }
.about-sum dt { flex: 0 0 52px; font-weight: 700; color: var(--ink); }
.about-sum dd { color: var(--text); }
.about-txt .more { margin-top: 36px; }
.about-poster { position: relative; padding-bottom: 40px; }
.poster-img { display: block; width: 380px; margin-left: auto; border-radius: var(--r); overflow: hidden; box-shadow: 0 30px 60px rgba(1, 20, 80, 0.22); }
.poster-img img { width: 100%; transition: transform 0.6s; }
.poster-img:hover img { transform: scale(1.03); }
.poster-note { position: absolute; left: 0; bottom: 0; width: 290px; padding: 30px 28px 28px; background: linear-gradient(155deg, #0c2378 0%, var(--navy) 55%, #000b36 100%); color: #fff; border-radius: var(--r); }
.poster-note strong { display: block; margin: 12px 0 18px; font-size: 22px; font-weight: 800; line-height: 1.4; }
.tags { display: flex; flex-wrap: wrap; gap: 6px; }
.tags li { padding: 3px 9px; border: 1px solid rgba(248, 154, 201, 0.55); border-radius: var(--r); font-size: 13px; color: rgba(255, 255, 255, 0.88); }
.poster-note .more { margin-top: 22px; font-size: 15px; color: #fff; }

.partners { background: var(--navy); color: #fff; padding-bottom: 0; }
.partners .tit, .partners .more { color: #fff; }
.roll-wrap { border-top: 1px solid rgba(255, 255, 255, 0.14); }
.roll { display: flex; align-items: stretch; border-bottom: 1px solid rgba(255, 255, 255, 0.14); }
.roll-tit { flex: none; display: flex; align-items: center; width: calc(max(var(--gut), (100% - var(--wrap)) / 2) + 150px); padding-left: max(var(--gut), calc((100% - var(--wrap)) / 2)); border-right: 1px solid rgba(255, 255, 255, 0.14); font-size: 16px; font-weight: 700; color: var(--pink-lt); }
.roll-view { flex: 1; min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 60px, #000 calc(100% - 60px), transparent); mask-image: linear-gradient(90deg, transparent 0, #000 60px, #000 calc(100% - 60px), transparent); }
.roll-track { display: flex; align-items: center; width: max-content; height: 124px; animation: roll var(--dur, 60s) linear infinite; }
.roll-rev .roll-track { animation-direction: reverse; }
.roll:hover .roll-track, .roll:focus-within .roll-track { animation-play-state: paused; }
@keyframes roll { to { transform: translateX(-50%); } }
.roll-track li { flex: none; padding: 0 34px; }
.roll-track img { width: auto; height: 42px; max-width: 240px; object-fit: contain; opacity: 0.88; transition: opacity 0.2s; }
.roll-track a:hover img { opacity: 1; }

.highlight { background: var(--bg); }
.hl-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.hl-list li:nth-child(2n) { transition-delay: 0.12s; }
.hl-list a { display: grid; grid-template-columns: 250px minmax(0, 1fr); height: 100%; min-height: 260px; background: #fff; border-radius: var(--r); overflow: hidden; transition: box-shadow 0.3s, transform 0.3s; }
.hl-list a:hover { box-shadow: 0 20px 44px rgba(1, 20, 80, 0.12); transform: translateY(-4px); }
.hl-img { position: relative; overflow: hidden; background: var(--navy); }
.hl-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s; }
.hl-list a:hover .hl-img img { transform: scale(1.06); }
.hl-soon { display: flex; align-items: flex-end; justify-content: center; background: var(--navy) url(../img/kv/kv_bg.jpg) center 30% / cover; }
.hl-soon svg { width: 76%; fill: rgba(248, 154, 201, 0.32); }
.hl-soon span { position: absolute; left: 0; right: 0; top: 50%; margin-top: -10px; text-align: center; font-family: var(--en); font-size: 17px; font-weight: 800; letter-spacing: 0.14em; color: #fff; }
.hl-txt { display: flex; flex-direction: column; align-items: flex-start; padding: 32px 34px; }
.tag { display: inline-block; padding: 3px 10px; border: 1px solid var(--pink); border-radius: var(--r); font-size: 13px; font-weight: 600; color: var(--pink); }
.hl-txt strong { margin-top: 16px; font-size: 26px; font-weight: 800; line-height: 1.3; color: var(--ink); }
.hl-sub { margin-top: 8px; font-size: 15px; color: var(--mute); }
.hl-when { margin-top: auto; padding-top: 18px; font-size: 15px; font-weight: 600; color: var(--ink); }
.hl-txt .more { margin-top: 14px; font-size: 15px; color: var(--pink); }

.promo { position: relative; background: var(--deep); color: #fff; }
.promo-video { position: relative; aspect-ratio: 5 / 2; max-height: 86vh; width: 100%; overflow: hidden; }
.promo-video video { width: 100%; height: 100%; object-fit: cover; }
.promo-video::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 45%; background: linear-gradient(transparent, rgba(0, 11, 51, 0.85)); pointer-events: none; }
.promo-bar { position: absolute; left: 0; right: 0; bottom: 46px; z-index: 2; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.promo-tit { font-size: 28px; font-weight: 800; line-height: 1.35; }
.promo-tit .label { display: block; margin-bottom: 8px; color: var(--pink-lt); }
.promo-tit i { font-style: normal; font-weight: 300; margin: 0 6px; opacity: 0.6; }
.promo-ctrl { display: flex; gap: 8px; flex: none; }
.v-play { position: relative; width: 48px; height: 48px; border: 1px solid rgba(255, 255, 255, 0.6); border-radius: var(--r); }
.v-sound { height: 48px; padding: 0 20px 0 44px; position: relative; border: 1px solid rgba(255, 255, 255, 0.6); border-radius: var(--r); font-size: 15px; font-weight: 600; }
.v-sound::before { content: ''; position: absolute; left: 18px; top: 50%; width: 6px; height: 8px; margin-top: -4px; background: #fff; }
.v-sound::after { content: ''; position: absolute; left: 20px; top: 50%; width: 0; height: 0; margin-top: -8px; border-style: solid; border-width: 8px 10px 8px 0; border-color: transparent #fff transparent transparent; }
.v-sound[aria-pressed="true"] { padding-left: 58px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='18' viewBox='0 0 14 18'%3E%3Cpath d='M2 6a4 4 0 0 1 0 6M6 3a8 8 0 0 1 0 12' fill='none' stroke='%23011450' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 32px 50% / 14px 18px; color: var(--navy); }
.v-sound[aria-pressed="true"]::before { background: var(--navy); }
.v-sound[aria-pressed="true"]::after { border-right-color: var(--navy); }
.v-play:hover, .v-sound:hover { border-color: #fff; }

.achieve { position: relative; background: var(--navy); color: #fff; overflow: hidden; }
.achieve::before { content: ''; position: absolute; top: 0; bottom: 0; right: 0; width: 64%; background: url(../img/kv/kv_bg.jpg) center 42% / cover no-repeat; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 55%); mask-image: linear-gradient(90deg, transparent 0, #000 55%); opacity: 0.85; }
.achieve-in { position: relative; z-index: 1; }
.achieve-txt { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; }
.achieve-txt .label { width: 100%; }
.achieve .tit { margin-top: 0; color: #fff; }
.achieve .tit b { color: var(--pink-lt); }
.achieve .more { color: #fff; }
.achieve-num { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 70px; border-top: 1px solid rgba(255, 255, 255, 0.3); }
.achieve-num li { padding: 40px 30px 10px 0; }
.achieve-num li + li { padding-left: 30px; border-left: 1px solid rgba(255, 255, 255, 0.14); }
.achieve-num strong { display: flex; align-items: flex-start; font-family: var(--en); font-size: 58px; font-weight: 800; line-height: 1; letter-spacing: -0.02em; }
.achieve-num sup { margin-left: 4px; font-size: 30px; line-height: 1; color: var(--pink-2); }
.achieve-num p { margin-top: 16px; font-size: 17px; font-weight: 500; color: rgba(255, 255, 255, 0.72); }

.sched-hd { text-align: center; }
.sched-tab { display: inline-flex; margin-top: 34px; border: 1px solid var(--navy); border-radius: var(--r); overflow: hidden; }
.sched-tab button { height: 52px; padding: 0 34px; font-size: 16px; font-weight: 700; color: var(--navy); transition: background 0.2s, color 0.2s; }
.sched-tab button.active { background: var(--navy); color: #fff; }
.sched-panel { margin-top: 50px; }
.cate { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.cate li + li { border-left: 1px solid var(--line); }
.cate button { position: relative; display: flex; flex-direction: column; align-items: center; width: 100%; padding: 24px 8px 22px; transition: background 0.2s; }
.cate .no { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; font-family: var(--en); font-size: 14px; font-weight: 700; color: var(--pink); transition: background 0.2s, color 0.2s, border-color 0.2s; }
.cate strong { margin-top: 12px; font-size: 17px; font-weight: 700; color: var(--ink); }
.cate small { margin-top: 2px; font-family: var(--en); font-size: 11px; font-weight: 600; letter-spacing: 0.08em; color: var(--mute); }
.cate button:hover { background: var(--bg); }
.cate button.is-on { background: var(--navy); }
.cate button.is-on .no { background: var(--pink); border-color: var(--pink); color: #fff; }
.cate button.is-on strong { color: #fff; }
.cate button.is-on small { color: rgba(255, 255, 255, 0.6); }
.pg-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 40px; min-height: 154px; }
.pg-list li { animation: fadeUp 0.5s ease both; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(16px); } }
.pg-list a { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 22px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: var(--r); transition: border-color 0.2s, box-shadow 0.2s; }
.pg-list a:hover { border-color: var(--navy); box-shadow: 0 14px 30px rgba(1, 20, 80, 0.08); }
.pg-img { position: relative; aspect-ratio: 6 / 5; border-radius: var(--r); overflow: hidden; background: var(--navy); }
.pg-img img { width: 100%; height: 100%; object-fit: cover; }
.pg-img.hl-soon span { font-size: 12px; }
.pg-cate { font-size: 13px; font-weight: 700; color: var(--pink); }
.pg-txt strong { display: block; margin-top: 6px; font-size: 19px; font-weight: 800; line-height: 1.35; color: var(--ink); }
.pg-txt p { margin-top: 8px; font-size: 14px; line-height: 1.6; color: var(--mute); }
.sched-more { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 50px; }
.map-box { border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.map-box img { width: 100%; }

@media (max-width: 1279px) {
    .about-in { grid-template-columns: minmax(0, 1fr) 470px; gap: 60px; }
    .poster-img { width: 330px; }
    .quick-list a { padding: 26px 22px 28px; }
    .quick-list strong { font-size: 19px; }
    .quick-list .arr { right: 22px; }
    .dday { flex-basis: 230px; padding: 26px 28px; }
    .dday-num { font-size: 46px; }
    .hl-list a { grid-template-columns: 200px minmax(0, 1fr); }
    .hl-txt { padding: 28px; }
    .hl-txt strong { font-size: 23px; }
    .achieve-num strong { font-size: 48px; }
    .pg-list a { grid-template-columns: 120px minmax(0, 1fr); gap: 16px; }
}

@media (max-width: 1023px) {
    .hero { height: auto; min-height: 0; max-height: none; }
    .kv-cluster { width: 46vw; right: -2vw; animation: none; }
    .kv-flare { animation: none; }
    .hero-in { padding-top: calc(var(--hd) + 30px); padding-bottom: 120px; }
    .hero-title { margin-top: 8vw; }
    .hero-eyebrow { font-size: 16px; }
    .kv-gate { width: 110px; }
    .kv-flare { width: 170px; }
    .hero-slogan img { width: 320px; }
    .hero h1 .en { font-size: 7.4vw; }
    .hero h1 .ko { font-size: 24px; }
    .quick-in { flex-direction: column; }
    .dday { flex-basis: auto; flex-direction: row; align-items: center; justify-content: space-between; padding: 20px 28px; }
    .dday-num { font-size: 40px; }
    .dday-txt { margin-top: 0; }
    .quick-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .quick-list li:nth-child(3) { border-left: 0; }
    .quick-list li:nth-child(n+3) { border-top: 1px solid var(--line); }
    .about { padding-top: 110px; }
    .about-in { grid-template-columns: minmax(0, 1fr); gap: 60px; }
    .about-poster { max-width: 560px; }
    .hl-list { gap: 20px; }
    .hl-list a { grid-template-columns: minmax(0, 1fr); grid-template-rows: 220px auto; }
    .hl-txt { padding: 26px 24px 28px; }
    .hl-txt strong { font-size: 21px; }
    .promo-video { aspect-ratio: 16 / 9; }
    .promo-tit { font-size: 22px; }
    .achieve::before { width: 100%; opacity: 0.5; }
    .achieve-num { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .achieve-num li:nth-child(3) { padding-left: 0; border-left: 0; }
    .achieve-num li:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, 0.14); }
    .achieve-num li { padding-bottom: 36px; }
    .cate { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .cate li:nth-child(4) { border-left: 0; }
    .cate li:nth-child(n+4) { border-top: 1px solid var(--line); }
    .pg-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .hero { min-height: 0; }
    .kv-cluster { top: calc(var(--hd) + 2px); right: -6vw; width: 50vw; opacity: 0.9; }
    .hero-in { padding-top: calc(var(--hd) + 14px); padding-bottom: 46px; }
    .hero-eyebrow { font-size: 12px; padding-left: 10px; }
    .hero-eyebrow::before { width: 3px; top: 3px; bottom: 3px; }
    .hero-title { margin-top: 20px; }
    .kv-gate { width: 64px; margin-bottom: 2px; }
    .kv-flare { width: 96px; }
    .hero-slogan img { width: 210px; }
    .hero h1 { margin-top: 4px; }
    .hero h1 .en { font-size: 7.8vw; line-height: 1.05; }
    .hero h1 .ko { margin-top: 8px; font-size: 17px; }
    .hero h1 .ko::after { display: none; }
    .hero-foot { margin-top: 10px; }
    .hero-meta dt { display: none; }
    .hero-meta dd { margin-top: 0; font-size: 13px; line-height: 1.5; color: rgba(255, 255, 255, 0.85); }
    .hero-btns { display: none; }
    .hero-ctrl { bottom: 50px; }
    .hero-play { width: 26px; height: 26px; }
    .hero-play span { width: 8px; height: 10px; margin: -5px 0 0 -4px; border-width: 0 2px; }
    .hero-dots { gap: 6px; }
    .hero-dots button { width: 7px; height: 7px; }
    .hero-dots button.is-on { width: 18px; }
    .quick { margin-top: -26px; }
    .dday { padding: 10px 16px; }
    .dday-num { font-size: 24px; }
    .dday.is-live .dday-num { font-size: 18px; }
    .dday-txt { font-size: 10px; }
    .quick-list a { padding: 11px 14px 12px; }
    .quick-list .no { font-size: 11px; }
    .quick-list strong { margin-top: 2px; font-size: 14px; }
    .quick-list small { display: none; }
    .quick-list .arr { right: 12px; bottom: auto; top: 50%; width: 12px; margin-top: -5px; }
    .about { padding-top: 80px; }
    .about-desc { margin-top: 20px; font-size: 15px; }
    .about-desc br { display: none; }
    .about-sum { margin-top: 28px; }
    .about-sum div { gap: 12px; padding: 12px 2px; font-size: 14px; }
    .about-sum dt { flex-basis: 40px; }
    .about-in { gap: 44px; }
    .about-poster { padding-bottom: 0; }
    .poster-img { width: 100%; max-width: 320px; margin: 0 auto; }
    .poster-note { position: relative; left: 0; bottom: 0; width: 100%; margin-top: -40px; padding: 26px 22px; }
    .poster-note strong { font-size: 19px; }
    .roll-wrap { padding-top: 0; }
    .roll { flex-direction: column; }
    .roll-tit { width: auto; padding: 16px var(--gut) 0; border-right: 0; font-size: 14px; }
    .roll-track { height: 84px; }
    .roll-track li { padding: 0 20px; }
    .roll-track img { height: 30px; max-width: 170px; }
    .roll-view { -webkit-mask-image: none; mask-image: none; }
    .hl-list { display: flex; gap: 14px; margin: 0 calc(var(--gut) * -1); padding: 0 var(--gut) 6px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 var(--gut); scrollbar-width: none; }
    .hl-list::-webkit-scrollbar { display: none; }
    .hl-list li { flex: 0 0 80%; scroll-snap-align: start; opacity: 1; transform: none; }
    .hl-list a { grid-template-columns: minmax(0, 1fr); grid-template-rows: 190px auto; min-height: 0; }
    .hl-list a:hover { transform: none; }
    .hl-txt { padding: 22px 20px 24px; }
    .tag { font-size: 12px; }
    .hl-txt strong { margin-top: 12px; font-size: 20px; }
    .hl-sub, .hl-when { font-size: 14px; }
    .hl-soon span { font-size: 14px; }
    .promo-video { aspect-ratio: 16 / 10; }
    .promo-video::after { display: none; }
    .promo-bar { position: static; flex-direction: column; align-items: flex-start; gap: 16px; padding-top: 22px; padding-bottom: 28px; }
    .promo-tit { font-size: 18px; }
    .promo-tit .label { margin-bottom: 6px; }
    .v-play { width: 42px; height: 42px; }
    .v-sound { height: 42px; font-size: 14px; }
    .achieve-txt { flex-direction: column; align-items: flex-start; }
    .achieve-num { margin-top: 40px; }
    .achieve-num li { padding: 26px 12px 22px 0; }
    .achieve-num li + li { padding-left: 14px; }
    .achieve-num li:nth-child(3) { padding-left: 0; }
    .achieve-num strong { font-size: 32px; }
    .achieve-num sup { font-size: 18px; }
    .achieve-num p { margin-top: 10px; font-size: 14px; }
    .sched-tab { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); width: 100%; margin-top: 24px; }
    .sched-tab button { height: 46px; padding: 0 8px; font-size: 14px; }
    .sched-panel { margin-top: 28px; }
    .cate { display: flex; gap: 8px; margin: 0 calc(var(--gut) * -1); padding: 0 var(--gut); border: 0; overflow-x: auto; scrollbar-width: none; }
    .cate::-webkit-scrollbar { display: none; }
    .cate li, .cate li + li, .cate li:nth-child(n+4) { flex: none; border: 0; }
    .cate button { flex-direction: row; gap: 6px; width: auto; padding: 0 14px; height: 40px; border: 1px solid var(--line); border-radius: var(--r); white-space: nowrap; }
    .cate .no { width: auto; height: auto; border: 0; font-size: 13px; background: none; }
    .cate button.is-on .no { background: none; color: var(--pink-lt); }
    .cate strong { margin-top: 0; font-size: 14px; }
    .cate small { display: none; }
    .cate button.is-on { border-color: var(--navy); }
    .pg-list { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 20px; min-height: 0; }
    .pg-list a { grid-template-columns: 104px minmax(0, 1fr); gap: 14px; padding: 12px; }
    .pg-txt strong { font-size: 16px; }
    .pg-txt p { font-size: 13px; }
    .pg-cate { font-size: 12px; }
    .sched-more { margin-top: 30px; }
    .sched-more .btn { width: 100%; }
    .map-box { overflow-x: auto; }
}
