@font-face{font-family:"Noh Optique Display";src:url("assets/fonts/noh-optique-display.woff") format("woff");font-style:normal;font-weight:400;font-display:swap;}
:root{color-scheme:dark;--bg:#000000;--black:#000;--gold:#be9267;--light:#ac9279;--muted:#ac9279;--red:#ee350e;--rule:#443223;--serif:"Noh Optique Display",serif;--sans:"Noh Optique Display",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--bg);color:var(--light);font-family:var(--serif);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%;height:auto}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}::selection{background:var(--red);color:white}.skip{position:fixed;left:16px;top:-100px;z-index:100;background:var(--gold);color:black;padding:12px}.skip:focus{top:16px}.reading-progress{position:fixed;z-index:60;top:0;left:0;height:2px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left;pointer-events:none}.topbar{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:14px max(22px,calc((100vw - 1040px)/2));border-bottom:1px solid transparent;transition:background .35s,border-color .35s;min-height:60px}.topbar.scrolled{background:var(--bg);border-color:var(--rule);backdrop-filter:blur(12px)}.wordmark{font-size:17px;letter-spacing:.12em;opacity:0;pointer-events:none;transition:opacity .4s}.scrolled .wordmark{opacity:1;pointer-events:auto}.topbar nav{display:flex;gap:22px;align-items:center;font-family:var(--sans);font-size:13px}.topbar nav button{border:0;background:none;padding:6px 0;font-family:inherit}.topbar nav a:hover,.topbar nav button:hover{color:var(--muted)}main{max-width:1040px;margin:0 auto;overflow:hidden}.hero{padding-top:92px;background:var(--bg)}.document-meta{display:flex;justify-content:space-between;margin:0 26px;color:var(--muted);font-size:12px;letter-spacing:.03em}h1{width:min(75%,694px);margin:22px auto 28px;animation:title-in .5s ease both}h1 img{width:100%}.seal{width:48px;margin:0 auto 24px;animation:title-in .5s .15s both}.hero-art{overflow:hidden}.hero-art img{width:100%;transform:scale(var(--art-scale,1));transform-origin:50% 27%}.section{padding:96px 54px}.eyebrow{display:block;font-size:14px;letter-spacing:.16em;color:var(--muted)}.verdict{padding-top:120px;padding-bottom:108px}.question{font-size:clamp(32px,5.4vw,57px);font-weight:400;line-height:1.55;letter-spacing:-.055em;margin:36px 0 44px;word-break:keep-all}.line{display:block}.line.lower{padding-top:.7em}.intro{color:var(--muted);font-size:17px;line-height:1.95;word-break:keep-all}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:25px}.section-heading h2{font-size:17px;font-weight:400;letter-spacing:.12em;margin:0}.section-heading>span{font-family:var(--sans);font-size:13px;color:var(--muted)}.schedule{background:var(--bg)}.date-list{border-top:1px solid var(--rule)}.date-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;border-bottom:1px solid var(--rule)}.date-row time{display:flex;gap:24px;align-items:center}.date-row strong{font-size:52px;font-weight:400;line-height:1.15;font-variant-numeric:tabular-nums}.date-row time span{font-size:14px;color:var(--muted)}.date-row p{font-size:20px;margin:0;white-space:nowrap}.date-row b{font-weight:400}.time-divider{color:var(--muted);padding:0 10px}.booking-block{margin-top:38px;text-align:center}.venue-short{font-size:23px;margin:0 0 24px}.venue-short span{display:block;font-family:var(--sans);font-size:14px;color:var(--muted);margin-top:7px}.button{min-height:54px;border:1px solid var(--gold);padding:13px 24px;display:flex;align-items:center;justify-content:space-between;gap:40px;width:100%;font-size:17px;transition:background .25s,transform .25s,color .25s}.button-gold{background:var(--gold);color:#0b0805}.button-gold:hover{background:#d6ad83}.button:active{transform:scale(.985)}.booking-block .button{max-width:380px;margin:auto}.booking-status{font-family:var(--sans);font-size:13px;color:var(--muted);margin-top:11px}.story{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;padding-top:112px;padding-bottom:80px}.story-portrait{position:relative;overflow:hidden;aspect-ratio:583.42/506.59}.story-copy h2{font-size:29px;line-height:1.65;letter-spacing:-.055em;font-weight:400;word-break:keep-all;margin:24px 0}.story-copy p{font-size:17px;color:var(--muted);line-height:1.95;word-break:keep-all}.souls{margin:0 30px;overflow:hidden;aspect-ratio:1190/650.39}.credits{padding-top:104px;padding-bottom:110px}.credits .section-heading{padding-bottom:23px;border-bottom:1px solid var(--rule)}dl{margin:0}dl>div{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:16px 0}dt{font-size:14px;color:var(--muted)}dd{font-size:17px;margin:0;line-height:1.95;word-break:keep-all}.location{padding-top:48px;background:var(--bg)}.location-card{border-top:1px solid var(--rule);padding-top:40px}.location-card .eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.2em}.location-card h3{font-size:38px;letter-spacing:-.04em;font-weight:400;margin:18px 0 14px}.location-card p{font-family:var(--sans);font-size:16px;color:var(--muted)}.text-button{border:0;background:none;border-bottom:1px solid var(--rule);padding:8px 0;font-size:14px}.text-button span{margin-left:16px}.map-links{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}.map-links a{display:flex;justify-content:space-between;border:1px solid var(--rule);padding:14px 18px;font-family:var(--sans);font-size:14px;transition:background .25s}.map-links a:hover{background:#24190f}.footer{text-align:center;padding-top:72px;padding-bottom:135px}.footer img{margin:auto}.footer p{font-size:26px;letter-spacing:.18em;margin:18px 0 6px}.footer>span{font-size:12px;font-family:var(--sans);color:var(--muted);letter-spacing:.07em}.footer .text-button{display:block;margin:30px auto}.back-top{font-family:var(--sans);font-size:12px;color:var(--muted)}.bottom-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%,110%);width:min(100%,1040px);z-index:45;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 22px calc(12px + env(safe-area-inset-bottom));background:var(--bg);backdrop-filter:blur(12px);border-top:1px solid var(--rule);transition:transform .4s}.bottom-bar.visible{transform:translate(-50%,0)}.bottom-bar>a{font-family:var(--sans);font-size:14px;line-height:1.5}.bottom-bar small{display:block;color:var(--muted);font-size:12px}.bottom-bar button{padding:10px 22px;background:var(--gold);border:0;color:#0b0805;font-size:15px;min-height:46px}.bottom-bar button span{margin-left:20px}dialog{background:var(--bg);color:var(--light);border:1px solid var(--rule);padding:38px 28px 28px;width:min(90vw,400px);text-align:center}dialog::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(5px)}dialog img{margin:auto}dialog h2{font-size:27px;font-weight:400;margin:16px 0}dialog p{font-size:16px}.dialog-dates{color:var(--muted);font-size:14px!important;margin:24px 0}.dialog-close{position:absolute;right:8px;top:4px;border:0;background:none;font-size:28px;width:44px;height:44px}.dialog-confirm{justify-content:center}body.modal-open{overflow:hidden}#toast{position:fixed;bottom:110px;left:50%;transform:translate(-50%,10px);background:var(--light);color:#17110b;font-family:var(--sans);font-size:14px;padding:12px 22px;z-index:80;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:90%;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes title-in{from{opacity:0}to{opacity:1}}@keyframes art-in{from{opacity:0;transform:scale(1.018)}to{opacity:1;transform:scale(1)}}@keyframes scroll-down{0%{transform:translateY(-18px)}75%,100%{transform:translateY(38px)}}
@media(prefers-reduced-motion:no-preference){.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.65,.3,1)}.js .reveal.in-view{opacity:1;transform:translateY(0)}}
@media(min-width:800px){main{border-left:1px solid #17120d;border-right:1px solid #17120d}.hero{padding-top:102px}.hero-art{max-width:880px;margin:auto}.verdict{padding-left:100px}.date-list,.booking-block{max-width:670px;margin-left:auto;margin-right:auto}.credits dl{max-width:620px;margin:0 auto}.section{padding-left:76px;padding-right:76px}}
@media(max-width:600px){.topbar{padding:10px 20px;min-height:54px}.topbar nav{gap:17px;font-size:12px}.wordmark{font-size:15px}.hero{padding-top:77px}.document-meta{margin:0 18px;font-size:12px}.hero h1{width:81%;margin-top:23px;margin-bottom:20px}.seal{width:36px;margin-bottom:20px}.section{padding:74px 26px}.verdict{padding-top:88px;padding-bottom:88px}.question{font-size:clamp(27px,7.5vw,43px);line-height:1.62;letter-spacing:-.065em;margin-top:26px}.intro{font-size:16px}.date-row strong{font-size:44px}.date-row time{gap:16px}.date-row p{font-size:18px}.date-row time span{font-size:13px}.time-divider{padding:0 8px}.venue-short{font-size:22px}.venue-short span{font-size:14px}.story{display:flex;flex-direction:column;gap:36px;padding-bottom:48px}.story-portrait{width:75%;max-width:340px;align-self:flex-start}.story-copy{width:100%}.story-copy h2{font-size:29px}.story-copy p{font-size:17px}.souls{margin:0 0 12px}.credits{padding-top:62px;padding-bottom:78px}dl>div{grid-template-columns:64px 1fr;gap:14px;padding:13px 0}dd{font-size:16px}dt{font-size:14px}.location{padding-top:54px}.location-card h3{font-size:34px}.map-links{gap:10px}.map-links a{padding:13px 12px;font-size:14px}.footer{padding-bottom:135px}.bottom-bar{padding-left:20px;padding-right:20px}}
@media(max-width:350px){.section{padding-left:20px;padding-right:20px}.date-row time{gap:10px}.date-row p{font-size:16px}.date-row strong{font-size:40px}.question{font-size:26px}.topbar nav{gap:12px}.bottom-bar button{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}

/* Avoid synthetic bold and keep Korean punctuation consistently shaped. */
body{font-synthesis:none}button,input,select,textarea{font-family:var(--serif)}

/* Photo slots intentionally remain empty until production photos are supplied. */
.photo-placeholder{display:flex;align-items:center;justify-content:center;background:#13ff00;color:#080706}.photo-placeholder span{font-size:12px;font-weight:400;letter-spacing:0;line-height:1.5}

/* Halve the gap between the introduction and performance dates. */
.verdict{padding-bottom:54px}.verdict .intro{margin-bottom:.5em}.schedule{padding-top:48px}
@media(max-width:600px){.verdict{padding-bottom:44px}.schedule{padding-top:37px}}

/* Staggered verdict typography, aligned around a shared center axis. */
.verdict{container-type:inline-size;padding-top:clamp(48px,8vw,90px)}
.verdict .question{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:.9em;margin:0 0 48px;margin-bottom:clamp(32px,7cqw,72px);font-size:clamp(17px,4.9vw,49px);font-size:clamp(17px,5.6cqw,49px);line-height:1.5;letter-spacing:-.02em}
.question-heaven{grid-column:2;grid-row:1;text-align:left}
.question-hell{grid-column:1;grid-row:2;text-align:right}
.question-choice .line{white-space:nowrap}
.verdict .intro{text-align:center;font-size:clamp(14px,3.5cqw,30px);line-height:1.8;margin-top:0;letter-spacing:-.025em}

/* Align each role with the first line of its names, including multiline credits. */
.credits dl>div{align-items:first baseline}

/* Reveal with a moving black overlay; no animated image mask. */
.hero-art{position:relative;isolation:isolate}
@media(prefers-reduced-motion:no-preference){
  .hero.art-pending .hero-art img{opacity:0}
  .hero.art-revealing .hero-art img{animation:court-image-fade 4s .35s linear both}
  .hero.art-revealing .hero-art::after{
    content:"";position:absolute;inset:-2px;pointer-events:none;
    background:radial-gradient(ellipse at 50% 27%,transparent 0%,rgba(0,0,0,.15) 5%,#000 16%);
    transform-origin:50% 27%;
    animation:court-cover-open 4s .35s linear both;
  }
}
@keyframes court-image-fade{0%{opacity:0}25%{opacity:.12}50%{opacity:.4}75%{opacity:.72}100%{opacity:1}}
@keyframes court-cover-open{
  0%{transform:scale(1);opacity:1}
  45%{opacity:1}
  100%{transform:scale(12);opacity:0}
}
@media(prefers-reduced-motion:reduce){.hero-art img{transform:none!important;opacity:1!important}.hero-art::after{display:none!important}}

/* Reserve the lower overhang at 115% scale with the existing 27% vertical origin. */
.hero-art-space{padding-top:11.25%;pointer-events:none}
@media(prefers-reduced-motion:reduce){.hero-art-space{display:none}}

/* Reserve the upper overhang as well, keeping the full height visible at 115%. */
.hero-art-top-space{padding-top:4.16%;pointer-events:none}
@media(prefers-reduced-motion:reduce){.hero-art-top-space{display:none}}
