.case-detail-page{background:#f5f7f8;color:#193044}
.case-container{width:min(1440px,100%);padding-left:44px;padding-right:44px;margin-left:auto;margin-right:auto}
.case-intro{padding-top:24px;padding-bottom:0}
.case-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#596f7f;font-size:13px;line-height:1.5;margin-bottom:13px}
.case-breadcrumb>span[aria-hidden]{color:#a8b7c2}.case-breadcrumb a:hover{color:#24466a}
.case-title{margin:0;font-size:clamp(36px,3.7vw,48px);line-height:1.12;font-weight:550;letter-spacing:-.05em;text-wrap:balance;overflow-wrap:anywhere;color:#173044}
.case-title>span{color:#d92540}
.case-facts{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 21px;margin:14px 0 0;padding:0;color:#526d80}
.case-facts>div{display:flex;align-items:center;gap:9px;min-width:0}
.case-facts>div+div::before{content:'';display:block;width:3px;height:3px;flex-shrink:0;background:#a2b3bf;border-radius:50%}
.case-facts dt,.case-accessible-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.case-facts dd{margin:0;font-size:14px;line-height:1.55;color:#526d80;font-weight:400;overflow-wrap:anywhere}.case-facts>div:last-child dd{font-variant-numeric:tabular-nums}
.case-summary{margin:12px 0 18px;max-width:78ch;font-size:18px;line-height:1.5;letter-spacing:-.01em;font-weight:400;color:#355469;overflow-wrap:anywhere;text-wrap:pretty}
.case-visible-scope{margin:0 0 16px}
.case-scope-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.case-scope-heading h2{margin:0;font-size:11px;line-height:1.5;font-weight:550;letter-spacing:.09em;text-transform:uppercase;color:#627a8a}

.case-services{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0}
.case-service{--scope-ink:#456277;--scope-border:#dce5ec;--scope-surface:#f3f6f9;display:flex;align-items:center;gap:7px;min-width:0;max-width:100%;box-sizing:border-box;font-size:13px;line-height:1.5;color:var(--scope-ink);font-weight:450;padding:6px 10px;border:1px solid var(--scope-border);border-radius:9px;background:var(--scope-surface);transition:background .2s,border-color .2s,transform .2s}.case-service>span{min-width:0;overflow-wrap:anywhere}
.case-service svg{flex-shrink:0;color:var(--scope-ink);width:17px;height:17px}
.case-service.scope-climate{--scope-ink:#376ba0;--scope-border:#d8e5f1;--scope-surface:#eef4fa}.case-service.scope-fire{--scope-ink:#a84558;--scope-border:#eed9df;--scope-surface:#fcf2f4}.case-service.scope-air{--scope-ink:#36765d;--scope-border:#d4e7dd;--scope-surface:#f0f7f3}.case-service.scope-heating{--scope-ink:#96566b;--scope-border:#eadce1;--scope-surface:#f9f2f5}.case-service.scope-central{--scope-ink:#405e91;--scope-border:#dce2ef;--scope-surface:#f2f4fa}.case-service.scope-water{--scope-ink:#3a738f;--scope-border:#d9e8ef;--scope-surface:#f0f7fa}.case-service.scope-gas{--scope-ink:#856942;--scope-border:#e9e0d2;--scope-surface:#f8f5f0}
.case-services-empty{margin:0 0 16px;font-size:15px;color:#526d80;line-height:1.6}
.case-project-details{overflow:hidden;border:1px solid #264662;border-left:3px solid #d92540;border-radius:12px;background:#fff;box-shadow:0 5px 16px #1930440b}
.case-project-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;padding:12px 19px;list-style:none;font-size:15px;line-height:1.5;color:#fff;background:linear-gradient(110deg,#203d59,#1b344e);cursor:pointer;transition:background .25s,padding .25s}
.case-project-details>summary::-webkit-details-marker{display:none}.case-project-details>summary:hover{background:#254765}
.case-detail-summary-copy{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 17px}.case-detail-summary-copy strong{font-size:15px;font-weight:550;color:#fff}.case-detail-summary-copy>span{font-size:13px;color:#c7d8e4}
.case-detail-toggle{display:grid;place-items:center;flex-shrink:0;width:31px;height:31px;border:1px solid #ffffff3b;border-radius:50%;color:#fff;background:#ffffff08;transition:background .25s,transform .25s}.case-project-details>summary:hover .case-detail-toggle{background:#ffffff15;transform:rotate(90deg)}.case-project-details[open] .case-detail-toggle{transform:rotate(45deg)}
.case-project-details-content{padding:23px 25px 26px}
.case-project-details[open] .case-project-details-content{animation:case-details-enter .25s ease-out}
@keyframes case-details-enter{from{opacity:.6;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.case-detail-description{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 38px;min-width:0}
.case-description{margin:0;font-size:18px;line-height:1.8;font-weight:400;letter-spacing:-.005em;color:#355469;white-space:pre-line;overflow-wrap:anywhere;text-wrap:pretty}.case-detail-description>.case-description:only-of-type{grid-column:1/-1;max-width:100ch}
.case-gallery{padding-top:22px;padding-bottom:18px;scroll-margin-top:150px}
.case-gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}
.case-gallery-heading h2{display:flex;align-items:center;gap:13px;margin:0;font-size:27px;line-height:1.25;font-weight:500;letter-spacing:-.035em;color:#193c56}
.case-gallery-count{padding:4px 9px;border:1px solid #d4dfe7;border-radius:30px;font-size:12px;line-height:1.5;font-weight:500;letter-spacing:0;color:#4e6e83;font-variant-numeric:tabular-nums}
.case-gallery-heading>p{margin:0;font-size:14px;color:#4d6e83;line-height:1.6}
.case-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:31px 24px}
.case-photo{min-width:0;margin:0;transition:transform .4s;background:#fff;border:1px solid #dbe5eb;border-radius:16px;overflow:hidden}
.case-photo-button{display:block;position:relative;width:100%;padding:0;border:0;border-radius:0;overflow:hidden;background:#fff;aspect-ratio:4/3;cursor:zoom-in;isolation:isolate;box-shadow:0 7px 22px #193b4c05}
.case-photo-button img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.6,.2,1);background:#fff}
.case-photo-button>span{position:absolute;right:17px;bottom:17px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffff9a;border-radius:50%;background:#fdfefeeb;color:#284d68;font-size:19px;backdrop-filter:blur(8px);transition:color .25s,background .25s,transform .3s}
.case-photo-caption{display:flex;align-items:flex-start;gap:12px;color:#3e5e73;font-size:16px;line-height:1.65;padding:17px 19px 20px;background:#fff}
.case-photo-caption>span:first-child{font-size:12px;line-height:2.1;flex-shrink:0;font-variant-numeric:tabular-nums;color:#738da0}.case-photo-caption>span:last-child{min-width:0;overflow-wrap:anywhere}
@media(hover:hover) and (pointer:fine){.case-service:hover{transform:translateY(-1px);border-color:var(--scope-ink)}.case-photo:hover{transform:translateY(-3px)}.case-photo:hover img{transform:scale(1.025)}.case-photo:hover .case-photo-button>span{background:#fff;color:#284d68;border-color:#dce5eb;transform:rotate(6deg)}}
.case-detail-page .gallery-contact{width:min(1272px,calc(100% - 88px));position:relative;isolation:isolate;overflow:hidden;background:#172f43;border:1px solid #24445e;padding:32px 35px;margin-top:37px;margin-bottom:44px;border-radius:17px;box-shadow:none}
.case-detail-page .gallery-contact::after{content:'↗';position:absolute;right:25%;top:-21px;color:#84a6c116;line-height:1;font-size:174px;font-weight:350;z-index:-1}
.case-detail-page .gallery-contact .eyebrow{font-size:12px;letter-spacing:.14em;margin-bottom:12px;color:#adc1d0}.case-detail-page .gallery-contact h2{font-size:32px;font-weight:500;letter-spacing:-.045em;line-height:1.2;color:#fff}
.case-detail-page .gallery-contact .button{background:#d62540;color:#fff;border-radius:8px;font-size:16px;padding:14px 20px;min-height:49px}
.case-detail-page .photo-viewer{width:min(1160px,calc(100% - 40px));background:#fff;border:1px solid #d6e1e8;border-radius:17px;padding:16px;color:#244357}
.case-detail-page .photo-viewer::backdrop{background:#202a32b8}
.case-detail-page .photo-viewer img{height:calc(80dvh - 110px);background:#fff}.case-detail-page .photo-viewer figcaption{font-size:17px;line-height:1.6;color:#355266;padding:15px 30px 4px}
.case-detail-page .viewer-controls{padding-top:12px}.case-detail-page .viewer-controls,.case-detail-page #viewer-count{color:#355266}
.case-detail-page .photo-viewer .viewer-controls .round-arrow{background:#f5f8fa;border-color:#d6e1e8;color:#244357}.case-detail-page .photo-viewer .viewer-controls .round-arrow:hover{background:#eaf1f5;color:#193c56}
.case-detail-page .photo-viewer .dialog-close{position:absolute;right:17px;top:17px;font-size:25px;width:39px;height:39px;background:#ffffffed;line-height:1;box-shadow:0 3px 12px #10253120}
.case-detail-page .case-photo-button:focus-visible,.case-detail-page .case-breadcrumb a:focus-visible,.case-detail-page .case-project-details>summary:focus-visible{outline:2px solid #477baa;outline-offset:4px}
.case-gallery-empty{grid-column:1/-1;padding:25px 0;color:#526d80;font-size:17px}
.case-motion .case-photo:not(.case-seen){opacity:0;transform:translateY(13px)}.case-motion .case-photo{transition:opacity .55s,transform .55s}
@media(max-width:1050px){.case-container{padding-left:32px;padding-right:32px}.case-title{font-size:42px}.case-detail-description{gap:22px 28px}.case-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-detail-page .gallery-contact{width:calc(100% - 64px)}}
@media(max-width:780px){.case-detail-description{grid-template-columns:1fr}.case-gallery{scroll-margin-top:88px}.case-detail-page .gallery-contact h2{font-size:29px}}
@media(max-width:600px){.case-container{padding-left:20px;padding-right:20px}.case-intro{padding-top:18px}.case-breadcrumb{font-size:12px;gap:8px;margin-bottom:12px}.case-breadcrumb>span[aria-current]{display:none}.case-title{font-size:34px;line-height:1.12;letter-spacing:-.045em}.case-facts{gap:5px 14px;margin-top:12px}.case-facts dd{font-size:13px;line-height:1.5}.case-summary{font-size:18px;line-height:1.5;margin:11px 0 15px}.case-visible-scope{margin-bottom:14px}.case-scope-heading{margin-bottom:7px}.case-services{display:flex;flex-wrap:wrap;gap:6px}.case-service{font-size:13px;padding:5px 9px;gap:6px;white-space:normal}.case-project-details>summary{min-height:62px;padding:11px 15px}.case-detail-summary-copy{display:block}.case-detail-summary-copy>span{display:block;font-size:12px;line-height:1.4;margin-top:2px}.case-detail-toggle{width:29px;height:29px}.case-project-details-content{padding:21px 20px 23px}.case-description{font-size:18px;line-height:1.8}.case-gallery{padding-top:18px}.case-gallery-heading{margin-bottom:17px}.case-gallery-heading h2{font-size:25px;gap:10px}.case-gallery-count{font-size:12px}.case-gallery-heading>p{display:none}.case-photo-grid{grid-template-columns:1fr;gap:25px}.case-photo-button>span{right:13px;bottom:13px;width:33px;height:33px;font-size:19px}.case-photo-caption{font-size:16px;padding:17px;gap:10px}.case-detail-page .gallery-contact{width:calc(100% - 40px);padding:27px;margin-top:28px;margin-bottom:30px;border-radius:14px}.case-detail-page .gallery-contact h2{font-size:29px}.case-detail-page .gallery-contact .button{margin-top:21px;font-size:16px}.case-detail-page .photo-viewer{width:calc(100% - 20px);padding:10px;border-radius:12px}.case-detail-page .photo-viewer img{height:60dvh}.case-detail-page .photo-viewer figcaption{font-size:16px;padding:14px 8px 4px}.case-detail-page .photo-viewer .dialog-close{top:12px;right:12px;width:36px;height:36px}}
@media(max-width:360px){.case-title{font-size:32px}.case-detail-page .gallery-contact h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.case-project-details[open] .case-project-details-content{animation:none!important}.case-service,.case-photo,.case-photo-button img,.case-photo-button>span,.case-detail-toggle{transition:none!important;transform:none!important}.case-motion .case-photo:not(.case-seen){opacity:1;transform:none}}
