:root{--bg:#050505;--panel:#0c0c0d;--ink:#f5f5f3;--muted:#99999f;--line:rgba(255,255,255,.13);--pad:clamp(22px,7vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Poppins','PingFang SC','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid #eee;outline-offset:6px}::selection{color:#050505;background:#e6e6e6}.page-pad{width:100%;max-width:1440px;margin-inline:auto;padding-inline:var(--pad)}.mono{font-family:'SFMono-Regular',Consolas,'Liberation Mono',monospace;font-size:10px;line-height:1.7;letter-spacing:.08em;font-weight:400}.skip-link{position:fixed;top:-80px;left:20px;z-index:10;padding:15px 20px;background:#fff;color:#000;font-size:13px}.skip-link:focus{top:12px}
.detail-header{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.detail-logo{display:flex;align-items:center;gap:8px;font-size:15px;min-height:44px}.detail-logo strong{font-weight:600}.logo-mark{display:block;background:#fff;width:15px;height:29px;border-radius:0 18px 18px 0;margin-right:2px}.return-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:12px}.return-link>span:first-child{font-size:20px}.return-link .mono{font-size:8px;color:var(--muted);margin-left:4px}.return-link:hover{color:#b8b8bf}
.project-heading{padding-top:79px;padding-bottom:55px}.project-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;color:#929298}.project-topline p{margin:0}.project-heading h1{font-size:clamp(54px,7.9vw,114px);line-height:1.08;font-weight:400;letter-spacing:-.065em;margin:50px 0 39px;max-width:1100px;overflow-wrap:normal}.project-heading h1>span{display:block;font-size:clamp(24px,3vw,40px);letter-spacing:-.025em;font-weight:300;color:#a7a7ac;line-height:1.6;margin-top:18px}.project-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12%;align-items:end}.project-summary{font-size:19px;line-height:1.95;letter-spacing:.01em;font-weight:300;max-width:580px;margin:0}.project-identity{max-width:430px}.project-status{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.8;color:#b1b1b6;margin:0 0 20px}.status-mark{flex:none;width:5px;height:5px;background:#bcbcc0;border-radius:50%;margin-top:7px}.project-meta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:15px;gap:20px}.project-meta>div{display:flex;flex-direction:column;gap:7px;font-size:12px}.project-meta .mono{font-size:8px;color:#727278}
.project-media{margin:0;background:var(--panel);border:1px solid var(--line);overflow:hidden}.project-media>img{display:block;width:100%;height:auto;max-height:1040px;object-fit:contain}.provided-media>img{height:min(86vw,990px);background:#080808}.project-media figcaption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 22px;border-top:1px solid var(--line);font-size:10px;line-height:1.7;color:#8b8b91}.project-media figcaption .mono{font-size:8px}.project-overview{padding-top:90px;padding-bottom:76px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:11%;align-items:start}.project-overview>.mono,.project-overview .mono{color:#77777f;margin:0 0 20px}.project-overview h2{font-size:32px;font-weight:400;letter-spacing:-.035em;margin:0;line-height:1.5}.overview-text{font-size:16px;line-height:2;color:#b5b5bb;font-weight:300;margin:0;max-width:640px}.focus-list{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;margin:28px 0 0;padding:0}.focus-list li{font-size:11px;line-height:1.8;color:#888890;padding-left:12px;position:relative}.focus-list li:before{content:'';position:absolute;left:0;top:7px;width:3px;height:3px;background:#777}
.project-note{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:11%;border-top:1px solid var(--line);padding-top:35px;padding-bottom:43px}.project-note>.mono{color:#77777f;margin:7px 0 0}.project-note h2{font-size:24px;font-weight:400;line-height:1.65;letter-spacing:-.025em;margin:0 0 17px}.project-note>div>p{font-size:14px;line-height:2;color:#9999a2;max-width:640px;margin:0;font-weight:300}.provenance-note{margin-top:4px;padding:24px 27px;background:linear-gradient(135deg,#ffffff06,#ffffff02);border:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:11%}.provenance-note .mono{margin:3px 0 0;font-size:8px;color:#73737c}.provenance-note>p:last-child{margin:0;font-size:12px;line-height:1.95;color:#909098}
.project-switcher{margin-top:100px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.project-adjacent{display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding:33px 28px 34px 0;min-width:0;transition:background .25s}.project-adjacent+.project-adjacent{border-left:1px solid var(--line);padding-left:36px;padding-right:0;text-align:right;align-items:flex-end}.project-adjacent .mono{font-size:8px;color:#898990}.project-adjacent strong{font-size:clamp(20px,2.5vw,35px);font-weight:400;line-height:1.3;letter-spacing:-.04em}.project-adjacent>span:last-child{font-size:12px;color:#84848c}.project-adjacent:hover strong{color:#b2b2ba}.project-index{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:24px 0 55px}.project-index>.mono{font-size:8px;color:#77777f}.project-index>div{display:flex;gap:2px}.project-index>div>a{display:grid;place-items:center;min-width:44px;min-height:44px;font-size:11px;color:#77777f;border:1px solid transparent}.project-index>div>a[aria-current=page]{border-color:#ffffff44;color:#fff}.project-index>div>a:hover{color:#fff;background:#ffffff06}.back-to-cube{min-height:44px;font-size:11px;display:flex;gap:25px;align-items:center}.back-to-cube>span{font-size:18px}.detail-footer{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);font-size:11px;color:#9a9aa2}.detail-footer>a:first-child{font-size:17px;color:#d5d5da;letter-spacing:-.02em}.detail-footer>a:first-child>span{font-size:10px;letter-spacing:.03em;margin-left:10px;color:#888890}.detail-footer .mono{font-size:8px;color:#77777f}.detail-footer>a{min-height:44px;display:inline-flex;align-items:center}.loading-note{font-size:14px;color:var(--muted)}
@media(min-width:1700px){.project-heading h1{font-size:118px}}@media(max-width:1000px){:root{--pad:40px}.project-heading{padding-top:60px}.project-heading h1{font-size:8.7vw}.project-summary{font-size:16px}.project-intro{gap:8%}.project-topline>.mono:last-child{font-size:8px}.project-overview{gap:8%;padding-top:65px;padding-bottom:55px}.project-overview h2{font-size:27px}.overview-text{font-size:14px}.project-note{gap:8%}.project-note h2{font-size:21px}.project-note>div>p{font-size:13px}.provenance-note{gap:8%}.project-index>.mono{display:none}}
@media(max-width:640px){:root{--pad:22px}.detail-header{min-height:87px;gap:15px}.detail-logo{font-size:13px;gap:6px}.logo-mark{height:26px;width:13px;margin-right:1px}.return-link{font-size:11px;gap:8px}.return-link .mono{display:none}.project-heading{padding-top:40px;padding-bottom:31px}.project-topline{align-items:flex-start;gap:18px}.project-topline .mono{font-size:8px;letter-spacing:.035em}.project-topline>.mono:last-child{max-width:150px;text-align:right;font-size:7px}.project-heading h1{font-size:clamp(43px,11.9vw,72px);line-height:1.1;margin:35px 0 26px;letter-spacing:-.065em}.project-heading h1>span{font-size:23px;margin-top:11px;font-weight:300}.project-intro{grid-template-columns:1fr;gap:25px}.project-summary{font-size:15px;line-height:1.9}.project-identity{max-width:none}.project-status{font-size:10px;margin-bottom:15px}.project-meta{gap:20px;padding-top:13px}.project-meta>div{font-size:10px;gap:5px}.project-meta .mono{font-size:7px}.provided-media>img{height:auto;max-height:none}.project-media figcaption{padding:13px 15px;align-items:flex-start;gap:12px;font-size:8px}.project-media figcaption .mono{font-size:6px;max-width:60%;line-height:1.9}.project-media figcaption>span:last-child{text-align:right}.project-overview{padding-top:45px;padding-bottom:36px;grid-template-columns:1fr;gap:21px}.project-overview .mono{font-size:8px;margin-bottom:12px}.project-overview h2{font-size:27px}.overview-text{font-size:14px;line-height:1.95}.focus-list{gap:8px 20px;margin-top:20px}.focus-list li{font-size:10px}.project-note{grid-template-columns:1fr;gap:19px;padding-top:25px;padding-bottom:30px}.project-note>.mono{font-size:8px;margin:0}.project-note h2{font-size:21px;margin-bottom:12px;line-height:1.55}.project-note>div>p{font-size:14px;line-height:1.95}.provenance-note{grid-template-columns:1fr;gap:12px;padding:20px}.provenance-note .mono{margin:0;font-size:7px}.provenance-note>p:last-child{font-size:12px;line-height:1.85}.project-switcher{margin-top:55px}.project-adjacent{padding:25px 15px 25px 0;gap:11px}.project-adjacent+.project-adjacent{padding:25px 0 25px 20px}.project-adjacent .mono{font-size:7px;letter-spacing:.025em}.project-adjacent strong{font-size:21px;line-height:1.3;overflow-wrap:anywhere}.project-adjacent>span:last-child{font-size:10px}.project-index{padding:20px 0 35px;flex-direction:column;gap:10px}.project-index>div{width:100%;justify-content:space-between}.project-index>div>a{min-width:40px;font-size:10px}.back-to-cube{width:100%;justify-content:space-between;font-size:11px}.detail-footer{min-height:135px;display:grid;grid-template-columns:1fr 1fr;gap:5px 15px;padding-top:15px;padding-bottom:20px}.detail-footer>a:first-child{font-size:15px}.detail-footer>a:first-child>span{font-size:9px;margin-left:8px}.detail-footer .mono{font-size:6px;line-height:1.8;text-align:right}.detail-footer>a:last-child{grid-column:1/-1;justify-self:end;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media print{body{background:#fff;color:#000}.detail-header,.project-switcher,.project-index,.detail-footer,.skip-link{display:none}.project-heading{padding-top:0}.project-heading h1{font-size:48px}.project-heading h1>span{font-size:24px}.project-media{break-inside:avoid}.project-media>img{max-height:700px}.project-note{break-inside:avoid}.project-summary,.overview-text,.project-note>div>p{color:#333}.provenance-note{border-color:#ccc;background:none}}
/* Continue the black fade from the cube as the real page becomes visible. */
body{animation:project-arrive .2s ease-out both}
@keyframes project-arrive{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){body{animation:none}}

/* Rich product-design case study. Generic placeholder projects keep the layout above. */
.project-rich .rich-heading-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:end;margin:46px 0 39px}
.project-rich .project-heading h1{font-size:clamp(46px,7.45vw,106px);font-weight:400;line-height:1.08;letter-spacing:-.065em;margin:0;max-width:100%;min-width:0;overflow-wrap:anywhere}
.project-rich .project-subtitle{font-size:clamp(19px,2.15vw,30px);font-weight:300;line-height:1.65;letter-spacing:-.02em;color:#aaaab0;margin:16px 0 0;overflow-wrap:anywhere}
.project-rich .project-date{display:flex;flex-direction:column;align-items:flex-end;gap:11px;padding-bottom:5px;min-width:126px}
.project-rich .project-date .mono{font-size:9px;letter-spacing:.1em;color:#73737d}
.project-rich .project-date time{font-size:clamp(24px,3vw,42px);font-weight:300;line-height:1.15;letter-spacing:-.045em;color:#efeff0;white-space:nowrap;font-variant-numeric:tabular-nums}
.project-rich .project-intro{align-items:start}
.project-rich .project-summary{font-size:18px;line-height:1.95}
.project-rich .project-status{max-width:430px}
.project-rich .project-meta>div{font-size:12px;line-height:1.8}
.project-rich .pdf-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;margin-top:31px}
.project-rich .pdf-actions>a{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;font-size:12px;line-height:1.8;font-weight:400;transition:background .25s,border-color .25s,color .25s}
.project-rich .pdf-view{padding:12px 19px;border:1px solid #ffffff70;background:#f5f5f3;color:#0a0a0b}
.project-rich .pdf-view:hover{background:#d3d3d4;border-color:#d3d3d4}
.project-rich .pdf-page-count{font-size:10px;line-height:1.8;color:#646469;white-space:nowrap}
.project-rich .pdf-view>span:last-child{font-size:18px;line-height:1}
.project-rich .pdf-download{padding:11px 0;color:#aaaab2;border-bottom:1px solid #ffffff38}
.project-rich .pdf-download:hover{color:#f5f5f3;border-color:#ffffffa3}
.project-rich .pdf-download>span{font-size:17px}
.project-rich .rich-cover{background:#09090a}
.project-rich .rich-cover>img{width:100%;height:auto;max-height:920px;object-fit:contain;background:#09090a}
.project-rich .project-overview{padding-top:82px;padding-bottom:55px}
.project-rich .overview-copy .overview-text+.overview-text{margin-top:17px}
.project-rich .focus-list{gap:11px 24px}
.project-rich .story-index{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:11%;align-items:start;margin:0 0 71px;padding:24px 0 0;border-top:1px solid var(--line)}
.project-rich .story-index>.mono{font-size:9px;color:#73737d;margin:7px 0 0}
.project-rich .story-index ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}
.project-rich .story-index li+li{border-top:1px solid #ffffff09}
.project-rich .story-index a{display:grid;grid-template-columns:25px minmax(0,1fr) 15px;gap:13px;align-items:center;min-height:44px;padding:9px 0;font-size:12px;line-height:1.8;color:#a4a4ac;transition:color .25s}
.project-rich .story-index a .mono{font-size:9px;letter-spacing:.025em;color:#5f5f6a}
.project-rich .story-index a>span:last-child{font-size:13px;color:#6c6c76;text-align:right}
.project-rich .story-index a:hover{color:#fff}
.project-rich .story-section{border-top:1px solid var(--line);padding-top:33px;padding-bottom:74px;scroll-margin-top:29px}
.project-rich .story-heading{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:11%;align-items:start;margin-bottom:32px}
.project-rich .story-heading>.mono{font-size:9px;line-height:1.9;letter-spacing:.07em;color:#797983;margin:9px 0 0}
.project-rich .story-heading h2{font-size:clamp(25px,2.55vw,36px);font-weight:400;line-height:1.55;letter-spacing:-.03em;margin:0 0 18px}
.project-rich .story-text p{font-size:15px;font-weight:300;line-height:2;color:#a7a7af;margin:0}
.project-rich .story-text p+p{margin-top:15px}
.project-rich .story-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:0 0 30px;padding:0}
.project-rich .story-points article{border-top:1px solid #ffffff12;padding:21px 0 19px}
.project-rich .story-points h3{font-size:15px;font-weight:400;line-height:1.8;margin:0 0 10px;color:#d4d4d9}
.project-rich .story-points p{font-size:13px;font-weight:300;line-height:1.95;margin:0;color:#8e8e98}
.project-rich .story-points p+p{margin-top:10px}
.project-rich .story-steps{list-style:none;margin:0 0 31px;padding:0;border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}
.project-rich .story-steps li{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:13px;min-width:0;padding:22px 18px 22px 0;color:#c2c2ca;font-size:12px;font-weight:300;line-height:1.8}
.project-rich .story-steps li+li::before{content:'→';position:absolute;top:21px;left:-22px;font-size:12px;color:#5f5f6d}
.project-rich .story-steps .step-number{font-size:9px;color:#636370;letter-spacing:.06em}
.project-rich .story-images{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:28px}
.project-rich .story-images.story-image-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.project-rich .story-figure{margin:0;min-width:0;background:#0b0b0c;border:1px solid #ffffff16;overflow:hidden}
.project-rich .story-image-link{display:block;background:#09090a;min-height:44px}
.project-rich .story-figure img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;background:#09090a}
.project-rich .story-figure figcaption{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-top:1px solid #ffffff10;padding:13px 17px;font-size:10px;line-height:1.9}
.project-rich .story-figure figcaption p{margin:0;color:#7d7d88;font-weight:300}
.project-rich .story-figure figcaption a{display:inline-flex;align-items:center;justify-content:flex-end;flex:none;gap:10px;min-height:44px;font-size:10px;color:#b5b5be;white-space:nowrap;align-self:center;margin-block:-8px;transition:color .25s}
.project-rich .story-figure figcaption a:hover{color:#fff}
.project-rich .story-figure figcaption a span{font-size:14px}
.project-rich .rich-provenance{margin-top:0;padding:21px 25px}
.project-rich .rich-provenance .mono{font-size:8px}
.project-rich .rich-provenance>p:last-child{font-size:12px;line-height:1.9}
.project-rich .pdf-source{display:flex;align-items:center;justify-content:space-between;gap:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:33px 0;margin-top:37px}
.project-rich .pdf-source .mono{font-size:8px;color:#73737e;margin:0 0 15px}
.project-rich .pdf-source h2{font-size:25px;font-weight:400;line-height:1.55;letter-spacing:-.03em;margin:0 0 9px;color:#e8e8eb}
.project-rich .pdf-source>div>p:last-child{font-size:12px;font-weight:300;line-height:1.9;margin:0;color:#81818d}
.project-rich .pdf-source .pdf-actions{margin:0;justify-content:flex-end;flex:none}
.project-rich .project-switcher{margin-top:72px}
@media(max-width:1000px){
  .project-rich .rich-heading-row{gap:25px;margin-top:37px}
  .project-rich .project-heading h1{font-size:7.7vw}
  .project-rich .project-subtitle{font-size:22px;line-height:1.65}
  .project-rich .project-date{min-width:110px}
  .project-rich .project-date time{font-size:30px}
  .project-rich .project-summary{font-size:16px}
  .project-rich .project-overview{padding-top:65px;padding-bottom:44px}
  .project-rich .story-index,.project-rich .story-heading{gap:8%}
  .project-rich .story-index{margin-bottom:55px}
  .project-rich .story-section{padding-bottom:55px}
  .project-rich .story-text p{font-size:14px}
  .project-rich .story-points{gap:0 25px}
  .project-rich .story-steps{gap:18px}
  .project-rich .story-steps li{font-size:11px;padding-right:8px}
  .project-rich .story-steps li+li::before{left:-19px}
  .project-rich .story-figure figcaption{padding:12px 13px;gap:14px}
  .project-rich .pdf-source{gap:26px}
  .project-rich .pdf-source .pdf-actions{gap:14px 18px}
}
@media(max-width:760px){
  .project-rich .rich-heading-row{grid-template-columns:minmax(0,1fr);gap:27px;margin:33px 0 27px}
  .project-rich .project-heading h1{font-size:clamp(29px,8.5vw,62px);line-height:1.12;letter-spacing:-.055em;overflow-wrap:anywhere}
  .project-rich .project-subtitle{font-size:19px;line-height:1.7;margin-top:13px;max-width:480px;letter-spacing:-.025em}
  .project-rich .project-date{align-items:flex-start;gap:8px;padding:0;min-width:0}
  .project-rich .project-date .mono{font-size:8px}
  .project-rich .project-date time{font-size:31px;line-height:1.1}
  .project-rich .project-intro{grid-template-columns:minmax(0,1fr);gap:26px}
  .project-rich .project-summary{font-size:15px;line-height:1.95}
  .project-rich .project-identity{max-width:none}
  .project-rich .project-meta>div{font-size:11px;line-height:1.85}
  .project-rich .pdf-actions{gap:12px 20px;margin-top:25px}
  .project-rich .pdf-actions>a{font-size:11px;min-height:48px}
  .project-rich .pdf-view{padding:12px 15px;gap:14px}
  .project-rich .pdf-page-count{font-size:9px}
  .project-rich .pdf-download{gap:17px}
  .project-rich .rich-cover>img{height:auto;max-height:none;object-fit:contain}
  .project-rich .project-overview{grid-template-columns:minmax(0,1fr);gap:22px;padding-top:45px;padding-bottom:35px}
  .project-rich .project-overview h2{font-size:27px}
  .project-rich .overview-text{font-size:14px;line-height:1.95}
  .project-rich .focus-list{gap:10px 20px;margin-top:22px}
  .project-rich .story-index{grid-template-columns:minmax(0,1fr);gap:15px;margin-bottom:41px;padding-top:19px}
  .project-rich .story-index>.mono{font-size:8px;margin:0}
  .project-rich .story-index a{font-size:12px;grid-template-columns:24px minmax(0,1fr) 15px;gap:12px;min-height:44px}
  .project-rich .story-index a .mono{font-size:8px}
  .project-rich .story-section{padding-top:24px;padding-bottom:43px;scroll-margin-top:22px}
  .project-rich .story-heading{grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:25px}
  .project-rich .story-heading>.mono{font-size:8px;line-height:1.9;margin:0}
  .project-rich .story-heading h2{font-size:25px;line-height:1.55;margin-bottom:16px;letter-spacing:-.03em}
  .project-rich .story-text p{font-size:14px;line-height:1.95}
  .project-rich .story-points{grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:25px}
  .project-rich .story-points article{padding:18px 0}
  .project-rich .story-points h3{font-size:14px;line-height:1.8;margin-bottom:10px}
  .project-rich .story-points p{font-size:13px;line-height:1.95}
  .project-rich .story-steps{grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:25px;border-bottom:0}
  .project-rich .story-steps li{flex-direction:row;align-items:baseline;gap:19px;padding:16px 0;border-bottom:1px solid #ffffff13;font-size:12px;line-height:1.85}
  .project-rich .story-steps li+li::before{display:none}
  .project-rich .story-steps .step-number{font-size:9px;min-width:22px}
  .project-rich .story-images,.project-rich .story-images.story-image-pair{grid-template-columns:minmax(0,1fr);gap:21px}
  .project-rich .story-figure figcaption{gap:14px;padding:13px 15px;font-size:10px;line-height:1.9}
  .project-rich .story-figure figcaption a{font-size:10px;gap:8px;min-height:44px}
  .project-rich .rich-provenance{grid-template-columns:minmax(0,1fr);gap:12px;padding:20px}
  .project-rich .rich-provenance>p:last-child{font-size:12px;line-height:1.9}
  .project-rich .pdf-source{align-items:flex-start;flex-direction:column;gap:23px;padding:27px 0;margin-top:29px}
  .project-rich .pdf-source .mono{font-size:8px;margin-bottom:13px}
  .project-rich .pdf-source h2{font-size:24px;line-height:1.6}
  .project-rich .pdf-source>div>p:last-child{font-size:12px;line-height:1.9}
  .project-rich .pdf-source .pdf-actions{margin:0;justify-content:flex-start;flex:none}
  .project-rich .project-switcher{margin-top:48px}
}
@media(max-width:360px){
  .project-rich .project-heading h1{font-size:29px;letter-spacing:-.055em}
  .project-rich .project-subtitle{font-size:18px}
  .project-rich .pdf-actions{gap:8px 17px}
  .project-rich .pdf-view{padding-inline:13px;gap:11px}
  .project-rich .story-figure figcaption{flex-direction:column;gap:3px;align-items:flex-start}
  .project-rich .story-figure figcaption a{align-self:flex-end;margin-top:0}
}
@media print{
  .project-rich .pdf-actions,.project-rich .story-index,.project-rich .story-figure figcaption a{display:none}
  .project-rich .rich-heading-row{grid-template-columns:1fr auto;margin-top:0}
  .project-rich .project-heading h1{font-size:43px;color:#000}
  .project-rich .project-subtitle,.project-rich .project-date time,.project-rich .story-heading h2{color:#222}
  .project-rich .rich-cover>img{max-height:680px}
  .project-rich .story-section{break-inside:auto;padding-top:25px;padding-bottom:30px}
  .project-rich .story-heading,.project-rich .story-figure,.project-rich .story-points article{break-inside:avoid}
  .project-rich .story-text p,.project-rich .story-points p,.project-rich .story-figure figcaption p{color:#333}
  .project-rich .story-figure,.project-rich .story-image-link,.project-rich .story-figure img{background:#fff}
  .project-rich .story-figure figcaption{border-color:#ddd}
  .project-rich .pdf-source{break-inside:avoid}
}

/* Short Chinese project names keep their own editorial scale. */
.project-rich.project-compact-title .project-heading h1{font-size:clamp(72px,10vw,128px)}
@media(max-width:760px){.project-rich.project-compact-title .project-heading h1{font-size:72px}}

/* The graduation project starts with its official showcase link. */
.project-external{display:grid;grid-template-columns:auto minmax(0,1fr) 24px;align-items:center;gap:28px;min-height:88px;padding:22px 0;border-bottom:1px solid var(--line);transition:border-color .25s,color .25s}
.project-external>.mono{font-size:9px;color:#85858e}
.project-external .external-description{display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere}
.project-external strong{font-size:13px;line-height:1.8;font-weight:400;color:#dedee4}
.project-external .external-description>span{font-size:11px;line-height:1.8;color:#9696a0;overflow-wrap:anywhere}
.project-external .external-arrow{font-size:25px;text-align:right}
.project-external:hover{border-color:#ffffff80;color:#fff}
.project-external:hover .external-description>span{color:#cdced4}
.project-external+.project-heading{padding-top:47px}
.project-rich.project-long-title .project-heading h1{font-size:clamp(44px,6vw,88px);max-width:15ch;line-height:1.08;letter-spacing:-.05em;overflow-wrap:normal;text-wrap:balance}
@media(max-width:760px){
  .project-external{grid-template-columns:minmax(0,1fr) 23px;gap:8px 18px;padding:21px 0;min-height:110px}
  .project-external>.mono{grid-column:1/-1;font-size:8px}
  .project-external .external-description{grid-column:1}
  .project-external .external-description>span{font-size:10px}
  .project-external strong{font-size:12px}
  .project-external .external-arrow{grid-column:2;grid-row:2;font-size:23px}
  .project-external+.project-heading{padding-top:31px}
  .project-rich.project-long-title .project-heading h1{font-size:clamp(36px,8.8vw,58px);max-width:13ch;line-height:1.1}
}
@media(prefers-reduced-motion:reduce){.project-external{transition:none}}

body[data-project-id="05"] .project-rich .rich-cover>img{background:#eceae5;padding:clamp(20px,5vw,64px)}
