*,:before,:after{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif}html{scroll-snap-type:y mandatory}html,body{background:#e4dedb}.intro{width:100vw;height:100vh;display:block;position:fixed;inset:0}.sections{position:relative}.sections section{scroll-snap-align:start;scroll-snap-stop:always;height:100vh}.scroll-hint{letter-spacing:.4em;text-transform:uppercase;color:#2a3640;padding-bottom:34px;font:500 10px IBM Plex Mono,monospace;transition:opacity .4s;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.scroll-hint:after{content:"";background:#1f5e7c;width:1px;height:26px;animation:1.6s ease-in-out infinite hint;position:absolute;bottom:0;left:50%}.scroll-hint.hidden{opacity:0}@keyframes hint{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}.credits-menu{letter-spacing:.08em;color:#2a364099;max-width:min(420px,100vw - 28px);font:400 9px IBM Plex Mono,monospace;position:fixed;bottom:10px;right:14px}.credits-menu summary{cursor:pointer;text-align:right}.credits-menu ul{background:#f2f0eef2;border:1px solid #2a364033;margin:6px 0 0;padding:8px 10px;line-height:1.6;list-style:none}.credits-menu a{color:#1f5e7c}.dive-in{opacity:0;pointer-events:none;gap:12px;transition:opacity .6s,transform .6s;display:flex;position:fixed;bottom:18%;left:50%;transform:translate(-50%,12px)}.dive-in.visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.dive-in button{color:#17475f;letter-spacing:.4em;text-transform:uppercase;white-space:nowrap;cursor:pointer;background:#f2f0eed9;border:1px solid #17475f;padding:14px 26px;font:500 12px IBM Plex Mono,monospace;transition:background .2s,color .2s}.dive-in button:hover,.dive-in button:focus-visible{color:#f2f0ee;background:#17475f}@media (width<=640px){.dive-in{flex-direction:column;gap:8px}}.dive{z-index:10;background:#0b1117;position:fixed;inset:0}.dive canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.dive-scroller{scroll-snap-type:y mandatory;scrollbar-width:none;outline:none;position:absolute;inset:0;overflow-y:auto}.dive-scroller::-webkit-scrollbar{display:none}.dive-scroller section{scroll-snap-align:start;scroll-snap-stop:always;height:100vh}.dive-hint{color:#f2f0ee;pointer-events:none}.dive-hint:after{background:#e9853d}.dive button{letter-spacing:.35em;text-transform:uppercase;cursor:pointer;font:500 10px IBM Plex Mono,monospace}.dive-skip{z-index:1;color:#e9853d;background:#0b1117b3;border:1px solid #e9853db3;padding:7px 14px;transition:background .2s,color .2s;position:absolute;top:14px;left:50%;transform:translate(-50%)}.dive-skip:hover,.dive-skip:focus-visible{color:#fff;background:#e9853d}.dive-credits{z-index:1;color:#f2f0eebf;text-shadow:0 0 4px #0009;max-width:min(520px,100vw - 28px);font:400 9px IBM Plex Mono,monospace;position:absolute;bottom:10px;right:14px}.dive-credits summary{cursor:pointer;text-align:right;letter-spacing:.1em}.dive-credits ul{background:#0b1117e0;max-height:50vh;margin:6px 0 0;padding:10px 12px;line-height:1.6;list-style:none;overflow-y:auto}.dive-credits a{color:#e9853d}.dive-learn{z-index:1;color:#c4672a;opacity:0;pointer-events:none;background:#eeeae4eb;border:1px solid #e9853d;padding:10px 22px;transition:opacity .4s,transform .4s,background .2s,color .2s;position:absolute;bottom:22px;left:50%;transform:translate(-50%,8px)}.dive-learn.visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.dive-learn:hover,.dive-learn:focus-visible{color:#fff;background:#e9853d}.learn{z-index:2;background:#0b1117b8;place-items:center;padding:16px;animation:.25s ease-out learn-in;display:grid;position:absolute;inset:0}.learn-frame{background:#e6e0d8;border:1px solid #e9853dcc;flex-direction:column;max-width:100%;max-height:100%;animation:.3s ease-out learn-frame-in;display:flex;box-shadow:14px 14px #1f5e7cd9}.learn-frame header{background:repeating-linear-gradient(0deg,#0000 0 5px,#e9853d1f 5px 6px) bottom/100% 12px no-repeat,#eeeae4;border-bottom:1px solid #1a2a3440;align-items:center;gap:18px;padding:14px 18px;display:flex}.learn-no{color:#1a2a34;font:italic 400 22px Playfair Display,Georgia,serif}.learn-jp{letter-spacing:.2em;color:#e9853d;font:600 11px Hiragino Mincho ProN,Yu Mincho,serif}.learn-frame h2{color:#e9853d;margin:2px 0 0;font:italic 700 26px Playfair Display,Georgia,serif}.learn-actions{gap:10px;margin-left:auto;display:flex}.learn-actions a,.learn-actions button{color:#1a2a34;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #1a2a34;padding:7px 12px;font:500 10px IBM Plex Mono,monospace;text-decoration:none}.learn-actions a:hover,.learn-actions button:hover{color:#eeeae4;background:#1a2a34}.learn-frame iframe{background:#fff;border:0;flex:1;width:100%}.learn-empty{text-align:center;color:#1a2a34b3;flex:1;place-content:center;gap:10px;font:400 13px IBM Plex Mono,monospace;display:grid}.learn-empty span{letter-spacing:.4em;color:#e9853d}@keyframes learn-in{0%{opacity:0}}@keyframes learn-frame-in{0%{opacity:0;transform:translateY(16px)scale(.98)}}@media (width<=640px){.learn-frame header{flex-wrap:wrap}.learn-frame h2{font-size:20px}}.learn-tabs{gap:4px;margin-left:12px;display:flex}.learn-tabs button{color:#1a2a34;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #1a2a3466;padding:6px 12px;font:500 10px IBM Plex Mono,monospace}.learn-tabs button.active{color:#fff;background:#e9853d;border-color:#e9853d}.learn-frame.full{width:min(1100px,100vw - 32px);height:min(760px,100vh - 32px)}.learn-frame.fit{--media-w:min(1100px, calc(100vw - 34px));--media-h:calc(100vh - 34px - 76px)}.learn-media{background:#0b1117;line-height:0;position:relative}.learn-media img,.learn-media video{max-width:var(--media-w);max-height:var(--media-h);display:block}.learn-media .learn-youtube{width:min(var(--media-w), calc(var(--media-h) * 16 / 9));aspect-ratio:16/9;border:0;display:block}.learn-grid{background:#e6e0d8;flex:1;gap:3px;min-height:0;display:grid}.learn-grid button{cursor:zoom-in;background:#0b1117;border:0;min-width:0;min-height:0;padding:0;overflow:hidden}.learn-grid img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.learn-grid button:hover img{transform:scale(1.04)}.learn-media button,.learn-photo-count{color:#eeeae4;letter-spacing:.25em;text-transform:uppercase;background:#0b1117b3;border:1px solid #eeeae480;font:500 10px/1 IBM Plex Mono,monospace;position:absolute}.learn-media button{cursor:pointer}.learn-media button:hover{background:#e9853d}.learn-photo-back,.learn-photo-count{padding:8px 12px;top:12px}.learn-photo-back{left:12px}.learn-photo-count{right:12px}.learn-photo-prev,.learn-photo-next{width:44px;height:60px;top:50%;transform:translateY(-50%);letter-spacing:0!important;font-size:22px!important}.learn-photo-prev{left:12px}.learn-photo-next{right:12px}.learn-frame.fit header{box-sizing:border-box;flex-wrap:wrap;width:0;min-width:100%}.learn-link a{color:#c4672a;letter-spacing:.1em;border:1px solid #e9853d;justify-self:center;padding:10px 18px;font:500 12px IBM Plex Mono,monospace;text-decoration:none}.learn-link a:hover{color:#fff;background:#e9853d}.rotate{display:none}@media (orientation:portrait) and (pointer:coarse){.rotate{z-index:100;color:#1a2a34;text-align:center;background:#e6e0d8;place-content:center;gap:18px;padding:24px;display:grid;position:fixed;inset:0}.rotate-phone{border:3px solid #1a2a34;border-radius:9px;justify-self:center;width:46px;height:80px;animation:2.4s ease-in-out infinite rotate-phone;box-shadow:8px 8px #1f5e7c}.rotate-jp{letter-spacing:.3em;color:#e9853d;font:600 12px Hiragino Mincho ProN,Yu Mincho,serif}.rotate h2{color:#e9853d;margin:0;font:italic 700 30px Playfair Display,Georgia,serif}.rotate p{letter-spacing:.3em;text-transform:uppercase;margin:0;font:500 11px IBM Plex Mono,monospace}}@keyframes rotate-phone{0%,20%{transform:rotate(0)}55%,80%{transform:rotate(-90deg)}to{transform:rotate(0)}}
