.mechanical-opening{padding-top:46px}.mechanical-opening>.text-link{font-size:14px}.case-title{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:6%;padding:38px 0}.case-title h1{font-size:clamp(46px,6vw,86px);line-height:1.02}.case-intro{font-size:20px;max-width:420px;color:var(--muted);line-height:1.5;padding-bottom:10px}.case-hero{position:relative;background:#20313b}.case-hero>img{width:100%;max-height:540px;object-fit:cover;display:block}.case-hero-label{position:absolute;left:0;right:0;bottom:0;padding:20px 24px;display:flex;justify-content:space-between;gap:16px;color:#fff;background:linear-gradient(transparent,#0d1b28e6);font-size:12px}.case-hero-label>a{font-weight:700;text-decoration:underline;text-underline-offset:5px}.case-summary{display:grid;grid-template-columns:1.35fr 1.35fr 1fr .9fr;border-bottom:1px solid var(--line);gap:22px;padding:30px 0}.case-summary strong{display:block;font-size:40px;font-weight:600;line-height:1.1}.case-summary strong small{font-size:12px;margin-left:7px}.case-summary span{display:block;font-size:13px;color:var(--muted);margin-top:10px;line-height:1.4}.case-review-note{display:grid;grid-template-columns:210px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}.case-review-note>strong{font-size:15px;color:var(--accent)}.case-review-note p{font-size:14px;line-height:1.6;color:var(--muted);max-width:920px;margin:0}.case-downloads{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:25px 0 35px}.case-downloads .button{font-size:14px}.case-nav{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:20px;font-size:13px;font-weight:700}.case-nav a:hover{text-decoration:underline;text-underline-offset:5px}.case-section{padding-block:68px;scroll-margin-top:20px;border-bottom:1px solid var(--line)}.case-section-title{display:grid;grid-template-columns:180px 1.05fr 1fr;gap:30px;align-items:start;margin-bottom:32px}.case-section-title h2{font-size:clamp(30px,3.3vw,48px);line-height:1.1}.case-section-title>p{font-size:15px;color:var(--muted);line-height:1.65}.route-workspace{display:grid;grid-template-columns:1.7fr 1fr;min-height:490px;border:1px solid var(--line)}.route-canvas{position:relative;background:var(--surface);padding:15px 20px 50px;min-width:0}.full-route-svg{display:block;width:100%;height:100%;max-height:530px;color:var(--text)}.route-ink{fill:none;stroke:var(--route);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.57}.route-hit{fill:none;stroke:transparent;stroke-width:24;cursor:pointer;stroke-linejoin:round;pointer-events:stroke}.route-hit:focus{outline:0;stroke:var(--accent);stroke-opacity:.18}.route.supply{--route:#3e87dc}.route.return{--route:#35a582}.route.exhaust{--route:#d6843b}.route.existing_exhaust{--route:#8895a7}.route.existing_exhaust .route-ink{stroke-dasharray:10 7}.route.selected .route-ink{stroke-width:10;opacity:1;filter:drop-shadow(0 0 4px #0002)}.route-legend{position:absolute;bottom:16px;left:20px;right:20px;display:flex;flex-wrap:wrap;gap:15px;font-size:11px}.route-legend span:before{content:'';display:inline-block;width:15px;height:3px;background:var(--route);vertical-align:middle;margin-right:5px}.route-legend .supply{--route:#3e87dc}.route-legend .return{--route:#35a582}.route-legend .exhaust{--route:#d6843b}.route-legend .existing_exhaust{--route:#8895a7}.route-readout{background:var(--surface-alt);padding:35px 30px}.route-readout h3{font-size:28px;margin-top:22px}.route-readout>strong{font-size:42px;display:block;font-variant-numeric:tabular-nums;margin:8px 0}.route-readout>strong small{font-size:16px}.route-readout>p{font-size:14px;color:var(--muted)}.route-readout dl{font-size:13px;margin:22px 0}.route-readout dl>div{padding:10px 0;border-top:1px solid var(--line)}.route-readout dt{font-weight:700}.route-readout dd{margin:4px 0 0;color:var(--muted);line-height:1.4}.route-readout label{display:block;font-size:12px;margin-bottom:7px;font-weight:700}.route-readout select,.scope-tools select,.scope-tools input{border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;padding:12px 14px;width:100%;border-radius:0;min-height:44px}.system-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:20px 0;font-size:12px}.system-totals b{display:block;margin-top:6px;font-size:16px}.case-detail{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.case-detail summary{padding:20px 0;font-size:15px;cursor:pointer;font-weight:700}.case-table-scroll{overflow:auto;overscroll-behavior-x:contain}.case-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;line-height:1.45}.case-table th,.case-table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}.case-table thead{background:var(--surface-alt);color:var(--text)}.case-table thead th{font-size:11px;font-weight:700;letter-spacing:.3px;white-space:nowrap}.case-table tbody th{font-weight:500}.case-table tbody tr:hover{background:var(--surface-alt)}.case-table .qty{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}.case-table .qty small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.case-table .row-id{display:block;font-size:11px;font-weight:700;color:var(--accent);margin-bottom:5px}.case-table p{font-size:12px;color:var(--muted);margin:7px 0 0;line-height:1.6}.case-table .row-basis{display:block;font-size:12px;margin-top:5px;color:var(--muted)}.scope-status{font-size:12px;font-weight:700}.scope-table{min-width:800px}.scope-table th:first-child{width:30%}.scope-table td:nth-child(2){width:110px}.scope-table td:nth-child(3){width:145px;font-size:12px}.scope-table td:last-child{width:44%}.scope-table [hidden]{display:none!important}.scope-table-scroll{max-height:780px}.scope-table-scroll thead{position:sticky;top:0;z-index:1}.case-footnote{font-size:12px;color:var(--muted);line-height:1.6;margin-top:18px;max-width:920px}.scope-tools{display:grid;grid-template-columns:1.2fr 1fr auto;gap:20px;align-items:end;margin-bottom:22px}.scope-tools label{font-size:12px;font-weight:700;display:block}.scope-tools input,.scope-tools select{margin-top:8px;font-size:14px}.scope-tools>span{font-size:12px;color:var(--muted);padding-bottom:14px}.run-select{border:0;padding:0;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;font-weight:700}.run-select>span{display:block;font-size:10px;font-weight:500;color:var(--muted)}.run-select[aria-pressed=true]{color:var(--accent)}.equipment-cards{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.equipment-cards article{padding:25px 22px;border-right:1px solid var(--line)}.equipment-cards article:last-child{border:0}.equipment-cards h3{font-size:19px;line-height:1.35;margin:22px 0 12px}.equipment-cards p{font-size:13px;color:var(--muted);line-height:1.6;margin:5px 0}.equipment-cards small{font-size:11px;display:block;color:var(--muted);line-height:1.6;margin-top:16px}.equipment-rfi{display:block;font-size:11px;margin-top:18px;color:var(--accent)}.device-total{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;padding:24px 0 12px}.airflow-question{font-size:14px;max-width:900px;line-height:1.6;color:var(--muted);margin-bottom:24px}.case-issues>article{display:grid;grid-template-columns:180px 1fr;gap:30px;border-top:1px solid var(--line);padding:26px 0}.case-issues h3{font-size:20px;line-height:1.35}.case-issues p{font-size:15px;color:var(--muted);margin:10px 0;line-height:1.6}.case-issues small{font-size:12px;color:var(--muted)}.case-source{display:grid;grid-template-columns:1fr 1fr;gap:7%}.case-source h2{font-size:40px;line-height:1.1;margin:22px 0}.case-source>div>p{font-size:14px;color:var(--muted);line-height:1.7;margin:22px 0}.source-hash code{display:block;overflow-wrap:anywhere;font-size:10px;line-height:1.7}.review-basis h3{font-size:21px;margin:0 0 10px}.review-basis h3:not(:first-child){margin-top:30px}.review-basis p,.review-basis li{font-size:14px;color:var(--muted);line-height:1.7}.review-basis ul{padding-left:18px}.review-basis li{padding-left:5px;margin-bottom:12px}.case-closing{padding-block:70px}.case-closing h2{font-size:clamp(30px,4vw,55px);line-height:1.15;margin:20px 0}.case-closing p{color:var(--muted);margin-bottom:20px}.portfolio-takeoff{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px;padding:24px;border:1px solid var(--line);background:var(--surface-alt)}.portfolio-takeoff strong{display:block;font-size:20px}.portfolio-takeoff p{color:var(--muted);font-size:13px;margin-top:8px}.portfolio-takeoff .button{flex-shrink:0;font-size:14px}.dialog-takeoff-link{display:inline-block;color:var(--accent);font-weight:700;font-size:14px;margin-left:auto;margin-right:22px}.dialog-takeoff-link[hidden]{display:none}.gallery-takeoff-link{padding:24px;border:1px solid var(--line);margin-top:30px;display:flex;gap:25px;align-items:center;justify-content:space-between;font-size:14px}.gallery-takeoff-link strong{font-size:20px;display:block;margin-bottom:6px}
@media(max-width:1000px){.case-section-title{grid-template-columns:1fr 2fr}.case-section-title>.index{grid-column:1/-1}.equipment-cards{grid-template-columns:1fr 1fr}.equipment-cards article:nth-child(2){border-right:0}.equipment-cards article:nth-child(-n+2){border-bottom:1px solid var(--line)}.route-workspace{grid-template-columns:1.4fr 1fr}.route-readout{padding:28px 22px}.case-source{gap:4%}.case-nav{gap:18px}}
@media(max-width:760px){.mechanical-opening{padding-top:30px}.case-title{grid-template-columns:1fr;gap:22px;padding:30px 0}.case-title h1{font-size:52px}.case-intro{font-size:17px;padding:0}.case-hero>img{min-height:280px;object-fit:cover}.case-hero-label{font-size:9px;padding:16px;flex-direction:column;gap:8px}.case-summary{grid-template-columns:1fr 1fr;gap:26px 18px;padding:25px 0}.case-summary strong{font-size:34px}.case-summary span{font-size:12px}.case-review-note{grid-template-columns:1fr;gap:8px}.case-review-note p{font-size:13px}.case-downloads{align-items:stretch;flex-direction:column}.case-downloads .button{width:100%;justify-content:space-between}.case-downloads>.text-link{padding-top:6px}.case-nav{gap:16px;font-size:12px;padding-block:18px}.case-section{padding-block:44px}.case-section-title{grid-template-columns:1fr;gap:16px}.case-section-title h2{font-size:34px}.case-section-title>p{font-size:15px}.route-workspace{grid-template-columns:1fr}.route-canvas{height:360px;padding:12px 8px 43px}.route-legend{font-size:10px;gap:12px;left:14px;right:10px}.route-readout{padding:22px}.route-readout h3{margin-top:15px}.route-readout>strong{font-size:36px}.route-readout dl{display:grid;grid-template-columns:1fr;gap:0;margin:15px 0}.system-totals{grid-template-columns:1fr 1fr;gap:18px}.system-totals b{font-size:14px}.scope-tools{grid-template-columns:1fr;gap:14px}.scope-tools>span{padding-bottom:0}.case-table{font-size:13px;min-width:630px}.case-table th,.case-table td{padding:12px}.scope-table{min-width:790px}.scope-table-scroll{max-height:660px}.equipment-cards{grid-template-columns:1fr}.equipment-cards article{border-right:0!important;border-bottom:1px solid var(--line)}.equipment-cards article:nth-child(3){border-bottom:1px solid var(--line)}.equipment-cards h3{margin-top:12px}.case-issues>article{grid-template-columns:1fr;gap:13px}.case-issues h3{font-size:19px}.case-issues p{font-size:14px}.case-source{grid-template-columns:1fr;gap:40px}.case-source .case-table{min-width:400px}.case-source h2{font-size:34px}.case-closing{padding-block:44px}.portfolio-takeoff,.gallery-takeoff-link{align-items:stretch;flex-direction:column;padding:20px}.portfolio-takeoff .button{justify-content:space-between}.dialog-bar{flex-wrap:wrap}.dialog-takeoff-link{order:3;margin:0;width:100%;padding-top:12px}}
.case-source>div{min-width:0}
@media print{.site-header,.site-footer,.case-nav,.case-downloads,.scope-tools,.case-closing{display:none}.case-section,.mechanical-opening{padding:20px 0}.scope-table-scroll{max-height:none;overflow:visible}.case-table{min-width:0}.case-section-title{display:block}.case-section-title .index{display:block;margin-bottom:10px}.case-section-title h2{font-size:25px}.case-table th,.case-table td{font-size:9px;padding:6px}.case-summary strong{font-size:25px}}
