.thermal-demo{--thermal-ease:cubic-bezier(.23,1,.32,1);margin:0 0 72px}.thermal-heading{padding:18px 0 26px;max-width:none}.thermal-heading h1{font-size:clamp(36px,4vw,56px);line-height:1.04;font-weight:500;margin:0 0 18px}.thermal-heading h1 span{color:var(--mep-ink)}.thermal-heading .mep-kicker{margin-bottom:18px}.thermal-heading>p:last-child{margin:0;font-size:15px;max-width:620px}.thermal-shell{position:relative}.thermal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 16px;border-bottom:1px solid var(--border)}.thermal-demo button,.thermal-demo select{font:inherit;color:inherit;border-radius:0}.thermal-stages{display:flex;background:var(--bg2);border:1px solid var(--border)}.thermal-stages button{min-height:42px;padding:0 20px;border:0;background:transparent;cursor:pointer;font-size:12px}.thermal-stages button[aria-pressed=true]{background:var(--mep-ink);color:var(--bg)}.thermal-project{font-size:10px;letter-spacing:.04em;color:var(--text-secondary)}.thermal-workspace{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;min-height:570px}.thermal-workspace[hidden]{display:none}.thermal-scene{position:relative;min-width:0;height:570px;background:var(--bg);transition:opacity .25s var(--thermal-ease)}.thermal-model{position:absolute;inset:38px 0 130px}.thermal-model canvas{display:block;width:100%;height:100%;cursor:grab}.thermal-model canvas:active{cursor:grabbing}.thermal-model-label{transition:opacity .18s ease-out;position:absolute;top:0;left:0;z-index:1;pointer-events:none;padding:7px 9px;border-left:2px solid var(--mep-ink);background:var(--bg);color:var(--text);font-size:10px;line-height:1.5;opacity:0;max-width:190px}.thermal-model-label b{display:block;color:var(--mep-ink);font-weight:500}.thermal-scene-tools{position:relative;z-index:2;padding:14px 12px 0 0;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px}.thermal-scene-tools button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:4px 8px;border:0;background:transparent;cursor:pointer}.thermal-levels{display:flex;gap:3px}.thermal-levels button[aria-pressed=true]{box-shadow:inset 0 -1px var(--mep-ink);color:var(--mep-ink)}.thermal-demo select{background:var(--bg);border:1px solid var(--border);padding:9px;max-width:100%}.thermal-scene-caption{position:absolute;bottom:12px;left:0;right:20px;display:flex;justify-content:space-between;gap:18px;font-size:10px;line-height:1.7;color:var(--text-secondary)}.thermal-scene-caption span:last-child{text-align:right}.thermal-legend{position:absolute;bottom:64px;left:0;max-width:100%;font-size:10px;color:var(--text-secondary)}.thermal-legend>div{display:flex;gap:3px;margin:6px 0}.thermal-legend>div>span{width:48px;font-size:9px}.thermal-legend i{height:4px;width:100%;display:block;margin-bottom:4px}.thermal-legend small{font-size:9px}.thermal-record{margin-top:22px;border:1px solid var(--border);background:var(--bg2);padding:24px;min-height:490px;display:flex;flex-direction:column;min-width:0}.thermal-record[hidden]{display:none}.thermal-record>label{font-size:10px;color:var(--mep-ink);margin-bottom:8px;text-transform:uppercase;letter-spacing:.1em}.thermal-record select{width:100%;font-size:12px}.thermal-record-id{font-size:10px;letter-spacing:.08em;margin:22px 0 7px}.thermal-record h3{font-size:23px;font-weight:500;margin:0 0 16px}.thermal-values{margin:0;font-size:11px;font-variant-numeric:tabular-nums}.thermal-values>div{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid var(--border)}.thermal-values dd{margin:0;text-align:right}.thermal-values dt{color:var(--text-secondary)}.thermal-duty{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.thermal-duty strong{font-size:30px;font-weight:500;letter-spacing:-.035em}.thermal-duty span{font-size:11px;color:var(--text-secondary)}.thermal-demo .thermal-small{font-size:11px;line-height:1.6;margin:14px 0}.thermal-next{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding:18px 0 0;background:transparent;border:0;cursor:pointer;font-size:12px!important}.thermal-summary{display:flex;gap:40px;padding:20px 0;border-top:1px solid var(--border);font-size:11px;font-variant-numeric:tabular-nums}.thermal-summary b{font-size:24px;font-weight:500;margin-right:6px}.thermal-demo .thermal-disclosure{margin:0;max-width:850px;font-size:10px}.thermal-report{--text:#22211e;--text-secondary:#57554f;--bg:#fbfaf7;--bg2:#eeeae1;--border:#d9d5cc;--mep-ink:#a32936;color:var(--text);position:absolute;top:20px;left:50%;transform:translateX(-50%);width:min(700px,calc(100% - 40px));max-height:530px;overflow:auto;padding:28px 32px;background:var(--bg);border:1px solid var(--border);box-shadow:0 16px 55px #20181618;z-index:4;animation:thermal-report-reveal .6s var(--thermal-ease)}.thermal-report-close{position:absolute;right:10px;top:8px;display:grid;place-items:center;width:36px;height:36px;background:none;border:0;cursor:pointer}.thermal-report-head{display:flex;justify-content:space-between;gap:16px;font-size:10px;letter-spacing:.1em;border-bottom:2px solid var(--mep-ink);padding:0 18px 18px 0}.thermal-report-head b{color:var(--mep-ink)}.thermal-report h3{font-size:28px;margin:24px 0 6px;font-weight:500}.thermal-report>p{margin:0 0 18px;font-size:12px}.thermal-report-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:16px 0;border-block:1px solid var(--border)}.thermal-report-metrics div{display:flex;flex-direction:column;gap:6px}.thermal-report-metrics strong{font-size:23px;font-weight:500;font-variant-numeric:tabular-nums}.thermal-report-metrics small{font-size:11px}.thermal-report-metrics span{font-size:10px;color:var(--text-secondary)}.thermal-ranked h4{font-size:13px;margin:20px 0 4px}.thermal-ranked>p{font-size:10px;margin:0 0 15px}.thermal-bar-row{display:grid;grid-template-columns:155px 1fr 125px;gap:12px;font-size:10px;margin:9px 0;align-items:center;font-variant-numeric:tabular-nums}.thermal-bar-row>span:last-child{text-align:right}.thermal-bar-row>div{position:relative;height:13px}.thermal-bar-row i{height:5px;display:block;width:100%;transform-origin:left;margin-bottom:3px}.heat-bar{background:#b4652a}.cool-bar{background:#397da5}.thermal-bar-key{display:flex;gap:18px;font-size:10px;margin-top:14px}.thermal-bar-key span:first-child{color:#884213}.thermal-bar-key span:last-child{color:#205b83}.thermal-schedule{margin-top:22px;font-size:12px}.thermal-schedule summary{cursor:pointer;padding:10px 0}.thermal-table-scroll{overflow:auto;border-block:1px solid var(--border)}.thermal-report table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.thermal-report caption{text-align:left;font-size:11px;padding:14px 0}.thermal-report td,.thermal-report th{padding:10px 12px;border-bottom:1px solid var(--border)}.thermal-report thead{background:var(--bg2)}.thermal-report tbody th{font-weight:400}.thermal-report-basis{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:22px}.thermal-report-basis h4{font-size:12px;margin:0 0 7px}.thermal-report-basis p{font-size:11px;margin:0}.thermal-download{display:inline-flex;align-items:center;gap:10px;font-size:12px;margin-top:24px}.thermal-model-error{position:absolute;inset:25%;font-size:14px;z-index:3;background:var(--bg)}.thermal-demo :is(button,select,a,summary,[tabindex]):focus-visible{outline:2px solid var(--mep-ink);outline-offset:3px}.is-report .thermal-scene{opacity:.22}.is-report .thermal-legend,.is-report .thermal-model-label,.is-report .thermal-scene-tools{visibility:hidden}.is-instant *,.is-instant .thermal-report{animation:none!important;transition:none!important}@keyframes thermal-report-reveal{0%{opacity:0;transform:translate(-50%,30px) scale(.97)}to{opacity:1;transform:translate(-50%) scale(1)}}@media(hover:hover) and (pointer:fine){.thermal-demo button:not([aria-pressed=true]):hover{color:var(--mep-ink)}}@media(max-width:900px){.thermal-heading{padding-top:16px}.thermal-heading h1{font-size:clamp(36px,7vw,55px)}.thermal-toolbar{flex-wrap:wrap;gap:12px}.thermal-stages{width:100%}.thermal-stages button{flex:1;padding:0 10px;min-height:44px}.thermal-workspace{grid-template-columns:1fr;min-height:0}.thermal-scene{height:clamp(360px,58svh,540px)}.thermal-record{margin-top:0;min-height:0;padding:22px}.thermal-next{margin-top:12px}.thermal-summary{flex-wrap:wrap;gap:16px;padding:20px 0}.thermal-summary b{font-size:20px}.thermal-report{position:relative;top:auto;left:auto;transform:none;width:100%;max-height:none;padding:24px 18px;box-shadow:none;animation:thermal-report-mobile .25s var(--thermal-ease)}.is-report .thermal-scene{display:none}.thermal-report-metrics{gap:12px}.thermal-report-metrics strong{font-size:19px}.thermal-report-metrics strong small{display:block}.thermal-report-basis{grid-template-columns:1fr;gap:20px}.thermal-bar-row{grid-template-columns:1fr 90px;gap:5px;margin:12px 0}.thermal-bar-row>div{grid-row:2;grid-column:1/-1}.thermal-bar-row>span:last-child{grid-column:2;grid-row:1;font-size:9px}.thermal-scene-caption{font-size:9px;right:0}.thermal-model-label{font-size:9px;max-width:160px}}@keyframes thermal-report-mobile{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.thermal-demo *,.thermal-report{animation:none!important;transition:none!important}}:root[data-theme=dark] .thermal-demo{--thermal-heat-0:#3a3530;--thermal-heat-1:#68492b;--thermal-heat-2:#966335;--thermal-heat-3:#b88041;--thermal-heat-4:#d19a59;--thermal-heat-5:#efb87b;--thermal-cool-0:#273946;--thermal-cool-1:#365a73;--thermal-cool-2:#4d7e9c;--thermal-cool-3:#71a5c2;--thermal-cool-4:#a6d2e9}@media(min-width:1100px){.thermal-heading h1 br{display:none}.thermal-heading h1 span{margin-left:.18em}}.thermal-bar-row>div{transform-origin:left;animation:thermal-bars .7s var(--thermal-ease)}@keyframes thermal-bars{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.thermal-bar-row>div{animation:none}}.thermal-expansion{margin:100px 0 70px}.solar-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-bottom:36px}.solar-heading h2{font-size:clamp(32px,3.5vw,48px);line-height:1.12;letter-spacing:-.035em;font-weight:400;margin:18px 0}.solar-heading p{line-height:1.8;font-size:15px;color:var(--text-secondary);margin:0 0 14px}.solar-heading .mep-kicker,.solar-readout .mep-kicker{color:var(--mep-ink);font-size:10px}.solar-study{display:grid;grid-template-columns:minmax(0,1fr) 290px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.solar-drawing{min-width:0}.solar-drawing svg{width:100%;display:block;overflow:hidden}.solar-grid{stroke:var(--text);opacity:.08;stroke-width:1}.solar-shadow{fill:var(--text);opacity:.1}.solar-wall{fill:var(--bg);stroke:var(--text);stroke-width:1}.solar-side{fill:var(--bg-secondary,var(--bg));stroke:var(--text)}.solar-roof{fill:var(--bg);stroke:var(--text)}.solar-window{fill:var(--mep-ink);fill-opacity:.15;stroke:var(--mep-ink)}.solar-ray{stroke:var(--mep-ink);stroke-dasharray:4 5;opacity:.5}.solar-sun{fill:var(--mep-ink)}.solar-drawing text{fill:var(--text-secondary);font-size:10px;letter-spacing:1px}.solar-time{display:flex;gap:8px;align-items:center;padding:0 0 20px}.solar-time button{border:1px solid var(--border);padding:9px 15px;background:transparent;font:inherit;font-size:12px;color:var(--text);cursor:pointer}.solar-time button[aria-pressed=true]{background:var(--mep-ink);color:var(--bg);border-color:var(--mep-ink)}.solar-time span{font-size:11px;margin-left:10px;color:var(--text-secondary)}.solar-time button:focus-visible{outline:2px solid var(--mep-ink);outline-offset:3px}.solar-readout{border-left:1px solid var(--border);padding:28px}.solar-readout h3{font-size:23px;font-weight:400;letter-spacing:-.02em}.solar-readout dl>div{display:flex;justify-content:space-between;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--border)}.solar-readout dt{font-size:12px}.solar-readout dd{font-size:29px;margin:0;font-variant-numeric:tabular-nums}.solar-readout p{font-size:12px;line-height:1.7;color:var(--text-secondary)}.solar-readout .solar-note{font-size:10px}.solar-method{display:flex;flex-wrap:wrap;gap:20px;padding:22px 0;font-size:12px}.solar-method span+span:before{content:"→";margin-right:20px;color:var(--mep-ink)}.solar-context{margin-top:90px}.solar-context figure{margin:0}.solar-context img{display:block;width:100%;height:auto}.solar-context figcaption{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border);padding:17px 0;font-size:11px;color:var(--text-secondary)}@media(max-width:800px){.thermal-expansion{margin-top:65px}.solar-heading{gap:10px}.solar-heading,.solar-study{grid-template-columns:1fr}.solar-readout{border-left:0;border-top:1px solid var(--border);padding:24px 0}.solar-readout dl{display:flex;gap:35px}.solar-readout dl>div{gap:15px}.solar-time{flex-wrap:wrap}.solar-time span{margin-left:0}.solar-context{margin-top:55px}.solar-context figcaption{flex-direction:column}.solar-method{gap:12px}.solar-method span+span:before{margin-right:12px}}.solar-north{stroke:var(--text-secondary);fill:none}.solar-north text{stroke:none;font-size:16px}.solar-time button{min-height:44px}.solar-readout .solar-note{font-size:12px}.solar-sliders{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:20px 24px 24px 0}.solar-sliders label{display:block;font-size:13px;color:var(--text)}.solar-sliders output{float:right;font-variant-numeric:tabular-nums;color:var(--mep-ink)}.solar-sliders input{display:block;width:100%;height:44px;margin:4px 0;accent-color:var(--mep-ink);cursor:pointer}.solar-sliders input:focus-visible{outline:2px solid var(--mep-ink);outline-offset:3px}.solar-drawing-note,.solar-sliders span{font-size:11px;color:var(--text-secondary);line-height:1.6}.solar-drawing-note{margin:0;padding-right:15px}.solar-door{fill:none;stroke:var(--text-secondary);stroke-width:.8}.solar-context-render{display:block;width:100%;height:auto}.solar-orbit-scene{position:relative;height:500px}.solar-orbit-scene .thermal-model{inset:40px 0 0}.solar-orbit-scene>.thermal-levels{position:relative;z-index:2;padding-top:12px}.solar-orbit-scene .thermal-levels button{min-height:36px;padding:4px 10px;border:0;background:transparent;cursor:pointer;font-size:11px}.solar-space-label{display:block;font-size:12px;margin-bottom:8px}.solar-context-controls{margin:18px 24px 0 0;padding:14px 0;border-block:1px solid var(--border);font-size:11px}.solar-context-controls>div{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.solar-context-controls button{min-height:40px;border:1px solid var(--border);background:var(--bg2);padding:8px 12px;cursor:pointer}.solar-context-controls button[aria-disabled=true]{cursor:default;color:var(--text-secondary)}.solar-context-controls span{color:var(--text-secondary)}.solar-context-controls fieldset{margin:12px 0 0;padding:0;border:0;display:flex;flex-wrap:wrap;gap:8px 20px}.solar-context-controls legend{font-size:10px;color:var(--text-secondary);margin-bottom:4px}.solar-context-controls label{min-height:40px;display:flex;align-items:center;gap:8px;cursor:pointer}.solar-context-controls input{accent-color:var(--mep-ink);width:16px;height:16px}.solar-context-controls :focus-visible{outline:2px solid var(--mep-ink);outline-offset:3px}.solar-readout select{max-width:100%;width:100%;padding:9px;background:var(--bg);color:var(--text);border:1px solid var(--border)}@media(max-width:800px){.solar-orbit-scene{height:380px}}.thermal-stages{flex-wrap:wrap}.thermal-shell>.solar-section{padding-top:24px}.solar-whole-building polygon{stroke-width:.6}.solar-peak{border-top:1px solid var(--border);margin-top:22px;padding-top:18px}.solar-peak h4{font-size:18px;font-weight:400;margin:10px 0}.solar-peak strong{font-size:26px;font-weight:400}@media(max-width:800px){.solar-sliders{grid-template-columns:1fr;padding-right:0;gap:22px}.solar-readout dl{flex-wrap:wrap}}