
.cake-portfolio{position:relative;background:#000;color:#d8ddd7;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;font-weight:300;isolation:isolate;overflow:hidden;margin-top:calc(-1 * var(--cake-peek-height,211px))}.cake-portfolio *{box-sizing:border-box}.cake-portfolio figure,.cake-portfolio p,.cake-portfolio h2{margin:0}.cake-portfolio img{display:block;width:100%;height:auto}.cake-portfolio .cake-wrap{max-width:1440px;width:88%;margin:auto;padding-top:calc(var(--cake-peek-height,211px) + 36px);padding-bottom:64px;display:flex;flex-direction:column;gap:56px}.cake-portfolio section{min-width:0}.cake-portfolio .cake-copy h2{font-size:clamp(13.3px,1.085vw,19.6px);line-height:1.55;font-weight:450;margin-bottom:16px}.cake-portfolio .cake-copy>p{font-size:clamp(9.8px,.728vw,12.6px);line-height:1.475;text-wrap:pretty}.cake-portfolio .cake-copy>p+p{margin-top:14px}.cake-portfolio .cake-copy .cake-label{font-size:8.4px;letter-spacing:.08em;line-height:1.7;color:#9aa398;margin-bottom:14px}.cake-portfolio .cake-opening{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center}.cake-portfolio .cake-portrait{position:relative;z-index:2}.cake-portfolio .cake-portrait img{transform-origin:0 0;will-change:transform}.cake-portfolio .cake-opening-right{display:flex;flex-direction:column;gap:28px}.cake-portfolio .cake-translation{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.cake-portfolio .cake-chairs{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:78%;justify-self:center;align-items:start}.cake-portfolio .cake-making{display:grid;grid-template-columns:.8fr 1.2fr;gap:5%;align-items:start}.cake-portfolio .cake-making>figure{width:85%}.cake-portfolio .cake-making>div{display:flex;flex-direction:column;gap:24px}.cake-portfolio .cake-spatial>.cake-copy{max-width:680px;margin-bottom:24px}.cake-portfolio .cake-space-evidence{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5%;margin-bottom:24px}.cake-portfolio .cake-space-evidence figure:first-child{width:80%;justify-self:center}.cake-portfolio .cake-performers{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin:auto;align-items:start}.cake-portfolio .cake-final>.cake-copy{max-width:680px;margin-bottom:24px}.cake-portfolio .cake-final-images{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center}
@media(max-width:760px){.cake-portfolio .cake-wrap{width:auto;margin:0 24px;gap:36px;padding-top:calc(var(--cake-peek-height,211px) + 24px)}.cake-portfolio .cake-opening,.cake-portfolio .cake-translation,.cake-portfolio .cake-making{display:flex;flex-direction:column;gap:24px;align-items:stretch}.cake-portfolio .cake-copy h2{font-size:16.1px}.cake-portfolio .cake-copy>p{font-size:11.2px}.cake-portfolio .cake-copy .cake-label{font-size:8.4px}.cake-portfolio .cake-chairs{width:100%;gap:14px}.cake-portfolio .cake-making>figure{width:85%;align-self:center}.cake-portfolio .cake-space-evidence{gap:14px}.cake-portfolio .cake-space-evidence figure:first-child{width:100%}.cake-portfolio .cake-performers{gap:14px}.cake-portfolio .cake-final-images{grid-template-columns:1fr;gap:20px}}
.cake-portfolio .cake-performers{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}@media(max-width:600px){.cake-portfolio .cake-performers{grid-template-columns:1fr;max-width:400px}}
/* Preserve implementation photographs; regroup evidence and performance. */
.cake-portfolio .cake-making-images{grid-template-columns:.8fr 1.2fr;align-items:center}.cake-portfolio .cake-making-images>figure:first-child{width:85%}.cake-portfolio .cake-making-images>figure:last-child{width:100%}
.cake-portfolio .cake-spatial-revised{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:6%;align-items:center}.cake-portfolio .cake-spatial-revised>.cake-copy{text-align:right;margin:0;max-width:none}.cake-portfolio .cake-four-grid{width:100%;max-width:670px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:center}.cake-portfolio .cake-four-grid figure{min-width:0}.cake-portfolio .cake-four-grid img{width:100%;height:auto}
@media(max-width:760px){.cake-portfolio .cake-making-images{display:grid;grid-template-columns:.8fr 1.2fr;gap:16px}.cake-portfolio .cake-making-images>figure:first-child{width:100%}.cake-portfolio .cake-spatial-revised{display:flex;flex-direction:column;gap:20px}.cake-portfolio .cake-spatial-revised>.cake-copy{align-self:stretch;order:-1;text-align:right}.cake-portfolio .cake-four-grid{max-width:520px;gap:12px}}

/* Beyond the Cake only: captions, spacing and restrained scroll reveal. */
.cake-portfolio .cake-wrap{gap:112px}.cake-portfolio .cake-making-images>figure:first-child{width:59.5%;justify-self:center}
.cake-portfolio .cake-spatial-revised{align-items:end}.cake-portfolio .cake-spatial-revised>.cake-copy{text-align:left;align-self:end}
.cake-portfolio .cake-final>.cake-copy{text-align:center;margin-left:auto;margin-right:auto}
.cake-portfolio figcaption{font-size:13px;line-height:1.7;font-weight:400;color:#9aa398;margin-top:10px;text-align:left;position:relative;padding-left:20px}
.cake-portfolio figcaption::before{content:"↖";position:absolute;left:0;top:0;font-size:15px}
.cake-portfolio .cake-portrait figcaption{text-align:center;padding-left:0}.cake-portfolio .cake-portrait figcaption::before{position:static;margin-right:7px}
.cake-portfolio .cake-copy h2{font-size:clamp(14.3px,calc(1.085vw + 1px),20.6px)}.cake-portfolio .cake-copy>p{font-size:clamp(10.8px,calc(.728vw + 1px),13.6px)}.cake-portfolio .cake-copy .cake-label{font-size:9.4px}
.cake-portfolio .cake-text-reveal{opacity:0;transform:translateY(10px);transition:opacity .786s ease-out,transform .786s cubic-bezier(.2,.65,.3,1)}.cake-portfolio .cake-text-reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:760px){.cake-portfolio .cake-wrap{gap:72px}.cake-portfolio .cake-making-images>figure:first-child{width:70%;justify-self:center}.cake-portfolio .cake-copy h2{font-size:17.1px}.cake-portfolio .cake-copy>p{font-size:12.2px}.cake-portfolio .cake-copy .cake-label{font-size:9.4px}.cake-portfolio figcaption{font-size:12px}.cake-portfolio .cake-spatial-revised>.cake-copy{text-align:left}}
@media(prefers-reduced-motion:reduce){.cake-portfolio .cake-text-reveal{opacity:1;transform:none;transition:none}}

.cake-portfolio .cake-making-images>figure:first-child{width:85%}.cake-portfolio .cake-making-images>figure:first-child img{width:70%;margin:auto}@media(max-width:760px){.cake-portfolio .cake-making-images>figure:first-child{width:100%}}

/* Offsets are derived from two/three lines of the current body typography. */
.cake-portfolio .cake-spatial-revised>.cake-copy{position:relative;top:calc(-2 * 1.475 * clamp(10.8px,calc(.728vw + 1px),13.6px))}
.cake-portfolio .cake-final{margin-top:calc(3 * 1.475 * clamp(10.8px,calc(.728vw + 1px),13.6px))}
@media(max-width:760px){.cake-portfolio .cake-spatial-revised>.cake-copy{top:-35.99px}.cake-portfolio .cake-final{margin-top:53.985px}}

.cake-portfolio .cake-final-images{align-items:end}.cake-portfolio .cake-final-images>figure{align-self:end}.cake-portfolio .cake-final-images figcaption{min-height:1.7em}

.cake-portfolio .cake-performers{align-items:end}.cake-portfolio .cake-performers>figure{align-self:end}.cake-portfolio .cake-performers figcaption{min-height:1.7em}
