/* Project case studies: artwork first, a quiet reading surface, contextual chapters. */
.case-study{--case-width:1440px;--case-gap:clamp(28px,4vw,64px);background:#0e1110;font-size:16px;line-height:1.85}
.case-study .site-header{background:#0d100feb;backdrop-filter:blur(16px)}
.case-study .site-header.hide{transform:none}
.case-study .btn{border-radius:5px;padding:12px 17px;font-size:12px;font-weight:500;letter-spacing:.02em}
.case-study .facility-project-backdrop{opacity:.3}
.case-study .facility-project-shade{background:linear-gradient(180deg,#0e11104d,#0e1110e8 90%)}
.case-study .facility-project-shade::after{opacity:calc(var(--facility-reading)*.85)}
.case-study .p-hero{display:flex;flex-direction:column;gap:22px;position:relative;width:100%;max-width:var(--case-width);height:auto;min-height:0;margin:0 auto;padding:calc(var(--header-h) + 26px) var(--gutter) 28px;overflow:visible;background:transparent}
.case-study .p-hero::after,.case-study .p-hero .bars,.case-study .p-hero .num-bg{display:none}
.case-study .p-hero .content{position:relative;inset:auto;order:1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:10px 48px;width:100%;padding:0;justify-content:initial}
.case-study.facility-ready .p-hero .content{width:100%;padding:0}
.case-study .p-hero .content>*{animation:none}
.case-study .p-hero .kicker{grid-column:1/-1;grid-row:1;margin:0 0 4px;font-size:10px;letter-spacing:.14em}
.case-study .p-hero h1{grid-column:1;grid-row:2/4;align-self:start}
.case-study .p-hero h1 .cn{font-size:clamp(34px,3.6vw,56px);font-weight:500;letter-spacing:-.045em;line-height:1.22}
.case-study .p-hero h1 .en-title{font-size:clamp(14px,1.5vw,22px);font-weight:400;line-height:1.4;letter-spacing:.025em;color:#abaea4;margin-top:10px}
.case-study .p-hero .tagline{grid-column:2;grid-row:2;max-width:36em;font-size:14px;line-height:1.85;font-weight:400;color:#bfc2b7;margin:0;text-wrap:pretty}
.case-study .p-hero .btn-row{grid-column:2;grid-row:3;gap:12px;margin:4px 0 0;align-self:start}
.case-study .p-hero .btn{padding:11px 16px;gap:18px;font-size:12px;border-radius:5px;letter-spacing:.015em}
.case-study .p-hero .bg,.case-study.facility-ready .p-hero .bg{position:relative;inset:auto;order:2;width:100%;height:clamp(300px,55svh,610px);opacity:1;translate:none!important;overflow:hidden;border:1px solid #ddd6bf30;border-radius:8px;background:#080a09;box-shadow:0 25px 60px #0003}
.case-study .p-hero .bg img{height:100%;width:100%;object-fit:cover;object-position:center;animation:none;transform:none;filter:none}
.case-study .facility-room-bar{position:static;inset:auto;order:0;margin:0 0 3px;font-size:10px;letter-spacing:.06em}
.case-study .facility-home-link{color:#b7bcae}
.case-study .facility-room-label{gap:8px}
.case-study .facility-motion{bottom:44px;right:calc(var(--gutter) + 16px);font-size:10px;padding:8px 12px;border-radius:5px;background:#0c100fe6;border-color:#cec7b62e}
.case-study main>.wrap{max-width:var(--case-width)}
.case-study .meta-strip{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border:1px solid var(--ui-line);border-radius:8px;background:#121613dc;overflow:hidden}
.case-study .meta-strip>div,.case-study .meta-strip>div:first-child{padding:18px 20px}
.case-study .meta-strip dt{font-size:10px;letter-spacing:.08em;color:#969e90;margin-bottom:8px}
.case-study .meta-strip dd{font-size:12px;line-height:1.75;color:#d0d3c6}
.case-reading{display:grid;grid-template-columns:170px minmax(0,1fr);gap:var(--case-gap);max-width:var(--case-width);padding:0 var(--gutter);margin:52px auto 72px;align-items:start}
.case-sidebar{position:sticky;top:92px;z-index:12;max-height:calc(100svh - 116px);overflow-y:auto;scrollbar-width:thin}
.case-study .case-sidebar .toc{display:flex;flex-direction:column;gap:3px;margin:0;padding:14px 0;border-top:1px solid var(--ui-line)}
.case-study .case-sidebar .toc a{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:baseline;gap:9px;padding:11px 8px 11px 12px;border:0;border-left:2px solid transparent;color:#8f978a;font-size:12px;line-height:1.65;letter-spacing:0;opacity:1;transform:none;transition:color .2s,background .2s,border-color .2s}
.case-study .case-sidebar .toc a b{font-family:var(--f-sans);font-size:10px;line-height:1.5;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:0;color:inherit;margin:0}
.case-study .case-sidebar .toc a:hover{color:#eeeadd;background:#d4c9ab07}
.case-study .case-sidebar .toc a[aria-current="location"]{border-left-color:var(--accent);color:var(--text);background:linear-gradient(90deg,#ddd5bf0c,transparent)}
.case-study .case-sidebar .toc a[aria-current="location"] b{color:var(--accent)}
.case-nav-toggle{display:none}
.case-sidebar .toc[hidden]{display:none!important}
.case-content{min-width:0}
.case-study .chapter{padding:48px 0 14px;background:none;scroll-margin-top:96px;border-top:1px solid var(--ui-line)}
.case-study .chapter+.chapter{margin-top:64px}
.case-study .chapter>.wrap{padding:0;max-width:none}
.case-study .chapter-head{margin-bottom:28px}
.case-study .chapter-head .big-num{display:none}
.case-study .chapter-head .kicker{font-size:10px;letter-spacing:.1em;margin-bottom:12px}
.case-study .chapter-head h2{font-size:clamp(28px,3vw,44px);font-weight:500;line-height:1.35;max-width:24em;letter-spacing:-.035em;text-wrap:pretty}
.case-study .chapter-head .q{font-size:14px;line-height:1.85;max-width:48em;margin:12px 0 0;color:#a9b0a1;text-wrap:pretty}
.case-study .lead{font-size:clamp(19px,1.9vw,25px);font-weight:450;line-height:1.8;max-width:38em;text-wrap:pretty}
.case-study .body-cols{column-gap:36px;font-size:15px;line-height:1.95}
.case-study .prose{max-width:48em;font-size:15px;line-height:1.95}
.case-study .sub-head{font-size:clamp(22px,2.1vw,30px);font-weight:500;line-height:1.5;margin:46px 0 22px;letter-spacing:-.025em;text-wrap:pretty}
.case-study .sub-head small{font-size:10px;line-height:1.7;margin-bottom:9px;letter-spacing:.1em}
.case-study .mt-l{margin-top:32px}
.case-study .mt-m{margin-top:22px}
.case-study .bleed{width:100%;margin-left:0}
.case-study .bleed figcaption{padding-left:0;padding-right:0}
.case-study .fig,.case-study .cmp-wrap{border:1px solid #c9c2ad25;border-radius:7px}
.case-study figcaption{font-size:11px;line-height:1.8;padding-top:10px;color:#a6ad9f}
.case-study figcaption b{font-weight:500;color:#d9dccf}
.case-study .case-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:32px;align-items:center;margin-top:30px}
.case-study .case-feature--image-first{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}
.case-feature h3{font-size:clamp(21px,2vw,28px);font-weight:500;line-height:1.5;margin-bottom:16px}
.case-feature p{font-size:14px;line-height:1.95;color:#b4bdad}
.case-feature .lead{font-size:22px}
.case-study .case-portrait img{max-height:760px;object-fit:contain;background:#080a09}
.case-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:28px;align-items:start}
.case-pair.case-maps{grid-template-columns:minmax(0,1fr);gap:32px}
.case-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:24px;padding:24px 0;border-top:1px solid var(--ui-line);border-bottom:1px solid var(--ui-line);margin:26px 0;color:#b4bdad;font-size:13px}
.case-summary h3,.case-summary h4{font-size:16px;font-weight:500;line-height:1.6;margin-bottom:8px;color:var(--text)}
.case-summary p{font-size:13px;line-height:1.85;margin-bottom:0}
.case-note{padding:20px 24px;border-left:2px solid var(--accent);background:#c6cbb307;margin:24px 0;font-size:14px;color:#bbc1b3}
.case-note h3,.case-note h4{font-size:17px;margin-bottom:8px;line-height:1.6}
.case-note p:last-child{margin-bottom:0}
/* 实机视频：站内封面 + 点击后加载播放器 */
.case-video{margin-top:40px}
.case-video .sub-head{margin-top:0}
.video-facade{position:relative;aspect-ratio:16/9;background:#050606;border:1px solid var(--ui-line,#ffffff1f);overflow:hidden;cursor:pointer}
.video-facade>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.72);transition:filter .3s,transform .6s}
.video-facade:hover>img,.video-facade:focus-visible>img{filter:brightness(.9);transform:scale(1.015)}
.video-facade:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.video-play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;border:1px solid #ffffff8c;background:#0009;display:grid;place-items:center;pointer-events:none;transition:background .25s,border-color .25s}
.video-play::before{content:"";margin-left:6px;border-style:solid;border-width:14px 0 14px 23px;border-color:transparent transparent transparent #fff}
.video-facade:hover .video-play{background:var(--accent);border-color:var(--accent)}
.video-facade .video-meta{position:absolute;left:18px;bottom:14px;font:12px/1.4 var(--f-mono,monospace);letter-spacing:.08em;color:#e8e6e0;text-shadow:0 1px 8px #000}
.video-facade.is-playing>img,.video-facade.is-playing .video-play,.video-facade.is-playing .video-meta{display:none}
.video-facade iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-links{margin-top:12px;font-size:13px;color:#9aa39a}
.video-links a{color:var(--text);border-bottom:1px solid var(--ui-line,#ffffff33);margin-left:14px}
.video-links a:hover{color:var(--accent);border-color:var(--accent)}
@media(max-width:700px){.video-play{width:64px;height:64px;margin:-32px 0 0 -32px}.video-play::before{border-width:11px 0 11px 18px}}
.case-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:20px;margin:28px 0;counter-reset:case-step}
.case-steps>div,.case-steps>article{border-top:1px solid var(--ui-line);padding-top:15px}
.case-steps>.step::before{counter-increment:case-step;content:counter(case-step,decimal-leading-zero);display:block;font:500 11px/1.5 var(--f-sans);color:var(--accent);margin-bottom:10px}
.case-steps .step>b{display:block;font-size:16px;font-weight:500;line-height:1.6;margin-bottom:8px}
.case-steps .step>span{display:block;font-size:13px;line-height:1.85;color:#abb5a1}
.case-steps h3,.case-steps h4{font-size:17px;line-height:1.6;margin:12px 0 6px;font-weight:500}
.case-steps p{font-size:13px;color:#abb5a1;line-height:1.8;margin:0}
.case-study .case-details{border-top:1px solid var(--ui-line);border-bottom:1px solid var(--ui-line);margin:30px 0;background:#0d120c52}
.case-details>summary{position:relative;list-style:none;padding:19px 42px 19px 18px;cursor:pointer;font-size:14px;font-weight:500;color:#d9ddcf}
.case-details>summary::-webkit-details-marker{display:none}
.case-details>summary::after{content:'+';position:absolute;right:18px;top:16px;font-size:22px;font-weight:400;color:var(--accent)}
.case-details[open]>summary::after{content:'−'}
.case-details[open]>summary{border-bottom:1px solid var(--ui-line)}
.case-details>:not(summary){margin-left:18px;margin-right:18px}
.case-details>:last-child{margin-bottom:22px}
.case-details-body{padding-top:24px}
.case-study .cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px}
.case-study .card{padding:22px 0 20px;border:0;border-top:1px solid var(--ui-line);border-radius:0;background:none;overflow:visible}
.case-study .card:hover{background:none}
.case-study .card::after{display:none}
.case-study .card .n{font-size:16px;font-weight:500;margin-bottom:12px;line-height:1.4;color:var(--accent)}
.case-study .card h4{font-size:18px;font-weight:500;line-height:1.6;margin-bottom:10px}
.case-study .card p{font-size:14px;line-height:1.85;color:#aeb7a5}
.case-study .card .label{font-size:10px;letter-spacing:.08em;margin:14px 0 6px}
.case-study .card .first{font-size:10px;color:#97a18c}
.case-study .split,.case-study .tall-split{gap:30px}
.case-study .split h3{font-size:26px;line-height:1.4}
.case-study .split p{font-size:14px;line-height:1.95}
.case-study .quote{padding:16px 0 16px 25px}
.case-study .quote::before{display:none}
.case-study .quote p{font-size:clamp(20px,2.3vw,30px);font-weight:450;line-height:1.65}
.case-study .flow{gap:0;margin-top:22px}
.case-study .flow .step{border-top-width:1px;padding:16px 18px 16px 0}
.case-study .flow .step+.step{padding-left:18px}
.case-study .flow .step b{font-size:15px;font-weight:500;line-height:1.6}
.case-study .flow .step span{font-size:12px;line-height:1.85}
.case-study .flow .step::before{font-size:10px;margin-bottom:10px}
.case-study .fixes{gap:14px;border:0}
.case-study .fix{padding:22px;border:1px solid var(--ui-line);border-radius:6px;background:#161c1359}
.case-study .fix h4{font-weight:500;line-height:1.5}
.case-study .maps,.case-study .tune{border-color:var(--ui-line)}
.case-study .map{background:#10160e77}
.case-study .map .from{font-size:15px;font-weight:500}
.case-study .map .to{font-size:14px;font-weight:500}
.case-study .map p{font-size:13px}
.case-study .stat .v{font-size:clamp(40px,4vw,66px);font-weight:450;line-height:1.15}
.case-study .stats.words .v{font-size:clamp(30px,3vw,46px)}
.case-study .stat .k{font-size:14px;font-weight:500;margin-top:8px}
.case-study .stat .d{font-size:12px;line-height:1.85}
.case-study .ticks li{font-size:14px;line-height:1.85}
.case-study .levels{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}
.case-study .level .lv-num{font-size:28px;font-weight:450;line-height:1.2}
.case-study .level h4{font-size:18px;font-weight:500;line-height:1.5}
.case-study .level .lv-head{margin-top:12px;gap:10px}
.case-study .level p{font-size:13px;line-height:1.85}
.case-study .filmstrip{grid-auto-columns:minmax(260px,46%);gap:20px}
.case-study .filmstrip h4{font-weight:500}
.case-study .code{font-family:"Cascadia Mono",Consolas,monospace;font-size:12px;border-radius:6px}
.case-study .cta-band{padding:64px 0}
.case-study .cta-band h3{font-size:clamp(32px,4vw,58px);font-weight:500;line-height:1.3}
.case-study .cta-band .wrap,.case-study .next-proj .inner{max-width:var(--case-width);margin:auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.case-study .cta-band p{font-size:14px}
.case-study .next-proj{min-height:320px}
.case-study .next-proj .t{font-size:clamp(32px,4.5vw,64px);font-weight:500;line-height:1.2}
.case-study .next-proj .t .display{font-size:.36em;line-height:1.5}
.case-study .next-proj .go{font-size:12px;font-weight:500;margin-top:24px}
.case-study .reveal,.case-study .stagger>*{opacity:1!important;transform:none!important;transition:none!important}
.case-study .reveal-img{clip-path:none!important}
.case-study .reveal-img img{transform:none!important}
.case-study .case-details .sub-head:first-child{margin-top:24px}
@media(min-width:1600px){.case-reading{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:1100px){.case-reading{grid-template-columns:140px minmax(0,1fr);gap:28px}.case-study .p-hero .content{gap:8px 28px}.case-study .p-hero h1 .cn{font-size:36px}.case-study .chapter-head h2{font-size:34px}.case-study .case-feature{gap:24px}.case-study .three-col{grid-template-columns:1fr}}
@media(max-width:900px){
 .case-study{--gutter:24px}.case-study .p-hero{gap:19px;padding-top:calc(var(--header-h) + 20px)}
 .case-study .p-hero .content{grid-template-columns:minmax(0,1fr)}
 .case-study .p-hero h1{grid-column:1;grid-row:2}.case-study .p-hero .tagline{grid-column:1;grid-row:3;max-width:48em;font-size:14px;margin-top:5px}.case-study .p-hero .btn-row{grid-column:1;grid-row:4;margin-top:9px}
 .case-study .p-hero .bg,.case-study.facility-ready .p-hero .bg{height:auto;aspect-ratio:16/9}.case-study .p-hero h1 .cn{font-size:38px}.case-study .p-hero h1 .en-title{font-size:16px}
 .case-reading{display:block;padding:0 var(--gutter);margin-top:28px}
 .case-sidebar{position:sticky;top:var(--header-h);max-height:none;overflow:visible;margin:0 calc(-1*var(--gutter)) 30px;padding:0 var(--gutter);background:#101410f5;border-top:1px solid var(--ui-line);border-bottom:1px solid var(--ui-line);backdrop-filter:blur(16px);z-index:45}
 .case-nav-toggle{display:flex;align-items:center;gap:14px;width:100%;padding:16px 0;background:none;border:0;color:var(--text);font:12px/1.5 var(--f-sans);text-align:left;cursor:pointer}
 .case-nav-toggle-label{font-size:10px;color:#899782;white-space:nowrap}.case-nav-toggle-current{flex:1;min-width:0}.case-nav-chevron{font-size:16px;color:var(--accent);transition:transform .2s}
 .case-sidebar[data-open="true"] .case-nav-chevron{transform:rotate(180deg)}
 .case-study .case-sidebar .toc{padding:6px 0 14px;max-height:65svh;overflow:auto;border-top:0}
 .case-study .case-sidebar[data-open="true"] .toc{display:flex}
 .case-study .case-sidebar .toc a{font-size:13px;padding:10px 12px}
 .case-study .chapter{scroll-margin-top:140px;padding-top:26px}.case-study .chapter+.chapter{margin-top:44px}
 .case-study .case-feature,.case-study .case-feature--image-first{grid-template-columns:1fr;gap:20px}.case-study .case-feature>figure{order:-1}
 .case-study .case-portrait img{max-height:660px}
 .case-study .chapter-head h2{font-size:32px}.case-study .chapter-head{margin-bottom:22px}.case-study .sub-head{font-size:25px}
 .case-study .case-summary{gap:18px}.case-study .tall-split .sticky-text{position:static}
 .case-study .facility-motion{bottom:42px;font-size:9px;padding:6px 10px}
 .case-study .meta-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study .meta-strip>div{border-top:1px solid var(--ui-line)}.case-study .meta-strip>div:nth-child(-n+2){border-top:0}.case-study .meta-strip>div:nth-child(odd){border-left:0}
}
@media(max-width:560px){
 .case-study{--gutter:20px;font-size:15px}.case-study .site-header .brand .display{display:none}.case-study .site-header .nav{gap:14px}
 .case-study .p-hero{gap:18px;padding-top:calc(var(--header-h) + 16px);padding-bottom:20px}.case-study .p-hero h1 .cn{font-size:30px;line-height:1.35}.case-study .p-hero h1 .en-title{font-size:12px;letter-spacing:.035em;margin-top:6px}
 .case-study .p-hero .kicker{font-size:9px;letter-spacing:.06em}.case-study .p-hero .tagline{font-size:13px;line-height:1.8}.case-study .p-hero .btn{font-size:11px;padding:10px 13px;gap:12px}.case-study .p-hero .btn-row{gap:8px}
 .case-study .p-hero .bg{margin-top:2px;border-radius:5px}.case-study .facility-motion{position:static;align-self:flex-end;order:3;margin-top:-7px;font-size:9px}.case-study .facility-room-bar{font-size:9px;gap:12px}
 .case-study .meta-strip>div,.case-study .meta-strip>div:first-child{padding:14px 12px}.case-study .meta-strip dt{font-size:9px}.case-study .meta-strip dd{font-size:11px}
 .case-study .chapter-head h2{font-size:27px}.case-study .chapter-head .q{font-size:13px}.case-study .lead{font-size:19px}.case-study .sub-head{font-size:22px;margin-top:34px}
 .case-study .cards,.case-study .levels,.case-pair,.case-summary,.case-steps{grid-template-columns:1fr}.case-study .cards{gap:4px}.case-study .card{padding:18px 0}.case-study .card h4{font-size:17px}
 .case-study .case-summary{gap:20px}.case-study .case-summary>div+div{border-top:1px solid var(--ui-line);padding-top:18px}.case-study .case-feature{margin-top:20px}.case-study .case-portrait img{max-height:540px}
 .case-study .flow{grid-template-columns:1fr}.case-study .flow .step+.step{padding-left:0;border-left:0;border-top-color:var(--ui-line)}
 .case-study .filmstrip{grid-auto-columns:88%;gap:16px}.case-study .body-cols{columns:1}.case-study .code{padding:16px;font-size:11px}.case-study .fix{padding:17px}.case-study .fixes{grid-template-columns:1fr}.case-study .fix .before,.case-study .fix .after{font-size:13px}
 .case-study .case-details>summary{font-size:13px}.case-study .case-details>:not(summary){margin-left:12px;margin-right:12px}.case-study .cmp-label{font-size:8px;letter-spacing:.03em;top:10px;padding:6px}.case-study .cmp-label.l{left:8px}.case-study .cmp-label.r{right:8px}
 .case-study .next-proj{min-height:250px}.case-study .cta-band{padding:48px 0}.case-study .quote{padding-left:18px}.case-study .quote p{font-size:20px}.case-study .stats{gap:26px}
}
@media(prefers-reduced-motion:reduce){.case-study{scroll-behavior:auto}.case-study *{scroll-behavior:auto!important}}
@media print{.case-sidebar{display:none}.case-reading{display:block}.case-study .case-content{width:100%}.case-study .chapter{break-before:auto}.case-study .case-details{content-visibility:visible}}
