/* Heating hub: lightweight product diagrams within the existing site design system. */
.heating-hero{display:grid;grid-template-columns:1fr 1.06fr;gap:46px;align-items:center;padding-block:48px 65px}
.heating-hero>div,.heating-columns>*{min-width:0}
.heating-hero .breadcrumbs{flex-wrap:wrap;gap:8px 12px;margin-bottom:28px}
.heating-hero h1{font-size:clamp(2.8rem,4.5vw,4.4rem);line-height:1.08}
.heating-hero .lead{margin-top:26px;font-size:1.05rem}
.heating-hero-note{margin-top:20px;font-size:.92rem;max-width:510px}
.heating-hero .actions{gap:20px 24px}
.heating-entry{margin-top:22px;font-size:.79rem;max-width:500px}
.heating-entry strong{color:var(--ink)}
.heating-hero-art{background:var(--pale);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.heating-hero-art img,.heating-figure img{display:block;width:100%;height:auto}
.heating-hero-art figcaption{padding:14px 22px;border-top:1px solid var(--line)}
.heating-page figcaption{font-size:.77rem;line-height:1.7;color:var(--muted)}
.heating-page figcaption a,.heating-prose a,.heating-note a,.heating-steps a,.heating-editorial a{color:var(--blue);text-underline-offset:3px}
.heating-benefits{list-style:none;padding:22px 0;margin:0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px 24px;color:#495b60;font-size:.86rem}
.heating-benefits li::before{content:'✓';margin-right:9px;color:var(--blue)}
.heating-contents{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;padding-block:25px}
.heating-contents .eyebrow{margin:0}
.heating-contents a{font-size:.83rem;min-height:32px;display:flex;align-items:center;color:var(--blue);text-underline-offset:4px}
.heating-divider{border-top:1px solid var(--line)}
.heating-page h2{font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.12}
.heating-columns{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.heating-prose p{margin-top:18px;font-size:.96rem;line-height:1.85}
.heating-prose h3,.heating-note h3,.heating-type-grid h3,.heating-two-cards h3{font-size:1.4rem;line-height:1.3}
.heating-prose>.text-link{margin-top:24px}
.heating-note,.heating-radiator-card{background:#eef0e7;border:1px solid var(--line);border-radius:9px;padding:30px}
.heating-note p{font-size:.91rem;margin-top:17px;line-height:1.8}
.heating-note>.text-link{margin-top:24px;font-size:.85rem}
.heating-process{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px}
.heating-process li{position:relative;border:1px solid var(--line);border-radius:9px;padding:24px;background:#f3f4ee}
.heating-process li:not(:last-child)::after{content:'→';position:absolute;right:-19px;top:47px;font-size:1.2rem;color:var(--blue);z-index:1}
.heating-process span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#e5eafa;color:var(--blue);font-size:.74rem;font-weight:700;margin-bottom:18px}
.heating-process strong{font-size:.96rem;line-height:1.4;display:block}
.heating-process p{font-size:.82rem;line-height:1.7;margin-top:12px}
.heating-figure{margin:0;min-width:0}
.heating-figure img{background:var(--pale);border:1px solid var(--line);border-radius:10px}
.heating-figure figcaption{padding-top:13px}
.heating-section-action{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}
.heating-section-action .button,.heating-page .next-step .button{max-width:100%}
.heating-method{padding:18px 22px;border:1px solid var(--line);border-radius:8px;background:#f0f1e9;margin-top:25px}
.heating-method summary{cursor:pointer;color:var(--ink);font-size:.91rem;font-weight:600}
.heating-method p{font-size:.85rem;line-height:1.8}
.heating-radiator-card h3{font-size:1.8rem;line-height:1.2}
.heating-radiator-card>svg{display:block;width:100%;height:auto;max-width:310px;margin:20px 0}
.heating-radiator-card dl{margin:0}
.heating-radiator-card dl>div{border-top:1px solid #cdd5ca;padding:14px 0}
.heating-radiator-card dt{font-size:.81rem;color:var(--muted)}
.heating-radiator-card dd{margin:4px 0 0;font-size:1.03rem;color:var(--ink);font-weight:600}
.heating-radiator-card>p{margin-top:18px;font-size:.77rem;line-height:1.7}
.heating-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.heating-type-grid article{border-top:2px solid #99aa90;padding-top:23px}
.heating-type-mark{display:grid;place-items:center;width:49px;height:49px;border-radius:12px;background:#e8eddf;color:#8c6b50;font-size:2rem;line-height:1;margin-bottom:24px}
.heating-type-grid p{font-size:.92rem;margin-top:17px;line-height:1.85}
.heating-inline-note{font-size:.86rem;max-width:910px;margin-top:28px}
.heating-check-list{padding-left:20px;margin:22px 0 0;color:var(--muted);font-size:.92rem;line-height:1.8}
.heating-check-list li+li{margin-top:10px}
.heating-two-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.heating-two-cards article{padding:30px;background:#f0f1e9;border:1px solid var(--line);border-radius:10px}
.heating-two-cards p,.heating-two-cards ul{font-size:.93rem;line-height:1.85;margin-top:20px;color:var(--muted)}
.heating-two-cards ul{padding-left:20px}
.heating-two-cards li+li{margin-top:8px}
.heating-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
.heating-table{width:100%;border-collapse:collapse;text-align:left;font-size:.94rem;min-width:640px}
.heating-table caption{text-align:left;padding:18px 24px;font-size:.79rem;line-height:1.7;color:var(--muted);background:#f0f1e9}
.heating-table th,.heating-table td{padding:19px 24px;border-top:1px solid var(--line)}
.heating-table thead{color:var(--ink);background:#f7f8f2}
.heating-table tbody td{color:var(--muted)}
.heating-wide{max-width:920px;margin-top:26px}
.heating-scenarios{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.heating-scenarios>div{padding:22px 19px;border:1px solid var(--line);border-radius:9px;background:#f0f1e9}
.heating-scenarios strong{display:block;font-size:1.32rem;line-height:1.4;color:var(--blue);letter-spacing:-.03em}
.heating-scenarios span{display:block;margin-top:9px;font-size:.73rem;color:var(--muted)}
.heating-steps{counter-reset:heating-step;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 42px;padding:0;margin:0}
.heating-steps li{counter-increment:heating-step;position:relative;border-top:1px solid var(--line);padding:22px 0 0 46px}
.heating-steps li::before{content:'0' counter(heating-step);position:absolute;left:0;top:23px;color:var(--blue);font-size:.76rem;font-weight:700}
.heating-steps h3{font-size:1.15rem;line-height:1.35}
.heating-steps p{font-size:.93rem;line-height:1.8;margin-top:12px}
.heating-demo-controls{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.heating-demo-controls button{cursor:pointer;padding:10px 14px;min-height:44px;border:1px solid #c5cec8;border-radius:6px;color:var(--ink);background:#f3f4ee;font-size:.83rem;font-weight:600}
.heating-demo-controls button[aria-pressed=true]{background:var(--blue);color:#fff;border-color:var(--blue)}
.heating-demo>svg{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:10px}
.demo-loss,.demo-radiators,.demo-ufh,.demo-summary{transition:opacity .3s ease}
.heating-demo[data-step="0"] .demo-loss,.heating-demo[data-step="0"] .demo-radiators,.heating-demo[data-step="0"] .demo-ufh,.heating-demo[data-step="0"] .demo-summary,.heating-demo[data-step="1"] .demo-radiators,.heating-demo[data-step="1"] .demo-ufh,.heating-demo[data-step="1"] .demo-summary,.heating-demo[data-step="2"] .demo-ufh,.heating-demo[data-step="2"] .demo-summary{opacity:0}
.heating-demo-status{margin-top:16px;font-size:.84rem;min-height:2.8em}
.heating-related{padding-block:45px;border-top:1px solid var(--line)}
.heating-related h2{font-size:1.8rem}
.heating-related>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:27px}
.heating-related a{font-size:.9rem;color:var(--blue);text-underline-offset:4px}
.heating-editorial{padding-block:0 40px;font-size:.78rem;line-height:1.8}
.heating-editorial p+p{margin-top:14px}
.heating-page .next-step{gap:30px}
@media(max-width:1050px){.heating-hero,.heating-columns{gap:30px}.heating-hero .button{padding:14px 17px;font-size:.85rem}.heating-scenarios{grid-template-columns:repeat(3,minmax(0,1fr))}.heating-process{grid-template-columns:repeat(2,minmax(0,1fr))}.heating-process li:nth-child(2)::after{display:none}}
@media(max-width:800px){.heating-hero,.heating-columns{grid-template-columns:1fr}.heating-hero{padding-block:35px 50px;gap:32px}.heating-hero h1{font-size:clamp(2.7rem,8vw,4.3rem)}.heating-hero-art{max-width:680px}.heating-type-grid,.heating-two-cards,.heating-steps,.heating-related>div{grid-template-columns:1fr}.heating-type-grid{gap:30px}.heating-contents .eyebrow{width:100%}.heating-benefits{justify-content:flex-start}.heating-note,.heating-radiator-card,.heating-two-cards article{padding:25px}.heating-hero .lead{font-size:1rem}.heating-page .next-step{display:block}.heating-page .next-step .button{margin-top:24px}}
@media(max-width:480px){.heating-process{grid-template-columns:1fr;gap:25px}.heating-process li:not(:last-child)::after{display:block;content:'↓';right:50%;top:auto;bottom:-25px;font-size:1.3rem;line-height:25px}.heating-scenarios{grid-template-columns:repeat(2,minmax(0,1fr))}.heating-table{font-size:.88rem}.heating-demo-controls button{font-size:.76rem}.heating-section-action .button{font-size:.83rem;padding:14px 18px}}
@media(prefers-reduced-motion:reduce){.demo-loss,.demo-radiators,.demo-ufh,.demo-summary{transition:none}}
@media print{.heating-hero .actions,.heating-section-action,.heating-contents,.heating-demo-controls{display:none}.heating-hero,.heating-columns,.heating-type-grid,.heating-two-cards,.heating-steps{display:block}.heating-figure,.heating-note,.heating-radiator-card{break-inside:avoid}.heating-table-wrap{overflow:visible}.heating-table{min-width:0}.heating-page .faqs details>p{display:block}.demo-loss,.demo-radiators,.demo-ufh,.demo-summary{opacity:1!important}}
