@font-face { font-family:"Pretendard"; src:url("https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Thin.woff2") format("woff2"); font-weight:100; font-display:swap; }
@font-face { font-family:"Pretendard"; src:url("https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraLight.woff2") format("woff2"); font-weight:200; font-display:swap; }
@font-face { font-family:"Pretendard"; src:url("https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Light.woff2") format("woff2"); font-weight:300; font-display:swap; }
@font-face { font-family:"Pretendard"; src:url("https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Regular.woff2") format("woff2"); font-weight:400; font-display:swap; }
@font-face { font-family:"Pretendard"; src:url("https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Medium.woff2") format("woff2"); font-weight:500; font-display:swap; }
@font-face { font-family:"Pretendard"; src:url("https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-SemiBold.woff2") format("woff2"); font-weight:600; font-display:swap; }
@font-face { font-family:"Pretendard"; src:url("https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Bold.woff2") format("woff2"); font-weight:700; font-display:swap; }
@font-face { font-family:"Pretendard"; src:url("https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraBold.woff2") format("woff2"); font-weight:800; font-display:swap; }
@font-face { font-family:"Pretendard"; src:url("https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Black.woff2") format("woff2"); font-weight:900; font-display:swap; }

:root { --ink:#0a1020; --paper:#f3f0ea; --acid:#b8ff51; --violet:#8c6bff; --mist:#bfc7dc; --red:#ff5a59; --line:rgba(16,24,48,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Pretendard", Arial, sans-serif; font-size:17px; line-height:1.65; word-break:keep-all; overflow-wrap:break-word; }
button, a { font:inherit; } button { cursor:pointer; } a { color:inherit; text-decoration:none; }
.container { width:min(1180px, calc(100% - 64px)); margin:0 auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }.skip-link { position:fixed; left:12px; top:-60px; z-index:100; padding:8px 12px; background:#fff; color:#000; }.skip-link:focus { top:12px; }
.site-header { position:fixed; z-index:10; top:0; right:0; left:0; display:flex; align-items:center; justify-content:space-between; width:100%; height:95px; padding:0 max(32px, calc((100vw - 1180px) / 2)); color:#fff; border-bottom:1px solid rgba(255,255,255,.18); transition:background-color .25s ease,backdrop-filter .25s ease,box-shadow .25s ease; }
.site-header.is-scrolled { background:rgba(8,13,30,.7); border-bottom-color:rgba(255,255,255,.14); -webkit-backdrop-filter:blur(18px) saturate(150%); backdrop-filter:blur(18px) saturate(150%); box-shadow:0 9px 24px rgba(2,5,16,.14); }
.brand { display:inline-flex; align-items:center; gap:10px; color:inherit; font-family:"DM Mono", monospace; font-size:10px; font-weight:500; letter-spacing:.12em; line-height:1.25; }.brand strong { font-size:15px; letter-spacing:.1em; }.brand-mark { color:var(--acid); font-size:24px; line-height:1; }
.main-nav { display:flex; gap:29px; margin-left:auto; margin-right:34px; }.main-nav a { position:relative; color:#fff; font-family:"DM Mono", monospace; font-size:12px; letter-spacing:.04em; }.main-nav a::after { content:""; position:absolute; right:0; bottom:-7px; left:0; height:1px; background:var(--acid); transform:scaleX(0); transition:transform .25s; }.main-nav a:hover::after { transform:scaleX(1); }
.header-apply { border:0; padding:11px 17px; background:var(--acid); color:var(--ink); font-weight:800; font-size:13px; }.header-apply span { margin-left:8px; }.menu-toggle { display:none; }
.hero { position:relative; display:flex; min-height:800px; height:100svh; overflow:hidden; color:#fff; isolation:isolate; background:#050814; }.hero-background { position:absolute; z-index:-3; inset:0; background:linear-gradient(90deg, rgba(4,6,18,.9) 0%,rgba(4,6,18,.58) 48%,rgba(4,6,18,.79) 100%), url("assets/hero-yeongyang-night-sky.png") center / cover; filter:saturate(.88) contrast(1.04); transform:translate3d(var(--hero-offset-x, 0px),var(--hero-offset-y, 0px),0) scale(1.04); transition:transform .65s cubic-bezier(.22,1,.36,1); will-change:transform; }.hero-background::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 72% 11%, rgba(159,109,255,.22), transparent 28%), linear-gradient(0deg, rgba(5,8,20,.7), transparent 42%); }.hero-grain { position:absolute; z-index:-1; inset:0; opacity:.25; background-image:radial-gradient(rgba(255,255,255,.48) .55px,transparent .75px); background-size:6px 6px; mix-blend-mode:soft-light; }
.hero-stars { position:absolute; z-index:-2; inset:0; overflow:hidden; pointer-events:none; }.twinkle { position:absolute; display:block; width:3px; height:3px; border-radius:50%; background:#fff; box-shadow:0 0 10px 3px rgba(216,229,255,.82); animation:twinkle 3.6s ease-in-out infinite; }.twinkle:nth-child(1) { top:16%; left:12%; animation-delay:-.6s; }.twinkle:nth-child(2) { top:25%; left:34%; animation-delay:-2.1s; }.twinkle:nth-child(3) { top:12%; left:56%; animation-delay:-1.4s; }.twinkle:nth-child(4) { top:29%; left:72%; animation-delay:-3.2s; }.twinkle:nth-child(5) { top:43%; left:86%; animation-delay:-.9s; }.twinkle:nth-child(6) { top:61%; left:18%; animation-delay:-2.8s; }.twinkle:nth-child(7) { top:54%; left:49%; animation-delay:-1.7s; }.twinkle:nth-child(8) { top:72%; left:78%; animation-delay:-.2s; }.shooting-star { position:absolute; display:block; width:0; height:1px; opacity:0; background:linear-gradient(90deg,rgba(255,255,255,0),rgba(222,237,255,.94),rgba(255,255,255,0)); box-shadow:0 0 7px rgba(220,235,255,.7); transform:rotate(-28deg); animation:shooting-star 18s linear infinite; }.shooting-star-one { top:14%; left:68%; animation-delay:-2s; }.shooting-star-two { top:34%; left:82%; animation-delay:-9s; animation-duration:23s; }.shooting-star-three { top:8%; left:45%; animation-delay:-15s; animation-duration:27s; }.hero-content, .hero-meta, .scroll-cue { z-index:1; }
@keyframes twinkle { 0%,100% { opacity:.2; transform:scale(.65); } 50% { opacity:1; transform:scale(1.45); } } @keyframes shooting-star { 0%,82% { width:0; opacity:0; transform:translate3d(0,0,0) rotate(-28deg); } 83% { width:0; opacity:0; } 84% { width:150px; opacity:1; } 88% { width:195px; opacity:0; transform:translate3d(-220px,145px,0) rotate(-28deg); } 89%,100% { width:0; opacity:0; transform:translate3d(-220px,145px,0) rotate(-28deg); } }
@media (prefers-reduced-motion:reduce) { .hero-background { transform:scale(1.02); transition:none; }.twinkle, .shooting-star { animation:none; }.twinkle { opacity:.65; } }
.hero-content { align-self:center; padding-top:87px; }.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 21px; color:var(--acid); font-family:"DM Mono",monospace; font-size:11px; letter-spacing:.08em; }.eyebrow span { display:inline-block; width:24px; height:1px; background:currentColor; }.eyebrow.dark { color:#4437a1; }
.hero-actions.split-cta .button-contest { min-width:232px; gap:11px; padding:11px 16px; border:1px solid rgba(184,255,81,.67); color:#fff; background:rgba(13,22,43,.72); box-shadow:inset 0 0 0 1px rgba(255,255,255,.05); backdrop-filter:blur(8px); }.button-contest:hover { border-color:#e8ffc3; color:#fff; background:rgba(18,31,57,.94); box-shadow:0 8px 24px rgba(0,0,0,.25),inset 0 0 0 1px rgba(184,255,81,.2); }.contest-icon { display:grid; width:28px; height:28px; flex:0 0 28px; place-items:center; border:1px solid currentColor; border-radius:50%; color:var(--acid); }.button-contest:hover .contest-icon { color:var(--acid); }.contest-icon svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; }.button-contest .button-arrow { margin-left:auto; font-size:20px; line-height:1; }
.hero h1, h2, h3 { margin:0; font-family:"Gowun Batang",serif; line-height:1.13; letter-spacing:-.075em; }.hero h1 { max-width:720px; font-size:clamp(63px, 7.7vw, 112px); font-weight:700; }.hero h1 em, h2 em, h3 em { color:var(--acid); font-style:normal; }.hero h1 span { color:#d6ccff; }.hero-copy { max-width:530px; margin:25px 0 30px; color:#e4e7f1; font-size:17px; }.hero-actions { display:flex; align-items:center; gap:28px; }.button { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:51px; padding:13px 21px; border:0; font-weight:800; transition:transform .2s, background .2s; }.button:hover { transform:translateY(-3px); }.button-primary { background:var(--acid); color:var(--ink); }.button-primary span { font-size:21px; }.text-link { padding-bottom:4px; border-bottom:1px solid rgba(255,255,255,.6); color:#fff; font-weight:600; }.text-link span { margin-left:8px; color:var(--acid); }
.hero h1 > .hero-line { display:block; color:inherit; white-space:nowrap; }.hero h1 .hero-accent { color:#d6ccff; }
.hero-concept { margin:0 0 10px; color:#d6ccff; font-family:"Gowun Batang",serif; font-size:clamp(19px,1.7vw,27px); font-weight:700; letter-spacing:-.07em; line-height:1.25; }.hero .hero-contest-title { max-width:none; font-size:clamp(42px,5.2vw,74px); line-height:1.16; }
.hero-meta { position:absolute; right:0; bottom:0; left:0; display:grid; grid-template-columns:repeat(3,1fr); color:#fff; border-top:1px solid rgba(255,255,255,.24); }.hero-meta div { min-height:103px; padding:19px 25px; border-left:1px solid rgba(255,255,255,.24); }.hero-meta div:first-child { border-left:0; padding-left:0; }.hero-meta span, .hero-meta small { display:block; font-family:"DM Mono",monospace; font-size:9px; letter-spacing:.09em; }.hero-meta span { color:var(--acid); }.hero-meta strong { display:block; margin:3px 0; font-family:"DM Mono",monospace; font-size:18px; letter-spacing:.02em; }.hero-meta small { color:#cbd0df; }.scroll-cue { position:absolute; right:36px; bottom:142px; display:flex; flex-direction:column; align-items:center; gap:10px; font-family:"DM Mono",monospace; font-size:9px; letter-spacing:.11em; writing-mode:vertical-rl; }.scroll-cue i { width:1px; height:39px; background:var(--acid); }
.section { padding:140px 0; }.intro-grid { display:grid; grid-template-columns:29% 1fr; gap:5%; }.section-index { margin:5px 0 0; color:#5d6392; font-family:"DM Mono",monospace; font-size:10px; letter-spacing:.09em; }.intro h2, .programs h2, .experience h2, .faq h2 { max-width:750px; font-size:clamp(43px,5vw,73px); }.intro .lead { max-width:630px; margin:27px 0 14px; font-size:19px; font-weight:600; line-height:1.8; }.body-copy { max-width:630px; margin:0; color:#596171; }.intro-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:21px; margin-top:52px; padding-top:23px; border-top:1px solid var(--line); }.intro-facts div { display:flex; flex-direction:column; gap:7px; }.intro-facts b { color:#5a3fd1; font-family:"DM Mono",monospace; font-size:13px; }.intro-facts span { font-size:14px; line-height:1.55; }
.festival-strip { overflow:hidden; padding:20px 0; color:#0b1020; background:var(--acid); white-space:nowrap; }.festival-strip p { margin:0; font-family:"DM Mono",monospace; font-size:18px; font-weight:500; letter-spacing:.06em; }.festival-strip i { margin:0 30px; color:#6146db; font-style:normal; }
.programs { background:#e5e0d6; }.section-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:51px; }.section-heading h2 { margin-top:19px; }.section-heading > p { margin:0 0 10px; color:#576071; text-align:right; }.program-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }.program-card { display:grid; grid-template-columns:45% 55%; min-height:530px; overflow:hidden; background:#111a32; color:#fff; }.program-card.music-card { background:#503f9e; }.card-image { overflow:hidden; }.card-image img { width:100%; height:100%; object-fit:cover; filter:brightness(.8) saturate(.85); transition:transform .55s; }.program-card:hover .card-image img { transform:scale(1.06); }.card-content { display:flex; flex-direction:column; padding:36px 30px 29px; }.card-number { margin:0 0 14px; color:var(--acid); font-family:"DM Mono",monospace; font-size:10px; letter-spacing:.1em; }.card-content h3 { font-size:clamp(31px,3vw,47px); }.music-card h3 em { color:#d9d1ff; }.card-content > p:not(.card-number) { margin:17px 0; color:#d6dbeb; font-size:13px; line-height:1.7; }.spec-list { margin:auto 0 18px; padding:0; border-top:1px solid rgba(255,255,255,.26); list-style:none; }.spec-list li { display:flex; justify-content:space-between; gap:8px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.18); font-size:11px; }.spec-list span { color:#bfc8de; }.spec-list b { text-align:right; font-weight:600; }.spec-list small, .timeline small { color:var(--acid); font-size:9px; }.card-link { width:max-content; padding-bottom:4px; border-bottom:1px solid var(--acid); color:var(--acid); font-size:12px; font-weight:700; }.card-link span { margin-left:8px; }.notice { margin:18px 0 0; color:#6a7180; font-size:11px; }
.schedule { color:#fff; background:#0b1020 url("assets/night-photo.png") right center/47% auto no-repeat; }.schedule::before { content:""; position:absolute; }.schedule-layout { display:grid; grid-template-columns:39% 1fr; gap:11%; }.schedule h2 { margin:18px 0; font-size:clamp(48px,5.7vw,78px); }.schedule-layout > div > p:last-child { max-width:330px; color:#c8cede; }.section-index.light { color:#b4a8ff; }.timeline { margin:0; padding:0; list-style:none; }.timeline li { display:grid; grid-template-columns:58px 1fr; gap:23px; padding:0 0 31px; position:relative; }.timeline li:not(:last-child)::before { content:""; position:absolute; top:24px; bottom:2px; left:10px; width:1px; background:rgba(184,255,81,.45); }.timeline li > span { display:grid; width:21px; height:21px; place-items:center; border:1px solid var(--acid); border-radius:50%; color:var(--acid); font-family:"DM Mono",monospace; font-size:8px; }.timeline b { display:block; color:var(--acid); font-family:"DM Mono",monospace; font-size:12px; letter-spacing:.06em; }.timeline strong { display:block; margin-top:3px; font-family:"Gowun Batang",serif; font-size:25px; }.timeline p { margin:3px 0 0; color:#b8c0d4; font-size:13px; }
.experience { overflow:hidden; }.experience-grid { display:grid; grid-template-columns:1fr 1fr; min-height:640px; }.experience-image { position:relative; overflow:hidden; }.experience-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 55%,rgba(243,240,234,.3)); }.experience-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.8); }.experience-copy { align-self:center; padding:60px clamp(34px,7vw,110px); }.experience-copy h2 { margin:17px 0 26px; }.experience-copy h2 em { color:#5a42c7; }.experience-copy > p:last-of-type { color:#5d6573; }.experience-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:29px; }.experience-list span { padding:6px 9px; border:1px solid #a5a7b3; color:#343a4c; font-family:"DM Mono",monospace; font-size:9px; letter-spacing:.05em; }
.faq { background:#e5e0d6; }.faq-grid { display:grid; grid-template-columns:35% 1fr; gap:8%; }.faq h2 { margin:16px 0 20px; }.faq-grid > div:first-child > p:last-child { color:#5e6473; }.accordion { border-top:1px solid var(--ink); }.accordion details { border-bottom:1px solid var(--line); }.accordion summary { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:22px 0; font-size:17px; font-weight:700; cursor:pointer; list-style:none; }.accordion summary::-webkit-details-marker { display:none; }.accordion summary span { color:#5e46ca; font-size:25px; font-weight:400; transition:transform .2s; }.accordion details[open] summary span { transform:rotate(45deg); }.accordion details p { max-width:680px; margin:0 45px 24px 0; color:#565e6e; font-size:14px; }
.cta { padding:130px 0; color:#fff; text-align:center; background:linear-gradient(rgba(7,10,25,.52),rgba(7,10,25,.68)),url("assets/night-photo.png") center/cover; }.cta .eyebrow { justify-content:center; }.cta h2 { font-size:clamp(50px,6.5vw,91px); }.cta .large { margin-top:33px; padding:16px 28px; font-size:17px; }.cta-note { margin:16px 0 0; color:#c8cedd; font-size:12px; }.site-footer { padding:48px 0 21px; color:#d4d9e6; background:#090e1d; }.footer-top { display:flex; justify-content:space-between; padding-bottom:44px; }.footer-top p { margin:0; text-align:right; font-size:13px; line-height:1.8; }.footer-bottom { display:flex; justify-content:space-between; padding-top:19px; border-top:1px solid rgba(255,255,255,.14); color:#9098ad; font-family:"DM Mono",monospace; font-size:9px; letter-spacing:.04em; }
.floating-apply { position:fixed; z-index:9; right:25px; bottom:25px; display:flex; align-items:center; gap:11px; padding:11px 14px 11px 18px; border:1px solid rgba(184,255,81,.7); border-radius:999px; box-shadow:0 8px 23px rgba(0,0,0,.25); color:#fff; background:#121a30; font-size:13px; font-weight:800; transition:transform .2s; }.floating-apply:hover { transform:translateY(-3px); }.floating-apply b { display:grid; width:25px; height:25px; place-items:center; border-radius:50%; color:#0c1224; background:var(--acid); font-size:15px; }
.apply-dialog { width:min(500px,calc(100% - 38px)); border:0; padding:46px; color:var(--ink); background:var(--paper); box-shadow:0 24px 70px rgba(0,0,0,.42); }.apply-dialog::backdrop { background:rgba(4,6,18,.78); backdrop-filter:blur(3px); }.apply-dialog h2 { margin:17px 0 14px; font-size:43px; }.apply-dialog > p:last-of-type { margin:0 0 25px; color:#4f5766; }.button-dark { color:#fff; background:#121a30; }.apply-dialog small { display:block; margin-top:18px; color:#707786; font-size:11px; }.dialog-close { position:absolute; top:14px; right:17px; border:0; color:#252b3e; background:transparent; font-size:32px; line-height:1; }
.dialog-fallback-open::before { content:""; position:fixed; z-index:20; inset:0; background:rgba(4,6,18,.78); backdrop-filter:blur(3px); }.apply-dialog.is-open, .choice-dialog.is-open { position:fixed; z-index:21; inset:50% auto auto 50%; display:block; margin:0; transform:translate(-50%,-50%); }
@media (max-width:900px) { .site-header { height:74px; padding:0 24px; }.main-nav { position:absolute; top:74px; right:0; left:0; display:none; flex-direction:column; gap:0; margin:0; padding:13px 24px 23px; background:rgba(8,13,30,.98); border-bottom:1px solid rgba(255,255,255,.14); }.main-nav.is-open { display:flex; }.main-nav a { padding:11px 0; }.header-apply { display:none; }.menu-toggle { display:flex; flex-direction:column; justify-content:center; gap:5px; width:40px; height:40px; padding:0; border:0; background:transparent; }.menu-toggle span:not(.sr-only) { display:block; width:24px; height:1px; margin-left:auto; background:#fff; }.container { width:min(100% - 44px, 680px); }.hero { min-height:700px; }.hero-content { padding-top:86px; }.hero h1 { font-size:clamp(50px,11vw,78px); }.hero-copy { font-size:15px; }.hero-meta { grid-template-columns:1fr 1fr; }.hero-meta div { min-height:90px; padding:14px 12px; }.hero-meta div:first-child { padding-left:0; }.hero-meta div:last-child { display:none; }.hero-meta strong { font-size:14px; }.scroll-cue { display:none; }.section { padding:89px 0; }.intro-grid, .faq-grid { grid-template-columns:1fr; gap:28px; }.section-index { margin:0; }.intro .lead { font-size:17px; }.section-heading { align-items:start; flex-direction:column; gap:19px; }.section-heading > p { text-align:left; }.program-grid { grid-template-columns:1fr; }.program-card { grid-template-columns:39% 61%; min-height:475px; }.schedule { background-size:85% auto; background-position:140% 11%; }.schedule-layout { grid-template-columns:1fr; gap:43px; }.experience-grid { grid-template-columns:1fr; }.experience-image { height:400px; }.experience-image::after { background:linear-gradient(0deg,rgba(243,240,234,.4),transparent 45%); }.experience-copy { padding:60px 0 0; }.footer-top, .footer-bottom { align-items:flex-start; flex-direction:column; gap:21px; }.footer-top p { text-align:left; }.footer-bottom { gap:8px; }.desktop-only { display:none; } }
@media (max-width:550px) { .brand { font-size:8px; }.brand strong { font-size:12px; }.brand-mark { font-size:20px; }.hero { min-height:670px; }.hero-background { background-position:60% center; }.hero h1 { letter-spacing:-.09em; }.hero-actions { align-items:flex-start; flex-direction:column; gap:16px; }.hero-meta { width:calc(100% - 44px); }.hero-meta div { padding-right:5px; }.hero-meta span,.hero-meta small { font-size:7px; }.hero-meta strong { font-size:12px; }.intro-facts { grid-template-columns:1fr; gap:17px; }.intro-facts div { display:grid; grid-template-columns:37px 1fr; align-items:start; }.program-card { grid-template-columns:1fr; }.card-image { height:245px; }.card-content { min-height:0; padding:27px 24px; }.card-content > p:not(.card-number) { margin:13px 0 19px; }.spec-list { margin:0 0 18px; }.section-heading h2, .intro h2, .experience h2, .faq h2 { font-size:45px; }.schedule { background-image:linear-gradient(rgba(11,16,32,.79),rgba(11,16,32,.93)),url("assets/night-photo.png"); background-size:cover; background-position:center; }.timeline li { grid-template-columns:42px 1fr; gap:12px; }.timeline strong { font-size:21px; }.timeline p { font-size:12px; }.experience-image { height:315px; }.accordion summary { font-size:15px; }.accordion details p { margin-right:0; font-size:13px; }.cta { padding:89px 0; }.cta h2 { font-size:48px; }.floating-apply { right:14px; bottom:14px; }.apply-dialog { padding:36px 25px 28px; }.apply-dialog h2 { font-size:37px; } }

/* 한글 UI 텍스트는 Pretendard를 사용하고, 고운바탕은 제목에만 유지합니다. */
body { font-family:"Pretendard", Arial, sans-serif; font-size:17px; line-height:1.65; }
p, li, summary, .guide-table b { text-wrap:pretty; }
.main-nav a { font-family:"Pretendard", Arial, sans-serif; font-size:14px; font-weight:500; letter-spacing:-.02em; }
.header-apply { padding:12px 18px; font-size:15px; }
.hero-copy { font-size:19px; }.button { min-height:54px; padding:13px 23px; font-size:17px; }.text-link { font-size:17px; }
.hero-meta div { min-height:114px; padding-top:21px; padding-bottom:21px; }.hero-meta span, .hero-meta small { font-family:"Pretendard", Arial, sans-serif; font-size:12px; font-weight:500; letter-spacing:-.01em; }.hero-meta strong { margin:4px 0; font-size:22px; }
.intro .lead { font-size:21px; }.body-copy { font-size:17px; }.intro-facts span { font-size:16px; }.intro-facts b { font-size:14px; }
.section-heading > p, .schedule-layout > div > p:last-child, .experience-copy > p:last-of-type, .faq-grid > div:first-child > p:last-child { font-size:17px; }
.program-card { min-height:550px; }.card-number { font-size:11px; }.card-content > p:not(.card-number) { font-size:15px; }.spec-list li { padding:9px 0; font-size:13px; }.card-link { font-size:14px; }.notice { font-size:13px; }
.timeline li { padding-bottom:33px; }.timeline li > span { width:23px; height:23px; font-size:9px; }.timeline li:not(:last-child)::before { top:26px; left:11px; }.timeline b { font-size:14px; }.timeline strong { margin-top:4px; font-size:27px; }.timeline p { margin-top:4px; font-size:15px; }.timeline small, .spec-list small { font-size:10px; }
.experience-list span { padding:7px 10px; font-size:10px; }.accordion summary { padding:23px 0; font-size:18px; }.accordion details p { margin-bottom:25px; font-size:16px; }.cta-note { font-size:14px; }.footer-top p { font-size:15px; }.footer-bottom { font-size:10px; }.floating-apply { padding:12px 15px 12px 19px; font-size:15px; }.floating-apply b { width:27px; height:27px; font-size:16px; }

@media (max-width:900px) { .hero-copy { font-size:17px; }.hero-meta div { min-height:96px; padding-top:15px; padding-bottom:15px; }.hero-meta strong { font-size:17px; }.hero-meta span, .hero-meta small { font-size:10px; }.intro .lead { font-size:19px; }.program-card { min-height:492px; } }
@media (max-width:550px) { .hero { min-height:690px; }.hero-copy { font-size:16px; }.hero-meta strong { font-size:15px; }.hero-meta span, .hero-meta small { font-size:8px; }.timeline strong { font-size:22px; }.timeline p { font-size:14px; }.accordion summary { font-size:16px; }.accordion details p { font-size:14px; } }

.hero h1 { max-width:none; font-size:clamp(26px, 6.4vw, 82px); }
@media (max-width:550px) { .hero h1 { font-size:clamp(27px, 8vw, 36px); letter-spacing:-.085em; }.hero-concept { margin-bottom:8px; font-size:18px; }.hero .hero-contest-title { font-size:clamp(29px,7.8vw,35px); line-height:1.18; } }

.intro h2 { max-width:none; font-size:clamp(24px, 4.6vw, 63px); }
.intro h2 .about-line { display:block; white-space:nowrap; }

.button-outline { border:1px solid rgba(255,255,255,.76); color:#fff; background:rgba(9,14,29,.32); }
.button-outline:hover { border-color:var(--acid); color:var(--acid); }
.split-cta { display:flex; flex-wrap:wrap; gap:12px; }
.hero-actions.split-cta { gap:12px; }
.hero-actions.split-cta .button { min-width:218px; }
.faq-page-link { display:inline-block; margin:0 0 24px; padding-bottom:3px; border-bottom:1px solid #5e46ca; color:#4f38bc; font-size:14px; font-weight:700; }
.page-header { position:fixed; height:84px; padding-top:0; padding-bottom:0; background:#090e1d; }.page-header + main { padding-top:84px; }
.page-hero { position:relative; display:flex; align-items:center; min-height:500px; overflow:hidden; color:#fff; background:#101932; isolation:isolate; }
.page-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(5,9,24,.87),rgba(7,10,28,.54)),url("assets/night-photo.png") center/cover; filter:brightness(.82); }
.page-hero .container { padding:80px 0; }
.page-hero h1 { max-width:760px; font-family:"Gowun Batang",serif; font-size:clamp(55px,6vw,84px); font-weight:700; line-height:1.13; letter-spacing:-.075em; }
.page-hero h1 em { color:var(--acid); font-style:normal; }
.page-hero p:not(.eyebrow) { max-width:560px; margin:21px 0 27px; color:#e0e5ef; font-size:18px; }
.about-hero::before { background:linear-gradient(90deg,rgba(5,9,24,.91),rgba(7,10,28,.48)),url("assets/night-photo.png") center 55%/cover; }
.photo-page-hero::before { background:linear-gradient(90deg,rgba(4,8,22,.9),rgba(7,10,28,.3)),url("assets/night-photo.png") center/cover; }
.music-page-hero::before { background:linear-gradient(90deg,rgba(4,8,22,.88),rgba(7,10,28,.36)),url("assets/night-music.png") center 42%/cover; }
.faq-hero { min-height:370px; }.faq-hero::before { background:linear-gradient(90deg,rgba(5,9,24,.92),rgba(7,10,28,.46)),url("assets/night-music.png") center 35%/cover; }
.faq-hero h1 { font-size:clamp(47px,5vw,72px); }
.page-section { padding:120px 0; }
.statement-grid, .journey-grid, .faq-page-layout { display:grid; grid-template-columns:29% 1fr; gap:7%; }
.statement-grid h2, .detail-intro h2, .page-section h2, .page-apply h2 { font-size:clamp(43px,5vw,69px); }
.statement-grid .lead { max-width:680px; margin:24px 0 16px; font-size:20px; font-weight:600; line-height:1.8; }
.statement-grid p:not(.lead), .detail-intro > p { max-width:680px; color:#596171; font-size:17px; }
.impact-band { color:#fff; background:#57419e; }.impact-band .container { display:grid; grid-template-columns:repeat(3,1fr); }.impact-band div { display:flex; flex-direction:column; gap:8px; min-height:174px; padding:35px 30px; border-left:1px solid rgba(255,255,255,.25); }.impact-band div:first-child { border-left:0; padding-left:0; }.impact-band b { color:var(--acid); font-family:"DM Mono",monospace; font-size:12px; letter-spacing:.07em; }.impact-band span { font-family:"Gowun Batang",serif; font-size:22px; line-height:1.45; }
.dark-section { color:#fff; background:#0b1020; }.journey-grid h2 { margin-top:17px; }.journey-grid .timeline { max-width:690px; }
.detail-intro { display:grid; grid-template-columns:43% 1fr; align-items:start; gap:7%; margin-bottom:31px; }.detail-intro h2 { margin-top:17px; }.detail-intro > p { margin:30px 0 0; }
.section-disclaimer { max-width:1180px; width:min(1180px, calc(100% - 64px)); margin:18px auto 0; padding:13px 16px; border-left:3px solid #5940c9; color:#596171; background:#f1eee7; font-size:14px; line-height:1.65; }
.detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; overflow:hidden; background:#c7c1b5; }.detail-grid > div { min-height:300px; padding:34px 29px; background:#fff; }.detail-grid b { color:#5940c9; font-family:"DM Mono",monospace; font-size:12px; letter-spacing:.07em; }.detail-grid h3 { margin:20px 0 14px; font-size:31px; }.detail-grid p { margin:0; color:#5a6270; font-size:15px; }.music-detail-grid > div { background:#f4f1f7; }
.muted-section { background:#e5e0d6; }.muted-section h2 { margin:16px 0 31px; }.muted-section h2 small { color:#6652bf; font-family:"Pretendard",Arial,sans-serif; font-size:15px; font-weight:500; letter-spacing:-.03em; }.guide-table { border-top:1px solid var(--ink); }.guide-table > div { display:grid; grid-template-columns:25% 1fr; gap:20px; padding:20px 0; border-bottom:1px solid var(--line); }.guide-table span { color:#5a40c4; font-weight:700; }.guide-table b { font-weight:500; }
.page-apply { padding:118px 0; color:#fff; background:linear-gradient(rgba(7,10,25,.62),rgba(7,10,25,.78)),url("assets/night-photo.png") center/cover; text-align:center; }.page-apply .eyebrow { justify-content:center; }.page-apply h2 { margin:0 auto 31px; }.page-apply .split-cta { justify-content:center; }.page-apply > .container > p:last-child { margin:16px 0 0; color:#d3d9e6; font-size:14px; }.photo-apply { background:linear-gradient(rgba(7,10,25,.64),rgba(7,10,25,.82)),url("assets/night-photo.png") center/cover; }.music-apply { background:linear-gradient(rgba(7,10,25,.64),rgba(7,10,25,.82)),url("assets/night-music.png") center 48%/cover; }
.faq-page-layout { grid-template-columns:32% 1fr; }
.photo-page-title, .music-page-title { max-width:none; font-size:clamp(30px,4.6vw,64px) !important; }.photo-page-title > span, .music-page-title > span { display:block; white-space:nowrap; }
@media (min-width:551px) { .photo-card h3, .music-card h3 { font-size:clamp(24px,2vw,32px); line-height:1.3; } }
.choice-dialog { width:min(580px,calc(100% - 38px)); border:0; padding:46px; color:var(--ink); background:var(--paper); box-shadow:0 24px 70px rgba(0,0,0,.42); }.choice-dialog::backdrop { background:rgba(4,6,18,.78); backdrop-filter:blur(3px); }.choice-dialog h2 { margin:17px 0 12px; font-size:43px; }.choice-dialog > p:not(.eyebrow) { margin:0 0 23px; color:#4f5766; }.choice-links { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.choice-links a { position:relative; display:flex; flex-direction:column; gap:8px; min-height:135px; padding:19px; color:#fff; background:#10182f; transition:transform .2s,background .2s; }.choice-links a:hover { background:#5940c9; transform:translateY(-3px); }.choice-links span { color:var(--acid); font-family:"DM Mono",monospace; font-size:10px; letter-spacing:.06em; }.choice-links b { font-size:20px; }.choice-links i { position:absolute; right:17px; bottom:15px; display:grid; width:25px; height:25px; place-items:center; color:#10182f; background:var(--acid); border-radius:50%; font-style:normal; }

@media (max-width:900px) {
  .page-header { height:74px; }.page-header + main { padding-top:74px; }.page-header .main-nav { top:74px; }
  .page-hero { min-height:440px; }.page-hero .container { padding:64px 0; }.page-hero h1 { font-size:clamp(45px,7.5vw,68px); }.page-section { padding:88px 0; }
  .statement-grid, .journey-grid, .faq-page-layout { grid-template-columns:1fr; gap:34px; }.detail-intro { grid-template-columns:1fr; gap:22px; }.detail-intro > p { margin:0; }
  .impact-band .container { grid-template-columns:1fr; }.impact-band div, .impact-band div:first-child { min-height:auto; padding:25px 0; border-top:1px solid rgba(255,255,255,.25); border-left:0; }.impact-band div:first-child { border-top:0; }
  .detail-grid { grid-template-columns:1fr; }.detail-grid > div { min-height:0; }.guide-table > div { grid-template-columns:180px 1fr; }.faq-page-layout .accordion { margin:0; }
}
@media (max-width:550px) {
  .split-cta, .hero-actions.split-cta { align-items:stretch; flex-direction:column; width:100%; }.hero-actions.split-cta .button { width:100%; min-width:0; }
  .page-hero { min-height:405px; }.page-hero .container { padding:54px 0; }.page-hero h1 { font-size:41px; }.page-hero p:not(.eyebrow) { font-size:16px; }
  .page-section { padding:76px 0; }.statement-grid h2, .detail-intro h2, .page-section h2, .page-apply h2 { font-size:43px; }.statement-grid .lead { font-size:18px; }.statement-grid p:not(.lead), .detail-intro > p { font-size:16px; }
  .guide-table > div { grid-template-columns:1fr; gap:3px; padding:17px 0; }.detail-grid h3 { font-size:29px; }.page-apply { padding:82px 0; }.page-apply .button { width:100%; }
  .photo-page-title, .music-page-title { font-size:clamp(25px,7.1vw,29px) !important; letter-spacing:-.09em; }.choice-dialog { padding:36px 25px 27px; }.choice-dialog h2 { font-size:36px; }.choice-links { grid-template-columns:1fr; }.choice-links a { min-height:94px; }.choice-links b { font-size:18px; }
}
