:root{--paper:#f7f6f2;--ink:#262c39;--muted:#7b7e86;--line:#deded9;--accent:#7973a7;--blue:#263b63;font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;height:auto;display:block}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.skip-link{position:fixed;top:-70px;left:20px;background:var(--ink);color:white;padding:15px;z-index:20}.skip-link:focus{top:10px}
.site-header{height:88px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:3}.brand{display:flex;align-items:center;gap:11px}.brand-symbol{width:36px;height:36px;object-fit:contain}.brand-wordmark{width:123px;filter:brightness(0)}nav{display:flex;gap:36px;font-size:11px;letter-spacing:.06em}nav a{padding:12px 0;transition:color .2s}nav a:hover{color:var(--accent)}nav span{margin-left:9px}
.hero{height:calc(100svh - 88px);min-height:750px;max-height:1000px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#fffefa 0%,var(--paper) 67%)}.hero-topline,.hero-bottomline{position:absolute;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;font-family:Arial,sans-serif;font-size:9px;letter-spacing:.17em;color:#93949b;z-index:2}.hero-topline{top:25px}.hero-bottomline{bottom:22px}.hero-bottomline a span{margin-left:14px}.intro{position:absolute;top:64px;width:100%;text-align:center;z-index:1;pointer-events:none}.eyebrow{font:10px/1.6 Arial,sans-serif;letter-spacing:.2em;color:var(--accent);margin:0 0 24px}h1{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-weight:500;font-size:clamp(32px,3.4vw,51px);letter-spacing:.12em;line-height:1.5;margin:0 0 19px}h1 span{white-space:nowrap}.intro-copy{font-size:12px;letter-spacing:.08em;line-height:2;color:var(--muted);margin:0}#stage{position:absolute;inset:0}canvas{display:block}.hero-caption{position:absolute;z-index:1;left:10%;top:48%;pointer-events:none}.small-label{font:8px Arial,sans-serif;letter-spacing:.19em;color:#898b93}.character-name{font-family:Georgia,serif;font-style:italic;font-size:64px;line-height:1;letter-spacing:-.03em;margin:18px 0 19px}.character-name span{color:var(--accent)}.hero-caption>p:not(.character-name){font-size:11px;line-height:2.1;letter-spacing:.05em;color:var(--muted)}.text-link{font-size:10px;border-bottom:1px solid #bebcc8;padding-bottom:10px;display:inline-flex;gap:24px;margin-top:16px;pointer-events:auto}.text-link:hover{color:var(--accent)}#bubble{position:absolute;z-index:1;top:45%;left:59%;background:#fffefaee;border:1px solid #e9e6de;border-radius:18px 18px 18px 2px;padding:17px 24px;font-size:12px;line-height:1.8;letter-spacing:.06em;opacity:0;transform:translateY(8px);transition:opacity .6s,transform .6s;pointer-events:none;box-shadow:0 8px 35px #33344f05}#bubble strong{font-weight:500;font-size:18px}#bubble>span{display:block;color:var(--muted);font-size:10px;margin-top:6px}#bubble.show{opacity:1;transform:none}#loading{position:absolute;top:58%;width:100%;text-align:center;font-size:12px;color:var(--muted)}.controls{position:absolute;z-index:2;bottom:58px;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap}#replay{border:1px solid #303848;background:#303848;color:#fff;padding:14px 24px;border-radius:3px;font-size:11px;letter-spacing:.06em;cursor:pointer;transition:background .2s,transform .2s}#replay:hover{background:#4a5064;transform:translateY(-2px)}#replay>span{font-size:16px;vertical-align:-1px;margin-right:12px}#replay:disabled{opacity:.45;cursor:wait}.progress{display:flex;gap:24px;margin-top:18px;font:9px Arial,sans-serif;color:#a2a2a9;letter-spacing:.05em}.progress b{font-weight:400;font-size:9px;margin-left:4px}.progress>span.active{color:var(--ink)}.progress>span{transition:color .3s}
.section-wrap{max-width:1280px;margin:0 auto;padding:120px 7%}.about{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;border-top:1px solid var(--line)}h2{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:clamp(25px,2.5vw,36px);font-weight:500;line-height:1.9;letter-spacing:.08em;margin:0 0 32px}.section-lead{font-size:13px;line-height:1.9;letter-spacing:.02em;margin:0 0 21px}.body-copy{font-size:12px;line-height:2.3;color:var(--muted);margin:0 0 18px}.profile{border-top:1px solid var(--line);margin-top:34px;padding-top:22px}.profile>div{margin:0 0 18px}.profile dt{font:8px Arial,sans-serif;letter-spacing:.17em;color:var(--accent);margin-bottom:8px}.profile dd{font-size:11px;line-height:1.8;margin:0;color:#656a76}.character-study{margin:0}.character-study img{width:100%;border-radius:2px}.character-study a{display:block;transition:transform .4s}.character-study a:hover{transform:translateY(-4px)}figcaption{display:flex;justify-content:space-between;font:8px Arial,sans-serif;letter-spacing:.1em;color:var(--muted);padding-top:17px}
.world{position:relative;max-width:1440px;margin:0 auto;overflow:hidden;background:#063572}.world>img{width:100%;aspect-ratio:2.2;object-fit:cover;object-position:center 55%}.world-copy{position:absolute;top:13%;left:8%;color:#fff}.world-copy .eyebrow{color:#ccd8ef}.world h2{font-size:clamp(25px,3vw,42px);margin-bottom:20px}.world-copy>p:last-child{font-size:11px;letter-spacing:.1em;color:#d4e0f2}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:44px}.section-heading h2{margin:0}.section-heading>p{font-size:11px;line-height:2;color:var(--muted)}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.collection-image{overflow:hidden;aspect-ratio:3/4;background:#eeebe5}.collection-image img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.collection-item:hover .collection-image img{transform:scale(1.025)}.blueprint img{object-fit:contain;background:#073c78}.item-caption{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.item-caption div>span{font:8px Arial,sans-serif;letter-spacing:.17em;color:var(--accent)}.item-caption h3{font-size:12px;letter-spacing:.06em;font-weight:400;margin:10px 0 0}.item-caption>span{font-size:18px;color:var(--accent)}
.site-footer{background:#262d3e;color:#f5f3ec;padding:64px 7% 26px}.footer-main{max-width:1100px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding-bottom:56px}.footer-wordmark{width:176px}.footer-main p{font-size:11px;letter-spacing:.1em;color:#b4b8c4;margin:24px 0 0}.footer-back{font-size:11px;letter-spacing:.06em}.footer-back>span{margin-left:28px}.footer-bottom{max-width:1100px;margin:auto;border-top:1px solid #ffffff20;padding-top:24px;display:flex;justify-content:space-between;font:8px Arial,sans-serif;letter-spacing:.15em;color:#9b9faf}
.hero-caption{transition:opacity .7s,transform .7s}.hero:has(#stage[data-phase="walking"]) .hero-caption{opacity:0;transform:translateY(8px)}.controls{bottom:45px}
@media(min-width:1600px){.hero-caption{left:16%}}
@media(max-width:1000px){nav{gap:22px}.hero-caption{left:6%;top:50%}.character-name{font-size:54px}.hero-caption>p:not(.character-name){font-size:10px}.small-label{font-size:7px}.section-wrap{padding:90px 6%}.about{gap:7%}.collection-grid{gap:20px}.body-copy br{display:none}.world>img{aspect-ratio:1.9}.world-copy{left:6%}}
@media(max-width:760px){.site-header{height:76px;margin:0 6%}.brand-symbol{width:29px;height:29px}.brand-wordmark{width:101px}nav{font-size:10px;gap:16px}nav a:nth-child(2),nav a:nth-child(3){display:none}.hero{height:calc(100svh - 76px);min-height:700px;max-height:900px}.hero-topline{font-size:7px;left:6%;right:6%;top:23px}.hero-topline>span:last-child{display:none}.intro{top:69px}.eyebrow{font-size:8px;margin-bottom:19px}h1{font-size:clamp(26px,6.8vw,39px);letter-spacing:.06em;margin-bottom:17px}.intro-copy{font-size:10px;line-height:2.1}.hero-caption{display:none}#bubble{top:43%;left:59%;padding:11px 13px;max-width:40%;font-size:10px}#bubble strong{font-size:15px}#bubble>span{font-size:8px;letter-spacing:0}.controls{bottom:58px}.progress{gap:15px;font-size:8px;margin-top:16px}.progress b{font-size:8px}#replay{font-size:10px;padding:12px 23px}.hero-bottomline{font-size:7px;left:6%;right:6%;letter-spacing:.08em}.hero-bottomline>span{display:none}.hero-bottomline>a{margin-left:auto}.section-wrap{padding:75px 7%}.about{grid-template-columns:1fr;gap:42px}.about-copy{max-width:480px}h2{font-size:28px;margin-bottom:24px}.section-lead{font-size:12px}.body-copy{font-size:11px}.body-copy br{display:block}.profile{margin-top:27px;display:grid;grid-template-columns:1fr}.profile>div{margin-bottom:15px}.character-study{max-width:460px;width:100%;justify-self:center}.world>img{aspect-ratio:1.1;object-position:59% center}.world-copy{top:8%;left:7%}.world h2{font-size:26px;line-height:1.8}.world-copy>p:last-child{font-size:10px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin:17px 0 0;font-size:10px}.section-heading>p br{display:none}.collection-grid{grid-template-columns:1fr;gap:38px}.collection-image{aspect-ratio:1.1}.collection-image img{object-fit:cover;object-position:center 44%}.blueprint{aspect-ratio:1.1}.blueprint img{object-fit:contain}.item-caption{margin-top:17px}.site-footer{padding:49px 7% 24px}.footer-main{align-items:flex-start;flex-direction:column;gap:38px;padding-bottom:38px}.footer-wordmark{width:143px}.footer-main p{font-size:10px;margin-top:19px}.footer-back{font-size:10px}.footer-bottom{font-size:7px;line-height:2;flex-direction:column;gap:6px}}
.world>img{aspect-ratio:1672/941;object-fit:contain}
@media(max-width:760px){h1{font-size:24px;letter-spacing:.045em;padding:0 18px}#bubble{left:auto;right:12px;top:44%;width:112px;max-width:none;padding:10px 11px;font-size:9px;line-height:1.7}#bubble strong{font-size:12px}#bubble>span{font-size:8px;line-height:1.8}.collection h2{font-size:23px;letter-spacing:.04em}}
@media(max-width:760px){.world{display:flex;flex-direction:column}.world-copy{position:static;order:-1;padding:36px 7% 8px}.world h2{font-size:25px;line-height:1.8;margin-bottom:15px}.world>img{aspect-ratio:1672/941;object-position:center}.world-copy .eyebrow{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.collection-item:hover img{transform:none}}
