/* Taste preserve: museum editorial, native CSS, one light theme.
   DESIGN_VARIANCE 6 / MOTION_INTENSITY 4 / VISUAL_DENSITY 3.
   Desktop chapters fit a viewport through concise copy and fixed tab stages,
   never by clipping content or cropping original images. */
:root{color-scheme:light;--paper:#f1f0eb;--ink:#232d28;--muted:#626b63;--accent:#286452;--line:#cbd0c7;--surface:#e4e8df;--radius:8px;font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure,dl,dd,ol{margin:0}
ol{padding:0;list-style:none}
h1,h2,h3{text-wrap:balance}
h1,h2{letter-spacing:-.055em;line-height:1.2;font-weight:650}
h2{font-size:clamp(34px,3.4vw,48px)}
h3{font-size:22px;line-height:1.5;font-weight:600;letter-spacing:-.025em}
p{font-size:16px;line-height:1.8;color:var(--muted)}
em{font-style:normal;color:var(--accent)}
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
[hidden]{display:none!important}
::selection{color:var(--ink);background:#cfddd0}
.skip-link{position:fixed;top:-80px;left:24px;z-index:30;padding:12px 18px;background:var(--paper)}
.skip-link:focus{top:12px}
.masthead{position:absolute;inset:0 0 auto;height:80px;padding-inline:3.4vw;display:flex;align-items:center;justify-content:space-between;z-index:10}
.brand{display:flex;gap:16px;align-items:center;min-height:44px}
.brand b{font-size:34px;font-weight:800;letter-spacing:-.12em;line-height:1.2}
.brand span{font-size:12px;font-weight:600;letter-spacing:.1em}
.back-link{display:flex;gap:24px;align-items:center;font-size:14px;min-height:44px;white-space:nowrap}
.back-link span{color:var(--accent)}
.chapters{position:fixed;top:50%;left:3.4vw;width:150px;transform:translateY(-50%);display:grid;gap:18px;z-index:11}
.chapters a{display:flex;gap:18px;align-items:center;min-height:32px;font-size:13px;white-space:nowrap;color:var(--muted)}
.chapters a span{font-size:11px;font-variant-numeric:tabular-nums}
.chapters a b{font-weight:400}
.chapters a[aria-current]{color:var(--accent)}
.chapters a[aria-current] b{font-weight:700}
.chapters a:hover,.back-link:hover,.case-footer a:hover{color:var(--accent)}
main{margin-left:clamp(205px,16.5vw,310px);margin-right:3.4vw}
.screen{max-width:1480px;margin-inline:auto;min-height:100dvh;padding:44px 0;display:flex;flex-direction:column;justify-content:center;position:relative}
.screen+.screen{border-top:1px solid var(--line)}
.section-heading{margin-bottom:24px}
.cover{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:3%;padding-top:90px;padding-bottom:60px}
.cover-copy{position:relative;z-index:1}
.eyebrow{font-size:13px;letter-spacing:.08em;margin-bottom:26px}
.cover h1{font-size:clamp(72px,7.7vw,118px);font-weight:750;line-height:1.08}
.cover h1 span{display:block;font-size:clamp(25px,2.45vw,38px);letter-spacing:.03em;font-weight:500;color:var(--accent);margin-top:18px}
.cover-lead{font-size:clamp(23px,2.05vw,30px);line-height:1.7;font-weight:600;color:var(--ink);margin-top:32px;letter-spacing:-.02em}
.start{display:inline-flex;justify-content:space-between;align-items:center;gap:60px;font-size:14px;font-weight:600;margin-top:30px;padding:8px 0 14px;border-bottom:1px solid var(--ink)}
.start span{color:var(--accent);transition:transform .2s}
.start:hover span{transform:translateY(3px)}
.cover-art{position:relative;isolation:isolate;min-width:0}
.cover-art::before{content:"";position:absolute;inset:3% 0 1%;z-index:-1;border:1px solid var(--line);border-radius:50%}
.artifact-frame{padding-block:14%;margin-inline:-4%}
.artifact-motion{transition:transform .5s cubic-bezier(.22,1,.36,1);transform:translate3d(var(--mx,0px),var(--my,0px),0)}
.artifact-motion img{width:100%;object-fit:contain}
.positioning-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8%;align-items:center}
.positioning-copy h2{margin-bottom:24px}
.positioning-copy>p{max-width:26em}
.product-decisions{display:grid;gap:14px;margin-top:26px}
.product-decisions>div{display:grid;grid-template-columns:112px 1fr;gap:36px;align-items:center;font-size:16px;line-height:1.6;position:relative}
.product-decisions dt{color:var(--muted)}
.product-decisions dd{color:var(--accent);font-weight:600}
.product-decisions dd::before{content:"→";position:absolute;left:120px;color:var(--muted);font-weight:400}
.positioning-copy .interpretation-note{font-size:12px;margin-top:28px;max-width:28em;line-height:1.8}
.interpretation-map{min-width:0;text-align:center}
.interpretation-map h3{font-size:24px}
.interpretation-art{height:clamp(180px,30dvh,270px);display:flex;justify-content:center;align-items:center;margin-top:24px}
.interpretation-art img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.interpretation-branches{position:relative;display:flex;justify-content:space-around;height:38px;border-top:1px solid var(--line);margin:0 15%}
.interpretation-branches::before{content:"";position:absolute;height:20px;width:1px;background:var(--line);left:50%;top:-20px}
.interpretation-branches span{position:absolute;top:0;height:38px;width:1px;background:var(--accent);transform-origin:top}
.interpretation-branches span:nth-child(1){left:0}
.interpretation-branches span:nth-child(2){left:50%}
.interpretation-branches span:nth-child(3){right:0}
.interpretation-voices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;font-size:14px;color:var(--accent);padding-top:12px}
.is-motion .interpretation-branches span{animation:branch-enter .65s ease both}
.is-motion .interpretation-branches span:nth-child(2){animation-delay:.2s}
.is-motion .interpretation-branches span:nth-child(3){animation-delay:.4s}
.is-motion .interpretation-voices span{animation:panel-enter .65s ease both}
.is-motion .interpretation-voices span:nth-child(2){animation-delay:.2s}
.is-motion .interpretation-voices span:nth-child(3){animation-delay:.4s}
.tabs{display:flex;gap:34px;border-bottom:1px solid var(--line);margin-bottom:24px}
.tabs button{position:relative;display:flex;align-items:center;gap:16px;min-height:48px;padding-bottom:8px;font-size:17px;color:var(--muted);white-space:nowrap}
.tabs button span{font-size:11px}
.tabs [aria-selected=true]{font-weight:600;color:var(--accent)}
.tabs [aria-selected=true]::after{content:"";position:absolute;inset:auto 0 -1px;height:2px;background:var(--accent)}
.panel-stage{height:clamp(300px,calc(100dvh - 244px),520px)}
.demo-panel{height:100%;display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);gap:6%;align-items:center;animation:panel-enter .35s cubic-bezier(.22,1,.36,1)}
.act-copy,.build-copy{min-width:0}
.act-copy h3,.build-copy h3{font-size:23px;margin-bottom:14px}
.act-copy>p,.build-copy>p{font-size:15px;max-width:25em}
.act-copy .act-purpose,.build-copy .act-purpose{color:var(--accent);font-size:14px;margin-top:20px}
.evidence-image{height:100%;min-height:0;display:flex;align-items:center;justify-content:center;cursor:zoom-in;width:100%}
.evidence-image img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius);transition:transform .4s cubic-bezier(.22,1,.36,1)}
.evidence-image:hover img{transform:translateY(-2px)}
.model-evidence img{max-height:100%;width:auto}
.gesture-demo{position:relative;height:150px;margin-top:26px;background:var(--surface);border-radius:var(--radius);--travel:clamp(100px,13vw,170px)}
.decode-token{position:absolute;left:22px;top:24px;width:52px;height:52px;display:grid;place-items:center;font-size:25px;border:1px solid var(--accent);border-radius:4px;background:var(--paper);color:var(--accent);transform:translateX(var(--travel));z-index:2}
.decode-anchor{position:absolute;top:18px;left:calc(16px + var(--travel));width:64px;height:64px;display:grid;place-items:center;border:1px dashed var(--accent);border-radius:50%;font-size:12px;color:var(--accent)}
.decode-anchor::after{content:"眼部";position:absolute;top:72px;left:0;right:0;text-align:center}
.decode-guide{position:absolute;top:50px;left:48px;width:var(--travel);border-top:1px solid #9aac9d}
.decode-action{position:absolute;bottom:12px;left:22px;font-size:11px;color:var(--muted)}
.is-motion .decode-token{animation:decode-move 5.4s cubic-bezier(.22,1,.36,1) both}
.is-motion .decode-anchor{animation:anchor-match 5.4s ease both}
.compact-details{display:grid;gap:18px;margin-top:26px}
.compact-details>div{display:grid;grid-template-columns:40px 1fr;gap:18px;font-size:14px;line-height:1.8}
.compact-details dt{color:var(--accent);font-size:12px;padding-top:2px}
.compact-details dd{color:var(--muted)}
.sound-design{background:var(--surface);border-radius:var(--radius);height:100%;max-height:400px;padding:26px 36px;display:flex;flex-direction:column;justify-content:center}
.sound-orbit{position:relative;display:grid;place-items:center;width:clamp(150px,25dvh,235px);aspect-ratio:1;margin:0 auto 28px}
.sound-orbit i{position:absolute;border:1px solid var(--accent);border-radius:50%;inset:0;opacity:.24}
.sound-orbit i:nth-child(2){inset:20px;opacity:.4}
.sound-orbit i:nth-child(3){inset:40px;opacity:.65}
.sound-orbit span{font-size:23px;letter-spacing:.15em;color:var(--accent)}
.is-motion .sound-orbit i{animation:sound-breathe 2s ease-in-out 3}
.is-motion .sound-orbit i:nth-child(2){animation-delay:.2s}
.is-motion .sound-orbit i:nth-child(3){animation-delay:.4s}
.sound-sequence{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #b7c7b9;padding-top:20px;color:var(--muted);font-size:14px}
.is-motion .sound-sequence span{animation:sound-word 1.4s ease both}
.is-motion .sound-sequence span:nth-child(2){animation-delay:1.4s}
.is-motion .sound-sequence span:nth-child(3){animation-delay:2.8s}
.is-motion .sound-sequence span:nth-child(4){animation-delay:4.2s}
.turn-demo{height:150px;display:flex;align-items:center;justify-content:space-between;padding-inline:20px}
.turn-origin,.turn-scene{font-size:12px;color:var(--accent)}
.viewer-pivot{position:absolute;left:50%;top:50%;transform:translate(-50%,-65%);width:52px;height:52px;border:1px solid var(--accent);border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--accent);font-size:15px}
.viewer-pivot i{position:absolute;width:66px;height:1px;background:var(--accent);left:50%;top:50%;transform-origin:left;transform:rotate(360deg);z-index:-1}
.viewer-pivot i::after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid var(--accent);border-right:1px solid var(--accent);transform:rotate(45deg)}
.turn-angle{position:absolute;bottom:13px;left:0;right:0;text-align:center;font-size:11px;color:var(--muted)}
.is-motion .viewer-pivot i{animation:turn-view 4.8s cubic-bezier(.45,0,.25,1) both}
.feedback-sequence{display:grid;gap:16px;position:relative;margin-top:30px}
.feedback-sequence li{display:grid;grid-template-columns:25px 45px 1fr;gap:14px;align-items:center;line-height:1.8;font-size:14px}
.feedback-sequence li span{color:var(--accent);font-size:11px}
.feedback-sequence li b{font-weight:500;color:var(--ink)}
.feedback-sequence li em{color:var(--muted);font-size:13px}
.is-motion .feedback-sequence li{animation:feedback-enter .8s ease both}
.is-motion .feedback-sequence li:nth-child(2){animation-delay:.8s}
.is-motion .feedback-sequence li:nth-child(3){animation-delay:1.6s}
.tool-flow{display:grid;gap:18px;margin-top:30px}
.tool-flow>div{display:grid;grid-template-columns:86px 1fr;gap:22px;font-size:14px;line-height:1.8}
.tool-flow dt{color:var(--accent)}
.tool-flow dd{color:var(--muted)}
.spatial-demo{width:150px;height:150px;position:relative;display:grid;place-items:center;margin-top:26px;color:var(--accent);font-size:13px}
.spatial-demo i{position:absolute;border:1px solid var(--accent);border-radius:50%;inset:0;opacity:.2}
.spatial-demo i:nth-child(2){inset:20px;opacity:.4}
.spatial-demo i:nth-child(3){inset:40px;opacity:.6}
.is-motion .spatial-demo i{animation:sound-breathe 2s ease 3}
.is-motion .spatial-demo i:nth-child(2){animation-delay:.2s}
.is-motion .spatial-demo i:nth-child(3){animation-delay:.4s}
/* Research evidence comes from the supplied paper, unchanged. */
.research-heading p{margin-top:12px}
.validation-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7%;align-items:center}
.score-summary{min-width:0}
.measure-label{font-size:14px}
.score-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:20px}
.score-pair dt{font-size:14px;color:var(--muted);margin-bottom:8px}
.score-pair dd{font-size:clamp(42px,4.8vw,72px);font-weight:500;letter-spacing:-.06em;line-height:1.15;font-variant-numeric:tabular-nums}
.score-pair>div:last-child dd{color:var(--accent)}
.score-change{display:flex;align-items:baseline;gap:18px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.score-change strong{font-size:30px;line-height:1.25;color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums}
.score-change span{font-size:14px}
.test-statistics{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}
.test-statistics dt{font-size:14px;color:var(--muted);margin-bottom:6px}
.test-statistics dd{font-size:18px;font-variant-numeric:tabular-nums;white-space:nowrap}
.score-interpretation{margin-top:24px;max-width:28em}
.research-evidence{min-width:0}
.chart-tabs{gap:30px;margin-bottom:16px}
.chart-tabs button{font-size:16px;min-height:44px}
.chart-stage{height:clamp(320px,calc(100dvh - 340px),460px)}
.chart-panel{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;animation:panel-enter .35s ease}
.chart-panel .evidence-image{min-width:0;align-items:center}
.chart-panel img{border-radius:var(--radius)}
.chart-panel figcaption{font-size:12px;line-height:1.7;color:var(--muted);text-wrap:pretty}
.research-boundary{font-size:12px;line-height:1.7;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.interview-result{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;padding-bottom:24px;border-bottom:1px solid var(--line)}
.interview-total strong{display:block;font-size:clamp(58px,5.8vw,86px);line-height:1;font-weight:500;color:var(--accent);letter-spacing:-.055em;font-variant-numeric:tabular-nums;margin-bottom:12px}
.interview-total strong span{font-size:.42em;letter-spacing:-.025em;color:var(--muted)}
.interview-total>span{font-size:16px;color:var(--ink)}
.participant-marks{display:grid;grid-template-columns:repeat(11,1fr);gap:10px;max-width:360px}
.participant-marks i{display:block;width:100%;max-width:16px;aspect-ratio:1;border-radius:50%;background:var(--accent);border:1px solid var(--accent)}
.participant-marks .open-question{background:transparent}
.participant-strip p{margin-top:16px;font-size:12px;line-height:1.7}
.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:28px}
.insight h3{font-size:18px;line-height:1.5}
.insight h3 span{display:block;font-size:14px;color:var(--accent);font-weight:500;letter-spacing:0;margin-bottom:10px}
.insight blockquote{margin:18px 0 14px;font-size:19px;line-height:1.65;font-weight:500;letter-spacing:-.025em;text-wrap:pretty}
.insight p{font-size:14px;line-height:1.8}
.design-learning{padding:18px 22px;margin-top:28px;background:var(--surface);border-radius:var(--radius)}
.design-learning h3{font-size:18px;color:var(--accent);margin-bottom:6px}
.design-learning p{font-size:14px;line-height:1.8;max-width:66em}
.is-motion .participant-marks i{animation:feedback-enter .45s ease both}
.is-motion .participant-marks i:nth-child(n+8){animation-delay:.08s}
.is-motion .participant-marks i:nth-child(n+15){animation-delay:.16s}
.case-footer{display:flex;justify-content:space-between;align-items:center;padding-top:22px;margin-top:30px;border-top:1px solid var(--line);font-size:13px}
.case-footer a{display:flex;gap:24px;min-height:44px;align-items:center}
.case-footer span{color:var(--accent)}
.image-dialog{inset:0;width:min(1440px,94vw);max-width:94vw;max-height:92dvh;padding:0;border:0;border-radius:12px;background:var(--paper);color:var(--ink);overflow:hidden;box-shadow:0 24px 80px rgb(0 0 0 / .18)}
.image-dialog::backdrop{background:rgb(14 23 18 / .72)}
.image-dialog[open]{animation:dialog-enter .3s cubic-bezier(.22,1,.36,1)}
.image-dialog[open]::backdrop{animation:backdrop-enter .3s ease-out}
.image-dialog.is-closing{animation:dialog-leave .2s ease-in forwards}
.image-dialog.is-closing::backdrop{animation:backdrop-leave .2s ease-in forwards}
.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;gap:24px;border-bottom:1px solid var(--line)}
.dialog-header h2{font-size:15px;font-weight:500;letter-spacing:0;line-height:1.5}
.dialog-close{font-size:14px;padding:8px 0;min-width:62px;min-height:44px}
.dialog-scroll{max-height:calc(92dvh - 70px);overflow:auto;padding:20px;display:flex;justify-content:center}
.dialog-image{width:auto;height:auto;max-width:100%;max-height:calc(92dvh - 110px);object-fit:contain;border-radius:4px}
.is-reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1)}
.is-reveal.in-view{opacity:1;transform:none}
@keyframes panel-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes branch-enter{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}
@keyframes decode-move{0%,12%{transform:translateX(0);background:var(--paper)}23%{transform:translateX(0) scale(1.08);background:#cfddd0}67%,100%{transform:translateX(var(--travel));background:var(--paper)}}
@keyframes anchor-match{0%,65%{opacity:.45}76%,100%{opacity:1;border-style:solid;background:#cfddd0}}
@keyframes sound-breathe{0%,100%{transform:scale(.97);opacity:.28}50%{transform:scale(1.035);opacity:.62}}
@keyframes sound-word{0%{color:var(--muted)}40%,100%{color:var(--accent)}}
@keyframes turn-view{0%,18%{transform:rotate(180deg)}77%,100%{transform:rotate(360deg)}}
@keyframes feedback-enter{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes dialog-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes dialog-leave{to{opacity:0;transform:translateY(8px) scale(.985)}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes backdrop-leave{to{opacity:0}}
@media(max-width:1200px){main{margin-left:185px;margin-right:28px}.chapters{left:28px;width:140px}.cover{grid-template-columns:1fr 1fr}.cover h1{font-size:80px}.cover h1 span{font-size:28px}.cover-lead{font-size:24px}.demo-panel{grid-template-columns:.85fr 1.15fr;gap:5%}.interpretation-map h3{font-size:21px}.interpretation-voices{font-size:12px}.sound-design{padding:24px}.feedback-sequence li{grid-template-columns:22px 40px 1fr;gap:10px}}
@media(min-width:961px) and (max-height:700px){h2{font-size:34px}.screen{padding-block:36px}.cover{padding-top:80px;padding-bottom:42px}.cover h1{font-size:80px}.cover h1 span{font-size:27px}.cover-lead{font-size:24px;margin-top:26px}.eyebrow{margin-bottom:22px}.start{margin-top:26px}.panel-stage{height:clamp(275px,calc(100dvh - 222px),420px)}.act-copy h3,.build-copy h3{font-size:21px;margin-bottom:10px}.gesture-demo{height:132px;margin-top:20px}.decode-action,.turn-angle{bottom:8px}.decode-anchor::after{top:66px}.act-copy .act-purpose,.build-copy .act-purpose{margin-top:16px;font-size:13px}.feedback-sequence,.tool-flow{margin-top:22px;gap:12px}.spatial-demo{width:124px;height:124px;margin-top:20px}.case-footer{padding-top:16px;margin-top:22px}}
@media(max-width:960px){main{margin-inline:28px}.masthead{padding-inline:28px}.chapters{top:auto;bottom:14px;left:50%;width:auto;max-width:calc(100vw - 28px);transform:translateX(-50%);display:flex;gap:20px;padding:8px 22px;border:1px solid var(--line);border-radius:40px;background:rgb(241 240 235 / .96);box-shadow:0 4px 20px rgb(35 45 40 / .06)}.chapters a{gap:7px;font-size:11px;min-height:32px}.chapters a span{font-size:9px}.screen{padding:52px 0 76px}.cover{padding-top:108px}.cover h1{font-size:76px}.cover-lead{font-size:23px}.positioning-layout{gap:6%}.interpretation-map h3{font-size:21px}.panel-stage{height:clamp(350px,calc(100dvh - 268px),480px)}.validation{padding-bottom:108px}}
@media(max-width:700px){main{margin-inline:22px}.masthead{height:76px;padding-inline:22px}.brand{gap:12px}.brand b{font-size:30px}.brand span{font-size:10px}.back-link{font-size:12px;gap:12px}.chapters{gap:13px;padding:6px 16px;bottom:12px}.chapters a{display:block;text-align:center;font-size:10px;min-height:34px}.chapters a span{display:block;font-size:8px;margin-bottom:3px}.chapters a b{display:block}.screen{min-height:auto;padding:50px 0 62px}.section-heading{margin-bottom:22px}.cover{grid-template-columns:1fr;gap:12px;padding-top:112px;padding-bottom:48px;min-height:100dvh}.cover h1{font-size:80px}.eyebrow{margin-bottom:22px;font-size:12px}.cover h1 span{font-size:27px;margin-top:15px}.cover-lead{margin-top:26px;font-size:24px}.start{margin-top:24px}.cover-art{width:100%;max-width:530px;margin:auto}.artifact-frame{padding-block:10%;margin-inline:0}.cover-art::before{inset:3% 8% 3%}.positioning-layout{grid-template-columns:1fr;gap:38px}.positioning-copy h2{margin-bottom:22px}.positioning-copy>p{max-width:100%}.product-decisions{margin-top:24px}.positioning-copy .interpretation-note{margin-top:22px;max-width:100%}.interpretation-map h3{font-size:22px}.interpretation-art{height:220px;margin-top:14px}.interpretation-voices{font-size:12px}.tabs{gap:28px;margin-bottom:26px}.tabs button{font-size:16px;gap:12px;min-height:48px}.panel-stage{height:auto}.demo-panel{grid-template-columns:1fr;gap:28px;height:auto}.act-copy h3,.build-copy h3{font-size:22px}.act-copy>p,.build-copy>p{max-width:100%}.gesture-demo{max-width:330px;height:145px;margin-top:22px;--travel:160px}.act-copy .act-purpose,.build-copy .act-purpose{margin-top:18px}.evidence-image{height:auto;max-height:440px}.evidence-image img{max-height:440px}.model-evidence{height:400px}.model-evidence img{max-height:400px}.sound-design{height:320px;padding:24px;max-height:none}.sound-orbit{width:190px;margin-bottom:28px}.sound-sequence{font-size:12px;padding-top:18px}.compact-details{margin-top:22px;gap:14px}.feedback-sequence{margin-top:24px;gap:14px}.feedback-sequence li{grid-template-columns:25px 52px 1fr;font-size:15px}.tool-flow{margin-top:24px;gap:14px}.spatial-demo{width:132px;height:132px;margin-top:20px}.case-footer{padding-top:20px;margin-top:26px;font-size:12px}.case-footer a{gap:20px}.validation{padding-bottom:106px}.image-dialog{max-width:96vw;width:96vw}.dialog-header{padding:8px 16px;gap:12px}.dialog-scroll{padding:12px}.dialog-header h2{font-size:13px}.dialog-image{max-height:calc(92dvh - 96px)}}
@media(max-width:380px){.chapters{gap:10px;padding-inline:13px}.cover h1{font-size:70px}.cover h1 span{font-size:24px}.cover-lead{font-size:22px}}
@media(min-width:961px) and (max-height:700px){.research-heading{margin-bottom:20px}.research-heading p{margin-top:8px;font-size:14px}.score-pair{margin-top:16px}.score-pair dd{font-size:50px}.score-change{margin-top:16px;padding-top:14px}.test-statistics{margin-top:18px}.score-interpretation{margin-top:18px;font-size:14px}.research-boundary{margin-top:20px;padding-top:12px}.interview-result{padding-bottom:18px}.interview-total strong{font-size:62px;margin-bottom:8px}.insight-grid{margin-top:22px;gap:24px}.insight h3{font-size:17px}.insight h3 span{margin-bottom:6px}.insight blockquote{font-size:17px;line-height:1.6;margin:14px 0 10px}.insight p{font-size:13px;line-height:1.7}.design-learning{margin-top:22px;padding:14px 18px}.design-learning h3{font-size:17px}.design-learning p{font-size:13px}}
@media(max-width:960px){.findings{padding-bottom:108px}.validation-layout{gap:5%}.score-pair dd{font-size:50px}.score-interpretation{font-size:14px}.insight-grid{gap:22px}.insight blockquote{font-size:17px}.chapters{gap:16px}}
@media(max-width:700px){.research-heading h2,.findings h2{font-size:30px}.research-heading p{font-size:14px;max-width:27em}.validation-layout{grid-template-columns:1fr;gap:30px}.score-pair{max-width:370px;gap:30px}.score-pair dd{font-size:62px}.score-change{max-width:370px}.test-statistics{max-width:370px}.score-interpretation{max-width:100%;font-size:16px}.chart-stage{height:auto}.chart-panel{height:auto;grid-template-rows:auto auto}.chart-panel .evidence-image,.chart-panel .evidence-image img{height:auto;max-height:none}.chart-panel figcaption{font-size:12px}.research-boundary{margin-top:24px}.interview-result{grid-template-columns:1fr;gap:24px}.interview-total strong{font-size:70px}.participant-marks{max-width:320px;gap:12px}.participant-strip p{margin-top:12px}.insight-grid{grid-template-columns:1fr;gap:26px;margin-top:30px}.insight+.insight{padding-top:24px;border-top:1px solid var(--line)}.insight h3{font-size:20px}.insight h3 span{display:inline-block;margin:0 18px 0 0;font-size:14px}.insight blockquote{font-size:21px;line-height:1.6;margin:16px 0 12px;max-width:25em}.insight p{font-size:16px}.design-learning{margin-top:30px;padding:20px}.design-learning h3{font-size:19px}.design-learning p{font-size:16px}.findings{padding-bottom:106px}.chapters{gap:12px;padding-inline:15px}.chapters a{font-size:10px}}
@media(max-width:380px){.chapters{gap:9px;padding-inline:12px}.score-pair dd{font-size:54px}.interview-total strong{font-size:64px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.artifact-motion{transform:none}.is-reveal{opacity:1;transform:none}.evidence-image:hover img{transform:none}}
