
/* First-screen loading introduction. Other images retain lazy loading. */
html.is-loading,html.is-loading body{overflow:hidden}
.site-loader{display:none;position:fixed;inset:0;z-index:1000;background:#101010;color:#faf9f5;isolation:isolate;opacity:1;transition:opacity .45s ease;align-items:center;justify-items:center;padding:32px 24px}
.is-loading .site-loader,.site-loader.is-leaving{display:grid}
.site-loader::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,#ffffff05,transparent 65%);pointer-events:none}
.site-loader.is-leaving{opacity:0;pointer-events:none}
.loader-quote{text-align:center;transform:translateY(-12px)}
.loader-japanese{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:clamp(32px,5vw,66px);font-weight:600;line-height:1.8;letter-spacing:.09em;text-shadow:0 0 24px #ffffff10}
.loader-japanese span{display:block}
.loader-translation{margin-top:26px;font-size:clamp(11px,1.1vw,13px);font-weight:400;letter-spacing:.13em;color:#a5a5a0;word-break:keep-all}
.loader-bottom{position:absolute;bottom:max(38px,env(safe-area-inset-bottom));left:24px;right:24px;width:min(280px,calc(100% - 48px));margin:auto}
.loader-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font:9px Arial,sans-serif;letter-spacing:.22em;color:#8d8d88}
.loader-track{height:2px;overflow:hidden;background:#343432}
.loader-fill{display:block;height:100%;width:35%;background:#eeeDE8;animation:loader-sweep 1.5s ease-in-out infinite}
.site-loader.is-ready .loader-fill,.site-loader.is-complete .loader-fill{width:100%;animation:none;transform:none;transition:width .25s ease}
@keyframes loader-sweep{0%{transform:translateX(-110%)}100%{transform:translateX(390%)}}
@media(max-width:640px){.loader-japanese{font-size:clamp(30px,8.6vw,45px)}.loader-translation{margin-top:20px;letter-spacing:.06em}.loader-bottom{bottom:max(32px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.site-loader{transition:none}.loader-fill{animation:none;width:35%}}
