:root{--case-ink:#151713;--case-paper:#f2efe7;--case-acid:#d7ff3f;--case-rule:rgba(21,23,19,.22)}
body.theme-cases{background:var(--case-paper);color:var(--case-ink)}
.theme-cases .topbar{position:fixed;inset:0 0 auto;z-index:50;border:0;background:transparent;box-shadow:none;transition:background .25s ease,backdrop-filter .25s ease}.theme-cases .topbar .brand-title{color:#f5f3ed}.theme-cases .topbar .brand-subtitle,.theme-cases .topbar .nav a{color:rgba(245,243,237,.7)}.theme-cases .topbar .brand-mark{color:#151713;background:var(--case-acid)}.theme-cases .topbar .nav a:hover,.theme-cases .topbar .nav a.active{color:#151713;background:var(--case-acid)}.theme-cases .topbar.is-scrolled{border-bottom:1px solid rgba(255,255,255,.1);background:rgba(14,16,13,.9);backdrop-filter:blur(16px)}
.cases-hero{position:relative;min-height:100vh;display:grid;align-items:end;overflow:hidden;color:#f5f3ed;background:#151713}.cases-hero::before{position:absolute;inset:0;background:linear-gradient(115deg,transparent 56%,rgba(215,255,63,.08)),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:auto,70px 70px,70px 70px;content:""}.cases-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:70px;align-items:end;padding-top:160px;padding-bottom:110px}.cases-kicker{display:block;color:#7c8929;font:800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em}.cases-hero .cases-kicker{color:var(--case-acid)}.cases-hero h1{max-width:900px;margin-top:24px;font-family:"Songti SC","STSong",serif;font-size:clamp(62px,8.4vw,124px);font-weight:700;line-height:.9;letter-spacing:-.055em}.cases-hero-copy>p{max-width:700px;margin:30px 0 0;color:rgba(245,243,237,.68);font-size:clamp(16px,1.6vw,20px)}.cases-primary{border-color:var(--case-acid)!important;color:#151713!important;background:var(--case-acid)!important}.cases-ghost{border-color:rgba(245,243,237,.35);color:#f5f3ed;background:transparent}.cases-hero-index{display:grid;border-top:1px solid rgba(245,243,237,.22)}.cases-hero-index span{display:grid;grid-template-columns:40px 1fr;padding:15px 0;border-bottom:1px solid rgba(245,243,237,.22);color:rgba(245,243,237,.62);font-size:12px}.cases-hero-index b{color:var(--case-acid);font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.cases-marquee{position:absolute;right:0;bottom:18px;left:0;display:flex;width:max-content;color:rgba(245,243,237,.12);font:700 13px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;animation:case-marquee 32s linear infinite}.cases-marquee span{white-space:nowrap}@keyframes case-marquee{to{transform:translateX(-50%)}}
.case-chapter{position:relative;min-height:930px;padding:120px 0;overflow:hidden}.case-chapter-grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:80px;align-items:center}.case-copy{position:relative;z-index:2}.case-number{display:block;font:800 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em}.case-copy h2{margin-top:16px;font-family:"Songti SC","STSong",serif;font-size:clamp(60px,8vw,110px);line-height:.92;letter-spacing:-.05em}.case-thesis{max-width:650px;margin:26px 0 0;font-size:clamp(20px,2.3vw,32px);font-weight:700;line-height:1.28}.case-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:38px;background:var(--case-rule)}.case-facts span{padding:14px;background:var(--case-paper);font-size:12px}.case-facts b{display:block;margin-bottom:5px;color:#7b776d;font-size:10px}.case-summary{max-width:620px;margin:30px 0 0;color:#625f57;font-size:14px}.case-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:32px}.case-actions a{padding-bottom:5px;border-bottom:1px solid;font-size:12px;font-weight:800;text-decoration:none}.case-visual{position:relative;margin:0}.case-visual img{width:100%;display:block}.nihaoya-visual{padding:32px;background:#37523a;transform:rotate(1.5deg)}.nihaoya-visual::before{position:absolute;inset:15px;border:1px solid rgba(255,255,255,.3);content:""}.nihaoya-visual img{position:relative;z-index:1}.nihaoya-visual figcaption{position:relative;z-index:1;display:flex;justify-content:space-between;margin-top:18px;color:#f4ead5}.nihaoya-visual figcaption span{font-family:"Songti SC","STSong",serif;font-size:18px}.nihaoya-visual figcaption b{font-size:11px;letter-spacing:.1em}.case-nihaoya{background:#ded7bd}.case-nihaoya .case-facts{--case-rule:rgba(44,70,46,.24)}.case-nihaoya .case-facts span{background:#ded7bd}
.case-linkbridge{display:grid;align-items:center;color:#f4f0e8;background:#0c1b2d}.case-linkbridge-bg,.case-linkbridge-shade{position:absolute;inset:0}.case-linkbridge-bg img{width:100%;height:100%;object-fit:cover}.case-linkbridge-shade{background:linear-gradient(90deg,rgba(4,14,28,.96) 0%,rgba(4,14,28,.78) 48%,rgba(4,14,28,.28)),linear-gradient(0deg,rgba(4,14,28,.85),transparent)}.linkbridge-layout{position:relative;z-index:1;display:grid;grid-template-columns:110px minmax(320px,.9fr) minmax(280px,.65fr);gap:48px;align-items:center}.route-coordinates{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:rgba(255,255,255,.5);font:9px ui-monospace,SFMono-Regular,Menlo,monospace;writing-mode:vertical-rl}.route-coordinates i{width:1px;min-height:220px;background:#e8523c}.case-copy.light .case-number{color:#e8523c}.case-copy.light h2{color:#f4f0e8}.case-copy.light .case-summary{color:rgba(244,240,232,.62)}.case-copy.light .case-facts{background:rgba(255,255,255,.18)}.case-copy.light .case-facts span{background:rgba(7,20,37,.78)}.case-copy.light .case-facts b{color:rgba(244,240,232,.45)}.trade-inset{align-self:end;margin:0 0 30px;border:1px solid rgba(255,255,255,.25);background:#081321}.trade-inset img{width:100%;aspect-ratio:4/5;display:block;object-fit:cover;filter:saturate(.75)}.trade-inset figcaption{padding:12px;color:rgba(255,255,255,.52);font:9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}
.case-filmforge{min-height:1080px;padding-bottom:0;color:#f4f0e8;background:#111411}.filmforge-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:62px;align-items:center}.filmforge-frame{overflow:hidden;border:1px solid #3f493a;background:#171b17;box-shadow:0 30px 80px rgba(0,0,0,.38)}.frame-bar{height:44px;display:flex;align-items:center;gap:7px;padding:0 14px;border-bottom:1px solid #343b31}.frame-bar span{width:7px;height:7px;border-radius:50%;background:#64705d}.frame-bar b{margin-left:10px;color:#84907d;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.filmforge-frame>img{width:100%;display:block}.frame-timeline{display:grid;grid-template-columns:12px repeat(6,1fr);align-items:center;gap:5px;padding:14px;color:#87917f;font:9px ui-monospace,SFMono-Regular,Menlo,monospace}.frame-timeline i{width:7px;height:7px;border-radius:50%;background:var(--case-acid);box-shadow:0 0 15px var(--case-acid)}.case-filmforge .case-copy.light .case-number,.case-filmforge .case-actions a{color:var(--case-acid)}.case-filmforge .case-copy.light .case-facts span{background:#181c18}.filmforge-strip{position:relative;width:100%;height:310px;margin-top:100px;overflow:hidden}.filmforge-strip img{width:100%;height:100%;object-fit:cover;filter:brightness(.48)}.filmforge-strip span{position:absolute;inset:auto 0 22px;color:rgba(255,255,255,.35);font:800 clamp(36px,7vw,100px)/.8 ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center;white-space:nowrap}
.project-archive{padding:110px 0;background:#ebe7de}.archive-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.45fr);gap:30px;align-items:end;margin-bottom:42px}.archive-head .cases-kicker{grid-column:1/-1}.archive-head h2{font-family:"Songti SC","STSong",serif;font-size:clamp(38px,5vw,68px);line-height:1}.archive-head p{margin:0;color:#68645c}.archive-list{border-top:1px solid #aaa499}.archive-list article{display:grid;grid-template-columns:70px minmax(220px,.7fr) minmax(280px,1fr) 120px;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid #aaa499;transition:padding .2s ease,background .2s ease}.archive-list article:hover{padding-right:16px;padding-left:16px;background:#f4f0e8}.archive-list article>span{font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.archive-list h3{font-family:"Songti SC","STSong",serif;font-size:23px}.archive-list p{margin:0;color:#6a665e;font-size:13px}.archive-list b{font-size:11px;text-align:right}
.cases-contact{padding:110px 0;color:#f4f0e8;background:#191b17}.contact-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end}.cases-contact .cases-kicker{color:var(--case-acid)}.cases-contact h2{margin-top:18px;font-family:"Songti SC","STSong",serif;font-size:clamp(40px,5vw,70px);line-height:1.05}.cases-contact p{color:rgba(244,240,232,.62)}#caseCopyStatus{display:block;min-height:20px;margin-top:8px;color:#b9ce61;font-size:11px}.cases-footer{color:rgba(255,255,255,.42);background:#191b17}
@media(max-width:980px){.cases-hero-grid,.case-chapter-grid,.filmforge-layout,.contact-layout{grid-template-columns:1fr}.cases-hero-index{grid-template-columns:1fr 1fr}.case-chapter{min-height:0}.linkbridge-layout{grid-template-columns:50px 1fr}.trade-inset{display:none}.nihaoya-visual{max-width:760px}.archive-list article{grid-template-columns:50px minmax(180px,.8fr) 1fr 90px}}
@media(max-width:760px){.theme-cases .topbar-inner{align-items:flex-start}.cases-hero-grid{padding-top:190px;padding-bottom:100px}.cases-hero h1{font-size:48px;line-height:.94}.case-chapter{padding:80px 0}.case-facts{grid-template-columns:1fr}.case-chapter-grid{gap:45px}.nihaoya-visual{padding:18px;transform:none}.linkbridge-layout{grid-template-columns:1fr}.route-coordinates{display:none}.filmforge-layout{gap:45px}.project-archive,.cases-contact{padding:78px 0}.archive-head{grid-template-columns:1fr}.archive-list article{grid-template-columns:34px 1fr}.archive-list p{grid-column:2}.archive-list b{display:none}.contact-layout{gap:35px}}
@media(max-width:520px){.cases-hero-index{grid-template-columns:1fr}.case-copy h2{font-size:58px}.case-thesis{font-size:22px}.filmforge-frame{margin-right:-14px;margin-left:-14px}.frame-timeline{grid-template-columns:10px repeat(3,1fr)}.frame-timeline span:nth-of-type(n+4){display:none}.filmforge-strip{height:220px}.case-actions{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.cases-marquee{animation:none}.archive-list article{transition:none}}
