/* Report-based case studies: conceptual method and measured data are labelled separately. */
.cases .section-heading{margin-bottom:66px}.project-story{border-top:1px solid var(--line);padding-top:38px}.project-story+.project-story{margin-top:90px}.project-intro{max-width:960px}.project-intro .eyebrow{font-size:12px;color:#536b73;margin-bottom:20px}.project-intro h3{font-size:clamp(30px,3.4vw,47px);line-height:1.2;font-weight:400;letter-spacing:-.04em;margin:0 0 24px}.project-intro h3 em{color:#007e93}.project-lead{max-width:800px;font-size:18px;line-height:1.75;color:#526770;margin:0 0 36px}.project-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:6%;align-items:start}.project-figure{margin:0;padding:24px 20px 22px;background:#eef4f5;min-width:0}.figure-overline{font-size:12px;letter-spacing:.1em;font-weight:700;line-height:1.6;margin:0 14px 16px}.project-figure svg{display:block;width:100%;height:auto;overflow:visible}.project-figure figcaption{font-size:13px;line-height:1.65;color:#516971;margin:20px 14px 0;padding-top:15px;border-top:1px solid #c6d8de}.hospital-figure{background:#153a46;color:#e9f5f7}.hospital-figure figcaption{color:#b5ced5;border-color:#496772}.project-step+.project-step{margin-top:28px}.project-step>span{font-size:12px;letter-spacing:.12em;color:#687e86;font-weight:700}.project-step h4{font-size:21px;line-height:1.4;font-weight:600;letter-spacing:-.02em;margin:8px 0 10px}.project-step p{font-size:16px;color:#526770;line-height:1.75;margin:0}.project-takeaway{display:grid;grid-template-columns:1fr 3fr;gap:28px;margin-top:34px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-takeaway p{margin:0;font-size:17px;line-height:1.7}.project-takeaway p:first-child{color:#007e93;font-size:14px;font-weight:700}.project-details summary{padding:20px 0;display:flex;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font-size:16px;font-weight:600}.project-details summary span{font-size:24px;line-height:1;color:#007e93;transition:transform .2s}.project-details[open] summary span{transform:rotate(45deg)}.project-details summary:hover{color:#007e93}.project-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:6%;padding:10px 0}.project-detail-grid h4{font-size:18px;font-weight:600;margin:0 0 12px}.project-detail-grid p{color:#526770;font-size:16px;line-height:1.75;margin:0 0 16px}.project-source{font-size:12px;color:#617981;margin:8px 0 20px;overflow-wrap:anywhere}.cases-method{max-width:950px;margin:60px 0 0;font-size:clamp(21px,2.4vw,30px);line-height:1.5;letter-spacing:-.02em}.case-energy-path{stroke-dasharray:8 7;animation:case-energy 2s linear infinite}.case-water-path{stroke-dasharray:15 365;animation:case-water 6s linear infinite}@keyframes case-energy{to{stroke-dashoffset:-30}}@keyframes case-water{to{stroke-dashoffset:380}}@media(max-width:1000px){.project-layout{grid-template-columns:1fr;gap:30px}.project-figure{max-width:700px;width:100%}.project-narrative{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-step+.project-step{margin:0}.project-step h4{font-size:19px}.project-takeaway{grid-template-columns:1fr 3fr}}@media(max-width:650px){.cases .section-heading{margin-bottom:40px}.project-story{padding-top:28px}.project-story+.project-story{margin-top:50px}.project-intro h3{font-size:31px}.project-lead{font-size:16px}.project-figure{padding:18px 4px}.figure-overline{margin-bottom:10px}.project-figure svg{min-width:0}.project-figure figcaption{font-size:12px}.project-narrative,.project-detail-grid{grid-template-columns:1fr;gap:24px}.project-step h4{font-size:22px}.project-takeaway{grid-template-columns:1fr;gap:10px}.project-takeaway p{font-size:16px}.project-details summary{font-size:15px}.cases-method{margin-top:40px;font-size:23px}}@media(prefers-reduced-motion:reduce){.case-energy-path,.case-water-path{animation:none}.case-water-path{display:none}}
.case-diagram-scroll{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}.case-diagram-scroll svg{min-width:540px}.diagram-mobile-hint{display:none}@media(max-width:650px){.diagram-mobile-hint{display:block;font-size:12px;color:inherit;margin:12px 14px 0;opacity:.8}}
