/* Editorial case studies: text, figures and sequence are independent web content. */
.project-studies{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:36px;border-top:1px solid var(--line);padding-top:36px}
.project-studies .project-visual{aspect-ratio:2.4;background:white}
.project-studies img{object-fit:contain}
.project-studies .project-info{border:0}
#project-dialog{width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:0;scroll-behavior:smooth}
#project-dialog .dialog-bar{height:80px;padding:0 max(5vw,24px);gap:20px;backdrop-filter:blur(18px);background:#f8f9f5f5}
#project-dialog .case-back{display:flex;align-items:center;gap:16px;border:0;width:auto;height:44px;font-size:14px;padding:0}
#project-dialog .case-back>span:first-child{font-size:23px}
#project-dialog .dialog-bar .languages button{min-width:36px;width:auto;height:36px;border:0;font-size:14px}
#project-dialog .dialog-bar .languages button[aria-pressed=true]{color:white}
#project-dialog .dialog-content{padding:0 5%;max-width:1440px;margin:auto}
.case-intro{padding:70px 0 0;display:grid;grid-template-columns:1fr;gap:42px}
.case-heading{max-width:900px}
.case-heading .eyebrow{font-size:13px;color:var(--muted)}
.case-heading #dialog-title{font-family:Georgia,'Yu Mincho','Songti SC',SimSun,serif;font-size:clamp(42px,5.3vw,78px);font-weight:400;line-height:1.2;letter-spacing:-.04em;margin:23px 0}
.case-tagline{font-family:Georgia,'Yu Mincho','Songti SC',SimSun,serif;font-size:clamp(22px,2.1vw,31px);line-height:1.55;margin:0 0 24px;color:#586c48}
.case-summary{font-size:17px;line-height:1.9;max-width:730px;margin:0;color:var(--muted)}
.case-cover{margin:0;min-width:0}
.case-cover img{width:100%;max-height:660px;object-fit:cover;display:block}
.case-cover figcaption{font-size:12px;color:var(--muted);margin-top:10px}
.portrait-hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:7%;padding-top:55px}
.portrait-hero .case-cover img{max-height:700px;object-fit:cover}
.case-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;padding:30px 0;margin:36px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.case-facts dt{font-size:12px;color:var(--muted);margin-bottom:10px}
.case-facts dd{font-size:15px;line-height:1.6;margin:0}
#project-dialog .case-index{display:flex;flex-wrap:wrap;gap:10px 30px;margin:0;padding:28px 0 0}
.case-index button{border:0;background:transparent;color:var(--ink);padding:6px 0;text-align:left;font-size:13px;line-height:1.6}
.case-index button:hover{text-decoration:underline;text-underline-offset:4px}
.case-index button span{color:var(--muted);font-size:11px;margin-right:12px}
.case-section{padding:90px 0;border-bottom:1px solid var(--line);scroll-margin-top:100px}
.case-section-head{display:grid;grid-template-columns:55px 1fr;align-items:baseline;margin-bottom:28px}
.case-section-number{font-size:12px;color:var(--muted)}
.case-section h3{font-family:Georgia,'Yu Mincho','Songti SC',SimSun,serif;font-weight:400;font-size:clamp(27px,3vw,42px);line-height:1.4;letter-spacing:-.03em;margin:0}
.case-section-body{padding-left:55px}
.case-prose{max-width:810px}
.case-prose p{font-size:17px;line-height:1.95;color:#4b5d50;margin:0 0 22px}
.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 26px;margin-top:38px;align-items:start}
.case-figure{min-width:0;margin:0}
.figure-zoom{display:block;position:relative;background:white;overflow:hidden}
.case-figure img{width:100%;height:auto;display:block;transition:opacity .2s}
.figure-zoom:hover img{opacity:.92}
.zoom-mark{position:absolute;right:12px;bottom:12px;height:32px;width:32px;display:grid;place-items:center;background:#f8f9f5eb;border:1px solid var(--line);color:var(--ink);font-size:22px;opacity:0;transition:opacity .2s}
.figure-zoom:hover .zoom-mark,.figure-zoom:focus-visible .zoom-mark{opacity:1}
.case-figure figcaption{display:flex;align-items:baseline;gap:12px;padding:13px 0 0;font-size:14px;line-height:1.75;color:var(--muted)}
.case-figure figcaption>span{font-size:11px;flex-shrink:0;color:#829080}
.case-figure.wide{grid-column:1/-1}
.case-split .case-section-body{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:start}
.case-split .case-gallery{display:block;margin-top:0}
.case-steps{padding:0;margin:40px 0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#e9ede5}
.case-steps li{padding:28px;border-left:1px solid #cdd3cd}
.case-steps li:first-child{border-left:0}
.case-steps li>span{font-size:12px;color:var(--muted)}
.case-steps h4{font-size:18px;font-weight:500;margin:20px 0 12px}
.case-steps p{font-size:15px;line-height:1.8;color:var(--muted);margin:0}
.case-triptych .case-gallery,.case-sequence .case-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-sequence .figure-zoom{aspect-ratio:1.6;display:flex;align-items:center;justify-content:center}
.case-sequence .case-figure img{height:100%;object-fit:contain}
.case-drawings .case-figure:not(.wide) .figure-zoom{height:570px;padding:20px}
.case-drawings .case-figure:not(.wide) img{height:100%;object-fit:contain}
.case-experience .case-gallery{grid-template-columns:1.45fr 1fr}
.case-experience .case-figure:nth-child(3){grid-column:2;grid-row:1/span 2}
.case-pagination{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:55px 0 80px}
.case-pagination button{border:0;background:transparent;text-align:left;padding:0;color:var(--ink)}
.case-pagination button:last-child{text-align:right}
.case-pagination small{display:block;font-size:13px;color:var(--muted);margin-bottom:15px}
.case-pagination button>span{display:block;font-size:clamp(20px,2.5vw,32px);font-weight:400}
@media(max-width:900px){
 .portrait-hero{gap:35px}.case-intro{padding-top:40px}.case-summary{font-size:16px}
 .case-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
 .case-section{padding:60px 0}.case-section-head{grid-template-columns:36px 1fr}.case-section-body{padding-left:36px}
 .case-split .case-section-body{grid-template-columns:1fr;gap:20px}.case-split .case-gallery{max-width:700px}
 .case-steps li{padding:20px}.case-drawings .case-figure:not(.wide) .figure-zoom{height:460px;padding:12px}
 .case-triptych .case-gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 #project-dialog .dialog-bar{height:66px;padding:0 6%;gap:10px}
 #project-dialog .dialog-bar .languages button{min-width:32px;height:34px;font-size:13px}
 #project-dialog .case-back{font-size:13px;gap:8px}
 #dialog-index{font-size:10px;letter-spacing:0;margin-left:auto}
 #project-dialog .dialog-content{padding:0 6%}
 .case-intro,.portrait-hero{grid-template-columns:1fr;gap:28px;padding-top:34px}
 .case-heading .eyebrow{font-size:12px}.case-heading #dialog-title{font-size:40px;line-height:1.3;margin:18px 0}
 .case-tagline{font-size:23px;line-height:1.6}.case-summary{font-size:16px;line-height:1.9}
 .portrait-hero .case-cover img{max-height:540px;object-position:center 52%}
 .case-facts{padding:24px 0;gap:24px 16px}.case-facts dd{font-size:14px}
 #project-dialog .case-index{display:grid;grid-template-columns:1fr;gap:6px;padding-top:20px}
 .case-index button{font-size:14px}
 .case-section{padding:48px 0;scroll-margin-top:84px}
 .case-section-head{grid-template-columns:28px 1fr;margin-bottom:24px}
 .case-section h3{font-size:28px;line-height:1.5}.case-section-body{padding-left:0}
 .case-prose p{font-size:16px;line-height:1.95}
 .case-gallery,.case-triptych .case-gallery,.case-experience .case-gallery{grid-template-columns:1fr;gap:28px;margin-top:28px}
 .case-split .case-section-body{gap:0}
 .case-experience .case-figure:nth-child(3){grid-column:auto;grid-row:auto}
 .case-experience .portrait img{max-height:590px;object-fit:contain}
 .case-steps{grid-template-columns:1fr;margin:28px 0}
 .case-steps li{padding:22px;border-left:0;border-top:1px solid var(--line)}.case-steps li:first-child{border-top:0}
 .case-steps h4{display:inline-block;margin:0 0 12px 18px}.case-steps p{font-size:15px}
 .case-sequence .case-gallery{grid-template-columns:1fr 1fr;gap:25px 15px}.case-sequence figcaption{font-size:13px}.case-sequence figcaption>span{display:none}
 .case-drawings .case-figure:not(.wide) .figure-zoom{height:auto;max-height:none;padding:10px}
 .case-drawings .case-figure:not(.wide) img{height:auto;max-height:650px}
 .zoom-mark{opacity:1}
 .case-pagination{padding:40px 0 55px;gap:18px}.case-pagination small{font-size:12px}.case-pagination button>span{font-size:21px}
 .project-studies{grid-template-columns:1fr;gap:0;padding-top:28px}.project-studies .project-info{padding-bottom:0}
}
@media(prefers-reduced-motion:reduce){#project-dialog{scroll-behavior:auto}}
.case-cover img{height:auto}
.case-sequence figcaption>span{display:none}
/* Preserve the complete image: diagrams, long drawings and source photographs. */
.case-cover img,.portrait-hero .case-cover img{object-fit:contain;max-height:none}
.case-cover a{display:block}
.case-figure.plan .figure-zoom{padding:16px;background:white}
.case-figure.plan img{height:auto;object-fit:contain}
.case-figure.tall{align-self:start}
.case-figure.index-art .figure-zoom{max-width:175px}
.case-figure.reference .figure-zoom{max-width:200px}
.case-archive .case-figure.portrait{grid-row:span 3}
.case-split .case-figure+.case-figure{margin-top:30px}
.portfolio-cover{margin:38px 0 0;max-width:220px}
.profile .portfolio-cover img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0}
.portfolio-cover figcaption{font-size:14px;line-height:1.6;color:var(--muted);margin-top:10px}
.design-tool-logos{display:block;width:160px;max-width:100%;height:auto;margin:18px 0;background:white}
@media(max-width:620px){
 .case-archive .case-gallery{grid-template-columns:1fr}
 .case-archive .case-figure.portrait{grid-row:auto}
 .case-figure.plan .figure-zoom{padding:8px}
 .portrait-hero .case-cover img{max-height:none}
 .portfolio-cover{max-width:180px}
}
