/* 作品集：以字体、项目结构与编辑式比例构成封面。 */
.home-page{--accent:#d4f49c;--bg:#101112;--surface:#181a1b;background:var(--bg)}
.home-page .hero h1{font-size:clamp(64px,7vw,112px);max-width:1100px;line-height:1.09;letter-spacing:-.065em;font-weight:400}.hero h1>span,.hero h1>em{display:block}.home-page .hero h1>em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.065em;color:var(--accent)}.home-page .hero-copy{max-width:1100px}.home-page .hero-art{right:-5.5%;width:60%;opacity:.46;mask-image:linear-gradient(90deg,transparent,#000 40%,#000 90%,transparent)}.home-page .hero-description{max-width:470px;font-size:16px}.home-page .hero-kicker{color:#adb4a8}.home-page .hero{min-height:800px}.home-page .hero-bottom{border-top:0}.home-page .sidebar{border-bottom:0}.home-page .wordmark{font-size:23px}.home-page .button{border-radius:4px}.home-page .section-head h3{font-size:clamp(48px,6vw,84px)}.home-page .section-head{border-top:1px solid var(--line);padding-top:28px;row-gap:40px;margin-bottom:60px}.edition{float:right;color:var(--muted);font-size:11px}.home-page .project-grid{grid-template-columns:1fr 1fr;gap:95px 40px}.home-page .project-grid .project-card:first-child{grid-column:1/-1}.home-page .project-grid .project-card:nth-child(3){margin-top:135px}.home-page .project-grid .project-card:first-child .project-main{display:grid;grid-template-columns:1fr 1fr;column-gap:60px}.home-page .project-grid .project-card:first-child .case-cover{grid-column:1/-1;grid-row:1}.home-page .project-grid .project-card:first-child h4{grid-row:2}.home-page .project-grid .project-card:first-child .project-tag{grid-column:1;grid-row:3}.home-page .project-grid .project-card:first-child .project-summary{grid-column:2;grid-row:2/4;margin:0}.home-page .project-card h4{font-size:25px;letter-spacing:-.8px}.home-page .project-card h4:after{font-size:21px;color:var(--text)}.home-page .project-tag{color:var(--muted);font-size:12px}.home-page .project-summary{font-size:15px}.home-page .card-actions .button{border:0;border-bottom:1px solid #ffffff50;border-radius:0;padding:8px 0;min-height:36px;font-size:13px}.home-page .card-actions{gap:30px}.home-page #playground{border:0}.home-page .grid{gap:40px}.home-page .grid .project-card:nth-child(2){margin-top:100px}.home-page .project-note{display:none}.home-page .contact{padding-top:100px}.home-page .contact h3{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400}.home-page .panel:not(.hero){padding-bottom:100px}
.case-cover{container-type:inline-size;display:flex;flex-direction:column;position:relative;justify-content:space-between;overflow:hidden;border:0;border-radius:2px;padding:6%;aspect-ratio:1.14;color:var(--cover-ink);background:var(--cover-bg);isolation:isolate;text-decoration:none!important;margin-bottom:25px;transition:box-shadow .6s var(--ease)}.project-grid .project-card:first-child .case-cover{aspect-ratio:2.05;padding:4.5%}.case-cover:after{display:none}.cover-top,.cover-bottom{display:flex;justify-content:space-between;gap:15px;font-family:'IBM Plex Mono',monospace;font-size:clamp(9px,2cqw,12px);font-weight:500;letter-spacing:.04em;line-height:1.5;position:relative;z-index:2}.cover-top{padding-bottom:16px;border-bottom:1px solid currentColor}.cover-bottom{padding-top:12px}.cover-potemkin{--cover-bg:#dce4df;--cover-ink:#253e32}.memory-editorial{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:35px;flex:1;padding:30px 0}.cover-statement{font-family:'Space Grotesk',sans-serif;font-size:6.8cqw;line-height:1.02;letter-spacing:-.065em}.cover-statement em{display:block;font-family:Georgia,serif;font-weight:400;margin-top:8px}.memory-schema{max-width:340px;width:100%;justify-self:end;transform:rotate(-5deg);transition:transform .8s var(--ease)}.memory-caption{font:10px 'IBM Plex Mono',monospace;letter-spacing:1px;display:block;margin-bottom:20px;text-align:center}.memory-node{padding:13px 20px;border:1px solid #253e3240;border-radius:5px;background:#eef3ed;box-shadow:0 8px 15px #253e3206;position:relative;transition:transform .7s var(--ease)}.memory-node span{font-family:'IBM Plex Mono',monospace;font-size:9px;display:block;margin-bottom:5px;opacity:.65}.memory-node b{font-weight:500;font-size:clamp(12px,1.8cqw,19px);letter-spacing:-.03em}.node-core{margin-left:20px;background:#cad5cc}.node-long{margin-left:40px;background:#294635;color:#edf2e8}.memory-thread{height:20px;width:1px;background:#29463570;margin-left:50%}.case-cover:hover .memory-schema{transform:rotate(0)}.case-cover:hover .node-recent{transform:translateX(-7px)}.case-cover:hover .node-long{transform:translateX(7px)}
.cover-starmax{--cover-bg:#284cdb;--cover-ink:#eef2ff}.star-word{position:relative;font-family:'Space Grotesk',sans-serif;font-size:14cqw;font-weight:500;line-height:.96;letter-spacing:-.075em;padding:25px 0 20px}.star-word em{font-family:Georgia,serif;font-weight:400}.star-word>span{position:absolute;right:0;bottom:25px;font-size:22cqw;transition:transform .8s var(--ease)}.case-cover:hover .star-word>span{transform:translate(5px,-9px)}.decision-strip{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff40;border-bottom:1px solid #ffffff40;padding:13px 0;margin:10px 0;font:clamp(9px,2cqw,12px) 'IBM Plex Mono',monospace}.decision-strip i{font-style:normal;opacity:.65}.decision-active{background:#eaf0fe;color:#284cdb;padding:7px}.cover-quickaid{--cover-bg:#f05b3e;--cover-ink:#2f201b}.care-title{font-family:'Space Grotesk',sans-serif;font-size:8.4cqw;line-height:1.06;letter-spacing:-.065em;padding:30px 0}.care-title em{font-family:Georgia,serif}.care-diagram{display:flex;align-items:center;position:relative;padding:20px 0 35px;flex:1}.care-diagram svg{width:80%;height:auto;overflow:visible}.care-origin{font:10px 'IBM Plex Mono',monospace;margin-right:10px}.care-options{position:absolute;right:0;top:0;bottom:0;display:flex;flex-direction:column;justify-content:space-evenly;align-items:flex-end;font:9px 'IBM Plex Mono',monospace}.care-options span{background:var(--cover-bg);padding:6px}.care-route{stroke-dasharray:440;stroke-dashoffset:0;transition:stroke-dashoffset 1.2s var(--ease)}.case-cover:hover .care-route{stroke-dashoffset:70}
.cover-soulspirit{--cover-bg:#e2ec99;--cover-ink:#394828;aspect-ratio:1.18}.soul-word{font-family:'Space Grotesk',sans-serif;font-size:17cqw;letter-spacing:-.08em;line-height:.91;padding:25px 0;position:relative}.soul-word em{font-family:Georgia,serif;font-weight:400}.soul-word>span{position:absolute;top:35px;right:0;font-size:6cqw;letter-spacing:0}.taste-choices{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.taste-choices span{font:clamp(9px,2cqw,12px) 'IBM Plex Mono',monospace;border:1px solid #39482860;border-radius:30px;padding:10px 13px;transition:transform .6s var(--ease)}.taste-choices span:nth-child(2){background:#394828;color:#e2ec99;transform:rotate(-6deg)}.case-cover:hover .taste-choices span:nth-child(2){transform:rotate(4deg) translateY(-5px)}.cover-cybermaster{--cover-bg:#d6c9e8;--cover-ink:#3b234d;aspect-ratio:1.18}.oracle-layout{display:grid;grid-template-columns:1fr 1fr;position:relative;align-items:center;gap:25px;padding:25px 0;flex:1}.oracle-type{font-family:'Songti SC','STSong',serif;font-size:21cqw;line-height:.9;font-weight:300;letter-spacing:-.1em}.oracle-type em{display:block;font-style:normal;margin-left:25px}.hexagram{display:flex;flex-direction:column;gap:13px;padding:20px 0;width:80%;justify-self:end;transform:rotate(-8deg);transition:transform .8s var(--ease)}.hexagram i{height:9px;background:currentColor;display:block;transition:transform .8s var(--ease)}.hexagram .broken{background:linear-gradient(90deg,currentColor 43%,transparent 43%,transparent 57%,currentColor 57%)}.case-cover:hover .hexagram{transform:rotate(0)}.case-cover:hover .hexagram i:nth-child(even){transform:translateX(-7px)}.oracle-caption{position:absolute;right:0;bottom:10px;font:9px/1.5 'IBM Plex Mono',monospace;letter-spacing:.05em}.detail-page .detail-cover{margin:35px 0;aspect-ratio:1.65;padding:5%}.detail-page .detail-cover .star-word{font-size:10cqw}.detail-page .detail-cover .soul-word{font-size:13cqw}.detail-page .detail-cover .oracle-type{font-size:16cqw}.detail-page .detail-cover .care-diagram{max-height:200px}.detail-page .detail-cover .care-title{font-size:7cqw}.detail-page .detail-cover .cover-top,.detail-page .detail-cover .cover-bottom{color:var(--cover-ink)}
html[lang=zh-CN] .home-page .hero h1{font-size:clamp(56px,7.2vw,105px);max-width:1100px;line-height:1.2}.home-page .hero h1>em:lang(zh-CN){font-family:'Songti SC','STSong',Georgia,serif;font-style:normal}
@media(min-width:681px) and (max-width:1000px){.home-page .hero h1{font-size:8.5vw}.memory-schema{max-width:270px}.memory-node{padding:9px 13px}.memory-thread{height:14px}.home-page .project-grid{gap:70px 28px}.home-page .project-grid .project-card:nth-child(3){margin-top:90px}}
@media(max-width:680px){.home-page .hero{min-height:790px}.home-page .hero h1{font-size:clamp(40px,8.9vw,62px);line-height:1.18;letter-spacing:-.06em}.home-page .hero h1>em{letter-spacing:-.065em}.home-page .hero-art{width:95%;top:170px;opacity:.25}.home-page .hero-description{margin-top:35px}.home-page .hero-kicker{font-size:10px}.home-page .section-head{row-gap:20px;margin-bottom:35px}.edition{display:none}.home-page .section-head h3{font-size:48px}.home-page .project-grid,.home-page .grid{grid-template-columns:1fr;gap:55px}.home-page .project-grid .project-card:nth-child(3),.home-page .grid .project-card:nth-child(2){margin-top:0}.home-page .project-grid .project-card:first-child .project-main{display:flex}.project-grid .project-card:first-child .case-cover{aspect-ratio:.9;padding:7%}.memory-editorial{grid-template-columns:1fr;gap:20px;padding:20px 0}.cover-statement{font-size:10cqw}.memory-schema{max-width:70%;margin:0 5% 0 0}.memory-caption{display:none}.memory-node{padding:8px 12px}.memory-node span{font-size:8px}.memory-node b{font-size:12px}.memory-thread{height:10px}.cover-top,.cover-bottom{font-size:9px}.home-page .project-grid .project-card:first-child .project-summary{margin-top:17px}.home-page .panel:not(.hero){padding-bottom:65px}.detail-page .detail-cover{aspect-ratio:1.05}.detail-page .cover-potemkin{aspect-ratio:.9}html[lang=zh-CN] .home-page .hero h1{font-size:clamp(36px,8.9vw,60px)}.care-options{font-size:8px}}
@media(prefers-reduced-motion:reduce){.case-cover,.case-cover *{transition:none!important}}
.project-card:focus-within .memory-schema,.project-card:focus-within .hexagram{transform:rotate(0)}
.project-card:focus-within .star-word>span{transform:translate(5px,-9px)}
.project-card:focus-within .taste-choices span:nth-child(2){transform:rotate(4deg) translateY(-5px)}
/* 中英文分别控制字面宽度，翻译不会挤坏封面构图。 */
html[lang=zh-CN] .cover-statement{font-size:5.7cqw;line-height:1.2;letter-spacing:-.04em}
html[lang=zh-CN] .cover-statement em,html[lang=zh-CN] .star-word em,html[lang=zh-CN] .care-title em,html[lang=zh-CN] .soul-word em{font-family:'Songti SC','STSong',serif;font-style:normal}
html[lang=zh-CN] .soul-word{font-size:18cqw;line-height:1.12;letter-spacing:-.04em}
html[lang=zh-CN] .star-word{font-size:15cqw;line-height:1.12;letter-spacing:-.04em}
html[lang=zh-CN] .care-title{font-size:8.4cqw;line-height:1.3;letter-spacing:-.04em}
html[lang=en] .oracle-type{font-family:'Space Grotesk',sans-serif;font-size:10cqw;line-height:1.4;letter-spacing:-.06em}
html[lang=en] .oracle-type em{margin-left:0}
html[lang=en] .detail-page .oracle-type{font-size:10cqw}
@media(max-width:680px){html[lang=zh-CN] .cover-statement{font-size:10cqw}}
/* 页面构成：横向主叙事、不对称作品组、紧凑实验索引、独立联系收尾。 */
.composition .project-info{min-width:0}
.composition .folio{display:block;font:12px 'IBM Plex Mono',monospace;color:var(--muted);letter-spacing:2px;margin-bottom:25px}
.home-page.composition #projects{padding-top:55px}
.home-page.composition #projects>.section-head{grid-template-columns:1.4fr 1fr;row-gap:20px;margin-bottom:55px}
.home-page.composition #projects>.section-head .section-index{margin-bottom:15px}
.home-page.composition .project-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:100px 30px;align-items:start}
.home-page.composition .project-grid>.project-card:first-child{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:55px;align-items:center;padding-bottom:65px;border-bottom:1px solid var(--line)}
.home-page.composition .project-grid>.project-card:first-child .case-cover{grid-column:auto;grid-row:auto;aspect-ratio:1.32;margin:0;padding:6%}
.home-page.composition .project-grid>.project-card:first-child h4{font-size:clamp(32px,3.5vw,52px);line-height:1.05;letter-spacing:-.055em;margin:20px 0}
.home-page.composition .project-grid>.project-card:first-child h4:after{display:none}
.home-page.composition .project-grid>.project-card:first-child .project-summary{margin-top:20px;font-size:16px;line-height:1.9}
.home-page.composition .project-grid>.project-card:first-child .project-tag{color:var(--accent);margin:0;max-width:260px}
.home-page.composition .project-grid>.project-card:first-child .card-actions{margin-top:30px}
.home-page.composition .project-grid>.project-card:nth-child(2){grid-column:1/8;display:block}
.home-page.composition .project-grid>.project-card:nth-child(3){grid-column:9/13;margin-top:160px;display:block}
.home-page.composition .project-grid>.project-card:nth-child(2) .case-cover{aspect-ratio:1.22;padding:7%}
.home-page.composition .project-grid>.project-card:nth-child(3) .case-cover{aspect-ratio:.82;padding:8%}
.composition .project-grid>.project-card:not(:first-child) .project-info{position:relative;padding-left:60px}
.composition .project-grid>.project-card:not(:first-child) .folio{position:absolute;left:0;top:3px;font-size:10px;letter-spacing:0}
.home-page.composition .project-info h4{margin:9px 0 12px;font-size:29px}
.home-page.composition .project-info>.project-tag{margin:0;font-size:12px}
.home-page.composition .project-info>.project-summary{margin-top:0}
.home-page.composition .project-info>.card-actions{margin-top:20px}
.composition .cover-potemkin .memory-editorial{grid-template-columns:1fr;gap:22px;padding:22px 0}
.composition .cover-potemkin .cover-statement{font-size:9cqw;line-height:1.05}
.composition .cover-potemkin .memory-schema{width:65%;max-width:310px;margin-right:2%}
.composition .cover-potemkin .memory-caption{display:none}
.composition .cover-potemkin .memory-node{padding:9px 15px}
.composition .cover-potemkin .memory-thread{height:12px}
.composition .cover-potemkin .memory-node b{font-size:clamp(12px,2.3cqw,16px)}
.home-page.composition #playground{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:70px;padding:80px 0 110px;border-top:1px solid var(--line);align-items:start}
.home-page.composition #playground>.section-head{display:block;border:0;padding:0;margin:0;position:sticky;top:40px}
.home-page.composition #playground .section-head h3{font-size:clamp(40px,4.3vw,66px);margin:25px 0;overflow-wrap:anywhere}
.home-page.composition #playground .section-head p{font-size:15px;max-width:240px}
.home-page.composition #playground .grid{display:block}
.home-page.composition #playground .project-card{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);gap:30px;align-items:center;margin:0;padding:0 0 35px;border-bottom:1px solid var(--line)}
.home-page.composition #playground .project-card+.project-card{margin:35px 0 0}
.home-page.composition #playground .case-cover{aspect-ratio:.92;padding:12%;margin:0;justify-content:center}
.composition #playground .case-cover .cover-top,.composition #playground .case-cover .cover-bottom,.composition #playground .taste-choices,.composition #playground .oracle-caption{display:none}
.composition #playground .soul-word{font-size:25cqw;padding:0;line-height:1.05}
.composition #playground .soul-word>span{position:static;display:block;font-size:12cqw;margin-top:20px}
.composition #playground .oracle-layout{padding:0;gap:12px;flex:0}
.composition #playground .oracle-type{font-size:25cqw}
html[lang=en] .composition #playground .oracle-type{font-size:12cqw}
.composition #playground .hexagram{width:100%;gap:9px;padding:0}
.composition #playground .hexagram i{height:5px}
.home-page.composition #playground .project-info>.folio{margin-bottom:12px;font-size:10px}
.home-page.composition #playground .project-info h4{font-size:25px}
.home-page.composition #playground .project-info>p:not(.project-tag){font-size:14px;line-height:1.7;margin-top:12px;color:var(--muted)}
.home-page.composition #playground .project-info .card-actions{padding:0;gap:18px;flex-wrap:wrap;margin-top:16px}
.home-page.composition .contact{background:#d4f49c;color:#23311d;border:0;padding:65px 6% 75px;margin:0 0 75px;min-height:0;display:grid;grid-template-columns:1.2fr 1fr;column-gap:70px}
.home-page.composition .contact>.section-index{grid-column:1/-1;color:#435933;margin-bottom:45px}
.home-page.composition .contact h3{font-size:clamp(50px,6vw,88px);margin:0;line-height:1.15;align-self:start}
.home-page.composition .contact p{align-self:end;font-size:16px;color:#435933;max-width:440px;padding-top:8px}
.home-page.composition .contact p a{display:block;margin-top:18px;font-size:clamp(17px,1.8vw,25px);color:#23311d;border-color:#23311d60;overflow-wrap:anywhere;width:fit-content}
.home-page.composition .contact p>[data-i18n=contactTail]{display:none}
.home-page.composition .contact-arrow{font-size:36px;top:50px;right:6%;color:#23311d}
@media(min-width:681px) and (max-width:1050px){.home-page.composition .project-grid>.project-card:first-child{gap:30px;grid-template-columns:1.4fr 1fr}.home-page.composition .project-grid>.project-card:nth-child(3){grid-column:8/13;margin-top:120px}.home-page.composition #playground{gap:35px;grid-template-columns:.8fr 1.6fr}.home-page.composition #playground .project-card{gap:20px;grid-template-columns:140px minmax(0,1fr)}.home-page.composition #playground .project-info h4{font-size:22px}.home-page.composition .contact{column-gap:35px}}
@media(max-width:680px){.home-page.composition #projects{padding-top:35px}.home-page.composition .project-grid{display:block}.home-page.composition .project-grid>.project-card:first-child{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding-bottom:40px}.home-page.composition .project-grid>.project-card:first-child .case-cover{aspect-ratio:.92;padding:7%;width:100%}.home-page.composition .project-grid>.project-card:first-child h4{font-size:36px;margin:12px 0}.home-page.composition .project-grid>.project-card:first-child .project-summary{font-size:15px;margin-top:15px}.home-page.composition .project-grid>.project-card:nth-child(2){margin:45px 0 0;width:100%}.home-page.composition .project-grid>.project-card:nth-child(3){margin:45px 0 0 8%;width:92%}.home-page.composition .project-grid>.project-card:nth-child(3) .case-cover{aspect-ratio:1.1}.composition .project-grid>.project-card:not(:first-child) .project-info{padding-left:0}.composition .project-grid>.project-card:not(:first-child) .folio{position:static;margin-bottom:14px}.home-page.composition .project-info h4{font-size:27px}.home-page.composition #playground{display:block;padding:50px 0 60px}.home-page.composition #playground>.section-head{position:static;margin-bottom:35px}.home-page.composition #playground .section-head h3{font-size:46px;margin:18px 0}.home-page.composition #playground .section-head p{max-width:100%}.home-page.composition #playground .project-card{grid-template-columns:95px minmax(0,1fr);gap:20px;align-items:start}.home-page.composition #playground .case-cover{aspect-ratio:.78}.home-page.composition #playground .project-info h4{font-size:22px}.home-page.composition #playground .project-info>.folio{display:none}.home-page.composition #playground .project-info>.project-tag{font-size:11px}.home-page.composition #playground .project-info>p:not(.project-tag){font-size:14px}.home-page.composition #playground .project-info .card-actions{gap:12px}.home-page.composition #playground .card-actions .button,.home-page.composition #playground .card-actions .ghost{font-size:12px}.home-page.composition .contact{display:block;padding:35px 8% 45px;margin-bottom:35px}.home-page.composition .contact>.section-index{margin-bottom:25px}.home-page.composition .contact h3{font-size:44px;margin-bottom:25px}.home-page.composition .contact p{font-size:15px}.home-page.composition .contact p a{font-size:17px}.home-page.composition .contact-arrow{display:none}.composition .cover-potemkin .memory-schema{width:75%}}
