:root{--case-ink:#171c1b;--case-paper:#f3f0e9;--case-line:#c8c6bf;--case-red:#9d3d32;--case-green:#184237}
body{color:var(--case-ink);background:var(--case-paper)}
.case-hero{display:grid;grid-template-columns:1.15fr .85fr;min-height:calc(100vh - 5.5rem);padding-top:5.5rem;background:#d8d2c7}
.case-hero__image{min-height:40rem;overflow:hidden}.case-hero__image img{width:100%;height:100%;object-fit:cover}
.case-hero__copy{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(3rem,6vw,7rem)}
.case-hero__copy>p{margin:0;color:var(--case-red);font:700 .64rem/1 Arial,sans-serif;letter-spacing:.18em}
.case-hero h1{margin:1.7rem 0 4rem;font:400 clamp(3.8rem,6.8vw,7.8rem)/.98 STSong,"Songti SC",serif;letter-spacing:-.07em}
.case-hero h1 em{color:#667773;font-style:normal}
.case-hero__copy>div{display:grid;gap:1.1rem;padding-top:1.5rem;border-top:1px solid rgba(23,28,27,.35)}
.case-hero__copy strong{font:400 1.25rem/1.4 STSong,"Songti SC",serif}.case-hero__copy>div p{max-width:36rem;margin:0;color:#59615f;font-size:.76rem;line-height:1.9}
.case-archive{padding:clamp(5rem,8vw,9rem) clamp(1.25rem,4vw,4.5rem)}
.case-archive__head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,8rem);align-items:end;margin-bottom:3.5rem}
.case-archive__head>div>p,.case-method header p{margin:0 0 1.2rem;color:var(--case-red);font:700 .64rem/1 Arial,sans-serif;letter-spacing:.18em}
.case-archive__head h2,.case-method h2{margin:0;font:400 clamp(2.8rem,5vw,5.7rem)/1.03 STSong,"Songti SC",serif;letter-spacing:-.06em}
.case-archive__head>p{max-width:40rem;margin:0;color:#626966;font-size:.78rem;line-height:1.95}
.case-filter-block{border-top:1px solid var(--case-line);border-left:1px solid var(--case-line)}
.case-filter-block>p,.case-space-filter>p{margin:0;padding:.85rem 1rem;border-right:1px solid var(--case-line);border-bottom:1px solid var(--case-line);color:#6d7471;font:700 .57rem/1 Arial,sans-serif;letter-spacing:.12em;background:#e7e4dc}
.case-filters{display:grid;grid-template-columns:repeat(3,1fr)}
.case-filters button{display:grid;grid-template-columns:2.2rem 1fr;gap:.45rem 1rem;align-content:center;min-height:6.5rem;padding:1.2rem;border:0;border-right:1px solid var(--case-line);border-bottom:1px solid var(--case-line);color:var(--case-ink);background:#f7f5f0;text-align:left;cursor:pointer}
.case-filters button span{grid-row:1/3;color:var(--case-red);font:400 1rem/1 Georgia,serif}.case-filters button strong{font:600 .78rem/1.3 Arial,sans-serif}.case-filters button small{color:#747c79;font:.6rem/1.3 Arial,sans-serif}
.case-filters button[aria-pressed="true"]{color:#fff;background:var(--case-green)}.case-filters button[aria-pressed="true"] span,.case-filters button[aria-pressed="true"] small{color:#b9d7cd}
.case-space-filter{margin-top:1.5rem;border-top:1px solid var(--case-line);border-left:1px solid var(--case-line)}
.case-space-filter>div{display:flex;flex-wrap:wrap}.case-space-filter button{flex:1 1 9rem;min-height:3.7rem;padding:.8rem 1rem;border:0;border-right:1px solid var(--case-line);border-bottom:1px solid var(--case-line);color:#56605d;background:#f7f5f0;cursor:pointer}
.case-space-filter button[aria-pressed="true"]{color:#fff;background:var(--case-red)}
.case-status{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;border-bottom:1px solid var(--case-line);color:#66706d;font-size:.68rem}.case-status p{margin:0}.case-status strong{color:var(--case-ink)}.case-status b{color:var(--case-red)}
.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--case-line)}
.case-card{display:grid;grid-template-rows:auto 1fr;min-width:0;padding:0;border:0;color:var(--case-ink);background:#f7f5f0;text-align:left;cursor:zoom-in}
.case-card[hidden]{display:none}.case-card__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#d7d7d1}
.case-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.case-card__media b{position:absolute;right:.9rem;bottom:.8rem;padding:.5rem .65rem;color:#fff;background:rgba(17,28,25,.76);font:700 .57rem/1 Arial,sans-serif;letter-spacing:.08em}
.case-card__copy{display:grid;grid-template-columns:1fr auto;gap:.7rem;align-content:start;min-height:11.5rem;padding:1.35rem}
.case-card__copy small{grid-column:1/3;color:var(--case-red);font:700 .56rem/1.3 Arial,sans-serif;letter-spacing:.12em}.case-card__copy strong{font:400 clamp(1.35rem,1.7vw,2rem)/1.18 STSong,"Songti SC",serif}.case-card__copy em{max-width:9rem;color:#737b78;font:normal .59rem/1.5 Arial,sans-serif;text-align:right}
.case-card:hover .case-card__media img,.case-card:focus-visible .case-card__media img{transform:scale(1.035)}.case-card:focus-visible{position:relative;z-index:1;outline:3px solid #d1bd68;outline-offset:-3px}
.case-empty{padding:5rem 2rem;text-align:center;background:#e8e5de}.case-empty strong{font:400 2rem/1.2 STSong,"Songti SC",serif}.case-empty p{margin:1rem 0 0;color:#6b7471;font-size:.72rem}
.case-method{display:grid;grid-template-columns:.8fr 1.2fr;padding:clamp(5rem,8vw,9rem) clamp(1.25rem,4vw,4.5rem);color:#fff;background:#18362f}
.case-method header{padding-right:clamp(2rem,6vw,7rem)}.case-method header p{color:#d6c67d}.case-method>div{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.25);border-left:1px solid rgba(255,255,255,.25)}
.case-method article{display:grid;align-content:start;min-height:20rem;padding:2rem;border-right:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}.case-method article span{color:#d6c67d;font:400 1.2rem/1 Georgia,serif}.case-method article strong{margin-top:4rem;font:400 1.45rem/1.3 STSong,"Songti SC",serif}.case-method article p{margin:1rem 0 0;color:rgba(255,255,255,.66);font-size:.7rem;line-height:1.9}
.case-dialog{width:min(94vw,94rem);max-width:none;height:min(90vh,60rem);max-height:none;padding:0;border:0;color:var(--case-ink);background:#f4f1ea}.case-dialog::backdrop{background:rgba(8,12,11,.84);backdrop-filter:blur(6px)}.case-dialog[open]{display:grid;grid-template-columns:1.35fr .65fr}
.case-dialog__close{position:absolute;z-index:3;top:1rem;right:1rem;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.6);color:#fff;background:rgba(15,19,18,.68);cursor:pointer}
.case-dialog__media{position:relative;display:grid;place-items:center;min-width:0;min-height:0;background:#202624}.case-dialog__media>img{width:100%;height:100%;object-fit:contain}
.case-dialog__controls{position:absolute;right:1rem;bottom:1rem;display:flex;align-items:center;color:#fff;background:rgba(14,22,20,.78)}.case-dialog__controls button{width:3rem;height:3rem;border:0;color:#fff;background:transparent;cursor:pointer}.case-dialog__controls span{padding:0 .8rem;font-size:.63rem}
.case-dialog__copy{display:flex;flex-direction:column;justify-content:flex-end;min-width:0;padding:clamp(2rem,4vw,4.5rem)}.case-dialog__copy>p{margin:0;color:var(--case-red);font:700 .61rem/1.4 Arial,sans-serif;letter-spacing:.12em}.case-dialog__copy h2{margin:1.3rem 0 1rem;font:400 clamp(2.5rem,4vw,4.6rem)/1.03 STSong,"Songti SC",serif;letter-spacing:-.05em}.case-dialog__copy>strong{font-size:.7rem}.case-dialog__copy>span{margin-top:1.5rem;color:#525b58;font-size:.75rem;line-height:1.9}
.case-dialog__thumbs{display:flex;gap:.5rem;margin-top:2rem;overflow-x:auto}.case-dialog__thumbs button{flex:0 0 4.8rem;height:3.6rem;padding:0;overflow:hidden;border:2px solid transparent;background:#d4d4cf;cursor:pointer}.case-dialog__thumbs button[aria-current="true"]{border-color:var(--case-red)}.case-dialog__thumbs img{width:100%;height:100%;object-fit:cover}.case-dialog__copy small{margin-top:2rem;padding-top:1.1rem;border-top:1px solid var(--case-line);color:#777e7b;font-size:.59rem;line-height:1.7}
body.case-dialog-open{overflow:hidden}
@media(max-width:1120px){
  .case-hero{grid-template-columns:1fr;min-height:0}.case-hero__image{height:58vw;min-height:30rem}.case-hero__copy{padding:4rem 1.5rem}.case-hero h1{margin-bottom:2.5rem}
  .case-archive__head{grid-template-columns:1fr}.case-grid{grid-template-columns:repeat(2,1fr)}.case-method{grid-template-columns:1fr;gap:3rem}.case-dialog[open]{grid-template-columns:1fr 23rem}
}
@media(max-width:760px){
  .case-hero{padding-top:4.6rem}.case-hero__image{height:62vh;min-height:28rem}.case-hero__copy{padding:3rem 1.25rem}.case-hero h1{max-width:100%;font-size:clamp(2.25rem,9.4vw,3.8rem);overflow-wrap:anywhere}
  .case-archive{padding:4.5rem 1.25rem}.case-filters{grid-template-columns:1fr 1fr}.case-filters button{min-height:5.6rem;padding:1rem}.case-space-filter>div{flex-wrap:nowrap;overflow-x:auto}.case-space-filter button{flex:0 0 8.5rem}
  .case-status{align-items:flex-start;gap:.8rem;flex-direction:column}.case-grid{grid-template-columns:1fr}.case-card__copy{min-height:9.5rem}.case-card__copy strong{font-size:1.55rem}
  .case-method{padding:4.5rem 1.25rem}.case-method>div{grid-template-columns:1fr}.case-method article{min-height:13rem}.case-method article strong{margin-top:2rem}
  .case-dialog{width:100vw;height:100dvh}.case-dialog[open]{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.case-dialog__copy{padding:1.4rem}.case-dialog__copy h2{margin:.8rem 0;font-size:2.2rem}.case-dialog__copy>span{margin-top:.9rem}.case-dialog__thumbs{margin-top:1rem}.case-dialog__copy small{display:none}.case-dialog__close{top:.7rem;right:.7rem}
}
@media(prefers-reduced-motion:reduce){.case-card__media img{transition:none}}
