body.clock-intro-active{overflow:hidden}.clock-intro{z-index:1000;cursor:pointer;position:fixed;inset:0}.no-clock-intro .clock-intro{display:none}.clock-intro__door{z-index:1000;background:#000;width:50vw;height:100dvh;position:fixed;top:0;overflow:hidden}.clock-intro__door--left{animation:1s ease-in-out 2.3s both clock-intro-open-left;left:0}.clock-intro__door--right{animation:1s ease-in-out 2.3s both clock-intro-open-right;right:0}.clock-intro__stage{place-items:center;width:100vw;height:100dvh;display:grid;position:absolute;top:0}.clock-intro__door--left .clock-intro__stage{left:0}.clock-intro__door--right .clock-intro__stage{left:-50vw}.clock{--clock-size:min(70vmin, 640px);width:var(--clock-size);aspect-ratio:1;animation:.5s ease-in-out 1.8s both clock-intro-pulse;position:relative}.clock__face{width:100%;height:100%;display:block}.clock-hand{width:calc(var(--clock-size) * var(--scale));aspect-ratio:1;transform-origin:50% var(--pivot);position:absolute;top:50%;left:50%}.clock-hand--hour{--scale:.36;--pivot:86.9%;animation:1.8s cubic-bezier(.65,0,.35,1) both clock-intro-hand-hour}.clock-hand--minute{--scale:.475;--pivot:90.9%;animation:1.8s cubic-bezier(.65,0,.35,1) both clock-intro-hand-minute}.clock-intro__skip{bottom:max(2rem, env(safe-area-inset-bottom));z-index:1001;color:var(--text-muted);white-space:nowrap;font-size:.75rem;position:absolute;left:50%;transform:translate(-50%)}@keyframes clock-intro-hand-hour{0%{transform:translate(-50%,-86.9%)rotate(-60deg)}to{transform:translate(-50%,-86.9%)rotate(0)}}@keyframes clock-intro-hand-minute{0%{transform:translate(-50%,-90.9%)rotate(60deg)}to{transform:translate(-50%,-90.9%)rotate(360deg)}}@keyframes clock-intro-pulse{0%,to{filter:brightness()drop-shadow(0 0 12px #ff8c324d)}50%{filter:brightness(2.2)drop-shadow(0 0 40px #ffb65ce6)}}@keyframes clock-intro-open-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes clock-intro-open-right{0%{transform:translate(0)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.clock-intro{display:none}}.section-heading{text-align:left;color:var(--text);flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin:0 0 2rem;padding-bottom:1rem;font-family:inherit;display:flex;position:relative}.section-heading-en{letter-spacing:.04em;font-size:2.4rem;font-weight:700}.section-heading-ja{color:var(--text-muted);font-size:.9rem;font-weight:400;line-height:1.6}.section-heading:after{content:"";background:var(--accent);width:3rem;height:2px;position:absolute;bottom:0;left:0}
