:root{--paper:#d8ddcf;--ink:#343d2e;--muted:#6b7562;--line:#c2cbb8;--big:#bdc8b1}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:13px 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit;font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #465e35;outline-offset:7px}header{display:flex;justify-content:space-between;align-items:center;padding:20px 4.5%;position:relative;z-index:2;min-height:87px}.logo{font-size:26px;font-weight:700;letter-spacing:-1.7px;display:inline-flex;align-items:center;min-height:44px}header>span{font:9px 'IBM Plex Mono',monospace;letter-spacing:.5px;color:var(--muted)}header>a:last-child{font-size:11px;min-height:44px}.scene{position:relative;background:var(--paper);isolation:isolate}.scene-inner{position:relative;margin:0 4.5%;min-height:650px;height:100svh;max-height:1050px}.scene:first-child .scene-inner{height:calc(100svh - 87px)}.chapter-1{--paper:#dcd8cf;--big:#c7bfb0;--muted:#70685c}.chapter-2{--paper:#d7ded9;--big:#bacbc3;--muted:#64736b}.scene-top{position:absolute;top:22px;left:0;width:100%;display:flex;justify-content:space-between;font:9px 'IBM Plex Mono',monospace;letter-spacing:.4px;color:var(--muted);z-index:3}.scene-top p{margin:0}.chapter-title{position:absolute;top:65px;left:-.04em;font-size:clamp(140px,19vw,310px);font-weight:400;line-height:.78;letter-spacing:-.09em;margin:0;color:var(--big);z-index:-1;user-select:none;pointer-events:none}.chapter-title span{padding-left:.43em}.pair{position:absolute;inset:70px 0 100px;display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:center;margin-left:24%}.piece{padding:0;border:0;background:none;position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:transform .5s;min-width:0;max-height:100%}.piece:first-child{transform:translateY(-25px) rotate(-7deg)}.piece:nth-child(2){transform:translateY(38px) rotate(7deg)}.piece:hover:first-child,.piece:focus-visible:first-child{transform:translateY(-31px) rotate(-3deg)}.piece:hover:nth-child(2),.piece:focus-visible:nth-child(2){transform:translateY(32px) rotate(3deg)}.piece:focus-visible{outline:none}.piece:focus-visible .piece-label{outline:2px solid #465e35;outline-offset:7px}.piece img{width:100%;height:auto;max-height:470px;object-fit:contain;display:block;filter:none}.piece-label{display:flex;align-items:baseline;gap:12px;font-size:12px;margin-top:12px;color:var(--ink)}.piece-label span:last-child{font:12px 'IBM Plex Mono',monospace;color:var(--muted);white-space:nowrap}.scene-bottom{position:absolute;bottom:28px;left:0;width:100%;display:flex;align-items:flex-end;justify-content:space-between}.scene-bottom>p{font:11px/1.8 'IBM Plex Mono',monospace;letter-spacing:-.2px;margin:0}.chapter-number{font:10px 'IBM Plex Mono',monospace;color:var(--muted);padding-bottom:3px}footer{margin:0 4.5%;border-top:1px solid var(--line);padding:12px 0;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted)}footer p{margin:0}footer a{color:var(--ink);min-height:44px}.arrow-icon{display:inline-block;width:14px;height:14px;vertical-align:middle;flex-shrink:0}header>a:last-child,footer a,.detail-layout a{display:inline-flex;align-items:center;gap:7px}.piece-label .arrow-icon{width:12px;height:12px}dialog{border:0;background:#edf0e8;color:var(--ink);width:min(820px,92vw);padding:35px;max-height:90vh}dialog::backdrop{background:#27302066;backdrop-filter:blur(12px)}.close{position:absolute;top:8px;right:10px;font-size:30px;width:44px;height:44px;z-index:1}.detail-layout{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:35px}.detail-layout>img{display:block;width:100%;height:auto;max-height:65vh;object-fit:contain}.eyebrow{font:9px/1.6 'IBM Plex Mono',monospace;color:var(--muted);letter-spacing:.5px}.detail-layout h2{font-size:33px;font-weight:400;line-height:1.15;letter-spacing:-1px}.detail-layout>div>p:not(.eyebrow){color:var(--muted);font-size:13px}.detail-layout a{border-bottom:1px solid var(--ink);padding-block:12px;margin-top:22px;font-size:13px;min-height:44px}.detail-layout small{display:block;font-size:11px;color:var(--muted);margin-top:16px}@media(min-width:1600px){.scene-inner{max-width:1600px;margin-inline:auto}.pair{margin-left:25%;inset-block:50px 100px}.piece img{max-height:580px}.chapter-title{font-size:310px;top:85px}}@media(max-width:760px){header{padding:15px 6%;min-height:80px}.logo{font-size:25px}header>span{display:none}.scene-inner{margin-inline:6%;height:100svh;min-height:680px;max-height:1000px}.scene:first-child .scene-inner{height:calc(100svh - 80px)}.scene-top{top:20px;font-size:9px}.chapter-title{top:92px;font-size:clamp(140px,39vw,230px);line-height:.8;left:-4px;z-index:0}.chapter-title[data-chapter="2"]{font-size:35vw}.pair{inset:230px 0 115px;margin-left:0;gap:8px;z-index:1;align-items:center}.piece:first-child{transform:translateY(-35px) rotate(-7deg)}.piece:nth-child(2){transform:translateY(18px) rotate(7deg)}.piece:hover:first-child,.piece:focus-visible:first-child{transform:translateY(-35px) rotate(-3deg)}.piece:hover:nth-child(2),.piece:focus-visible:nth-child(2){transform:translateY(18px) rotate(3deg)}.piece img{max-height:350px}.piece-label{display:block;text-align:center;font-size:12px;line-height:1.6;margin-top:14px;white-space:normal}.piece-label span{display:block}.piece-label span:last-child{font-size:12px;margin-top:2px}.scene-bottom{bottom:28px}.scene-bottom>p{font-size:10px;line-height:1.8}.chapter-number{font-size:10px}footer{margin-inline:6%;gap:20px;font-size:9px;padding:12px 0;line-height:1.6}footer p{max-width:155px}.detail-layout{grid-template-columns:1fr;gap:10px}.detail-layout>img{width:min(100%,260px);height:auto;max-height:34vh;margin:auto;object-fit:contain}.detail-layout h2{font-size:28px;margin:12px 0}.detail-layout a{margin-top:15px}dialog{padding:27px 25px}.eyebrow{font-size:8px}}@media(max-width:375px){.scene-inner{min-height:660px}.pair{inset-block:230px 115px}.chapter-title{font-size:39vw}.chapter-title[data-chapter="2"]{font-size:35vw}.scene-top{font-size:8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Continuous section-color fades; foreground and layout remain unchanged. */
header{background:#d8ddcf}
.scene.chapter-0{background:linear-gradient(to bottom,#d8ddcf 0%,#d8ddcf 75%,rgb(218 218.5 207) 100%)}
.scene.chapter-1{background:linear-gradient(to bottom,rgb(218 218.5 207) 0%,#dcd8cf 25%,#dcd8cf 75%,rgb(217.5 219 212) 100%)}
.scene.chapter-2{background:linear-gradient(to bottom,rgb(217.5 219 212) 0%,#d7ded9 25%,#d7ded9 100%)}
body{background:#d7ded9}

/* Readable functional type; original scene geometry and mobile spacing retained. */
:root{--muted:#4c5746}.chapter-1{--muted:#544d42}.chapter-2{--muted:#46564d}
.piece-label{font-size:14px}.piece-label span:last-child{font-size:14px}
.scene-top{font-size:11px}.scene-bottom>p{font-size:12px}.chapter-number{font-size:11px}
footer{font-size:12px}.detail-layout>div>p:not(.eyebrow){font-size:14px}.detail-layout small{font-size:12px}.eyebrow{font-size:11px}
@media(max-width:760px){.piece-label,.piece-label span:last-child{font-size:14px}.scene-top{font-size:10px}.scene-bottom>p{font-size:11px}.chapter-number{font-size:11px}footer{font-size:11px}.eyebrow{font-size:10px}}
