/* Original opening: native scroll, generated artwork, and one bounded canvas.
   Cormorant Garamond: fonts/overture-serif-LICENSE.txt (SIL OFL 1.1). */
@font-face{font-family:Overture Serif;src:url('fonts/overture-serif.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
.overture{--intro-serif:'Overture Serif',Georgia,serif;position:relative;height:760svh;margin-left:calc(-1 * var(--rail-width,76px));margin-top:calc(-1 * var(--nav-height,94px));width:calc(100% + var(--rail-width,76px));background:#03070d;color:#f3efe6;isolation:isolate}
.overture__top-anchor{position:absolute;top:0;left:0}
.overture__pin{position:sticky;top:0;height:100svh;overflow:hidden;background:#03070d;isolation:isolate}
.overture__scene,.overture__poster,.overture__canvas,.overture__mist,.overture__shade,.overture__ui,.overture__wipe{position:absolute;inset:0;width:100%;height:100%}
.overture__scene{overflow:hidden;pointer-events:none}
.overture__poster{object-fit:cover;object-position:50% 50%;display:block}
.overture__canvas{display:block;opacity:0;transition:opacity .45s}
.overture[data-scene-ready] .overture__canvas{opacity:1}
.overture[data-scene-ready] .overture__poster{visibility:hidden}
.overture__mist{background:radial-gradient(ellipse 68% 52% at 50% 23%,#e5e4dec9 20%,#d4d6d1b0 52%,#c6cdc77a 75%,transparent 100%);pointer-events:none}
.overture__shade{background:linear-gradient(90deg,#0207108c,transparent 80%),linear-gradient(0deg,#02071070,transparent 65%);opacity:0;pointer-events:none}
.overture__ui{z-index:2;pointer-events:none}
.overture__name{position:absolute;left:0;top:3vh;width:100%;margin:0!important;padding:0 7vw;text-align:center;font-weight:300;line-height:1}
.overture__cn{display:block;margin:0 auto;width:min(74vw,1150px);mix-blend-mode:multiply}
.overture__cn img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.overture__latin{display:block;margin-top:-.5vw;font:300 clamp(38px,5.6vw,88px)/1 var(--intro-serif);text-transform:uppercase;letter-spacing:-.045em;color:#0b1011}
.overture__lines{position:absolute;top:0;left:7%;width:86%;max-width:1440px;will-change:transform;transform:translate3d(0,110vh,0)}
.overture__line{margin:0;padding:0 0 .48em;font:300 clamp(30px,4.3vw,76px)/1.15 var(--intro-serif);letter-spacing:-.014em;color:#f3efe6;text-shadow:0 2px 24px #020710;opacity:0;text-align:left;text-wrap:pretty}
.overture__line:first-child{text-indent:14%}
.overture__line:nth-child(4),.overture__line:last-child{padding-left:20%}
html[lang=zh-Hant] .overture__line{font-family:'Songti TC','Noto Serif TC','PMingLiU',serif;font-size:clamp(27px,3.7vw,65px);line-height:1.48;letter-spacing:.025em}
.overture__end{position:absolute;left:5%;top:42%;width:90%;opacity:0;text-shadow:0 2px 38px #0009}
.overture__end-line{display:flex;align-items:center;gap:.25em;font:300 clamp(48px,8.5vw,154px)/.9 var(--intro-serif);text-transform:uppercase;letter-spacing:-.055em;white-space:nowrap}
.overture__end-line:nth-child(1){margin-left:8%;font-size:clamp(40px,7.2vw,130px)}
.overture__end-line:nth-child(2){margin-left:15%}
.overture__end-line:nth-child(3){margin-left:1%}
.overture__year{font:400 clamp(17px,2.2vw,36px)/1 var(--sans);letter-spacing:0;margin:.35em .5em 0}
html[lang=zh-Hant] .overture__end-line{font-family:'Songti TC','PMingLiU',serif;line-height:1.1;letter-spacing:.01em}
.overture__scroll{position:absolute;bottom:7vh;left:7%;font:14px/1.4 var(--sans);letter-spacing:.08em;margin:0}
.overture__scroll:before{content:'';display:inline-block;width:40px;height:1px;background:currentColor;margin-right:18px;vertical-align:middle}
.overture__setting{position:absolute;right:5%;bottom:7vh;text-align:right;font:11px/1.6 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#d5d8d8;margin:0}
.overture__nav{position:absolute;right:4%;top:28px;z-index:5;display:flex;gap:25px;align-items:center;font:13px/1.4 var(--sans);color:#101819}
.overture__seal{position:absolute;left:4%;top:28px;z-index:5}.overture__seal img{width:44px;height:44px}
.overture__nav a,.overture__nav button{font:inherit;color:inherit;background:none;border:0;text-decoration:none;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;padding:4px 0}
.overture__nav a:hover,.overture__nav button:hover{text-decoration:underline;text-underline-offset:5px}
.overture__nav :focus-visible{outline:2px solid currentColor;outline-offset:5px}
.overture[data-dark] .overture__nav{color:#eee}
.overture__wipe{z-index:4;background:#000;transform:translate3d(0,101%,0);pointer-events:none;will-change:transform}
.overture__loader{display:none;position:absolute;inset:0;z-index:8;background:#080b0f;align-items:center;justify-content:center;flex-direction:column;color:#f3efe6;pointer-events:none}
.overture-loading .overture__loader{display:flex;animation:overture-fail-open 1ms 7s forwards}
.overture__loader-name{font:300 clamp(38px,7vw,92px)/1 var(--intro-serif);letter-spacing:-.03em}
.overture__loader-caption{font:300 clamp(20px,2.5vw,32px)/1.3 var(--intro-serif);margin:24px 30px;text-align:center}
.overture__loader-track{height:1px;width:min(340px,65vw);background:#ffffff24;margin-top:32px;overflow:hidden}
.overture__loader-progress{display:block;height:100%;background:#efe7d2;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .2s linear}
.overture__loader-label{font:11px/1.4 var(--sans);letter-spacing:.12em;margin-top:16px}
@keyframes overture-fail-open{to{visibility:hidden}}
html.overture-immersive .top,html.overture-immersive .rail{opacity:0;pointer-events:none}
html.overture-immersive .annotation-dock{opacity:.7}
html.overture-immersive .sound-dock{z-index:55}
/* Static content is the default. A failed script never conceals the story. */
.overture[data-static]{height:auto}
.overture[data-static] .overture__pin{position:relative;height:auto;min-height:100svh;padding:8vh 0}
.overture[data-static] .overture__scene{height:100svh}
.overture[data-static] .overture__ui{position:relative;height:auto;padding-top:54vh;background:linear-gradient(transparent 70vh,#03070d 100vh)}
.overture[data-static] .overture__name{top:0}
.overture[data-static] .overture__lines{position:relative;left:7%;transform:none!important;max-width:100%;padding-top:10vh}
.overture[data-static] .overture__line{opacity:1!important;font-size:clamp(28px,3.2vw,50px);padding-bottom:.8em}
.overture[data-static] .overture__end{position:relative;left:5%;top:auto;margin:14vh 0 5vh;opacity:1!important}
.overture[data-static] .overture__end-line{font-size:clamp(27px,7.5vw,118px)}
.overture[data-static] .overture__scroll,.overture[data-static] .overture__setting,.overture[data-static] .overture__wipe{display:none}
.overture[data-static] .overture__mist{height:100svh}
@media(max-width:700px){
 .overture{height:850svh}
 .overture__name{top:14vh;padding:0 4vw}
 .overture__cn{width:94vw}
 .overture__latin{font-size:10vw;margin-top:3vw}
 .overture__mist{background:radial-gradient(ellipse 110% 46% at 50% 25%,#e4e5ded9 15%,#d5d9d0b0 55%,transparent 100%)}
 .overture__line{font-size:clamp(26px,7.3vw,44px);line-height:1.2;padding-bottom:.8em}
 html[lang=zh-Hant] .overture__line{font-size:clamp(25px,6.8vw,39px);line-height:1.5}
 .overture__line:first-child{text-indent:10%}
 .overture__line:nth-child(4),.overture__line:last-child{padding-left:10%}
 .overture__end{top:51%;left:5%;width:90%}
 .overture__end-line,.overture__end-line:nth-child(1){font-size:9.5vw;line-height:1.02;letter-spacing:-.05em}
 .overture__end-line:nth-child(2){margin-left:5%}
 .overture__end-line:nth-child(3){margin-left:0}
 .overture__year{font-size:4vw;margin:.35em .3em 0}
 html[lang=zh-Hant] .overture__end-line{font-size:12vw;line-height:1.2}
 .overture__nav{top:14px;right:6%;gap:20px;font-size:12px}
 .overture__seal{top:14px;left:6%}
 .overture__setting{bottom:15vh;font-size:9px}
 .overture__scroll{bottom:10vh;font-size:12px}
 .overture__scroll:before{width:20px;margin-right:9px}
 .overture[data-static] .overture__ui{padding-top:62vh}
 .overture[data-static] .overture__name{top:11vh}
}
@media(prefers-reduced-motion:reduce){.overture__canvas{transition:none}.overture__loader{display:none!important}}
@media print{.overture{margin:0;width:100%;height:auto!important;background:#fff;color:#111}.overture__pin{position:static;height:auto!important;padding:0!important}.overture__scene,.overture__mist,.overture__shade,.overture__nav,.overture__seal,.overture__loader,.overture__wipe,.overture__scroll,.overture__setting{display:none!important}.overture__ui,.overture__name,.overture__lines,.overture__end{position:static!important;transform:none!important;width:100%;padding:0!important;margin:0!important;opacity:1!important;height:auto}.overture__line{opacity:1!important;color:#111;text-shadow:none;font-size:18pt}.overture__latin{color:#111}.overture__end-line{color:#111;text-shadow:none;font-size:25pt!important}.overture__cn{width:70%}}
/* Blend the complete name layer with the mist, so white around the ink disappears. */
.overture__ui{z-index:auto}
.overture__name{z-index:2;mix-blend-mode:multiply}
.overture__cn,.overture__cn img{mix-blend-mode:normal}
.overture__lines,.overture__end,.overture__scroll,.overture__setting{z-index:2}
.overture__scroll,.overture__setting{bottom:14vh}
.overture__nav a,.overture__nav button{white-space:nowrap}
@media(max-width:700px){.overture__setting{bottom:23vh;right:6%}.overture__scroll{bottom:17vh}}
.overture[data-static]{margin-top:0}
html.overture-immersive body:before{visibility:hidden}
html.overture-immersive[data-music=blocked] .audio-status{width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
