.echo-features,.echo-iterations{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0;display:grid}.echo-features article,.echo-iterations article{border:1px solid var(--case-line);background:var(--case-paper);border-radius:16px;min-width:0;padding:24px}.echo-features article>span,.echo-iterations article>span{color:var(--case-muted);letter-spacing:.08em;font-size:12px}.echo-features h4,.echo-iterations h4{margin:12px 0;font-size:19px;font-weight:400}.echo-features p,.echo-iterations p{color:var(--case-muted);margin:0}.echo-iterations{grid-template-columns:1fr}.echo-workflow{border:1px solid var(--case-line);background:var(--case-paper);border-radius:20px;margin:28px 0;padding:24px}.echo-flow-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.echo-flow-row li{border:1px solid var(--case-line);text-align:center;border-radius:12px;min-width:0;padding:18px 12px;position:relative}.echo-flow-row li:not(:last-child):after{content:"→";color:var(--case-muted);position:absolute;top:42%;right:-20px}.echo-flow-row b{font-size:16px;font-weight:500;display:block}.echo-flow-row span,.echo-flow-row small{color:var(--case-muted);margin-top:6px;font-size:12px;line-height:1.8;display:block}.echo-flow-row small{letter-spacing:.06em;margin:0 0 7px;font:10px/1.8 system-ui,sans-serif}.echo-flow-down{text-align:center;color:var(--case-muted);font-size:24px;line-height:1.7}.echo-ai-flow{border:1px solid var(--case-line);background:#b8d2bf28;border-radius:16px;padding:20px 16px 12px}.echo-ai-flow>p:first-child{margin:0 0 16px;font-size:14px}.development-project .echo-loop{color:var(--case-muted);text-align:center;margin:16px 0 0;font-size:12px}.echo-evaluation{border-block:1px solid var(--case-line);margin:28px 0;padding:22px 0}.echo-evaluation>span{color:var(--case-muted);font-size:12px}.echo-evaluation dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0;display:grid}.echo-evaluation dt{color:var(--case-muted);font-size:12px}.echo-evaluation dd{margin:10px 0 0;font:23px/1.5 Georgia,serif}.echo-evaluation p{color:var(--case-muted);margin:0;font-size:13px}.development-project .echo-caption{color:var(--case-muted);font-size:12px}@media (width<=600px){.echo-features{grid-template-columns:1fr}.echo-workflow{padding:16px}.echo-flow-row{grid-template-columns:1fr;gap:24px}.echo-flow-row li:not(:last-child):after{content:"↓";inset:auto 0 -23px}.echo-ai-flow{padding:16px 12px}.echo-evaluation dd{font-size:19px}.echo-features article,.echo-iterations article{padding:20px}}.echo-comparison{margin:24px 0;overflow-x:auto}.echo-comparison table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.8}.echo-comparison th,.echo-comparison td{text-align:left;vertical-align:top;border-bottom:1px solid var(--case-line);padding:14px 12px}.echo-comparison th{color:var(--case-muted);font-weight:500}.echo-comparison td:first-child{min-width:72px}@media (width<=600px){.echo-comparison th,.echo-comparison td{padding:10px 6px;font-size:12px}}.echo-card-path{flex-wrap:wrap;align-items:center;gap:10px;margin:24px 0;display:flex}.echo-card-path span{background:var(--case-paper);border:1px solid var(--case-line);border-radius:12px;padding:10px 14px;font-size:14px}.echo-card-path i,.echo-evolution i{color:var(--case-muted);font-style:normal}.echo-evolution{margin:28px 0}.echo-evolution-head{color:var(--case-muted);justify-content:space-between;margin-bottom:12px;font-size:13px;display:flex}.echo-evolution article{border-bottom:1px solid var(--case-line);grid-template-columns:1fr 28px 1.5fr;align-items:center;gap:16px;padding:18px 0;display:grid}.echo-evolution article>span{color:var(--case-muted);font-size:15px}.echo-evolution strong{font-size:16px;font-weight:500}.echo-evolution small{color:var(--case-muted);margin-top:6px;font-size:12px;display:block}@media (width<=600px){.echo-evolution article{grid-template-columns:1fr 20px 1.5fr;gap:8px}.echo-evolution strong{font-size:14px}.echo-evolution article>span{font-size:13px}}.echo-scenarios.project-scenarios .media-layout .coverflow-media,.echo-scenarios.project-scenarios .media-layout.is-expanded .coverflow-media{aspect-ratio:3/2;background:#e9e5fb;overflow:hidden}.echo-scenarios.project-scenarios .media-layout .coverflow-art{object-fit:cover;filter:none;opacity:1;width:100%;height:100%;display:block}.app-shell[data-theme=night] .echo-scenarios.project-scenarios .media-layout .coverflow-media{background:#e9e5fb}.brand-mark{vertical-align:top;color:#3e514e;width:2.3em;font-family:var(--font-serif);letter-spacing:0;text-indent:0;flex-direction:column;font-weight:400;display:inline-flex}.brand-cn{justify-content:space-between;line-height:1.1;display:flex}.brand-en{color:#53655e;justify-content:space-between;margin:.55em .09em 0;font:400 .333333em/1.1 Georgia,Times New Roman,serif;display:flex}:root{--font-serif:"Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;font-family:var(--font-serif);color:#34484d;font-synthesis:none;background:#f4f0ed}*{box-sizing:border-box;scrollbar-width:none}::-webkit-scrollbar{width:0;height:0;display:none}html,body,#root{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}button{font:inherit}.app-shell{isolation:isolate;background:#f7f4f1;width:100%;height:100%;position:relative}.diffusion-field,.diffusion-field:before{content:"";pointer-events:none;position:absolute;inset:0}.diffusion-field{z-index:-2;background:radial-gradient(64% 72% at 12% 18%,#ffb2bc70,#0000 68%),radial-gradient(74% 82% at 88% 8%,#b1caf47a,#0000 70%),radial-gradient(66% 72% at 58% 88%,#cdbeeb52,#0000 72%),#f7f4f1}.diffusion-field:before{opacity:.22;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.26'/%3E%3C/svg%3E")}.topline{z-index:2;color:#284146ad;position:absolute;top:32px;left:48px;right:auto}.topline p{margin:0}.site-title{margin:0;font-size:28px;font-weight:400;line-height:1}.topline{pointer-events:none}.topline[hidden]{display:none}.scene-panel{position:absolute;inset:0}.loading-note{z-index:2;color:#28414694;letter-spacing:.12em;margin:0;font-size:12px;transition:opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loading-note.is-hidden{opacity:0;pointer-events:none}.instruction{z-index:2;color:#28414694;letter-spacing:.08em;margin:0;font-size:12px;position:absolute;bottom:30px;left:34px}.object-card{z-index:3;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);opacity:0;pointer-events:none;background:#f7f9f885;border:1px solid #ffffffc7;border-radius:24px;width:min(310px,100vw - 48px);padding:26px 28px 30px;transition:opacity .36s,transform .52s cubic-bezier(.2,.8,.2,1);position:absolute;top:50%;right:clamp(24px,7vw,110px);transform:translate(18px,-46%);box-shadow:0 24px 80px #4e66761f}.object-card.is-open{opacity:1;pointer-events:auto;transform:translateY(-50%)}.object-card button{color:#50666b;cursor:pointer;background:0 0;border:0;width:30px;height:30px;padding:0;font-size:25px;line-height:1;position:absolute;top:15px;right:17px}.eyebrow{color:#6f898e;letter-spacing:.12em;margin:0 0 30px;font-family:Helvetica Neue,Arial,sans-serif;font-size:10px}.object-card h1{color:#30494f;letter-spacing:.08em;margin:0 0 14px;font-family:Noto Serif SC,serif;font-size:40px;font-weight:400}.object-card>p:last-child{color:#30494fb3;margin:0;font-size:14px;line-height:1.85}@media (width<=720px){.topline{top:20px;left:20px}.instruction{bottom:18px;left:20px}.object-card{width:auto;inset:auto 18px 54px;transform:translateY(18px)}.object-card.is-open{transform:translateY(0)}}.relief-prototype{color:#3a3834ad;touch-action:none;background:#a3a3a3;width:100%;height:100%;position:relative;overflow:hidden}.relief-prototype-canvas,.relief-prototype-fallback{width:100%;height:100%;position:absolute;inset:0}.relief-prototype-canvas{display:block}.relief-prototype-fallback{object-fit:contain;opacity:0;transition:opacity .18s;display:none;-webkit-mask-image:linear-gradient(90deg,#0000,#000 2.2% 97.8%,#0000),linear-gradient(#0000,#000 2.2% 97.8%,#0000);mask-image:linear-gradient(90deg,#0000,#000 2.2% 97.8%,#0000),linear-gradient(#0000,#000 2.2% 97.8%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.relief-prototype.is-reduced-motion{background:#e4e1dd}.relief-prototype.is-reduced-motion:before{content:"";pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");position:absolute;inset:0}.relief-prototype-fallback.is-visible{opacity:1}.relief-prototype-hint{z-index:3;pointer-events:none;letter-spacing:.17em;margin:0;font-size:11px;position:absolute;bottom:30px;right:34px}.relief-prototype-target{z-index:2;cursor:crosshair;background:0 0;border:0;padding:0;position:absolute}.relief-prototype-target span{opacity:0;color:#444;background:#f5f5f2e6;padding:5px 10px}.relief-prototype-target:focus-visible span{opacity:1}.relief-skip{z-index:4;color:#343434;cursor:pointer;background:#ffffff25;border:1px solid #5556;border-radius:24px;padding:9px 16px;font-size:12px;position:absolute;bottom:36px;right:42px}.relief-skip:disabled{cursor:wait}.relief-skip:focus-visible{outline-offset:3px;outline:2px solid #444}.experience,.experience-scene,.experience-intro{position:absolute;inset:0}.experience-scene:focus,.experience-intro:focus{outline:none}.experience-loader{z-index:15;color:#4d5552;background:#e9e9e7;place-items:center;padding:28px;display:grid;position:absolute;inset:0}.loader-copy{text-align:center;width:min(100%,480px)}.loader-plaster{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.experience-loader-static:after{content:"";pointer-events:none;background:radial-gradient(#f4f3f0e0 0%,#f4f3f095 34%,#f4f3f050 75%);position:absolute;inset:0}.experience-loader-static .loader-copy{z-index:1;position:relative}.loader-copy h1{margin:0;font-size:clamp(52px,6vw,64px);font-weight:400;line-height:1}.loader-concept{color:#69756f;letter-spacing:.16em;margin:30px 0 0;font-size:12px;line-height:2.2}.loader-copy progress{appearance:none;color:#718377;background:#cdd2ce;border:0;width:84px;height:1px;margin:48px auto 0;display:block}.loader-copy progress::-webkit-progress-bar{background:#cdd2ce}.loader-copy progress::-webkit-progress-value{background:#718377}.loader-copy progress::-moz-progress-bar{background:#718377}.loader-progress{color:#69766e;font-variant-numeric:tabular-nums;font-size:11px}.loader-skip{position:absolute;bottom:36px;right:42px}.loader-skip.icon-button{width:36px;height:36px}.loader-skip .arrow-icon{width:20px}.loader-skip .arrow-icon:after{width:5px;height:5px;top:-2px}.loader-skip:disabled{cursor:wait}.loader-enter.icon-button{z-index:1;width:48px;height:48px}.loader-enter:disabled{opacity:.25}.loader-enter-label{white-space:nowrap;letter-spacing:.14em;color:#405750;font-size:12px;font-weight:400;line-height:1.6;animation:3.8s ease-in-out infinite entrance-whisper;position:absolute;bottom:calc(100% + 8px);right:0}@keyframes entrance-whisper{0%,to{opacity:0}29%,71%{opacity:.85}}@media (width<=720px){.loader-skip.loader-enter{right:max(16px, env(safe-area-inset-right));bottom:max(22px, env(safe-area-inset-bottom))}.loader-enter-label{font-size:12px}}@media (prefers-reduced-motion:reduce){.loader-enter-label{opacity:.85;animation:none}}.loader-skip:focus-visible,.loader-error button:focus-visible{outline-offset:4px;outline:2px solid #527c75}.loader-error{margin-top:22px;font-size:12px;line-height:1.8}.loader-error button{color:inherit;cursor:pointer;background:0 0;border:1px solid #89988c66;padding:8px 14px}.experience-intro{z-index:5}.experience-intro .relief-prototype{height:100%}.experience-intro,.experience-phase-covering .experience-scene{pointer-events:none}.experience-intro .relief-prototype{pointer-events:auto}.ink-curtain{z-index:10;pointer-events:all;position:absolute;inset:0;overflow:hidden}.ink-curtain svg{display:block}.scene-retry{z-index:20;background:#f4f3ef;padding:16px;font-size:13px;position:absolute;bottom:80px;left:24px}.scene-retry button{margin-left:12px}.exploration-cursor{z-index:30;pointer-events:none;opacity:0;position:fixed;inset:0;overflow:hidden}.exploration-cursor[data-visible=true]{opacity:1}.exploration-cursor canvas{width:100%;height:100%;display:block}[data-oil-cursor=true],[data-oil-cursor=true] *{cursor:none!important}.scene-entries{z-index:3;flex-direction:row;align-items:center;gap:clamp(72px,12vw,180px);display:flex;position:absolute;top:24px;left:50%;transform:translate(-50%)}.scene-entries[hidden]{display:none}.scene-entries[data-returned=true] .scene-entry{animation:none}.scene-entry{color:#68736f;letter-spacing:.18em;text-indent:.18em;cursor:pointer;text-shadow:0 0 #0000;background:0 0;border:0;border-radius:0;min-width:0;min-height:44px;padding:8px 4px;font-size:14px;transition:color .5s;animation:.9s cubic-bezier(.22,1,.36,1) both entry-reveal;position:relative}.scene-entry:nth-child(2){animation-delay:.11s}.scene-entry:nth-child(3){animation-delay:.22s}.scene-entry:after{content:"";opacity:0;background:currentColor;width:0;height:1px;transition:width .42s,opacity .42s;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.scene-entry:hover,.scene-entry[data-highlighted=true]{color:#172822;text-shadow:0 0 10px #fffc}.scene-entry:hover:after,.scene-entry[data-highlighted=true]:after{opacity:.56;width:18px}.scene-guide{z-index:4;color:#293b35;letter-spacing:.2em;text-indent:.2em;white-space:nowrap;pointer-events:none;text-shadow:0 1px 5px #f5f7f4b0;margin:0;font-size:clamp(12px,.9vw,18px);line-height:1.6;animation:4s ease-in-out both guide-whisper;position:absolute;top:40%;left:50%;transform:translate(-50%)}.app-shell[data-theme=night] .scene-guide{color:#e6e7e1;text-shadow:0 1px 5px #101713}@media (width<=720px),(pointer:coarse){.scene-guide{letter-spacing:.12em;text-indent:.12em;max-width:calc(100% - 40px);font-size:13px}.scene-panel canvas{touch-action:none}#root{height:100dvh}}@keyframes guide-whisper{0%,to{opacity:0}27.5%,72.5%{opacity:.95}}@keyframes entry-reveal{0%{opacity:0;filter:blur(7px);letter-spacing:.32em;transform:translateY(-10px)}to{opacity:1;filter:blur();letter-spacing:.18em;transform:translateY(0)}}.topline:not([hidden]) .site-title{animation:1s cubic-bezier(.22,1,.36,1) both title-reveal}@keyframes title-reveal{0%{opacity:0;filter:blur(5px);transform:translateY(-8px)}to{opacity:1;filter:blur();transform:translateY(0)}}.entry-hint{z-index:3;pointer-events:none;opacity:0;position:absolute;top:0;left:0}.entry-hint[hidden]{display:none}.entry-hint i{background:#abc8ad;border:1px solid #f3fae6;border-radius:50%;width:9px;height:9px;position:absolute;top:-4.5px;left:-4.5px;box-shadow:0 0 12px 5px #a9c3a76b}.entry-hint span{top:18px;left:var(--label-x,0px);color:#3f6255;letter-spacing:.1em;background:#f5f7f0e8;border:1px solid #b4c4b956;border-radius:20px;width:max-content;padding:7px 12px;font-size:11px;position:absolute;transform:translate(-50%)}.scene-entry:disabled{opacity:0;pointer-events:none}.scene-entry:focus{outline:none}.app-shell[data-input=keyboard] .scene-entry:focus-visible{text-underline-offset:5px;-webkit-text-decoration:underline #555;text-decoration:underline #555;text-decoration-thickness:1px}.entry-close:focus-visible{outline-offset:4px;outline:1px solid #666}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.entry-dialog{color:#34484d;background:0 0;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.entry-dialog::backdrop{background:0 0}.entry-fog{opacity:0;background:radial-gradient(ellipse at var(--entry-x) var(--entry-y), #f2f3ef, #e5eae6 65%, #e0e6e3);pointer-events:none;position:absolute;inset:0}.entry-close{z-index:2;position:absolute;top:32px;left:42px}.entry-close.icon-button{width:40px;height:40px;transition:opacity .25s}.entry-close .arrow-icon{width:20px}.entry-close .arrow-icon:after{width:5px;height:5px;top:-2px}.icon-button{color:#4c635a;cursor:pointer;background:0 0;border:0;border-radius:0;place-items:center;width:48px;height:48px;padding:0;display:grid}.icon-button:hover{color:#172e23}.icon-button:focus-visible{outline-offset:3px;outline:1px solid}.icon-button:disabled{opacity:.35}.arrow-icon{background:currentColor;width:28px;height:1px;display:block;position:relative}.arrow-icon:after{content:"";border-top:1px solid;border-right:1px solid;width:7px;height:7px;position:absolute;top:-3px;right:0;transform:rotate(45deg)}.arrow-back{transform:rotate(180deg)}.entry-close:disabled{cursor:wait}.entry-cross-nav{z-index:2;gap:clamp(20px,4vw,48px);display:flex;position:absolute;top:36px;left:50%;transform:translate(-50%)}.entry-dialog:is([data-phase=idle],[data-phase=opening]) .entry-close,.entry-dialog:is([data-phase=idle],[data-phase=opening]) .entry-cross-nav{opacity:0;pointer-events:none}.entry-cross-nav button{color:#587367;font:inherit;letter-spacing:.2em;cursor:pointer;background:0 0;border:0;padding:12px 0;font-size:13px}.entry-cross-nav button[aria-current=page]{color:#203f32;text-underline-offset:8px;text-decoration:underline}.entry-cross-nav button:disabled{cursor:default}.inline-link{font:inherit;letter-spacing:inherit;color:#386653;text-underline-offset:5px;cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline #81958b80;text-decoration:underline #81958b80;display:inline}.inline-link:hover,.inline-link[aria-expanded=true]{color:#173f2e;text-decoration-color:currentColor}.inline-link:focus-visible,.entry-cross-nav button:focus-visible{outline-offset:4px;outline:1px solid}.entry-dialog{--preview-width:min(320px, max(120px, calc((100vw - 764px) / 2 - 48px)))}.letter-preview{z-index:4;width:var(--preview-width,320px);transform-origin:50%;background:0 0;border:0;max-height:calc(100dvh - 168px);padding:0;position:absolute;top:136px;right:24px;overflow:visible;box-shadow:0 5px 18px #253a2424}.letter-preview[data-arrived=false]{will-change:transform, opacity}.letter-preview[data-media-ready=false]>:is(.letter-book,.letter-image,.preview-close){visibility:hidden;opacity:0}.letter-preview[data-media-ready=true]>:is(.letter-book,.letter-image){opacity:1}.letter-preview-workshop{--image-aspect:.7033;left:24px;right:auto}.letter-preview-path{--image-aspect:.7475}.letter-preview:not(.letter-preview-book){width:min(var(--preview-width,320px), calc((100dvh - 168px) * var(--image-aspect)))}.letter-preview .preview-close{z-index:5;color:#20362a;opacity:.4;background:0 0;width:28px;height:28px;font-size:14px;transition:opacity .2s;position:absolute;top:-32px;right:0}.letter-preview .preview-close:hover,.letter-preview .preview-close:focus-visible{opacity:.85}.letter-image{width:100%;height:auto;display:block}.letter-preview-book{width:min(var(--preview-width,320px), calc((100dvh - 168px) * 1.42));box-shadow:none}.letter-preview-book[data-book-stage="5"] .preview-close{right:50%}.letter-book{aspect-ratio:1.42;perspective:900px;cursor:pointer;text-align:left;background:0 0;border:0;width:100%;padding:0;display:block;position:relative}.letter-book:focus-visible{outline-offset:6px;outline:1px solid #637960}.book-leaf{transform-origin:0;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.3,.1,.2,1),z-index .425s step-end;position:absolute;inset:0 0 0 50%}.letter-preview[data-autoplay=true] .book-leaf{transition-duration:.65s,.325s}.book-leaf[data-turned=true]{transform:rotateY(-180deg)}.book-face{backface-visibility:hidden;background:#fff;position:absolute;inset:0;box-shadow:0 5px 18px #253a2424}.book-face-back{transform:rotateY(180deg)}.book-face img{object-fit:fill;width:100%;height:100%;display:block}@media (width<=720px){.entry-cross-nav{top:12px}}@media (prefers-reduced-motion:reduce){.app-shell:not([data-force-motion=true]) .book-leaf{transition:none}}.entry-content{overscroll-behavior:contain;opacity:0;padding:24px max(24px,50vw - 490px) 60px;position:absolute;inset:104px 0 0;overflow-y:auto}.entry-content .eyebrow{margin-bottom:14px}.entry-content h1{font:400 clamp(36px, 4vw, 44px) var(--font-serif);letter-spacing:.1em;margin:0 0 12px}.entry-subtitle{color:#5c7473;letter-spacing:.06em;margin:0 0 30px;font-size:13px}.entry-content figure{margin:0}.entry-content img{width:100%;height:auto;display:block}.entry-content figcaption{color:#5c7473;margin-top:16px;font-size:12px;line-height:1.8}.coverflow{--coverflow-card:clamp(190px, 25vw, 310px);width:100%;margin-top:clamp(18px,4vh,48px);position:relative}.coverflow-frame{cursor:grab;perspective:calc(var(--coverflow-card) * 3.2);touch-action:pan-y;outline:none;padding:36px 0 30px;overflow:hidden}.coverflow-frame:active{cursor:grabbing}.coverflow-frame:focus-visible{outline-offset:-4px;outline:1px solid #527c75}.coverflow-track{height:var(--coverflow-card);transform-style:preserve-3d;-webkit-user-select:none;user-select:none;position:relative}.coverflow-card{cursor:pointer;width:var(--coverflow-card);aspect-ratio:1;will-change:transform, opacity;backface-visibility:hidden;background:#e8ece8;border:1px solid #ffffff8c;border-radius:3px;padding:0;position:absolute;top:0;left:50%;overflow:hidden;box-shadow:0 26px 54px #536b661c,0 4px 14px #52696224}.coverflow .coverflow-art{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.coverflow-media{width:100%;height:100%;min-height:0;display:block}.coverflow .coverflow-art[data-fit=contain]{object-fit:contain}.coverflow-card:focus-visible{outline-offset:-3px;outline:2px solid #527c75}.coverflow.is-expanded{margin-top:0}.coverflow.is-expanded .coverflow-frame{cursor:default;perspective:none;padding:16px 0 24px}.coverflow.is-expanded .coverflow-track{height:clamp(220px,52dvh,580px)}.coverflow.is-expanded .coverflow-card:not([aria-current=true]){visibility:hidden}.coverflow.is-expanded .coverflow-card[aria-current=true]{aspect-ratio:auto;width:100%;height:100%;box-shadow:none;background:0 0;border:0;animation:.32s ease-out both coverflow-art-in;opacity:1!important;transform:translate(-50%)!important}.coverflow.is-expanded .coverflow-art{object-fit:contain}.coverflow-collapse{z-index:101;color:#314b43;cursor:pointer;background:0 0;border:0;width:40px;height:40px;font-size:24px;position:absolute;top:-28px;right:0}@keyframes coverflow-art-in{0%{opacity:0;scale:.96}to{opacity:1;scale:1}}@media (prefers-reduced-motion:reduce){.coverflow.is-expanded .coverflow-card[aria-current=true]{animation:none}}.coverflow-caption{text-align:center;min-height:54px}.coverflow-caption p{color:#314b43;letter-spacing:.28em;text-indent:.28em;margin:0;font:400 20px Noto Serif SC,serif}.coverflow-caption span{color:#6a7d77;letter-spacing:.14em;margin-top:8px;font-size:11px;display:block}.entry-reading{background:0 0;max-width:860px;margin:0 auto;padding:clamp(16px,4vw,48px)}.company-profile{margin-top:34px}.company-profile header{border-bottom:1px solid #7e93932b;grid-template-columns:minmax(120px,.45fr) 1fr;align-items:center;gap:clamp(24px,5vw,48px);padding-bottom:30px;display:grid}.company-profile img{border-radius:12px;width:100%}.company-profile h1{letter-spacing:.15em;margin:0;font:400 clamp(28px,4vw,42px) Noto Serif SC,serif}.company-profile h2{margin-top:48px}.company-profile h3{margin-top:34px;font:400 18px Noto Serif SC,serif}.company-profile p{line-height:2}.company-profile .muted{color:#60736b}.company-profile .signoff{text-align:right;margin-top:38px}.entry-reading section{border-top:1px solid #7e93932b;margin-top:42px;padding-top:24px}.entry-reading h2{letter-spacing:.12em;margin:0 0 18px;font:400 22px Noto Serif SC,serif}.entry-reading section p{margin:0;font-size:15px;line-height:2.2}.profile-intro{grid-template-columns:minmax(180px,.72fr) 1.28fr;align-items:end;gap:clamp(28px,6vw,72px);margin:clamp(36px,7vh,72px) 0 58px;display:grid}.profile-intro img{aspect-ratio:3/4;object-fit:cover;object-position:50% 36%;filter:saturate(.78)contrast(.96);width:100%}.profile-name{letter-spacing:.18em;margin:0 0 22px;font:400 clamp(26px,4vw,40px) Noto Serif SC,serif}.profile-positioning{color:#314b43;max-width:28em;margin:0;font:400 clamp(18px,2.4vw,27px)/1.85 Noto Serif SC,serif}@media (width>=721px){.profile-access>div{grid-column:1/-1}.profile-access .profile-positioning{white-space:nowrap}}.profile-links{flex-wrap:wrap;gap:10px 24px;margin-top:34px;display:flex}.profile-links a{color:#526b63;letter-spacing:.06em;text-underline-offset:6px;font-size:12px;text-decoration-color:#81958b80}.profile-links a:hover{color:#1f4036;text-decoration-color:currentColor}.profile-links a:focus-visible{outline-offset:4px;outline:1px solid}.entry-reading .profile-summary{margin-top:0}.cover-letter h3{color:#314b43;letter-spacing:.12em;margin:52px 0 20px;font:400 17px Noto Serif SC,serif}.entry-reading .cover-letter p{margin:0 0 18px}.cover-letter a{color:inherit;text-underline-offset:5px;text-decoration-color:#81958b80}.entry-reading .cover-letter .letter-signoff{text-align:right;margin-top:42px;line-height:2}.content-draft{color:#657a79;margin:0;font-size:12px;line-height:1.8}.entry-projects{max-width:900px;margin:0 auto}.development-project{--case-muted:#61796f;--case-line:#88a39940;--case-paper:#eff4eeb3;--case-media:#f3f3f1;border-top:2px solid var(--case-line);margin:64px 0 100px;padding-top:36px}.development-project+.development-project{padding-top:64px}.development-project h2{font:400 clamp(34px, 3.3vw, 44px)/1.3 var(--font-serif);margin:0}.development-project h2 span{color:var(--case-muted);letter-spacing:.06em;margin-left:16px;font:400 .5em Georgia,serif}.development-project p{font-size:15px;line-height:2}.development-project .project-index{color:var(--case-muted);letter-spacing:.18em;margin:0 0 24px;font:11px/1.8 system-ui,sans-serif}.project-brand{align-items:center;gap:18px;min-height:76px;display:flex}.development-project .project-logo{object-fit:contain;flex:0 0 76px;width:76px;height:76px}.development-project .project-lead{margin:24px 0 40px;font-size:22px;line-height:1.8}.project-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:36px 0 40px;display:grid}.project-facts>div{border-left:1px solid var(--case-line);padding:0 24px}.project-facts>div:first-child{border-left:0;padding-left:0}.project-facts dt{letter-spacing:.08em;font-size:18px;line-height:1.8}.project-facts dd{color:var(--case-muted);margin:12px 0 0;font-size:13px;line-height:1.9}.development-project figure{margin:32px 0}.development-project figcaption{color:var(--case-muted);letter-spacing:.05em;padding:12px 0 0;font-size:11px;line-height:1.8}.project-visual img{width:100%;height:auto;display:block}.echo-interface iframe{border:1px solid var(--case-line);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f4f2fa;border-radius:18px;width:100%;height:680px;display:block;box-shadow:0 12px 40px #253a2412}.project-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:28px 0;padding:0;list-style:none;display:grid}.project-flow li{border-top:1px solid var(--case-line);padding-top:14px;position:relative}.project-flow li:not(:last-child):after{content:"→";color:var(--case-muted);font-size:12px;position:absolute;top:14px;right:-16px}.project-flow strong{font-size:17px;font-weight:400;display:block}.project-flow li>span{color:var(--case-muted);margin-top:8px;font-size:12px;line-height:1.8;display:block}.development-project .project-stack{color:var(--case-muted);margin:24px 0;font-size:12px}.development-project summary{border-block:1px solid var(--case-line);cursor:pointer;justify-content:space-between;align-items:center;padding:20px 0;font-size:13px;list-style:none;display:flex}.development-project summary::-webkit-details-marker{display:none}.development-project details[open]>summary>span{transform:rotate(180deg)}.development-project summary:focus-visible{outline-offset:4px;outline:2px solid #527c75}.project-story>section{margin:48px 0 56px}.project-story{display:flow-root}.entry-gallery [data-scroll-reveal=visible]{transition-delay:80ms}.entry-gallery .coverflow-frame[data-scroll-reveal=visible]{transition:opacity 1.6s ease-in-out 1s}.entry-gallery .coverflow-caption[data-scroll-reveal=visible]{transition:opacity 1.2s ease-in-out 1.3s}[data-scroll-reveal]{transition:opacity .8s ease-out}[data-scroll-reveal=pending]{opacity:0;transition:none}[data-scroll-reveal=visible]{opacity:1}.project-story h3{font:400 26px/1.6 var(--font-serif);align-items:baseline;gap:18px;margin:0 0 22px;display:flex}.project-story .case-number{color:var(--case-muted);letter-spacing:.1em;font:12px/1.8 Georgia,serif}.case-list{margin:24px 0;padding:0;list-style:none}.case-list li{border-top:1px solid var(--case-line);grid-template-columns:1fr;gap:12px;padding:24px 0;font-size:15px;line-height:2;display:grid}.case-list strong{font-size:18px;font-weight:400}.case-list li>span{color:var(--case-muted)}.case-implementation{grid-template-columns:1fr;gap:28px;margin:28px 0;padding:0;list-style:none;display:grid}.case-implementation li{border-top:1px solid var(--case-line);padding-top:24px}.case-implementation strong{font-size:18px;font-weight:400}.case-implementation p{color:var(--case-muted);margin:12px 0 0;font-size:15px}.project-story p,.case-list li>span,.coverflow-card-note>span{text-wrap:pretty}.case-list strong,.case-implementation strong{text-wrap:balance}.case-tiles{gap:22px;margin:28px 0;padding:0;list-style:none;display:grid}.decision-tiles{grid-template-columns:repeat(6,minmax(0,1fr))}.decision-tiles>li{grid-column:span 2}.decision-tiles>li:nth-child(4){grid-column:2/span 2}.decision-tiles>li:nth-child(5){grid-column:4/span 2}.technology-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.case-tiles>li{aspect-ratio:1;border:1px solid var(--case-line);background:var(--case-paper);min-width:0;padding:24px}.case-tile-index{color:var(--case-muted);letter-spacing:.1em;font:12px/1.5 Georgia,serif}.case-tiles h4{font:400 20px/1.5 var(--font-serif);text-wrap:balance;margin:18px 0 14px}.case-tiles p{color:var(--case-muted);text-wrap:balance;margin:0 0 12px;font-size:14px;line-height:1.9}.case-tiles p:last-child{margin-bottom:0}.technology-tiles>li{aspect-ratio:auto;padding:26px}.technology-tiles h4{margin:12px 0 14px;font-size:24px}.technology-tiles p{text-wrap:pretty;font-size:15px;line-height:1.9}.case-tiles a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}.case-tiles a:focus-visible{outline-offset:4px;outline:1px solid}.coverflow-card-note .case-comparison{border-block:1px solid #52675f25;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding-block:8px;display:grid}.case-comparison>span:first-child{color:#718079}.case-comparison>span:last-child{color:#253f38}@media (width<=720px){.decision-tiles,.technology-tiles{grid-template-columns:1fr}.decision-tiles>li:nth-child(n){grid-column:auto}.case-tiles>li{padding:24px}}.project-scenarios .coverflow{--coverflow-card:clamp(330px, 46vw, 580px);margin-top:20px}.project-scenarios .coverflow-track{height:calc(var(--coverflow-card) * .86)}.project-scenarios .coverflow-card{aspect-ratio:auto;height:calc(var(--coverflow-card) * .86);text-align:left;background:#f6f4fa;border-radius:12px;grid-template-rows:1fr auto;display:grid}.project-scenarios .coverflow .coverflow-art{object-fit:contain;min-height:0}.coverflow-card-note{color:#253f38;background:#faf9fc;gap:10px;padding:22px 24px;display:grid}.coverflow-card-note strong{font:500 18px/1.6 var(--font-serif)}.coverflow-card-note>span{font:13px/1.9 var(--font-serif);color:#52675f}.project-scenarios .coverflow.is-expanded .coverflow-track{height:auto;min-height:640px}.project-scenarios .coverflow.is-expanded .coverflow-card[aria-current=true]{border:1px solid var(--case-line);background:#f6f4fa;height:100%}.project-scenarios .coverflow.is-expanded .coverflow-card-note{padding-inline:32px}.project-scenarios .coverflow-collapse{color:var(--case-muted)}.project-scenarios .media-layout .coverflow-card{background:var(--case-media);border:0;border-radius:4px;grid-template-rows:auto auto;height:auto}.project-scenarios .media-layout .coverflow-media{aspect-ratio:16/9;background:var(--case-media);height:auto;overflow:hidden}.project-scenarios .media-layout .coverflow-art{border-radius:0}.project-scenarios .media-layout .coverflow-card-note{background:var(--case-media)}.myplace-scenarios .media-layout .coverflow-card-note{align-content:start;min-height:238px}.project-scenarios .media-layout .recorded-preview{object-fit:contain}.recording-toggle{z-index:101;top:44px;right:calc((100% - var(--coverflow-card)) / 2 + 8px);border:1px solid var(--case-line);background:var(--case-media);width:32px;height:32px;color:inherit;opacity:.75;cursor:pointer;border-radius:50%;font:14px Georgia,serif;position:absolute}.coverflow.is-expanded .recording-toggle{top:24px;right:8px}.recording-toggle:focus-visible{outline-offset:4px;outline:1px solid}.media-layout .coverflow-frame{-webkit-mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000);mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.project-scenarios .media-layout.is-expanded .coverflow-frame{-webkit-mask-image:none;mask-image:none}.project-scenarios .media-layout.is-expanded .coverflow-track{height:auto;min-height:0}.project-scenarios .media-layout.is-expanded .coverflow-card[aria-current=true]{border:0;height:auto;position:relative;left:0;transform:none!important}.project-scenarios .media-layout.is-expanded .coverflow-media{aspect-ratio:16/9}.project-scenarios .media-layout.is-expanded .coverflow-art{height:100%}.app-shell[data-theme=night] .project-scenarios .coverflow-card-note{color:#d7e2df}.app-shell[data-theme=night] .project-scenarios .coverflow-card-note>span,.app-shell[data-theme=night] .project-scenarios .case-comparison>span{color:#a9bdb3}@media (width<=720px){.project-scenarios .coverflow-card-note{padding:14px}.project-scenarios .coverflow.is-expanded .coverflow-track{min-height:500px}.project-scenarios .coverflow{--coverflow-card:clamp(176px, 58vw, 236px)}.project-facts{grid-template-columns:1fr;gap:16px}.project-facts>div{border:0;padding:0}.project-flow{grid-template-columns:1fr 1fr}.project-flow li:nth-child(2):after{content:none}.case-list li{grid-template-columns:1fr;gap:8px}.topline{justify-content:flex-start;top:18px}.site-title{font-size:24px}.scene-entries{gap:14px;top:14px;left:50%;right:auto;transform:translate(calc(50vw - 18px - 100%))}.scene-entry{padding-inline:2px;font-size:12px}.entry-cross-nav{gap:14px}.entry-cross-nav button{letter-spacing:.18em;text-indent:.18em;min-height:44px;padding:8px 2px;font-size:12px}.entry-dialog:is([data-phase=opening],[data-phase=closing]) .entry-cross-nav{pointer-events:none}.entry-dialog:is([data-phase=opening],[data-phase=closing]) .entry-cross-nav button[aria-current=page]{text-decoration-color:#0000}.entry-close{top:16px;left:16px}.loader-skip{bottom:22px;right:16px}.entry-content{padding-top:16px;font-size:14px;line-height:1.9;top:70px}.entry-content .eyebrow{letter-spacing:.18em;margin-bottom:10px;font-size:10px}.entry-content h1{margin-bottom:8px;font-size:32px}.entry-subtitle{margin-bottom:24px;font-size:12px}.entry-reading{padding:12px 0 36px}.entry-reading section{margin-top:34px;padding-top:20px}.entry-reading h2,.company-profile h2{font-size:20px}.entry-reading section p,.company-profile p{font-size:14px;line-height:1.95}.company-profile h1{font-size:26px}.company-profile h3,.cover-letter h3{font-size:16px}.profile-intro{grid-template-columns:1fr;align-items:start;margin-top:34px}.profile-name{font-size:24px}.profile-positioning{font-size:clamp(15px,4.5vw,18px)}.company-profile header{grid-template-columns:1fr}.company-profile img,.profile-intro img{width:min(76vw,320px)}.profile-links{gap:14px;display:grid}.coverflow{--coverflow-card:clamp(176px, 58vw, 236px);margin-top:10px}.coverflow-frame{padding-block:24px}.development-project{margin:48px 0 72px;padding-top:28px}.development-project+.development-project{padding-top:48px}.development-project h2{font-size:29px}.development-project p{font-size:14px;line-height:1.9}.development-project .project-lead{margin:18px 0 30px;font-size:18px;line-height:1.7}.project-facts{margin:28px 0 32px}.project-facts dt{font-size:15px;line-height:1.6}.project-facts dd{margin-top:6px;font-size:12px;line-height:1.75}.project-story>section{margin:38px 0 44px}.project-story h3{gap:12px;margin-bottom:16px;font-size:21px;line-height:1.5}.project-story .case-number{font-size:10px}.case-list li{font-size:14px;line-height:1.9}.case-list strong,.case-implementation strong{font-size:16px}.case-implementation p{font-size:14px;line-height:1.9}.case-tiles h4{font-size:18px}.case-tiles p{font-size:13px;line-height:1.85}.technology-tiles h4{font-size:20px}.technology-tiles p{font-size:13px;line-height:1.85}.coverflow-card-note strong{font-size:16px}.coverflow-card-note>span{font-size:12px;line-height:1.8}}.relief-prototype-target:focus-visible{outline-offset:-8px;outline:1px solid #3a3834b8}.relief-prototype.is-reduced-motion .relief-prototype-canvas{display:none}.relief-prototype.is-reduced-motion .relief-prototype-fallback{display:block}@media (width<=720px){.relief-prototype-hint{bottom:18px;right:20px}.relief-skip{bottom:22px;left:auto;right:16px}.relief-prototype-hint{letter-spacing:.06em;left:20px;right:auto}}@media (prefers-reduced-motion:reduce){.app-shell:not([data-force-motion=true]) .scene-entry,.app-shell:not([data-force-motion=true]) .topline .site-title{animation:none}.scene-entry{transition:none}.relief-prototype-fallback{transition-duration:1ms}}.theme-toggle{z-index:6;color:#405750;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f4f1a8;border:1px solid #81958b66;border-radius:50%;width:42px;height:42px;padding:0;position:absolute;top:28px;right:42px}.theme-toggle:hover{border-color:currentColor}.company-access-overlay{z-index:6;color:#edf4f0;background:#17201c;position:absolute;inset:0}.company-access-overlay iframe{border:0;width:100%;height:100%;display:block}.company-access-overlay .entry-close{color:#edf4f0}.theme-toggle{font:inherit;font-size:13px}.music-controls{z-index:7;color:#405750;align-items:center;display:flex;position:absolute;top:28px;right:94px}.music-toggle{width:42px;height:42px;color:inherit;font:inherit;cursor:pointer;background:#f7f4f1a8;border:1px solid #81958b66;border-radius:50%;padding:0;font-size:13px}.music-toggle[aria-pressed=false]{opacity:.7}.music-toggle:focus-visible{outline-offset:4px;outline:1px solid}.app-shell[data-theme=night] .music-controls{color:#dce9e4}.app-shell[data-theme=night] .music-toggle{background:#080b0af5;border-color:#a9c5ba70}@media (width<=720px){.music-controls{top:auto;left:max(18px, env(safe-area-inset-left));right:auto;bottom:max(22px, env(safe-area-inset-bottom))}}.theme-toggle:focus-visible{outline-offset:4px;outline:1px solid}.app-shell[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#d7e2df;background:#000}.app-shell[data-theme=night] .diffusion-field{background:#000}.app-shell[data-theme=night] .diffusion-field:before{opacity:.16;mix-blend-mode:screen}.app-shell[data-theme=night] :is(.brand-mark,.brand-en,.topline,.scene-entry,.loading-note,.instruction){color:#b8c8c3}.app-shell[data-theme=night] .scene-entry:hover,.app-shell[data-theme=night] .scene-entry[data-highlighted=true]{color:#eff8f4}.app-shell[data-theme=night] .theme-toggle{color:#dce9e4;background:#080b0ac7;border-color:#a9c5ba70}.app-shell[data-theme=night] .entry-hint i{background:#8bb29e;border-color:#dff5e8;box-shadow:0 0 14px 5px #86b09a66}.app-shell[data-theme=night] .entry-hint span,.app-shell[data-theme=night] .object-card,.app-shell[data-theme=night] .scene-retry{color:#d7e2df;background:#080b0ae8;border-color:#93aa9f40}.app-shell[data-theme=night] .entry-dialog{color:#d7e2df}.app-shell[data-theme=night] .entry-fog{background:radial-gradient(ellipse at var(--entry-x) var(--entry-y), #101613, #040706 64%, #000)}.app-shell[data-theme=night] :is(.icon-button,.entry-cross-nav button,.inline-link,.entry-subtitle,.entry-content figcaption,.coverflow-caption p,.coverflow-caption span,.profile-positioning,.profile-links a,.cover-letter h3,.content-draft,.development-project .project-stack){color:#b8c8c3}.app-shell[data-theme=night] :is(.icon-button,.inline-link,.profile-links a):hover{color:#f1f8f5}.app-shell[data-theme=night] .entry-cross-nav button[aria-current=page]{color:#eef7f3}.app-shell[data-theme=night] .entry-reading section,.app-shell[data-theme=night] .development-project{border-color:#9ab2a62e}.app-shell[data-theme=night] .development-project{--case-muted:#a9bdb3;--case-line:#9ab2a62e;--case-paper:#0b1711b3;--case-media:#090d0b}.app-shell[data-theme=night] .coverflow-card{background:#090d0b;border-color:#aec2b626;box-shadow:0 26px 54px #0009,0 4px 14px #000b}@media (width<=720px){.theme-toggle{top:16px;right:16px}.app-shell>.theme-toggle,.entry-dialog .theme-toggle{top:auto;right:18px;bottom:max(22px, env(safe-area-inset-bottom))}}
