.retrofit{--sl:#3C4859;--sl-ink:#2E3846;--sl-wash:#ECEEF1;--sl-night:#1E252F;--amb:#F0A51E;--amb-ink:#8A5A00;--amb-wash:#FDF2DE;--acc:var(--amb)}.retrofit ::selection{background:#FBE3B4}.retrofit :focus-visible{outline-color:var(--amb)}.retrofit .rule{background:var(--amb)}.retrofit .sec.night{background:var(--sl-night);color:#fff}.retrofit .sec.night .eyebrow{color:rgba(255,255,255,.6)}.retrofit .sec.night .sec-head p{color:rgba(255,255,255,.78)}.rf-hero{padding:64px 0 84px;background:var(--paper)}.rf-hero-in{display:grid;grid-template-columns:minmax(0,4.2fr) minmax(0,7.8fr);grid-gap:56px;gap:56px;align-items:start}.rf-intro{padding-top:28px;position:-webkit-sticky;position:sticky;top:110px}.rf-intro .rf-h2{font-size:clamp(36px,4vw,56px);line-height:1.04;letter-spacing:-.02em}.rf-intro .lede{margin:22px 0 0;font-size:clamp(17px,1.35vw,19px);line-height:1.6;color:var(--ink-2);max-width:42ch}.rf-try{margin:22px 0 0;font-size:14.5px;color:var(--amb-ink);font-weight:500}.rf-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}@media (max-width:1060px){.rf-hero-in{grid-template-columns:minmax(0,1fr);gap:36px}.rf-intro{position:static;padding-top:0}}.fd{background:#fff;border:1px solid var(--ink);box-shadow:0 18px 50px rgba(30,37,47,.08)}.fd-sheet{padding:14px 14px 0}.fd-sheet svg{display:block;width:100%;height:auto}.fd-ground{stroke:var(--ink);stroke-width:1.4}.fd-roof{fill:none;stroke:var(--sl);stroke-width:5;stroke-linejoin:round}.fd-line,.fd-wall{stroke:var(--sl);stroke-width:1.4}.fd-wall{fill:var(--sl-wash)}.fd-slab{fill:var(--sl);opacity:.85}.fd-thin{fill:var(--amb-wash);stroke:var(--amb);stroke-width:.8}.fd-ins{fill:url(#fd-ins);stroke:var(--amb);stroke-width:1.2}.fd-hatch{stroke:var(--amb);stroke-width:2}.fd-gap{fill:#fff}.fd-glass{stroke:#6FA3C7;stroke-width:1.6}.fd-draught{fill:none;stroke:var(--ink-3);stroke-width:1.4;stroke-linecap:round}.fd-vent circle,.fd-vent path{fill:none;stroke:var(--sl);stroke-width:1.5}.fd-boiler rect,.fd-hp rect{fill:#fff;stroke:var(--sl);stroke-width:1.4}.fd-hp circle{fill:none;stroke:var(--sl);stroke-width:1.2}.fd-boiler text,.fd-hp text{font:500 11px var(--f-body);fill:var(--ink-2);text-anchor:middle}.fd-heat line{stroke:var(--amb);stroke-linecap:round}.fd-heat path{fill:var(--amb)}.fd-heat{transition:opacity .4s}.fd-val{font:500 12px var(--f-body);fill:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fd-block{display:grid;grid-template-columns:1fr auto auto;grid-gap:18px;gap:18px;margin:4px -14px 0;padding:9px 14px;border-top:1px solid var(--ink);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-2)}.fd-block span:first-child{color:var(--ink);font-weight:500}.fd-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);border-top:1px solid var(--line)}.fd-ctl{margin:0;padding:18px 20px;border:0;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.fd-ctl legend{float:left;width:100%;font-size:13.5px;color:var(--ink-2);margin-bottom:6px;padding:0}.fd-ctl button{display:flex;align-items:center;gap:10px;text-align:left;font:400 14px/1.2 var(--f-body);padding:9px 10px;border:1.5px solid rgba(4,0,0,.16);background:#fff;color:var(--ink);cursor:pointer;transition:background .2s,border-color .2s,color .2s}.fd-ctl button:hover{border-color:var(--ink)}.fd-ctl button[aria-pressed=true]{background:var(--sl);border-color:var(--sl);color:#fff}.fd-n{font:400 12px var(--f-head);color:var(--amb-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fd-ctl button[aria-pressed=true] .fd-n{color:var(--amb)}.fd-out{padding:18px 20px;display:flex;flex-direction:column;gap:16px}.fd-meter{display:grid;grid-template-columns:1fr auto;grid-gap:4px 12px;gap:4px 12px;align-items:baseline;font-size:13.5px;color:var(--ink-2)}.fd-meter b{font:400 30px/1 var(--f-head);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fd-meter i{grid-column:1/-1;display:block;height:6px;background:var(--sl-wash);margin-bottom:8px}.fd-meter s{display:block;height:100%;background:var(--amb);transition:width .45s cubic-bezier(.16,1,.3,1)}.fd-checks{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.fd-checks li{display:grid;grid-gap:2px;gap:2px;padding:9px 11px 10px 12px;border-left:3px solid var(--ink-3);background:var(--paper);font-size:13px;line-height:1.45;color:var(--ink-2)}.fd-checks b{font-weight:500;color:var(--ink);font-size:13.5px}.fd-checks li.warn{border-left-color:var(--amb);background:var(--amb-wash)}.fd-checks li.pass{border-left-color:#2F7A55}.fd-note{grid-column:1/-1;margin:0;padding:12px 20px 16px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.55;color:var(--ink-3)}@media (max-width:640px){.fd-side{grid-template-columns:1fr}.fd-ctl{border-right:0;border-bottom:1px solid var(--line)}.fd-block{grid-template-columns:1fr auto}.fd-block span:nth-child(3){display:none}.fd-val{font-size:21px}.fd-boiler text,.fd-hp text{font-size:17px}}.rf-services{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1.5px solid var(--ink)}.rf-services li{display:grid;grid-template-columns:48px 1fr;grid-gap:6px 14px;gap:6px 14px;padding:28px 32px 30px 0;border-bottom:1px solid var(--line)}.rf-services li:nth-child(odd){border-right:1px solid var(--line)}.rf-services li:nth-child(2n){padding-left:32px}.rf-sn{font-family:var(--f-head);font-size:22px;line-height:1.2;color:var(--amb-ink);grid-row:span 3}.rf-services h3{font-size:26px}.rf-services p{margin:4px 0 8px;color:var(--ink-2);max-width:52ch}.rf-io{margin:0;font-size:13.5px}.rf-io>div{display:grid;grid-template-columns:70px 1fr;grid-gap:10px;gap:10px;padding:6px 0;border-top:1px solid var(--line)}.rf-io dt{color:var(--sl);font-weight:500}.rf-io dd{margin:0;color:var(--ink)}@media (max-width:860px){.rf-services{grid-template-columns:1fr}.rf-services li,.rf-services li:nth-child(2n){padding:24px 0;border-right:0}}.rf-work{padding-top:100px;background:#fff}.rf-work .sec-head{margin-bottom:12px}.rf-case{padding:64px 0 80px;border-top:1px solid var(--line)}.rf-case.alt{background:var(--paper)}.rf-case-head{max-width:860px;margin-bottom:30px}.rf-kick{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:13px;color:var(--ink-2);margin-bottom:14px}.rf-tag{background:var(--sl);color:#fff;padding:4px 10px;font-weight:500}.rf-status{border:1.5px solid var(--amb);color:var(--ink);padding:3px 9px;font-weight:500;font-size:12px}.rf-case h3{font-size:clamp(32px,3.6vw,48px);line-height:1.05;letter-spacing:-.015em}.rf-strap{margin:14px 0 0;font-family:var(--f-head);font-size:clamp(19px,1.6vw,22px);line-height:1.4;color:var(--ink-2);max-width:56ch}.rf-case-body{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-gap:48px;gap:48px;align-items:start}.rf-case-body>.dv{min-width:0}@media (min-width:981px){.rf-case-body>.dv{position:-webkit-sticky;position:sticky;top:96px}}@media (max-width:980px){.rf-case-body{grid-template-columns:minmax(0,1fr);gap:32px}}.rf-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 22px;border-top:1.5px solid var(--ink)}.rf-facts>div{display:flex;flex-direction:column-reverse;padding:12px 12px 12px 0;border-bottom:1px solid var(--line)}.rf-facts dd{margin:0;font-family:var(--f-head);font-size:34px;line-height:1.05;color:var(--sl-ink)}.rf-facts dt{margin-top:5px;font-size:13px;line-height:1.4;color:var(--ink-2)}.rf-bg{margin:0 0 22px;font-size:15.5px;line-height:1.65;color:var(--ink-2)}.rf-h{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 4px}.rf-moves{list-style:none;margin:0 0 24px;padding:0;counter-reset:mv}.rf-moves li{counter-increment:mv;display:grid;grid-template-columns:32px 1fr;grid-gap:3px 8px;gap:3px 8px;padding:12px 0;border-bottom:1px solid var(--line)}.rf-moves li:before{content:counter(mv,decimal-leading-zero);font-family:var(--f-head);font-size:15px;color:var(--amb-ink);grid-row:span 2}.rf-moves b{font-weight:500;font-size:15px;line-height:1.35}.rf-moves span{font-size:14px;line-height:1.55;color:var(--ink-2)}.rf-io.wide>div{grid-template-columns:90px 1fr}.rf-more{display:inline-block;margin-top:18px;font-weight:500;font-size:14.5px;-webkit-text-decoration-color:var(--amb);text-decoration-color:var(--amb);text-underline-offset:4px;text-decoration-thickness:1.5px}.rf-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.3);counter-reset:st}.rf-steps li{counter-increment:st;padding:26px 26px 10px 0}.rf-steps li+li{padding-left:26px;border-left:1px solid rgba(255,255,255,.18)}.rf-steps li:before{content:counter(st,decimal-leading-zero);display:block;font-family:var(--f-head);font-size:15px;color:var(--amb);margin-bottom:14px}.rf-steps h3{font-size:24px;color:#fff}.rf-steps p{margin:10px 0 0;color:rgba(255,255,255,.78);font-size:15px;line-height:1.6}@media (max-width:900px){.rf-steps{grid-template-columns:1fr 1fr}.rf-steps li:nth-child(3){padding-left:0;border-left:0}}@media (max-width:560px){.rf-steps{grid-template-columns:1fr}.rf-steps li,.rf-steps li+li{padding:22px 0 8px;border-left:0;border-top:1px solid rgba(255,255,255,.18)}}@media (pointer:coarse){.fd-ctl button{min-height:44px}.rf-more{padding:10px 0}}.rf-more-work{padding:72px 0 96px;border-top:1px solid var(--line);background:#fff}.rf-more-h{display:flex;align-items:baseline;gap:14px;font-size:clamp(26px,2.6vw,34px);margin-bottom:22px}.rf-more-h span{font:400 14px var(--f-body);color:var(--ink-3)}.rf-reg{border-top:1.5px solid var(--ink)}.rf-reg details{border-bottom:1px solid var(--line)}.rf-reg summary{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;grid-gap:8px 28px;gap:8px 28px;align-items:center;padding:20px 0;cursor:pointer;list-style:none}.rf-reg summary::-webkit-details-marker{display:none}.rf-reg summary:after{content:"";width:12px;height:12px;justify-self:end;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg) translateY(-4px);transition:transform .25s}.rf-reg details[open] summary:after{transform:rotate(-135deg) translateY(-4px)}.rf-reg summary:hover .rf-reg-t b{text-decoration:underline;-webkit-text-decoration-color:var(--amb);text-decoration-color:var(--amb);text-underline-offset:4px;text-decoration-thickness:1.5px}.rf-reg-t{display:grid;grid-gap:4px;gap:4px;min-width:0}.rf-reg-t b{font:400 clamp(20px,1.8vw,24px)/1.2 var(--f-head)}.rf-reg-t span{font-size:14.5px;line-height:1.5;color:var(--ink-2);max-width:72ch}.rf-reg-m{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--ink-2);white-space:nowrap}.rf-reg-body{padding:8px 0 48px}@media (max-width:720px){.rf-reg summary{grid-template-columns:minmax(0,1fr) 20px}.rf-reg-m{grid-column:1;grid-row:2;white-space:normal;flex-wrap:wrap}.rf-reg summary:after{grid-column:2;grid-row:1}}.rf-work .sec-head a{color:inherit;-webkit-text-decoration-color:var(--amb);text-decoration-color:var(--amb);text-underline-offset:3px;text-decoration-thickness:1.5px}