/* Model programmes: open editorial columns and a proposed heating layer study. */
.models-section{border-bottom:1px solid var(--line)}
.models-section .section-heading{margin-bottom:var(--space-6)}
.model-family-grid{display:grid;gap:var(--space-6)}
.model-family{border-top:1px solid var(--line-strong);padding-top:var(--space-3);min-width:0}
.model-family-top{display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:var(--space-2);font-size:13px;color:var(--muted);margin-bottom:var(--space-5)}
.model-family-top p{margin:0}.model-family-top>span{color:var(--text)}
.model-family h3{font-size:clamp(44px,5vw,64px);margin-bottom:var(--space-3)}
.model-family h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
.model-family-copy{color:var(--muted);max-width:45ch;min-height:96px;margin-bottom:var(--space-4)}
.heating-hero{padding-top:var(--space-5)}
.heat-back{display:inline-flex;align-items:center;gap:var(--space-2);font-size:14px;color:var(--muted);margin-bottom:var(--space-8)}
.development-status{font-size:14px;border-top:1px solid var(--line-strong);padding-top:var(--space-2);margin-bottom:var(--space-4);width:max-content;max-width:100%}
.heating-hero h1{font-size:clamp(80px,15vw,192px);letter-spacing:-.05em;margin-bottom:var(--space-4)}
.heating-tagline{font-family:var(--font-heading);font-size:clamp(32px,4vw,56px);line-height:1.15;letter-spacing:-.035em;max-width:24ch}
.heating-intro{font-size:18px;color:var(--muted);max-width:52ch;margin-bottom:var(--space-4)}
.heat-programme{background:var(--surface);border-block:1px solid var(--line)}
.heat-programme .section-heading{margin-bottom:var(--space-6)}
.heat-level-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);border-bottom:1px solid var(--line-strong);margin-bottom:var(--space-6)}
.heat-level-tabs button{display:grid;gap:var(--space-2);min-width:0;text-align:left;padding:var(--space-2) 0 var(--space-3);border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);overflow-wrap:anywhere}
.heat-level-tabs button>span{font-size:12px}.heat-level-tabs strong{font-family:var(--font-heading);font-size:clamp(17px,2.4vw,28px);line-height:1.2;font-weight:500;letter-spacing:-.025em}
.heat-level-tabs [aria-selected="true"],.heat-level-tabs button:hover{color:var(--text)}
.heat-level-tabs [aria-selected="true"]{border-bottom-color:var(--text)}
.heat-level-layout{display:grid;gap:var(--space-6);align-items:start}
.heat-architecture{margin:0;min-width:0}.heat-architecture svg{width:100%;height:auto;aspect-ratio:540/560}
.heat-frame{stroke:var(--line-strong);stroke-width:1}
.heat-diagram-layer>path:first-child{fill:var(--background);stroke:var(--line-strong);stroke-width:1}
.heat-route{fill:none;stroke:var(--gray-600);stroke-width:1}
.heat-diagram-layer circle{fill:var(--gray-800);stroke:var(--background);stroke-width:2}
.heat-diagram-layer text{fill:var(--text);font-family:var(--font-body);font-size:17px;text-anchor:middle}
.heat-diagram-layer .heat-plane-title{font-family:var(--font-heading);font-size:21px;font-weight:500}
.heat-diagram-layer>path,.heat-diagram-layer>circle{opacity:1;transition:opacity 200ms ease}
[data-heat-selected="0"] :is(.heat-diagram-layer--investigate,.heat-diagram-layer--anticipate)>:is(path,circle),[data-heat-selected="1"] .heat-diagram-layer--anticipate>:is(path,circle){opacity:.24}
[data-heat-selected="0"] :is(.heat-diagram-layer--investigate,.heat-diagram-layer--anticipate) text,[data-heat-selected="1"] .heat-diagram-layer--anticipate text{fill:var(--muted)}
.heat-architecture figcaption{font-size:12px;color:var(--muted);padding-top:var(--space-2);border-top:1px solid var(--line-strong);max-width:65ch}
.heat-level-panels article{padding-top:var(--space-2);margin-bottom:var(--space-5)}
.heat-proposal-label{font-size:13px;color:var(--muted);margin-bottom:var(--space-2)}
.heat-level-panels h3{font-size:clamp(28px,3vw,40px);line-height:1.1;max-width:20ch;margin-bottom:var(--space-3)}
.heat-level-panels p{color:var(--muted)}
.heat-level-panels h4{font-size:17px;line-height:1.4;margin-block:var(--space-4) var(--space-2)}
.heat-flow{list-style:none;margin:0 0 var(--space-3);padding:0;border-top:1px solid var(--line-strong)}
.heat-flow li{padding:var(--space-1) 0;border-bottom:1px solid var(--line);font-size:14px}
.heat-level-limit{font-size:13px;line-height:1.7}
.heat-release-note{border-top:1px solid var(--line-strong);padding-top:var(--space-3);margin:var(--space-6) 0 0;color:var(--muted);font-size:14px;max-width:72ch}
.heat-equipment{display:grid;gap:var(--space-5)}
.heat-equipment h2{max-width:14ch}.heat-equipment>div>p:not(.eyebrow){color:var(--muted)}
@media(max-width:599px){.heat-level-tabs{grid-template-columns:1fr;gap:0;border-bottom:0}.heat-level-tabs button{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--line-strong);min-height:72px}.heat-level-tabs strong{font-size:22px}.heat-diagram-layer text{font-size:24px}.heat-diagram-layer .heat-plane-title{font-size:28px}}
@media(min-width:768px){.model-family-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8)}.heat-level-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-6)}.heat-equipment{grid-template-columns:1fr 1fr;gap:var(--space-8)}}
@media(prefers-reduced-motion:reduce){.heat-diagram-layer>path,.heat-diagram-layer>circle{transition:none}}
@media print{.heat-level-tabs{display:none}.heat-level-panels [hidden]{display:block!important}.heat-diagram-layer>path,.heat-diagram-layer>circle{opacity:1!important}.heat-programme{background:none}.heat-level-layout{display:block}.heat-architecture{max-width:600px}.heat-level-panels article{break-inside:avoid}}
