:root{color-scheme:dark;--bg:#101519;--paper:#f2eee4;--ink:#edece5;--muted:#aab0af;--line:#ffffff25;--accent:#cec3a5;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button:not(:disabled),a{touch-action:manipulation}button:not(:disabled){cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #ead8a4;outline-offset:7px}h1,h2,h3,p{margin:0}button{border:0}button:disabled{cursor:default}[hidden]{display:none!important}.sr-only{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-link{position:absolute;left:20px;top:-100px;z-index:10;background:var(--paper);color:var(--bg);padding:12px 20px}.skip-link:focus{top:16px}
.site-header{max-width:1440px;margin:auto;padding:30px 5.2vw;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:14px}.brand img{width:54px;height:54px;border-radius:50%;object-fit:cover}.brand>span{font-size:20px;letter-spacing:.24em;white-space:nowrap}.brand small{display:block;font-size:8px;letter-spacing:.28em;color:var(--muted);line-height:1.4;margin-top:2px}.site-header nav{display:flex;gap:34px;font-size:12px;letter-spacing:.07em}.site-header nav a{border-bottom:1px solid transparent;padding:7px 0}.site-header nav a:hover{border-color:var(--accent)}
.experience{position:relative;isolation:isolate;max-width:1440px;margin:auto;padding:32px 5.2vw 32px}.experience:before{content:"";position:absolute;z-index:-1;inset:-80px 0 -10px;background:radial-gradient(ellipse at 78% 38%,#83938318 0,transparent 62%);pointer-events:none}.experience-topline{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:24px;font-size:11px;color:var(--muted);letter-spacing:.12em}.experience-topline>span{display:flex;align-items:center;gap:12px}.experience-topline i{width:16px;height:1px;background:#919b90}.scene{display:grid;grid-template-columns:.84fr 1.16fr;gap:clamp(30px,5.4vw,85px);align-items:center;min-height:650px;padding:48px 0 40px}.story{min-width:0;position:relative;z-index:2}.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--accent);font-weight:400}.story h1,.story h2{font:400 clamp(36px,3.7vw,55px)/1.65 var(--serif);letter-spacing:.055em;margin:21px 0 25px;outline:0}.prose{font-size:13px;color:#c2c7c4;line-height:2.3;letter-spacing:.035em}.prose p+p{margin-top:20px}.prose .question{color:var(--ink);margin-top:28px}.prose .afterthought{color:var(--ink);font-family:var(--serif);font-size:17px;line-height:2.15;margin-top:30px}.interaction-hint{margin-top:38px;color:var(--accent);font-size:12px;letter-spacing:.1em;display:flex;align-items:center;gap:11px}.interaction-hint>span{font-size:25px;line-height:1}.story-panel{animation:story-in .7s ease both}.choices{margin-top:28px;display:grid;gap:9px}.choices button{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#e8e7d905;text-align:left;padding:14px 18px;border:1px solid #d5d9ce40;font-size:13px;letter-spacing:.06em;transition:background .2s,border-color .2s}.choices button:hover{background:#e8e7d911;border-color:#d5d9ce98}.choices button span:last-child{color:var(--accent);font-size:18px}.after-actions{margin-top:32px;display:flex;flex-direction:column;align-items:flex-start;gap:22px}.continue{font-size:12px;letter-spacing:.08em;border-bottom:1px solid #9c9e9050;padding-bottom:7px}.continue span{margin-left:16px}.reset{font-size:11px;background:none;padding:5px 0;color:var(--muted);text-decoration:underline;text-underline-offset:5px;text-decoration-color:#aab0af60}.reset:hover{color:var(--ink)}
.still-life{position:relative;padding:38px 6px 0;min-width:0;perspective:1800px}.window-light{position:absolute;inset:-65px -50px -65px -20px;overflow:hidden;pointer-events:none;z-index:-1;opacity:.6}.window-light:before{content:"";position:absolute;width:85%;height:110%;right:-10%;top:-5%;background:repeating-linear-gradient(90deg,transparent 0 47%,#bdc6b80a 48% 82%,transparent 83% 100%);transform:skewX(-28deg) rotate(8deg);filter:blur(5px)}.photo-space{position:relative;aspect-ratio:1.27;display:grid;place-items:center;width:100%;max-width:650px;margin:auto;perspective:1800px}.photograph{display:block;position:relative;width:100%;height:100%;padding:0;background:transparent;transform:rotate(-5deg);transform-style:preserve-3d;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),opacity 1.4s,filter 1.4s;box-shadow:0 22px 65px #0007;border-radius:2px}.photograph:hover:not(:disabled){transform:rotate(-3deg) translateY(-5px)}.photograph.flipped{transform:rotate(3deg) rotateY(180deg)}.photograph.flipped:hover:not(:disabled){transform:rotate(1deg) rotateY(180deg) translateY(-5px)}.photo-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--paper);color:#3c413e;border-radius:2px;overflow:hidden;display:flex;flex-direction:column}.photo-front{padding:17px 17px 0}.photo-front img{width:100%;height:calc(100% - 54px);object-fit:cover;filter:saturate(.78);flex-grow:1;min-height:0}.photo-caption{display:flex;align-items:center;justify-content:space-between;padding:16px 7px 18px;font:14px/1.4 var(--serif);letter-spacing:.12em;min-height:60px}.flip-mark{font:23px/1 var(--sans);color:#656d62}.photo-back{transform:rotateY(180deg);align-items:flex-start;padding:13% 12%;text-align:left;background:linear-gradient(115deg,#ebe6da,#f4efe4 45%,#ebe5d8)}.back-rule{position:absolute;right:10%;top:12%;width:41px;height:50px;border:1px dashed #7f867052;transform:rotate(-4deg)}.handwriting{font:24px/1.8 var(--serif);letter-spacing:.08em;transform:rotate(-3deg);margin:6% 0 12%}.date-caption{font-size:9px;letter-spacing:.15em;color:#818276}.photo-back time{font:26px/1.5 Georgia,serif;letter-spacing:.09em;margin-top:5px;color:#4b5c59}.tomorrow-note{font:13px/1.8 var(--serif);color:#7c5544;margin-top:6px;letter-spacing:.13em}.back-bottom{position:absolute;bottom:9%;left:12%;right:12%;display:flex;justify-content:space-between;font-size:11px;color:#929281}.scene-footer{display:flex;align-items:center;justify-content:space-between;margin-top:48px;color:#939d99;font-size:10px;letter-spacing:.16em}.scene-progress{display:flex;gap:9px}.scene-progress i{width:4px;height:4px;display:block;border-radius:50%;background:#5f6c67;transition:background .3s}.scene-progress i.active{background:#d7d1bd}.experience[data-state="leave"] .photograph{opacity:0;filter:blur(7px);pointer-events:none;transform:rotate(-5deg) translateY(-10px)}.experience[data-state="keep"] .photograph{transform:rotate(-2deg)}.experience[data-state="keep"] .flip-mark{visibility:hidden}.noscript{padding:20px;border:1px solid var(--line)}
.section-wrap{max-width:1288px;margin:auto;padding:70px 0}.works{border-top:1px solid var(--line);width:89.6%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:35px}.section-heading h2{font:400 27px/1.7 var(--serif);letter-spacing:.06em;margin-top:10px}.section-heading>p{font-size:12px;line-height:2;color:var(--muted)}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.work-card{position:relative;padding:30px 32px;min-height:255px;border:1px solid #cad1c124;background:linear-gradient(140deg,#b5bf9c08,transparent)}.work-card h3{font:400 27px/1.6 var(--serif);letter-spacing:.06em;margin:12px 0}.work-card>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:2.1}.work-link{display:flex;gap:30px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font-size:12px;padding-top:16px;margin-top:26px}.work-link:hover,.recent a:hover,.updates a:hover,.about-link:hover{color:#ecdaaf}.work-link span{font-size:17px;color:var(--accent)}.recent{display:flex;flex-direction:column;margin-top:22px;padding-top:21px;border-top:1px solid #cad1c118}.recent>span{font-size:10px;color:var(--muted);margin-bottom:10px}.recent a{padding:6px 0;font-size:12px;display:flex;gap:16px;justify-content:space-between}.recent a span{color:#909c91}.availability{display:block;font-size:10px;margin-top:22px;color:#929c94;letter-spacing:.06em}.updates{display:flex;justify-content:space-between;padding:32px 0 0;font-size:12px;color:var(--muted)}.about{width:89.6%;display:grid;grid-template-columns:1fr 3fr;gap:35px;border-top:1px solid var(--line)}.about h2{font:400 27px/1.7 var(--serif);margin-bottom:24px}.about p:not(.eyebrow){font-size:12px;line-height:2.3;color:var(--muted)}.about-link{display:block;margin-top:24px;font-size:12px;line-height:2.4}.about-link>span{white-space:nowrap}.site-footer{width:89.6%;max-width:1288px;margin:auto;padding:28px 0 38px;border-top:1px solid var(--line);display:flex;align-items:center;gap:24px;color:#a0aaa4;font-size:10px;flex-wrap:wrap}.site-footer>a{margin-left:auto}.site-footer small{width:100%;font-size:9px;color:#737f77}.site-footer a:hover{color:var(--ink)}
@keyframes story-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(min-width:1450px){.site-header{padding-left:76px;padding-right:76px}.experience{padding-left:76px;padding-right:76px}}
@media(max-width:1050px){.scene{gap:34px;grid-template-columns:1fr 1.05fr;min-height:610px}.story h1,.story h2{font-size:38px}.prose{font-size:12px}.prose .afterthought{font-size:15px}.still-life{padding:25px 0 0}.handwriting{font-size:20px}.photo-back time{font-size:23px}.section-heading>p{max-width:210px}}
@media(max-width:720px){.site-header{padding:20px 6vw;gap:12px;align-items:flex-start}.brand{gap:9px}.brand img{width:44px;height:44px}.brand>span{font-size:17px;letter-spacing:.13em}.brand small{font-size:7px;letter-spacing:.16em}.site-header nav{gap:12px;font-size:10px;align-items:flex-end;flex-direction:column;line-height:1.2}.site-header nav a{padding:2px 0}.experience{padding:15px 7vw 35px}.experience-topline{padding-top:17px;font-size:9px;letter-spacing:.04em;gap:12px}.experience-topline>span{gap:7px}.experience-topline i{width:8px}.scene{display:flex;flex-direction:column;gap:29px;min-height:0;padding:30px 0 0}.story{width:100%}.story h1,.story h2{font-size:33px;line-height:1.55;margin:11px 0 18px}.eyebrow{font-size:9px}.prose{font-size:12px;line-height:2.1}.prose p+p{margin-top:12px}.interaction-hint{margin-top:21px;font-size:11px}.interaction-hint>span{font-size:20px}.still-life{padding:5px 8px 0;width:100%;max-width:490px}.photo-space{aspect-ratio:1.32}.photo-front{padding:12px 12px 0}.photo-caption{font-size:12px;min-height:47px;padding:12px 5px}.photo-front img{height:calc(100% - 47px)}.scene-footer{margin-top:32px;font-size:9px}.photo-back{padding:10% 11%}.handwriting{font-size:21px;margin:4% 0 8%}.photo-back time{font-size:24px}.back-bottom{bottom:8%}.window-light{inset:-40px -16px -35px -16px}.choices{margin-top:19px;grid-template-columns:1fr 1fr;gap:9px}.choices button{font-size:11px;letter-spacing:0;padding:13px 11px;gap:4px}.choices button span:last-child{font-size:13px}.prose .question{margin-top:17px}.prose .afterthought{font-size:15px;margin-top:21px}.after-actions{gap:14px;margin-top:21px}.works,.about,.site-footer{width:86%}.section-wrap{padding:42px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:25px}.section-heading h2{font-size:23px}.section-heading>p{font-size:11px;max-width:none}.work-grid{grid-template-columns:1fr;gap:12px}.work-card{min-height:0;padding:25px}.work-card h3{font-size:24px}.about{grid-template-columns:1fr;gap:18px}.about h2{font-size:23px;margin-bottom:20px}.about p br{display:none}.about-link{margin-top:19px}.site-footer{gap:18px;line-height:1.6}.site-footer>a{margin-left:0}.site-footer>span{width:100%}}
@media(max-width:360px){.choices{grid-template-columns:1fr}.story h1,.story h2{font-size:30px}.experience-topline{font-size:8px}.brand>span{font-size:15px}.brand img{width:40px;height:40px}}
.brand img{filter:brightness(42) contrast(1.35);mix-blend-mode:screen;opacity:.85}
.prose{font-size:14px}.choices button{min-height:48px}.reset{min-height:40px}.after-actions{gap:13px}
@media(max-width:720px){.scene{display:grid;grid-template-columns:1fr;row-gap:0}.story,.story-panel{display:contents}.story-panel>.eyebrow{grid-row:1}.story-panel>h1,.story-panel>h2{grid-row:2}.still-life{grid-row:3;margin:12px auto 25px;max-width:430px}.story-panel>.prose{grid-row:4}.interaction-hint{grid-row:5;margin-top:18px}.choices,.after-actions{grid-row:5}.scene-footer{margin-top:30px}.prose p br{display:initial}}
@media(max-width:720px){.prose{font-size:13px}.choices button{font-size:12px}}
/* The photograph supplies the reveal; the prose keeps its original quiet type. */
.narrative{margin-top:24px;outline:0;scroll-margin-top:36px}
.prose .memory-detail{margin-top:30px}
.photo-back{justify-content:center}
.back-bottom{font:14px/1.4 var(--serif);letter-spacing:.12em;color:#3c413e;gap:10px}
.scene-footer{justify-content:flex-end}

@media(max-width:720px){.story-panel>.narrative{grid-row:2;margin:18px 0 12px}.still-life{grid-row:3;margin-top:18px}.interaction-hint,.choices,.after-actions{grid-row:4}.prose .memory-detail{margin-top:22px}.back-bottom{font-size:12px;letter-spacing:.06em}.photo-back{padding-bottom:22%}}
.symbol-story{width:89.6%;display:grid;grid-template-columns:1fr 3fr;gap:35px;border-top:1px solid var(--line)}.symbol-image img{display:block;width:100%;max-width:235px;height:auto;aspect-ratio:1}.symbol-copy h2{font:400 25px/1.8 var(--serif);margin:16px 0 26px;letter-spacing:.04em}.symbol-copy>p:not(.eyebrow){font-size:13px;line-height:2.3;color:var(--muted);margin:0 0 24px}.symbol-copy>p:last-child{margin-bottom:0}
@media(max-width:720px){.symbol-story{width:86%;grid-template-columns:1fr;gap:24px}.symbol-image img{width:150px;margin:auto}.symbol-copy h2{font-size:21px}.symbol-copy>p:not(.eyebrow){font-size:12px}.symbol-copy br{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.experience[data-state="leave"] .photograph{filter:none}}
#symbol-title>span{display:inline-block}

.absence{position:absolute;inset:0;border:1px solid #d2c8ad17;transform:rotate(-5deg);background:linear-gradient(120deg,#c2bea007,transparent);opacity:0;transition:opacity 1.7s}
.experience[data-state="leave"] .absence{opacity:1}

/* Keep footer controls clear of hosting badges. */
.site-footer{padding-bottom:80px}

.release-card{margin-top:22px;border:1px solid var(--line)}.release-art{display:block;width:100%;height:auto}.release-copy{padding:22px}.release-copy h4{font:400 28px/1.5 var(--serif);margin:8px 0}.release-copy p{font-size:12px;color:var(--muted)}.release-copy .release-date{color:#e4ac9b;font-size:11px}.release-copy .release-credit{margin-bottom:15px}.release-copy .button{display:inline-block;border:1px solid #8c8e82;margin-top:20px;padding:10px 17px;font-size:12px}.release-copy .button:hover{background:#e8e7d911}.channel-link{display:block;margin-top:20px;font-size:12px}.music-release{scroll-margin-top:30px}

/* Keep the content gutter singular; let phrases wrap as units. */
.work-card,.section-heading>div{min-width:0}
.experience{overflow-x:clip}
#works-title>span{display:inline-block}
.section-heading>p{flex-shrink:0}
@media(min-width:721px) and (max-width:1100px){.section-heading{flex-direction:column;align-items:flex-start;gap:18px}.section-heading>p{max-width:none}.work-card{padding:26px}}
@media(max-width:360px){.section-heading h2{font-size:21px}.work-card{padding:21px}.release-copy{padding:18px}.release-copy .button{padding:10px 12px}}
