/* Shared portfolio structure; project styles retain their own artifacts. */
.work-card:is(.pmo,.acre) .grid-cover{position:absolute;inset:0}.work-card:is(.pmo,.acre) .grid-cover>img{display:block;width:100%;height:100%;object-fit:cover}.work-card.acre .grid-cover>img{object-position:center}
@media(max-width:800px){.work-card .grid-caption{color:var(--ink);text-shadow:none}.work-card .grid-caption p{color:var(--muted)}}
.case-page{--case-gap:clamp(64px,9vw,144px);--case-inner:clamp(24px,4vw,64px);max-width:none;margin:0;padding:112px var(--margin) 64px;color:var(--ink)}
:root:not([data-theme="dark"]) .case-page{--ink:#0f0f0f;--muted:#666}
:root[data-theme="dark"] .case-page{--ink:#f2f2f2;--muted:#aaa}
.case-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0;min-height:44px;width:100%}
.case-toolbar a{font-size:14px;display:inline-flex;align-items:center;min-height:44px;text-decoration:none;white-space:nowrap;color:var(--ink)}
.case-toolbar a:hover{text-decoration:underline;text-underline-offset:5px}
.case-opening>h1{margin:24px 0 32px}
.case-hero{position:relative;aspect-ratio:16/9;overflow:hidden;background:#242424;color:#fff}
.case-hero>img{display:block;width:100%;height:100%;object-fit:cover}
.case-hero-copy{position:absolute;left:5%;top:50%;transform:translateY(-50%);width:30%;max-width:440px}
.case-hero-copy p{margin:0;max-width:34ch;text-wrap:pretty}
.case-hero-copy small{display:block;margin-top:20px;line-height:1.7}
.case-hero-ai-sustainability:after{content:'';position:absolute;inset:0;background:#0007;pointer-events:none}
.case-hero-ai-sustainability .case-hero-copy{z-index:1;width:36%}
.case-hero-acre .case-hero-copy{padding:20px;background:#000b}
.case-page>.case-chapter{margin:0;padding:var(--case-gap) 0 0;min-height:0;border:0}
.case-page>.case-chapter:last-of-type{padding-bottom:var(--case-gap)}
.case-page .mw-chapter{padding:0 0 32px;align-items:start}
.case-page .mw-chapter p{text-align:left;justify-self:start}
.case-page .mw-chapter h2{grid-column:1/6}.case-page .mw-chapter p{grid-column:7/-1}
.case-page :is(.mw-research-evidence,.mw-themes,.mw-positioning,.mw-comparison th,.mw-comparison td,.mw-architecture-flow>div,.mw-reflection){border:0}
.case-page .mw-needs,.case-page .mw-needs li{border:0}
.case-page .mw-themes{padding-top:32px}.case-page .mw-position{padding-bottom:0}
.case-page .mw-hmw{padding:var(--case-gap) 0}
.case-page .mw-architecture{padding:var(--case-inner);margin-top:var(--case-gap)}
.case-page .mw-initial{row-gap:32px}.case-page .mw-reflection{row-gap:24px}
.case-page .pmo-chapter{display:grid;grid-template-columns:1fr;gap:32px;justify-content:normal}
.case-page .pmo-chapter>figure,.case-page .pmo-copy{min-width:0}
.case-page .pmo-copy{grid-template-columns:1fr 1.55fr;gap:7%}
.case-page .pmo-stage{height:auto;min-height:0;aspect-ratio:16/9;border-radius:0;padding:var(--case-inner)}
.case-page .pmo-image{width:100%;height:auto;min-height:0}
.case-page .pmo-image img{width:100%;height:auto;max-height:none;box-shadow:none}
.case-page .pmo-discussion .pmo-image{width:62%}
.case-page .pmo-discussion img{max-height:65svh;width:auto;max-width:100%}
.case-page .case-split{grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:6%;align-items:center}
.case-page .case-split .pmo-copy{display:block}.case-page .case-split h2{margin-bottom:24px}
.case-page .case-split .pmo-stage{aspect-ratio:auto;padding:clamp(20px,3vw,48px)}
.case-page .case-split .pmo-image{display:block}
.case-page .pmo-sheet{color:#222}.case-page .pmo-excerpt{padding:24px;box-shadow:none}
.case-page .pmo-excerpt :is(th,td){border:0}.case-page .pmo-excerpt table{min-width:560px}
.case-page .pmo-excerpt th:first-child{width:28%}
.case-page .ac-heading{max-width:none;margin-bottom:32px}
.case-page :is(.ac-flow,.ac-ownership>div,.ac-ecosystem li,.ac-segments>div,.ac-details,.ac-opportunity,.ac-presentation,.ac-table-wrap th,.ac-table-wrap td){border:0}
.case-page .ac-flow li+li:before{display:none}
.case-page .ac-process-tabs{border:0;gap:32px;margin-top:36px}
.case-page .ac-process-tabs button{border:0;padding:0 0 20px;animation:none}
.case-page .ac-process-tabs button:after{background:var(--ink)}
.case-page .ac-process-tabs button[aria-selected=true]{color:var(--ink)}
.case-page .ac-process-tabs button[aria-selected=false]{color:var(--muted)}
.case-page .ac-process-panel{max-height:none;overflow:visible;padding:8px 0 24px}
.case-page .ac-process-panel .ac-figure img{max-height:420px}
.case-page .ac-process-panel .ac-evidence img{max-height:300px}
.case-page .ac-process-window{margin-top:32px}
.case-page .ac-gallery-top button{border:0;color:var(--ink)}
.case-page .ac-deliverables{gap:32px}.case-page .ac-deliverables img{height:clamp(240px,32vw,440px)}
.case-page .ac-phones{padding:32px 6%;gap:8%}.case-page .ac-phones img{max-height:680px}
.case-page .ac-system svg g[fill="#666"]{fill:var(--muted)}
.case-page .case-bottom{margin-top:0;padding-top:48px}
.case-page :is(a,button,[tabindex]):focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:800px){
 .case-page{padding-top:96px;padding-bottom:40px}.case-opening>h1{margin:20px 0 28px}
 .case-hero{aspect-ratio:3/4}.case-hero>img{object-position:60% center}
 .case-hero-copy,.case-hero-ai-sustainability .case-hero-copy{top:auto;bottom:7%;transform:none;left:7%;width:86%;max-width:360px;text-shadow:0 1px 8px #0009}
 .case-hero-copy small{margin-top:16px}.case-hero-acre .case-hero-copy{padding:16px}
 .case-page .mw-chapter{display:block}.case-page .mw-chapter p{margin-top:16px}
 .case-page .pmo-copy{display:block}.case-page .pmo-copy h2{margin-bottom:20px}
 .case-page .case-split{grid-template-columns:minmax(0,1fr);gap:28px}
 .case-page .pmo-stage{padding:20px;aspect-ratio:auto}.case-page .pmo-discussion{aspect-ratio:4/3}
 .case-page .pmo-discussion .pmo-image{width:90%}.case-page .pmo-discussion img{width:100%;max-height:none}
 .case-page .case-split .pmo-stage{padding:20px}.case-page .pmo-sheet{min-height:0}.case-page .pmo-excerpt{padding:16px}
 .case-page .ac-process-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
 .case-page .ac-process-tabs button:last-child{grid-column:auto}.case-page .ac-phones{padding:24px 8%;row-gap:40px;column-gap:24px}
 .case-page .case-bottom{padding-top:24px}
}
@media(prefers-reduced-motion:reduce){.case-page .ac-process-window,.case-page .ac-process-track{transition:none}}

/* Reusable chapter compositions: preserve existing migrated project layouts. */
.case-content{display:grid;gap:32px}.case-copy{display:grid;grid-template-columns:1fr 1.55fr;gap:7%;align-items:start}.case-copy h2,.case-copy p{margin:0}.case-copy p+p{margin-top:20px}.case-copy a{display:inline-block;margin-top:20px;text-underline-offset:5px}.case-layout-split{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:6%;align-items:center}.case-layout-split>.case-copy{display:block}.case-layout-split>.case-copy h2{margin-bottom:24px}.case-content>*{min-width:0}.case-media{padding:var(--case-inner);background:color-mix(in srgb,var(--ink) 5%,transparent)}.case-evidence{margin:0;min-width:0}.case-evidence button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}.case-evidence img{display:block;width:100%;height:auto}.case-evidence figcaption{margin-top:12px;color:var(--muted);font-size:12px;line-height:1.6}.case-page .case-hero-acre:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000c,#0003 65%);pointer-events:none}.case-page .case-hero-acre .case-hero-copy{z-index:1;background:none;padding:0;width:36%}
@media(max-width:800px){.case-copy,.case-layout-split{grid-template-columns:1fr;gap:28px}.case-copy h2{margin-bottom:0}.case-media{padding:20px}.case-page .case-hero-acre .case-hero-copy{width:86%;padding:0}.case-page .case-hero-acre>img{object-position:52% center}.case-page .case-hero-acre:after{background:linear-gradient(0deg,#000d,#0002 85%)}}

/* Hongshan Go: the project is presented through its video alone. */
.work-card.hongshango .grid-cover{position:absolute;inset:0}
.work-card.hongshango .grid-cover>img,.selected-card.hongshango .cover>img{display:block;width:100%;height:100%;object-fit:cover}
.hongshango-video{aspect-ratio:16/9;background:#000;margin-top:24px}
.hongshango-video iframe{display:block;width:100%;height:100%;border:0}
.hongshango-project .case-bottom{margin-top:48px}


/* Keep the transparent prototype connections visible in both themes. */
.case-page .ac-prototype-media{background:#e5e7eb}
/* Match the two index menus, including the left edge of each filter. */
.gallery-menu .photo-filter{padding-left:0}
@media(min-width:801px){
 .work-card::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.65);opacity:0;transition:opacity .35s;pointer-events:none;z-index:1}
 .work-card:is(:hover,:focus-visible)::after{opacity:1}
 .work-card .grid-caption{z-index:2}
}
@media(prefers-reduced-motion:reduce){.work-card::after{transition:none}}
