
:root{--ink:#3d233e;--cream:#fff5e3;--paper:#f7e9d2;--berry:#94334e;--gold:#ffdc7d;--line:#43283e30}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:BusanDandiMyeongjo,serif;font-weight:300;font-size:22px;line-height:1.85;word-break:keep-all}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #dc8c30;outline-offset:6px}.skip{position:fixed;top:-100px;left:15px;z-index:100;background:white;padding:14px}.skip:focus{top:15px}.wrap{width:min(1440px,calc(100% - 112px));margin:auto}.section{padding:110px 0}h1,h2,h3,strong.date-display,.floor{font-family:Stella,serif;font-weight:400}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(62px,5.5vw,96px);line-height:1.2;letter-spacing:-.025em;margin-bottom:30px}h3{font-size:clamp(34px,3.1vw,52px);line-height:1.3;letter-spacing:-.025em}em{font-style:normal;color:var(--berry)}.eyebrow,.program-no{font-size:18px;letter-spacing:1px;color:var(--berry);margin-bottom:20px;display:block}.lead{font-size:24px;line-height:1.9;margin-bottom:0}.section-heading{margin-bottom:64px}.nav{position:fixed;top:0;left:0;right:0;z-index:50;height:94px;padding:14px 4%;background:#33203de8;backdrop-filter:blur(16px);border-bottom:1px solid #fff2da20;display:flex;justify-content:space-between;align-items:center;color:var(--cream)}.brand-logo{width:150px;flex-shrink:0}.brand-logo img{width:100%}.nav nav{display:flex;align-items:center;gap:44px;font-size:19px}.nav nav a:hover{color:var(--gold)}
/* Poster artwork remains layered independently during the scroll. */
.hero-track{height:calc(100svh + 850px);min-height:1610px;background:#34223f}.hero{position:sticky;top:0;height:100svh;min-height:760px;max-height:1100px;overflow:hidden;isolation:isolate;background:#34223f}.sky{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 75%,#ffd675 0%,#ee9870 22%,#ca4e56 46%,#6e2849 70%,#25223d 100%);z-index:-5}.hero::after{content:'';position:absolute;inset:0;z-index:10;opacity:.08;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23ffffff' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}.hero-title{position:absolute;top:13%;left:50%;width:560px;margin-left:-280px;text-align:center;z-index:5}.hero-title .eyebrow{color:#fff3d3;font-size:15px;margin-bottom:14px;letter-spacing:3px}.hero-title h1{margin:0;line-height:1}.hero-title h1 img{width:100%}.subtitle{width:49%;margin:14px auto 0}.sun{position:absolute;bottom:22%;left:50%;width:400px;height:400px;margin-left:-200px;border-radius:50%;background:#ffdc8f;box-shadow:0 0 100px 40px #ffce7540;z-index:-3}.sea{position:absolute;top:65%;height:18%;width:100%;background:#1d698d url('assets/sea.png') center/100% 100%;z-index:-2}.sea::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 14px,#ffffff15 15px,transparent 16px);animation:water 8s linear infinite}.ground{position:absolute;bottom:-17%;height:42%;width:100%;background:#8065a3 url('assets/ground.png') center/cover;z-index:0}.building-layer{position:absolute;bottom:-5%;left:50%;width:min(1060px,96%);margin-left:max(-530px,-48%);z-index:2}.building-layer img{width:100%}.fence{position:absolute;width:120%;max-width:none;bottom:-15%;left:-10%;z-index:4;pointer-events:none}.food,.shooting{position:absolute;z-index:3}.food{animation:bob 5s ease-in-out infinite}.prawn{width:110px;left:9%;top:44%}.crab{width:120px;right:9%;top:44%;animation-delay:-2s}.shooting{width:110px;animation:drift 6s ease-in-out infinite}.star1{left:3%;top:37%;rotate:-15deg}.star2{right:2%;top:56%;rotate:-40deg;animation-delay:-3s}.scroll-hint{position:absolute;bottom:58px;left:50%;translate:-50% 0;z-index:11;color:#fff4dc;font-size:14px;letter-spacing:1px;text-align:center;white-space:nowrap}.scroll-hint span{display:block;font-size:28px;line-height:1.3}.hero-date{position:absolute;bottom:20px;left:4%;right:4%;display:flex;justify-content:space-between;color:#fff1c5;z-index:11;font-size:16px;letter-spacing:2px}.parallax{will-change:transform}#particles{position:absolute;inset:0;z-index:6;pointer-events:none}.particle{position:absolute;width:4px;height:4px;background:#fff7da;border-radius:50%;box-shadow:0 0 12px 2px #fff0b0;animation:twinkle var(--duration) ease-in-out infinite alternate;animation-delay:var(--delay)}
.event-overview{background:#39243f;color:var(--cream);padding:64px 0 76px}.overview-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:40px}.overview-heading .eyebrow{color:var(--gold);margin:0;font-size:21px}.admission{font-size:18px;margin:0;border:1px solid #ffdc7d70;padding:9px 20px;border-radius:40px;color:var(--gold)}.event-facts{display:grid;grid-template-columns:1fr .9fr 1.35fr;border-top:1px solid #ffffff35}.event-facts>div{padding:35px 38px 0;border-right:1px solid #ffffff35}.event-facts>div:first-child{padding-left:0}.event-facts>div:last-child{border:0}.fact-label{font-size:17px;display:block;margin-bottom:18px;color:#d1a6bb}.event-facts strong{font-family:Stella,serif;font-weight:400;font-size:clamp(42px,4vw,68px);line-height:1.2;display:block;margin-bottom:15px}.event-facts .date-display{font-size:clamp(70px,7vw,120px);letter-spacing:-4px}.date-display small{font:300 20px BusanDandiMyeongjo,serif;display:block;margin-top:20px;letter-spacing:0}.event-facts .place-display{font-size:clamp(28px,2.5vw,42px);line-height:1.4}.event-facts a,.event-facts>div>span:last-child{font-size:18px}.event-facts a{border-bottom:1px solid #fff4dc70;padding-bottom:6px;display:inline-block;margin-top:20px}
.feature-pair{display:grid;grid-template-columns:1fr 1fr;gap:56px}.feature{min-width:0}.art{position:relative;aspect-ratio:1.4;overflow:hidden;background:#804158}.art :is(img,video){width:100%;height:100%;object-fit:cover;transition:scale .8s}.image-label{position:absolute;left:24px;bottom:24px;background:var(--gold);color:#5c2446;padding:10px 18px;border-radius:2px;font-size:19px}.feature-copy{padding-top:32px}.program-no{margin-bottom:18px}.feature h3{margin-bottom:22px}.feature p{margin-bottom:22px;font-size:22px;line-height:1.9}.key-info{padding-top:20px;border-top:1px solid var(--line);font-size:19px;color:#815463;line-height:1.8}.food-section{background:#f0dbc1;padding:100px 0}.food-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center}.food-art{align-self:stretch;min-height:670px}.food-art :is(img,video){width:100%;height:100%;object-fit:cover}.food-copy h2{font-size:clamp(56px,5vw,84px);margin-bottom:35px}.food-group{margin-top:28px}.food-group h3{font-size:29px;color:var(--berry);margin-bottom:14px}.food-group p{font-size:21px;line-height:2;margin:0}.food-group small{font-size:.8em}.more-program{background:var(--cream)}.more-program .feature h3{font-size:clamp(36px,3vw,49px)}.venue{background:#38243f;color:var(--cream)}.venue .eyebrow{color:var(--gold)}.venue em{color:var(--gold)}.venue-image{display:block;width:100%;padding:0;background:#291d33;border:0;color:var(--cream);cursor:zoom-in}.venue-image img{width:100%}.venue-image span{display:block;padding:17px;font-size:18px;letter-spacing:1px}.floor-guide{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:50px}.floor-guide>div{display:flex;gap:24px;border-top:1px solid #ffffff40;padding-top:30px}.floor{font-size:54px;color:var(--gold);line-height:1.2}.floor-guide h3{font-size:32px;margin:0 0 14px}.floor-guide p{font-size:20px;line-height:1.9;margin-bottom:0}.visit{background:#fff5e3}.access-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:5%}.shuttle-panel{background:#edd9bf;padding:44px}.panel-label{display:block;font-size:20px;color:var(--berry);margin-bottom:28px}.route{display:flex;position:relative;gap:20px;align-items:center;justify-content:space-between;border-bottom:1px solid #40223f40;padding-bottom:32px}.route h3{font-size:46px;margin:12px 0}.route p{font-size:18px;line-height:1.8;margin:0}.route-arrow{font-size:34px;rotate:90deg;color:#a64b5e}.route-dot{display:block;width:13px;height:13px;background:var(--berry);border-radius:100%}.shuttle-meta{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-top:30px}.shuttle-meta span{font-size:17px}.shuttle-meta strong{font-weight:300;display:block;font-size:27px;white-space:nowrap;margin:12px 0}.shuttle-meta p{font-size:18px;line-height:1.8;margin:0}.address-panel{padding:38px 0}.address-panel h3{font-size:42px;margin:0 0 26px}.address{font-size:22px;margin-bottom:32px}.mobile-break{display:none}.map-button{background:var(--ink);color:var(--cream);display:flex;align-items:center;justify-content:space-between;font-size:20px;padding:18px 25px}.text-button{border:0;border-bottom:1px solid #846373;padding:8px 0;margin-top:18px;color:#75465d;background:none;font-size:17px}.copy-status{font-size:16px;min-height:25px;margin:10px 0}.contact{border-top:1px solid var(--line);padding-top:24px;margin:0 0 10px}.contact span{font-size:18px;display:block}.contact a{display:block;font-size:34px;margin-top:10px;letter-spacing:1px}footer{background:#291d33;color:#f3dfc6;padding:40px 4%;display:flex;justify-content:space-between;gap:40px;align-items:flex-end}.copyright{font-size:15px;line-height:2}.copyright p{margin:0}.copyright span{display:inline-block}.footer-logo{width:170px}dialog{padding:0;border:0;max-width:min(700px,94vw);max-height:92svh;background:#33233e}dialog img{width:100%}dialog button{position:sticky;top:12px;float:right;margin:12px;background:var(--cream);border:0;border-radius:40px;padding:10px 20px;font-size:17px;color:var(--ink)}dialog::backdrop{background:#1e1525df;backdrop-filter:blur(8px)}#venue-dialog{max-width:min(1500px,96vw)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@keyframes water{to{translate:0 16px}}@keyframes bob{50%{translate:0 -20px;rotate:5deg}}@keyframes drift{50%{translate:12px -20px}}@keyframes twinkle{0%{opacity:.15;translate:0 14px;scale:.7}100%{opacity:.95;translate:6px -18px;scale:1.3}}
@media(min-width:1800px){.wrap{width:min(1640px,calc(100% - 160px))}.feature p,.food-group p{font-size:25px}.hero-title{width:620px;margin-left:-310px}}
@media(max-width:1100px){body{font-size:20px}.wrap{width:calc(100% - 64px)}.feature-pair{gap:32px}.feature p{font-size:20px}.food-layout{gap:40px}.food-art{min-height:600px}.food-group p{font-size:19px}.access-grid{gap:35px;grid-template-columns:1fr 1fr}.shuttle-panel{padding:28px}.route{display:block;padding-left:24px}.route>div{position:relative}.route-dot{position:absolute;left:-24px;top:17px}.route-arrow{rotate:0;display:block;line-height:1.4;margin:15px 0}.route h3{font-size:38px}.shuttle-meta{grid-template-columns:1fr}.shuttle-meta strong{font-size:29px}.address-panel h3{font-size:34px}.event-facts>div{padding-right:20px;padding-left:20px}}
@media(max-width:760px){html{scroll-padding-top:88px}body{font-size:18px;line-height:1.85}.wrap{width:calc(100% - 40px)}.section{padding:65px 0}.nav{height:76px;padding:10px 20px}.brand-logo{width:100px}.nav nav{gap:17px;font-size:13px}.nav nav a:nth-child(2){font-size:12px}h2{font-size:clamp(40px,10.8vw,60px);margin-bottom:22px;line-height:1.25}.section-heading{margin-bottom:36px}.eyebrow,.program-no{font-size:14px;margin-bottom:15px}.lead{font-size:19px}.feature-pair,.food-layout,.floor-guide,.access-grid{grid-template-columns:1fr}.feature-pair{gap:48px}.art{aspect-ratio:1.3}.feature-copy{padding-top:24px}.image-label{font-size:14px;left:16px;bottom:16px;padding:8px 13px}.feature h3,.more-program .feature h3{font-size:36px;line-height:1.3;margin-bottom:18px}.feature p{font-size:18px;margin-bottom:18px}.key-info{font-size:16px;padding-top:16px}.food-section{padding:0 0 60px}.food-layout{gap:35px}.food-art{min-height:0;aspect-ratio:1.15;margin:0 -20px}.food-art :is(img,video){object-position:center}.food-copy h2{font-size:48px}.food-group h3{font-size:25px}.food-group p{font-size:18px}.event-overview{padding:35px 0 44px}.overview-heading{display:block;margin-bottom:26px}.overview-heading .eyebrow{font-size:18px}.admission{font-size:14px;display:inline-block;padding:7px 13px;margin-top:16px}.event-facts{grid-template-columns:1fr 1fr}.event-facts>div{padding:24px 0 0;border:0}.event-facts>div:nth-child(2){padding-left:22px}.event-facts>div:last-child{grid-column:1/-1;border-top:1px solid #ffffff35;margin-top:26px;padding-top:26px}.fact-label{font-size:14px;margin-bottom:12px}.event-facts .date-display{font-size:72px;letter-spacing:-2px;margin-bottom:10px}.date-display small{font-size:17px;margin-top:12px}.event-facts strong{font-size:39px}.event-facts .place-display{font-size:30px}.event-facts a,.event-facts>div>span:last-child{font-size:15px}.event-facts a{margin-top:8px}.venue-image{width:calc(100% + 16px);margin:0 -8px}.venue-image span{font-size:14px;padding:13px}.floor-guide{margin-top:30px;gap:26px}.floor-guide>div{gap:20px;padding-top:24px}.floor{font-size:42px}.floor-guide h3{font-size:27px}.floor-guide p{font-size:17px}.access-grid{gap:22px}.shuttle-panel{padding:28px 24px}.panel-label{font-size:17px;margin-bottom:20px}.route{display:block;padding-left:22px}.route h3{font-size:37px}.route p{font-size:17px}.route-arrow{display:block;rotate:0;font-size:25px;margin:15px 0}.route-dot{left:-22px}.shuttle-meta{grid-template-columns:1.5fr 1fr;gap:12px}.shuttle-meta span,.shuttle-meta p{font-size:14px}.shuttle-meta strong{font-size:21px}.address-panel{padding:25px 0 0}.address-panel h3{font-size:34px;margin-bottom:22px}.address{font-size:18px;margin-bottom:26px}.mobile-break{display:block}.map-button{font-size:17px;padding:16px 20px}.text-button{font-size:15px}.contact span{font-size:16px}.contact a{font-size:29px}footer{padding:30px 20px;gap:25px;flex-wrap:wrap}.copyright{font-size:12px}.copyright span{display:block;margin-top:6px}.footer-logo{width:120px;margin-left:auto}.hero-track{height:calc(100svh + 700px);min-height:1380px}.hero{min-height:680px;max-height:930px}.hero-title{width:90%;left:5%;top:16%;margin-left:0}.hero-title .eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:14px}.subtitle{width:60%;margin-top:16px}.sun{width:270px;height:270px;margin-left:-135px;bottom:26%}.sea{top:64%;height:17%}.ground{height:44%;bottom:-17%}.building-layer{width:142%;max-width:none;left:-21%;margin-left:0;bottom:7%}.fence{width:180%;left:-40%;bottom:-1%}.prawn{width:78px;left:6%;top:45%}.crab{width:87px;right:6%;top:44%}.shooting{width:70px}.star1{left:1%;top:35%}.star2{right:0;top:55%}.hero-date{font-size:11px;letter-spacing:1px;bottom:20px}.scroll-hint{font-size:11px;bottom:60px}}

@media(min-width:761px){.program>.wrap>.section-heading{display:grid;grid-template-columns:1.15fr 1fr;column-gap:60px;align-items:end}.program>.wrap>.section-heading .eyebrow{grid-column:1/-1}.program>.wrap>.section-heading h2{margin:0}.program>.wrap>.section-heading .lead{padding-bottom:8px}}

.shuttle-art{position:relative;overflow:hidden;aspect-ratio:1.5;margin:-44px -44px 35px;background:#763650}.shuttle-art :is(img,video){width:100%;height:100%;object-fit:cover}.map-embed{width:100%;height:380px;margin:0 0 24px;background:#ead9c2;border:1px solid var(--line)}.map-embed iframe{display:block;width:100%;height:100%;border:0}.food-art{overflow:hidden;position:relative}.feature-pair .feature:nth-child(2){transition-delay:.13s}.scroll-hint span{animation:scroll-cue 1.7s ease-in-out infinite}.sun{animation:glow 5s ease-in-out infinite}@keyframes scroll-cue{50%{translate:0 8px}}@keyframes glow{50%{box-shadow:0 0 140px 55px #ffcf7966}}@media(max-width:1100px){.shuttle-art{margin:-28px -28px 28px}.map-embed{height:340px}}@media(max-width:760px){.shuttle-art{margin:-28px -24px 26px}.map-embed{height:330px}}
.access-grid{align-items:start}

.food{animation:none}.food img{width:100%;animation:hero-float 4s ease-in-out infinite;will-change:transform}.crab img{animation-delay:-2s;animation-duration:4.8s}.hero-title h1 img{animation:logo-breathe 7s ease-in-out infinite}.sky::before,.sky::after{content:'';position:absolute;left:-12%;top:35%;width:38%;height:70px;opacity:.25;background:#e77783;clip-path:polygon(0 100%,8% 85%,13% 58%,23% 57%,27% 25%,34% 20%,42% 49%,52% 49%,57% 70%,80% 73%,100% 100%);animation:cloud-slide 22s ease-in-out infinite alternate}.sky::after{left:74%;top:44%;width:34%;opacity:.18;animation-delay:-12s}.sun{animation:hero-sun 5.5s ease-in-out infinite}.shooting{animation:hero-star 5s ease-in-out infinite}.star2{animation-delay:-2.5s}.particle{animation:twinkle var(--duration) ease-in-out infinite alternate;animation-delay:var(--delay)}@keyframes hero-float{0%,100%{transform:translateY(8px) rotate(-6deg)}50%{transform:translateY(-26px) rotate(7deg)}}@keyframes logo-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes cloud-slide{to{transform:translateX(90px)}}@keyframes hero-sun{0%,100%{box-shadow:0 0 90px 28px #ffd87644;translate:0 0}50%{box-shadow:0 0 150px 65px #ffdf9477;translate:0 9px}}@keyframes hero-star{0%,100%{translate:0 5px;rotate:-8deg}50%{translate:18px -22px;rotate:4deg}}

.nightfall{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:var(--night-opacity,0);background:linear-gradient(180deg,#111328 0%,#191b3d 47%,#30213fd9 70%,#33294770 100%);will-change:opacity}.nightfall::before{content:'';position:absolute;inset:4% 0 30%;background-image:radial-gradient(circle at 9% 14%,#fffae9 0 1px,transparent 2px),radial-gradient(circle at 27% 28%,#fffae9 0 1px,transparent 2px),radial-gradient(circle at 67% 14%,#fffae9 0 1px,transparent 2px),radial-gradient(circle at 85% 42%,#fffae9 0 1px,transparent 2px),radial-gradient(circle at 45% 54%,#fff9dc 0 1px,transparent 2px);background-size:350px 280px}.hero .sun{will-change:transform,opacity}.hero .sea{will-change:transform,filter}

/* 본문 이미지의 이동/확대와 첫 화면 마우스 추적을 제거한 안정된 동작 */
.art :is(img,video),.food-art :is(img,video),.shuttle-art :is(img,video){transform:none;translate:none;scale:none;transition:none;will-change:auto}
.reveal{transform:none;transition:opacity .65s ease}
.food img,.hero-title h1 img,.shooting,.sky::before,.sky::after,.sun{animation:none;translate:none;rotate:none}
.food img,.hero-title h1 img,.sky::before,.sky::after{transform:none;will-change:auto}
@keyframes twinkle{0%{opacity:.15}100%{opacity:.95}}

/* 이미지 자리에 MP4를 넣어도 기존 프레임과 비율 유지 */
.art video,.food-art video,.shuttle-art video{display:block;width:100%;height:100%;object-fit:cover;transform:none;transition:none}
