/* The first scene fills the viewport. The existing illustrated set remains a graceful fallback. */
:root{--night:#102827;--moss:#1d3935;--ivory:#f7f3eb;--light:#f9efd9;--brass:#d9b878}
body{background:var(--ivory)}
.top{position:absolute;inset:0 0 auto;z-index:30;height:82px;background:linear-gradient(180deg,rgba(9,28,31,.88),rgba(9,28,31,0));border:0}
.top-inner{max-width:none;min-height:82px;padding:0 clamp(22px,3.8vw,64px)}
.brand{color:#fff7e9;letter-spacing:.01em;text-shadow:0 2px 13px #071a1a75}
.mark{background:linear-gradient(145deg,#e4c68b,#b58b4d);color:#183231;box-shadow:0 0 0 1px #f7dfaa7a,0 7px 24px #0004}
.main-nav a{color:#efe8d8;font-size:13px;text-shadow:0 1px 8px #071a1a7d}
.main-nav a:hover,.main-nav a[aria-current=page]{background:#d7b47730;color:#fff4d8}
.container{max-width:none;padding:0}
.story{position:relative;margin:0;border-radius:0;box-shadow:none;background:#0e2525;min-height:100svh}
.story-frame{height:100svh;min-height:650px;background:#14332f url('/media/intro-poster.jpg') center/cover no-repeat}
.story-frame::before{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;background:radial-gradient(ellipse at 61% 45%,transparent 20%,#071b1f99 100%);mix-blend-mode:multiply}
.story-frame::after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;background:linear-gradient(90deg,#061919a8 0%,#0a252758 38%,transparent 72%),linear-gradient(0deg,#0517198c,transparent 32%);transition:opacity 1.2s}
.story[data-phase=revealed] .story-frame::after{opacity:.45}
.story-video{position:absolute;inset:0;z-index:4;width:100%;height:100%;object-fit:cover;opacity:0;visibility:hidden;transition:opacity .75s}
.story.has-film .story-video.is-current{opacity:1;visibility:visible}
.story.has-film .story-world{opacity:0;visibility:hidden}
.story-world{opacity:0;visibility:hidden;transition:transform 1.35s cubic-bezier(.2,.7,.2,1),opacity .7s,visibility .7s}
.story.fallback .story-world{opacity:1;visibility:visible}
.story-topline{position:absolute;z-index:21;top:91px;left:clamp(22px,3.8vw,64px);right:clamp(22px,3.8vw,64px);padding:0;background:none}
.story-series{font:600 12px 'Noto Sans KR',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#f4e3c4}
.music-toggle{border:1px solid #e9d4a771;background:#0d2527b8;color:#fff6e7;backdrop-filter:blur(12px);font-size:12px;min-width:110px}
.story-bottom{position:absolute;z-index:21;bottom:28px;left:clamp(22px,3.8vw,64px);right:clamp(22px,3.8vw,64px);padding:12px 0 0;background:none;border-top:1px solid #f7eddb50;color:#eee2ce;font-size:11px;letter-spacing:.13em}
.visit-counts{display:flex;align-items:center;gap:18px;color:#f5ead2;letter-spacing:.04em}
.story-bottom .visit-counts span{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap;font-size:12px}
.visit-counts strong{font:700 16px 'Gowun Batang',serif;color:#f4d393;font-variant-numeric:tabular-nums}
.story-overlay{z-index:10;right:auto;width:min(52%,620px);padding:clamp(120px,18vh,210px) 24px 110px clamp(22px,7.3vw,110px);background:transparent;justify-content:center;align-items:flex-start}
.story.has-film .story-overlay{opacity:0;visibility:hidden;pointer-events:none}
.story-overline{display:flex;align-items:center;gap:14px;color:#e9c789;font-size:11px;letter-spacing:.29em}
.story-overline::before{content:"";width:36px;height:1px;background:#e9c789}
.story-overlay h1{font-size:clamp(40px,4.4vw,62px);line-height:1.25;letter-spacing:-.055em;margin:19px 0 18px;max-width:430px;text-shadow:0 5px 25px #071d1d8a}
.story-overlay>p:not(.story-overline){font-size:clamp(14px,1.25vw,17px);color:#fff8e9e8;max-width:400px;line-height:1.8}
.begin-story{margin-top:35px;padding:17px 22px 16px;border:1px solid #f0d8a6;background:linear-gradient(135deg,#e7c687,#d4aa68);color:#1e3633;border-radius:2px;font-size:15px;letter-spacing:.02em;box-shadow:0 12px 36px #071b1e75;transition:transform .3s,box-shadow .3s,background .3s}
.begin-story:hover{transform:translateY(-4px);box-shadow:0 19px 41px #071b1e94;background:#f1d49d}
.begin-story small{font-size:11px;margin-top:5px;color:#4b554b}
.begin-story span{margin-left:35px;font-size:19px}
.story-dialogue{left:clamp(22px,8vw,145px);bottom:clamp(91px,10vh,120px);width:min(500px,calc(100% - 44px));padding:27px 31px;border:1px solid #d7bc88;border-radius:4px;background:#fbf3e8ed;backdrop-filter:blur(18px);box-shadow:0 21px 60px #0617168a;animation:speech-enter .85s cubic-bezier(.15,.65,.2,1)}
.story-dialogue::before{content:"";position:absolute;top:0;left:0;width:72px;height:3px;background:#b88d55}
.speech-label{font-size:11px;letter-spacing:.16em}
.story-dialogue p{font-size:clamp(21px,2vw,29px);margin:11px 0 21px}
.story-dialogue button{border-radius:2px;background:#24453e;font-size:13px;padding:13px 18px}
.story-dialogue button:hover{background:#12362e}
.story-choice{position:absolute;z-index:12;left:clamp(22px,8vw,145px);right:clamp(22px,8vw,145px);bottom:clamp(96px,12vh,145px);color:#fff9ee;animation:speech-enter .8s ease-out}
.story-choice-kicker{display:block;color:#e9c789;letter-spacing:.22em;font-size:11px;font-weight:700;margin-bottom:6px}
.story-choice h2{font:700 clamp(27px,3.5vw,48px)/1.3 'Gowun Batang',serif;letter-spacing:-.06em;margin:0 0 21px;text-shadow:0 3px 19px #06191acc}
.story-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:900px}
.story-choice-grid button{min-height:107px;text-align:left;padding:13px 17px;border:1px solid #e9cf9aab;border-radius:3px;background:#102a29d9;color:#fff8e8;backdrop-filter:blur(14px);box-shadow:0 10px 26px #06191877;transition:background .25s,transform .25s,border-color .25s}
.story-choice-grid button:hover,.story-choice-grid button:focus-visible{background:#285046ee;border-color:#f4ddb1;transform:translateY(-5px)}
.story-choice-grid span{display:block;color:#dfbf87;font-size:11px;letter-spacing:.1em}
.story-choice-grid strong{display:block;font:700 clamp(17px,1.7vw,23px)/1.42 'Gowun Batang',serif;margin:5px 0}
.story-choice-grid small{display:block;color:#d6e6df;font-size:11px}
.film-caption{position:absolute;z-index:11;left:clamp(22px,7.3vw,110px);bottom:97px;width:min(42%,510px);text-align:left;padding:10px 16px;border-radius:4px;background:#091d1cbb;color:#fff8e8;font:700 clamp(16px,1.6vw,21px)/1.5 'Gowun Batang',serif;text-shadow:0 1px 4px #0008}
.story[data-phase=choosing] .story-frame::after{opacity:.9;background:linear-gradient(0deg,#061c1ced,#0a292a76 50%,transparent 90%)}
.story[data-phase=branch] .story-frame::after{opacity:.28}
.story[data-phase=choosing] .story-overlay,.story[data-phase=branch] .story-overlay{opacity:0;visibility:hidden;pointer-events:none}
.story[data-phase=branch] .story-choice{display:none}
.story[data-phase=choosing] .story-world{transform:scale(1.14)}
.story[data-phase=choosing] .door-left{transform:rotateY(-107deg)}
.story[data-phase=choosing] .door-right{transform:rotateY(107deg)}
.story[data-phase=choosing] .story-grandma{opacity:1;transform:translateX(-50%) scale(1)}
.trust-section{position:relative;isolation:isolate;overflow:hidden;background:#112b29;color:#fff8e9;padding:clamp(64px,8vw,112px) max(25px,calc((100vw - 1150px)/2)) 54px}
.trust-section::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 93% 5%,#d4ae6426,transparent 36%),repeating-linear-gradient(135deg,transparent 0 18px,#eedbb608 19px 20px);pointer-events:none}
.trust-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);column-gap:clamp(30px,6vw,90px);align-items:end;padding-bottom:36px;border-bottom:1px solid #e8d2a449}
.trust-kicker{grid-column:1/-1;display:block;width:max-content;color:#e8c891;font-size:11px;font-weight:700;letter-spacing:.22em;margin-bottom:21px}
.trust-intro h2{font:700 clamp(32px,3.7vw,54px)/1.34 'Gowun Batang',serif;letter-spacing:-.065em;margin:0}
.trust-intro h2 em{font-style:normal;color:#e8be76}
.trust-intro p{color:#e2e7df;font-size:14px;line-height:1.95;margin:0;max-width:530px;word-break:keep-all}
.trust-photo{overflow:hidden;margin:32px 0 0;border:1px solid #dbc18b78;border-radius:5px;background:#0b2223;box-shadow:0 20px 44px #071a1b5c}
.trust-photo img{display:block;width:100%;height:min(44vw,510px);min-height:320px;object-fit:cover;object-position:center center}
.trust-photo figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 22px;color:#fff4dd;background:#132d2b}
.trust-photo figcaption span{color:#e0bf86;font-size:10px;font-weight:700;letter-spacing:.15em;white-space:nowrap}
.trust-photo figcaption strong{font:700 16px 'Gowun Batang',serif;letter-spacing:-.04em}
.trust-promises{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:25px}
.trust-promises article{position:relative;min-height:225px;padding:27px 30px 31px;border:1px solid #dbc18b78;border-radius:5px;background:#f6efdd0c;box-shadow:0 20px 40px #061a1b20}
.trust-promises article::after{content:"↗";position:absolute;top:27px;right:30px;color:#e7cc9e;font-size:18px}
.trust-promises article>span{display:block;color:#d9bc87;font-size:11px;font-weight:700;letter-spacing:.12em;margin-bottom:20px}
.trust-promises article strong{display:block;font:700 clamp(24px,2.3vw,34px)/1.42 'Gowun Batang',serif;letter-spacing:-.05em;color:#fff9eb}
.trust-promises article p{color:#dce4da;font-size:13px;line-height:1.75;margin:16px 0 0;word-break:keep-all}
.trust-promises .trust-refund{background:linear-gradient(130deg,#8b2929,#b73d37);border-color:#d16b5e;box-shadow:0 20px 43px #3c0d1047}
.trust-refund>span,.trust-promises .trust-refund::after{color:#ffe3bd!important}
.trust-promises .trust-refund strong{font-size:clamp(30px,3vw,44px)}
.trust-promises .trust-refund p{color:#fff0e8}
.trust-note{margin:20px 0 0;color:#c9d3c8;font-size:11px;line-height:1.7}
.visit-section{max-width:1200px;margin:0 auto;padding:78px 25px 86px;scroll-margin-top:24px}
.visit-shell{display:grid;grid-template-columns:1fr minmax(360px,.86fr);overflow:hidden;border-radius:6px;box-shadow:0 22px 55px #17352b20}
.visit-heading{position:relative;isolation:isolate;overflow:hidden;padding:clamp(37px,5vw,70px);background:radial-gradient(circle at 88% 14%,#d5ad6941,transparent 35%),linear-gradient(145deg,#24453d,#102b2d);color:#fff9eb}
.visit-heading::after{content:"";position:absolute;z-index:-1;width:260px;height:260px;right:-87px;bottom:-139px;border:1px solid #e4c68c50;border-radius:50%;box-shadow:0 0 0 29px #e4c68c12,0 0 0 59px #e4c68c0b}
.visit-kicker{display:block;margin-bottom:24px;color:#e7c58f;font-size:11px;font-weight:700;letter-spacing:.17em}
.visit-heading h2{font:700 clamp(30px,3.4vw,47px)/1.37 'Gowun Batang',serif;letter-spacing:-.06em;margin:0 0 20px}
.visit-heading p{max-width:450px;margin:0;color:#e2e9e0;font-size:14px;line-height:1.9;word-break:keep-all}
.visit-details{display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,4.5vw,58px);background:#fffaf0}
.visit-detail{padding:23px 0;border-bottom:1px solid #dcd6c8}
.visit-detail:first-child{padding-top:0}
.visit-detail>span{display:block;color:#80633a;font-size:11px;font-weight:700;letter-spacing:.12em;margin-bottom:11px}
.visit-detail address{font-style:normal;font:700 clamp(16px,1.5vw,20px)/1.75 'Gowun Batang',serif;color:#203a36;word-break:keep-all}
.visit-detail address strong{font-weight:700}
.visit-number{display:block;color:#203a36;font:700 clamp(29px,3vw,42px)/1.25 'Gowun Batang',serif;letter-spacing:-.04em;font-variant-numeric:tabular-nums;user-select:text}
.visit-booking{padding-top:22px}
.visit-booking>span{display:block;color:#80633a;font-size:11px;font-weight:700;letter-spacing:.12em;margin-bottom:12px}
.visit-booking ol{list-style:none;counter-reset:visit-step;display:grid;gap:11px;margin:0;padding:0}
.visit-booking li{counter-increment:visit-step;display:grid;grid-template-columns:28px 1fr;align-items:start;gap:9px;color:#304b47;font-size:13px;line-height:1.55;word-break:keep-all}
.visit-booking li::before{content:counter(visit-step,decimal-leading-zero);color:#9b3430;font-weight:800;font-variant-numeric:tabular-nums}
.visit-booking p{margin:15px 0 0;color:#6c776e;font-size:12px;line-height:1.7;word-break:keep-all}
.chapter,.intake-heading,.grid,footer{max-width:1200px;margin-left:auto;margin-right:auto}
.chapter{padding:84px 25px 20px}
.section-heading h2,.intake-heading h2{font-size:clamp(27px,3.2vw,43px);line-height:1.35}
.intake-heading{padding-left:25px;padding-right:25px}
.grid{padding:0 25px}
footer{padding:60px 25px 45px}
.chapter-card{transition:transform .3s,box-shadow .3s,border-color .3s}
.chapter-card:hover{transform:translateY(-6px);box-shadow:0 17px 32px #17342b19}
.begin-story,.story-dialogue button,.submit{background:linear-gradient(135deg,#bf423b,#982b2c);color:#fff;border:1px solid #d66f68;box-shadow:0 9px 24px #4e171746,0 3px 0 #6d2022;transition:transform .22s ease,filter .22s ease,box-shadow .22s ease,background .22s ease}
.begin-story small{color:#ffe4dc}
.begin-story:hover,.story-dialogue button:hover,.submit:hover{background:linear-gradient(135deg,#ce5147,#a72f30);color:#fff;transform:translateY(-3px);box-shadow:0 14px 30px #4e17175c,0 4px 0 #6d2022}
.begin-story:active,.story-dialogue button:active,.submit:active{transform:translateY(2px) scale(.98);box-shadow:0 3px 10px #4e171750}
.submit:disabled{cursor:wait;background:linear-gradient(135deg,#a53934,#862829);color:#fff;opacity:1}
button.ui-pulse{position:relative;overflow:hidden;transform:translateY(1px) scale(.985)!important;filter:brightness(1.08)}
button.ui-pulse::after{content:"";position:absolute;z-index:5;left:var(--press-x,50%);top:var(--press-y,50%);width:130px;height:130px;border-radius:50%;background:#fff9;pointer-events:none;animation:button-ripple .55s ease-out forwards}
@keyframes button-ripple{from{transform:translate(-50%,-50%) scale(0);opacity:.55}to{transform:translate(-50%,-50%) scale(1.9);opacity:0}}
.reading-prelude{padding:0!important;overflow:hidden;border-radius:12px}
.reading-ritual{position:relative;isolation:isolate;min-height:340px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;overflow:hidden;text-align:center;color:#f9eed7;background:radial-gradient(circle at 50% 43%,#466b61 0%,#1d423f 42%,#102c32 100%)}
.reading-ritual::before{content:"";position:absolute;inset:-40%;z-index:-1;background:conic-gradient(from 0deg,transparent,#e4c98c23,transparent 28%,#c5dbca23,transparent 54%);animation:ritual-turn 9s linear infinite}
.ritual-rings{position:absolute;width:280px;height:280px;border:1px solid #d5bd8580;border-radius:50%;box-shadow:0 0 0 23px #e6d8a20d,0 0 0 49px #f3e6b40a,0 0 38px #e3c88936;animation:ritual-breathe 2.2s ease-in-out infinite}
.ritual-rings::before,.ritual-rings::after{content:"";position:absolute;inset:18px;border:1px dashed #dec89191;border-radius:50%}
.ritual-rings::after{inset:53px;border-style:solid;opacity:.55}
.ritual-pillars{position:relative;z-index:1;display:flex;gap:9px;margin-bottom:17px}
.ritual-pillar{display:grid;place-items:center;width:54px;height:74px;border:1px solid #ecd7a1a6;border-radius:5px;background:linear-gradient(145deg,#f6e8c329,#e4b96b12);box-shadow:0 12px 25px #071c2260;color:#ffeec0;font:700 33px 'Gowun Batang',serif;animation:ritual-rise 1.2s ease-in-out infinite alternate;animation-delay:calc(var(--i)*.17s)}
.reading-ritual strong,.reading-ritual p{position:relative;z-index:1}
.reading-ritual strong{font:700 22px 'Gowun Batang',serif;letter-spacing:-.04em}
.reading-ritual p{font-size:14px;margin:0;color:#e2e6dc}
@keyframes ritual-turn{to{transform:rotate(360deg)}}
@keyframes ritual-breathe{50%{transform:scale(1.045);opacity:.76}}
@keyframes ritual-rise{from{transform:translateY(8px);filter:brightness(.78)}to{transform:translateY(-7px);filter:brightness(1.18)}}
@media(max-width:900px){.top-inner{gap:6px;padding:10px 22px;align-items:flex-start;flex-direction:column}.top{height:122px}.main-nav{width:100%;padding-bottom:7px}.main-nav a{font-size:11px;padding:7px 8px}.story-topline{top:130px}.story-overlay{padding-left:8vw;padding-right:8vw}.story-frame{min-height:700px}.story-dialogue{left:8vw}}
@media(max-width:700px){.top{height:104px}.top-inner{padding:8px 16px}.brand{font-size:17px}.main-nav{gap:0}.main-nav a{font-size:10px;padding:6px 8px}.story-frame{height:100svh;min-height:620px}.story-topline{left:18px;right:18px;top:116px}.story-series{font-size:10px;letter-spacing:.12em}.music-toggle{min-width:91px;font-size:11px;padding:6px 8px}.story-overlay{right:0;width:100%;padding:170px 26px 113px;justify-content:flex-end;background:transparent}.story-overline{font-size:10px}.story-overlay h1{font-size:clamp(43px,11vw,66px);line-height:1.25;margin:11px 0}.story-overlay>p:not(.story-overline){font-size:13px;line-height:1.65;max-width:320px}.begin-story{margin-top:22px;padding:13px 16px;font-size:13px}.begin-story span{margin-left:17px}.begin-story small{font-size:10px}.story-dialogue{left:18px;bottom:79px;width:calc(100% - 36px);padding:20px 21px}.story-bottom{left:18px;right:18px;bottom:18px}.story-choice{left:18px;right:18px;bottom:67px}.story-choice h2{font-size:24px;margin-bottom:12px}.story-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.story-choice-grid button{min-height:77px;padding:8px 10px}.story-choice-grid span{font-size:9px}.story-choice-grid strong{font-size:15px;margin:2px 0}.story-choice-grid small{display:none}.film-caption{left:18px;bottom:72px;width:calc(100% - 36px);font-size:16px}.chapter{padding:58px 16px 16px}.intake-heading{padding-left:16px;padding-right:16px}.grid{padding:0 16px}footer{padding:42px 16px}.story-frame::after{background:linear-gradient(0deg,#06191acd 0%,#0b2b2d48 58%,transparent 90%)}}
@media(max-width:390px){.story-overlay{padding-left:18px;padding-right:18px}.story-overlay h1{font-size:40px}.story-dialogue{left:14px;width:calc(100% - 28px)}.story-topline,.story-bottom{left:14px;right:14px}}
@media(max-width:700px){.story-bottom{align-items:flex-start;flex-direction:column;gap:7px}.visit-counts{gap:16px}.story-bottom .visit-counts span{display:inline-flex}}
@media(max-width:760px){.trust-section{padding:61px 20px 43px}.trust-intro{display:block;padding-bottom:27px}.trust-intro h2{font-size:clamp(31px,8vw,43px)}.trust-intro p{margin-top:19px;font-size:13px;line-height:1.85}.trust-promises{grid-template-columns:1fr;gap:10px;padding-top:18px}.trust-promises article{min-height:0;padding:23px 22px}.trust-promises article::after{top:22px;right:22px}.trust-promises article>span{margin-bottom:13px}.trust-promises article strong{font-size:26px}.trust-promises .trust-refund strong{font-size:35px}.trust-promises article p{margin-top:12px}.trust-note{font-size:10px}}
@media(max-width:760px){.trust-photo{margin-top:22px}.trust-photo img{height:260px;min-height:0}.trust-photo figcaption{display:block;padding:14px 16px}.trust-photo figcaption span{display:block;margin-bottom:6px}.trust-photo figcaption strong{font-size:15px}}
@media(max-width:760px){.visit-section{padding:55px 16px 64px}.visit-shell{grid-template-columns:1fr}.visit-heading{padding:36px 27px 39px}.visit-heading h2{font-size:34px}.visit-heading p{font-size:13px}.visit-details{padding:29px 27px 33px}.visit-detail{padding:20px 0}.visit-detail address{font-size:17px}.visit-number{font-size:34px}}
@media(prefers-reduced-motion:reduce){.story-video,.story-frame::after,.begin-story,.chapter-card,.submit,.story-dialogue button{transition:none!important}.story-dialogue,.reading-ritual::before,.ritual-rings,.ritual-pillar,button.ui-pulse::after{animation:none!important}}

