*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080808;color:#f8f4ef;font-family:Manrope,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}::selection{background:#FF6A24;color:#080808}.ignition{position:fixed;inset:0;z-index:1000;background:#050505;display:flex;align-items:center;justify-content:center;transition:opacity 1s ease,visibility 1s}.ignition.done{opacity:0;visibility:hidden;pointer-events:none}.ignition-top,.ignition-bottom{position:absolute;left:4vw;right:4vw;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.2em;color:#999}.ignition-top{top:35px}.ignition-bottom{bottom:35px}.ignition-center{width:min(360px,80vw);text-align:center}.boot-icon{width:160px;margin:0 auto 32px;animation:bootbreathe 1.6s ease-in-out infinite}.boot-icon svg{width:100%}.boot-heat{stroke-dasharray:100;stroke-dashoffset:100;animation:heatload 2s ease forwards}.boot-label{font-size:12px;font-weight:700;letter-spacing:.28em;margin-bottom:23px}.boot-progress{height:2px;background:#292929;overflow:hidden}.boot-progress span{height:100%;width:0;background:#FF6A24;display:block;box-shadow:0 0 20px #FF6A24}.boot-reading{display:flex;justify-content:space-between;font-size:10px;color:#aaa;letter-spacing:.14em;margin-top:13px}.boot-reading b{color:#fff}.skip-intro{border:0;background:none;color:#888;font-size:10px;letter-spacing:.15em;margin-top:42px}.header{height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;z-index:10;border-bottom:1px solid #ffffff1a}.wordmark{display:flex;align-items:center;gap:12px;font-weight:800;font-size:21px;letter-spacing:-.08em}.wordmark i{font-style:italic;font-weight:600}.wordmark small{display:block;font-size:8px;letter-spacing:.29em;font-weight:400;margin-top:-3px}.mini-mark{border:2px solid #fff;border-radius:9px;width:34px;height:34px;display:grid;place-items:center;color:#FF6A24;font-size:25px}.header nav{display:flex;gap:40px}.header nav a{font-size:12px;color:#c7c3be;transition:color .3s}.header nav a:hover{color:#FF873E}.nav-contact{border:1px solid #ffffff40;padding:16px 19px;font-size:10px;font-weight:800;letter-spacing:.09em}.nav-contact span{color:#FF6A24;margin-left:20px}.mobile-toggle,.mobile-nav{display:none}.hero{min-height:850px;height:100svh;max-height:1100px;position:relative;overflow:hidden;background:#090909}.hero-background{position:absolute;inset:0;pointer-events:none}.glow{position:absolute;width:800px;height:800px;right:-200px;top:0;background:radial-gradient(circle,#A83E0D1f 0%,#5420080e 40%,transparent 68%);animation:glowpulse 4s ease-in-out infinite}.noise{position:absolute;inset:0;opacity:.18;background-image:radial-gradient(#ffffff18 .7px,transparent .7px);background-size:7px 7px;mask-image:linear-gradient(to right,transparent,black)}.hero-inner{max-width:1600px;margin:auto;height:100%;display:grid;grid-template-columns:55% 45%;align-items:center;padding:110px 5% 90px;position:relative}.hero-copy{position:relative;z-index:3}.eyebrow,.kicker{font-size:10px;letter-spacing:.21em;font-weight:800;color:#FF6A24}.eyebrow{display:flex;align-items:center;gap:12px}.pulse,.green-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#FF6A24;box-shadow:0 0 14px #FF6A24;animation:blink 2s infinite}.hero h1{font-size:clamp(54px,6.1vw,112px);line-height:1.04;letter-spacing:-.082em;font-weight:700;margin:36px 0}.hero h1 .serif{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.075em;color:#FF6A24;white-space:nowrap}.hero-copy>p{max-width:480px;color:#aaa6a2;font-size:15px;line-height:1.9}.hero-buttons{display:flex;gap:15px;margin-top:37px;flex-wrap:wrap}.primary-btn,.ghost-btn{padding:20px 23px;font-size:11px;letter-spacing:.09em;font-weight:800;display:inline-flex;justify-content:space-between;gap:30px;transition:transform .3s,background .3s}.primary-btn{background:#FF6A24;color:#0a0808}.primary-btn:hover{background:#FF944F;transform:translateY(-4px)}.ghost-btn{border:1px solid #ffffff4a}.ghost-btn:hover{background:#ffffff15;transform:translateY(-4px)}.circuit{position:relative;width:100%;height:min(680px,75vh);transform:translateX(4%)}.pipe-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.pipe-back,.pipe-shine,.pipe-flow{fill:none;stroke-linecap:round;stroke-linejoin:round}.pipe-back{stroke:#25211f;stroke-width:38}.pipe-shine{stroke:#4a3731;stroke-width:20}.pipe-flow{stroke:url(#hot);stroke-width:12;stroke-dasharray:140 1400;stroke-dashoffset:1540;filter:drop-shadow(0 0 13px #FF792C);animation:flow 5.5s linear infinite}.meter{fill:#171413;stroke:#D65A18;stroke-width:2}.meter-inner{fill:#100d0c;stroke:#ffffff30;stroke-width:1}.circuit-label{position:absolute;background:#141211e8;border:1px solid #ffffff20;padding:16px 19px;backdrop-filter:blur(12px)}.circuit-label small,.temperature span{display:block;font-size:9px;color:#b7a7a0;letter-spacing:.15em}.circuit-label strong{display:block;font-size:10px;margin-top:7px;letter-spacing:.08em}.label-top{top:11%;right:0}.label-bottom{bottom:13%;left:1%}.green-dot{background:#8ae0b4;box-shadow:0 0 9px #8ae0b4;margin-right:6px}.temperature{position:absolute;top:46%;right:3%;padding:23px;background:#181312e8;border:1px solid #FF6A2450;min-width:150px}.temperature strong{display:block;font-size:52px;letter-spacing:-.09em}.temperature sup{font-size:21px;vertical-align:top}.temp-line{height:3px;background:#ffffff22;margin-top:8px}.temp-line span{height:100%;width:65%;background:#FF6A24}.hero-footer{position:absolute;bottom:30px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.14em;color:#aaa;z-index:2}.hero-footer a{color:#fff}.hero-footer a span{color:#FF6A24;margin-left:13px}.marquee{background:#FF6A24;color:#090909;overflow:hidden;padding:18px 0}.marquee-track{white-space:nowrap;width:max-content;font-size:13px;font-weight:800;letter-spacing:.19em;animation:marquee 22s linear infinite}.marquee i{font-style:normal;margin:0 36px}.section{padding:130px 6%}.section-top{display:flex;justify-content:space-between;border-top:1px solid #ffffff30;padding-top:21px;font-size:10px;letter-spacing:.14em;color:#8d8985}.section-title{display:flex;align-items:end;justify-content:space-between;gap:50px;margin:55px 0 70px}.section-title h2,.concept-text h2,.contact-copy h2,.emergency h2{font-size:clamp(46px,6.2vw,105px);line-height:1.04;letter-spacing:-.075em;margin:0;font-weight:700}.section-title h2 em,.concept-text h2 em,.contact-copy h2 em,.emergency h2 em{font-family:Georgia,serif;color:#FF6A24;font-weight:400}.section-title p{max-width:340px;color:#999;line-height:1.9;font-size:14px}.service-list{border-top:1px solid #ffffff2b}.service-row{display:grid;grid-template-columns:70px 1.5fr 1fr 55px;align-items:center;gap:20px;border-bottom:1px solid #ffffff2b;padding:31px 12px;transition:background .3s,padding .3s}.service-row:hover{background:#1d1513;padding-left:28px}.service-row>span{color:#FF6A24;font-size:11px}.service-row h3{font-size:clamp(22px,2.5vw,36px);letter-spacing:-.05em;margin:0;font-weight:600}.service-row p{font-size:12px;color:#8d8985;max-width:250px}.service-row b{font-size:28px;font-weight:400;text-align:right;color:#FF6A24}.concept-section{min-height:780px;display:grid;grid-template-columns:1fr 1fr;background:#f0ebe5;color:#151210}.concept-visual{min-height:680px;background:#d9d1c8;position:relative;overflow:hidden;display:grid;place-items:center}.halo{position:absolute;border:1px solid #b1a7a0;border-radius:50%;width:560px;height:560px;animation:spin 28s linear infinite}.halo-2{width:420px;height:420px;border:1px dashed #aa9990;animation-direction:reverse}.concept-core{width:260px;height:260px;border-radius:50%;background:#1b1715;display:grid;place-items:center;box-shadow:0 0 80px #D9773260;z-index:2}.concept-core>span{font-size:85px;font-weight:800;color:#fff;letter-spacing:-.15em}.concept-core .wave{color:#FF6A24;animation:blink 2s infinite}.concept-chip{position:absolute;bottom:38px;left:38px;font-size:10px;line-height:1.9;letter-spacing:.1em}.concept-text{padding:13%;display:flex;flex-direction:column;justify-content:center}.concept-text h2{font-size:clamp(48px,5.5vw,92px);margin:30px 0}.concept-text p{color:#69605b;max-width:440px;font-size:14px;line-height:2}.line-link{font-size:11px;font-weight:800;letter-spacing:.12em;margin-top:30px;border-bottom:1px solid #333;padding-bottom:16px;display:flex;justify-content:space-between}.projects-section{background:#0c0b0a}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{background:#191715;overflow:hidden}.placeholder-art{height:400px;position:relative;overflow:hidden;background:linear-gradient(135deg,#29211e,#0d0d0d);display:grid;place-items:center}.art-2{background:linear-gradient(145deg,#282b2b,#101010)}.art-3{background:linear-gradient(145deg,#3b241d,#100f0e)}.placeholder-circle{width:190px;height:190px;border:24px solid #c5b8aa25;border-radius:50%;box-shadow:0 0 90px #E86A2230;transition:transform .7s}.placeholder-pipe{position:absolute;width:200px;height:150px;border:15px solid #FF6A24;border-left:0;border-bottom:0;border-radius:0 65px 0 0;transform:rotate(-30deg);filter:drop-shadow(0 0 16px #E86A2250);transition:transform .7s}.project-card:hover .placeholder-circle{transform:scale(1.2)}.project-card:hover .placeholder-pipe{transform:rotate(10deg) scale(1.2)}.project-info{padding:25px}.project-info span{font-size:9px;color:#FF6A24;letter-spacing:.1em}.project-info h3{font-size:27px;letter-spacing:-.04em;margin:12px 0}.project-caption{font-size:11px;color:#777;margin-top:25px}.emergency{background:#FF6A24;color:#100c0b;padding:110px 6%;display:flex;align-items:end;justify-content:space-between;gap:30px}.emergency .kicker{color:#1e0e0b}.emergency h2{margin-top:30px}.emergency h2 em{color:#fff}.emergency-call{background:#120e0c;color:#fff;padding:28px 35px;min-width:290px}.emergency-call span{font-size:10px;letter-spacing:.13em;display:block;margin-bottom:10px}.emergency-call strong{font-size:24px}.contact-section{background:#0d0c0b}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:80px}.contact-copy h2{font-size:clamp(50px,6vw,95px)}.contact-copy p{color:#999;max-width:340px;line-height:1.9;font-size:14px;margin-top:30px}.contact-details{display:flex;flex-direction:column;gap:25px;margin-top:70px}.contact-details a{font-size:28px;font-weight:700}.contact-details span{font-size:13px;line-height:1.9;color:#999}.quote-form{background:#191715;padding:40px;display:flex;flex-direction:column;gap:21px}.form-heading{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff2b;padding-bottom:25px;font-size:11px;letter-spacing:.14em}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.quote-form label{font-size:10px;letter-spacing:.1em;color:#bcb4ae;display:flex;flex-direction:column;gap:11px}.quote-form input,.quote-form textarea,.quote-form select{width:100%;border:1px solid #ffffff2a;background:#11100f;color:#fff;padding:16px;font-size:13px;outline:none;border-radius:0}.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{border-color:#FF6A24}.quote-form button{border:0;background:#FF6A24;color:#080808;padding:21px;font-size:11px;font-weight:800;letter-spacing:.1em;display:flex;justify-content:space-between}.quote-form>p{font-size:11px;line-height:1.7;color:#888;margin:0}footer{background:#050505;padding:55px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #ffffff21}footer img{width:240px;height:auto}footer>div{display:flex;flex-direction:column;gap:10px;font-size:10px;color:#777;letter-spacing:.1em}footer>a{font-size:10px;letter-spacing:.1em}.floating-call{position:fixed;bottom:25px;right:25px;background:#FF6A24;color:#080808;padding:16px 22px;z-index:20;font-size:11px;font-weight:800;box-shadow:0 10px 40px #0008}.floating-call span{margin-left:10px}@keyframes flow{to{stroke-dashoffset:-1400}}@keyframes blink{50%{opacity:.45}}@keyframes glowpulse{50%{transform:scale(1.2);opacity:.6}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes heatload{to{stroke-dashoffset:0}}@keyframes bootbreathe{50%{filter:drop-shadow(0 0 24px #FF6A2470)}}@media(max-width:1000px){.header nav,.nav-contact{display:none}.mobile-toggle{display:block;border:0;background:none;color:#fff;font-size:27px}.mobile-nav.open{display:flex}.mobile-nav{position:absolute;top:94px;right:0;left:0;z-index:15;background:#171210;padding:30px;flex-direction:column;gap:25px}.hero{height:auto;min-height:1050px}.hero-inner{grid-template-columns:1fr;padding-top:180px}.hero-copy{max-width:750px}.circuit{height:510px;width:min(650px,100%);margin:auto}.section-title{align-items:start;flex-direction:column}.concept-section{grid-template-columns:1fr}.concept-visual{min-height:500px}.concept-text{padding:100px 8%}.contact-grid{gap:30px}.emergency{flex-direction:column;align-items:start}}@media(max-width:650px){.header{height:75px}.wordmark{font-size:18px}.mobile-nav{top:75px}.hero{min-height:920px}.hero-inner{padding:145px 6% 85px}.hero h1{font-size:clamp(44px,12vw,69px)}.hero h1 .serif{white-space:normal}.hero-copy>p{font-size:13px}.hero-buttons{gap:9px}.primary-btn,.ghost-btn{padding:17px 14px;font-size:10px}.circuit{height:390px;transform:none}.temperature{right:0;top:44%;min-width:120px;padding:14px}.temperature strong{font-size:39px}.circuit-label{padding:10px}.circuit-label strong{font-size:8px}.circuit-label small{font-size:7px}.hero-footer{font-size:8px}.hero-footer>span:last-child{display:none}.section{padding:85px 6%}.section-top>span:last-child{display:none}.section-title h2,.concept-text h2,.contact-copy h2,.emergency h2{font-size:clamp(44px,10vw,65px)}.service-row{grid-template-columns:30px 1fr 25px;gap:10px}.service-row p{display:none}.service-row h3{font-size:21px}.concept-visual{min-height:390px}.halo{width:370px;height:370px}.halo-2{width:270px;height:270px}.concept-core{width:190px;height:190px}.concept-core>span{font-size:60px}.concept-text{padding:80px 6%}.project-grid{grid-template-columns:1fr}.placeholder-art{height:310px}.emergency{padding:80px 6%}.emergency-call{width:100%}.contact-grid{grid-template-columns:1fr;padding-top:50px}.contact-details{margin-top:35px}.quote-form{padding:25px}.form-grid{grid-template-columns:1fr}footer{flex-direction:column;align-items:start}footer img{width:200px}.floating-call{bottom:12px;right:12px}.ignition-top,.ignition-bottom{font-size:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important}.ignition{display:none}}
/* HEATFLOW / ACTIVE THERMAL CIRCUIT */
.thermal-section{display:grid;grid-template-columns:44% 56%;background:#11100f;color:#f8f5f1;min-height:720px;overflow:hidden}.thermal-copy{padding:clamp(45px,7vw,110px) clamp(28px,5vw,90px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.thermal-copy .kicker{color:#ff762f}.thermal-copy h2{font-size:clamp(48px,5.2vw,100px);line-height:.94;letter-spacing:-.065em;margin:40px 0 30px;font-weight:750}.thermal-copy h2 em{color:#ff6a24;font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em}.thermal-copy p{max-width:440px;color:#bdb7b1;line-height:1.7;font-size:17px;margin-bottom:32px}.thermal-copy .line-link{color:#fff}.thermal-diagram{background:radial-gradient(ellipse at 48% 55%,#36231a 0%,#181513 42%,#0c0c0b 100%);display:flex;flex-direction:column;justify-content:center;padding:55px 24px 30px;position:relative}.thermal-diagram svg{width:100%;max-height:620px;overflow:visible}.thermal-status,.thermal-bottom{font:600 12px/1.4 monospace;letter-spacing:.11em;color:#c9c0b9;display:flex;gap:12px;align-items:center;justify-content:space-between}.thermal-status b{font-size:24px;color:#ff6a24}.thermal-led{display:inline-block;background:#ff6a24;width:8px;height:8px;border-radius:50%;box-shadow:0 0 18px #ff6a24;animation:heatpulse 1.7s infinite}.thermal-back path{fill:none;stroke:#59443a;stroke-width:12;stroke-linecap:round;stroke-linejoin:round}.thermal-flow path{fill:none;stroke:url(#hotflow);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:26 46;animation:heatcirculate 2.3s linear infinite}.thermal-boiler rect{fill:#201b18;stroke:#ff6a24;stroke-width:2}.thermal-boiler circle{fill:#3c261a;stroke:#ff6a24;stroke-width:2}.thermal-boiler text,.thermal-radiator text{fill:#bdb5ad;font:11px monospace;letter-spacing:1px}.thermal-radiator rect{fill:#29231e;stroke:#ff8b43;stroke-width:2}.thermal-radiator path{fill:none;stroke:#ff6a24;stroke-width:8;stroke-linecap:round;opacity:.8;animation:heatpulse 2.5s ease-in-out infinite}.thermal-bottom span{color:#ff9c61}@keyframes heatcirculate{to{stroke-dashoffset:-144}}@keyframes heatpulse{50%{opacity:.35;filter:brightness(1.5)}}@media(max-width:850px){.thermal-section{grid-template-columns:1fr}.thermal-copy{padding:75px 26px 35px}.thermal-copy h2{font-size:clamp(50px,11vw,76px)}.thermal-diagram{padding:30px 20px}.thermal-diagram svg{max-height:500px}}@media(prefers-reduced-motion:reduce){.thermal-flow path,.thermal-led,.thermal-radiator path{animation:none}}

/* Animated house heating cutaway */
.house-heating .house-shell path{fill:none;stroke:#a68e7e;stroke-width:6;stroke-linejoin:round;stroke-linecap:round}.house-heating .house-shell path:first-child{stroke:#f2e6da;stroke-width:10}.house-heating .house-windows rect{fill:#29211c;stroke:#89766b;stroke-width:3}.house-heating .house-windows path{fill:none;stroke:#89766b;stroke-width:2}.house-heating .house-boiler rect{fill:#25201d;stroke:#ff6a24;stroke-width:2}.house-heating .house-boiler circle{fill:#48291b;stroke:#ff8a48;stroke-width:2}.house-heating .house-boiler text,.house-heating .house-labels text{fill:#d9c5b7;font:12px monospace;letter-spacing:1px}.house-heating .house-radiator rect{fill:#3b2c24;stroke:#ff8b43;stroke-width:2}.house-heating .house-radiator path{fill:none;stroke:#ff6a24;stroke-width:7;stroke-linecap:round;animation:heatpulse 2.5s ease-in-out infinite}.house-heating .house-heat path{fill:none;stroke:#ff9b57;stroke-width:3;stroke-linecap:round;opacity:.7;animation:heatpulse 2s ease-in-out infinite}.house-heating .house-pipes path{stroke-width:10}.house-heating .house-pipes.thermal-flow path{stroke-width:5}.house-heating .house-labels text:first-child{fill:#ffb78a;font-weight:700}

/* HeatFlow photographic portfolio */
.hf-gallery-filters{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0 34px}.hf-gallery-filters button{background:transparent;border:1px solid #555;color:inherit;padding:13px 18px;font:600 12px sans-serif;letter-spacing:.08em;cursor:pointer}.hf-gallery-filters button.active,.hf-gallery-filters button:hover{background:#ff6a24;color:#0c0b0a;border-color:#ff6a24}.hf-gallery-filters span{opacity:.65;margin-left:12px}.hf-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.hf-work-card{background:#171513;border:1px solid #302923;color:#f5f1eb;text-align:left;cursor:pointer;padding:0;overflow:hidden;min-width:0;transition:border-color .25s,transform .35s}.hf-work-card:hover{border-color:#ff6a24;transform:translateY(-5px)}.hf-work-card[hidden]{display:none}.hf-work-image{display:block;aspect-ratio:4/3;overflow:hidden;background:#201c18}.hf-work-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease,filter .5s;filter:brightness(.96)}.hf-work-card:hover img{transform:scale(1.055);filter:brightness(1.07)}.hf-work-meta{display:grid;grid-template-columns:1fr auto;gap:8px;padding:18px 20px 22px}.hf-work-meta>span:first-child{grid-column:1/-1;font:11px monospace;letter-spacing:.1em;color:#ff9b64}.hf-work-meta strong{font-size:17px;font-weight:500}.hf-work-arrow{font-size:22px;color:#ff6a24}.hf-gallery-note{margin-top:28px;font-size:12px;opacity:.7}.hf-lightbox{position:fixed;inset:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh;border:0;background:rgba(6,6,6,.97);color:#fff;padding:35px 65px;box-sizing:border-box}.hf-lightbox::backdrop{background:rgba(0,0,0,.92)}.hf-lightbox[open]{display:flex;align-items:center;justify-content:center}.hf-lightbox figure{margin:0;max-width:1100px;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.hf-lightbox img{max-width:100%;max-height:calc(100vh - 115px);object-fit:contain}.hf-lightbox figcaption{font:13px monospace;letter-spacing:.09em;color:#e6d5ca}.hf-lightbox button{position:absolute;border:0;background:#ff6a24;color:#111;font-size:30px;cursor:pointer;width:45px;height:45px}.hf-lightbox-close{top:20px;right:22px}.hf-lightbox-prev{left:12px;top:50%}.hf-lightbox-next{right:12px;top:50%}@media(max-width:900px){.hf-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.hf-work-grid{grid-template-columns:1fr}.hf-lightbox{padding:50px 20px}.hf-lightbox-prev,.hf-lightbox-next{top:auto!important;bottom:12px}.hf-gallery-filters button{padding:10px;font-size:10px}}

/* Compact heat-flow transition */
.heat-transition{position:relative;background:#0b0b0b;color:#f9f6f2;padding:46px 6% 38px;overflow:hidden;border-top:1px solid #27201c;border-bottom:1px solid #342017}.heat-transition-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;font:700 10px/1.5 monospace;letter-spacing:.17em;color:#b7aaa0}.heat-transition-eyebrow{color:#ff8c4b;display:flex;align-items:center;gap:12px}.heat-indicator{height:8px;width:8px;background:#ff6a24;border-radius:50%;box-shadow:0 0 16px #ff6a24;animation:heatpulse 1.8s infinite}.heat-transition-temp strong{color:#ff6a24;font-size:18px;margin-left:10px}.heat-transition-main{display:flex;justify-content:space-between;gap:36px;align-items:end;margin:26px 0 18px}.heat-transition-title{font-size:clamp(48px,7.4vw,130px);font-weight:800;line-height:.85;letter-spacing:-.075em}.heat-transition-title em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.05em;color:#ff6a24}.heat-transition-description{max-width:275px;font-size:14px;line-height:1.7;color:#b9aea6;padding-bottom:8px}.heat-transition-description a{display:block;color:#fff;font:700 11px/1.5 sans-serif;letter-spacing:.11em;margin-top:20px}.heat-transition-description a span{color:#ff6a24;margin-left:8px}.heat-transition-pipe{display:block;width:100%;height:110px;overflow:visible}.heat-transition-pipe-base{fill:none;stroke:#4b3428;stroke-width:12;stroke-linecap:round;stroke-linejoin:round}.heat-transition-pipe-flow{fill:none;stroke:url(#transitionHeat);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24 42;animation:heatcirculate 2.3s linear infinite}.heat-transition-end{filter:drop-shadow(0 0 10px #ff6a24)}@media(max-width:760px){.heat-transition{padding:38px 6% 24px}.heat-transition-main{display:block;margin:30px 0 14px}.heat-transition-title{font-size:clamp(48px,13vw,86px)}.heat-transition-description{max-width:100%;margin-top:26px}.heat-transition-pipe{height:70px}.heat-transition-temp{font-size:9px}}@media(prefers-reduced-motion:reduce){.heat-transition-pipe-flow,.heat-indicator{animation:none}}

/* Consistent vector arrows; avoid iOS emoji glyphs */
.hf-arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;stroke:currentColor;fill:none}.primary-btn .hf-arrow-icon,.ghost-btn .hf-arrow-icon,.floating-call .hf-arrow-icon{width:19px;height:19px}.hf-work-arrow .hf-arrow-icon{width:23px;height:23px}

/* Calm hero and scroll-controlled thermal storytelling */
.hero{min-height:min(900px,94svh);display:flex;align-items:center}.hero-inner{width:100%;max-width:1440px;margin:0 auto;display:block!important;padding:clamp(120px,15vh,190px) 6% 130px!important}.hero-copy{max-width:960px!important;width:100%!important}.hero-copy h1{font-size:clamp(66px,10vw,165px);line-height:.94;letter-spacing:-.07em}.hero-copy p{max-width:590px}.hero .circuit{display:none!important}.hero-footer{bottom:24px}.hf-scroll-story{min-height:1100px;position:relative;grid-template-columns:40% 60%}.hf-scroll-story .thermal-copy{position:sticky;top:90px;height:calc(100vh - 90px);align-self:start}.hf-scroll-story .thermal-diagram{position:relative;min-height:1100px;justify-content:flex-start;padding-top:95px}.hf-scroll-story .house-heating{max-height:600px;overflow:visible}.hf-scroll-story .thermal-flow path{animation:none!important;stroke-dasharray:none!important;stroke-dashoffset:0!important;stroke:#ff6a24;opacity:.2;transition:opacity .25s}.hf-scroll-story .thermal-flow path.hf-scroll-path{opacity:1;stroke-dasharray:1 9999;stroke-dashoffset:0;stroke-width:5}.hf-scroll-story .house-heat path,.hf-scroll-story .house-radiator path{animation:none!important;opacity:var(--hf-heat, .2)}.hf-story-progress{height:2px;background:#4a3225;position:absolute;top:66px;left:24px;right:24px}.hf-story-progress span{display:block;width:0%;height:100%;background:#ff6a24;box-shadow:0 0 10px #ff6a24}.hf-floor-scene{margin:60px 0 20px;opacity:.25;transform:translateY(18px);transition:opacity .25s,transform .25s}.hf-floor-scene.is-active{opacity:1;transform:none}.hf-floor-scene svg{width:100%;height:auto}.hf-floor-base{fill:none;stroke:#5b4739;stroke-width:13;stroke-linecap:round;stroke-linejoin:round}.hf-floor-hot{fill:none;stroke:#ff792f;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 9999;filter:drop-shadow(0 0 5px #ff6a24)}.hf-floor-label,.hf-floor-caption{font:700 11px monospace;letter-spacing:.15em;color:#ff9b60}.hf-floor-caption{text-align:right;color:#b6a79a;margin-top:12px}
@media(max-width:850px){.hero{min-height:80svh}.hero-inner{padding:115px 6% 120px!important}.hero-copy h1{font-size:clamp(54px,12vw,94px)}.hf-scroll-story{display:block;min-height:0}.hf-scroll-story .thermal-copy{position:relative;top:auto;height:auto;padding:70px 6% 35px}.hf-scroll-story .thermal-diagram{min-height:0;padding:55px 5% 65px}.hf-story-progress{top:34px}.hf-floor-scene{margin-top:40px}.hf-scroll-story .house-heating{max-height:none}}
@media(prefers-reduced-motion:reduce){.hf-floor-scene{transition:none;transform:none}}

/* HeatFlow: scroll-driven premium architectural floor plan */
.hf-plan-section{height:310vh;background:#0b0b0b;color:#f8f5f1;position:relative}.hf-plan-sticky{position:sticky;top:0;min-height:100svh;display:grid;grid-template-columns:38% 62%;align-items:center;padding:95px 5% 55px;gap:2vw;overflow:hidden}.hf-plan-heading h2{font-size:clamp(50px,5.7vw,108px);letter-spacing:-.065em;line-height:.95;margin:28px 0}.hf-plan-heading h2 em{font-family:Georgia,serif;font-weight:400;color:#ff6a24}.hf-plan-heading p{max-width:400px;color:#b6aaa2;font-size:16px;line-height:1.7}.hf-plan-heading .kicker{color:#ff8b45}.hf-plan-step{margin-top:42px;font:700 11px monospace;letter-spacing:.12em;color:#e8d8cd;display:flex;gap:12px;align-items:center}.hf-plan-dot{width:8px;height:8px;background:#ff6a24;border-radius:50%;box-shadow:0 0 15px #ff6a24}.hf-plan-stage{background:radial-gradient(ellipse at center,#241b16,#100e0d 72%);border:1px solid #3a2b22;border-radius:14px;padding:18px 20px 12px;box-shadow:0 20px 90px #0008}.hf-plan-stage-top,.hf-plan-stage-bottom{display:flex;justify-content:space-between;gap:12px;color:#b7a79d;font:700 10px monospace;letter-spacing:.1em}.hf-plan-stage-bottom{color:#89796f}.hf-floorplan{display:block;width:100%;height:auto;max-height:75svh}.hf-plan-grid path{stroke:#44362c;stroke-width:.5;opacity:.3}.hf-room-surface{fill:#241d18;stroke:#4d3c30;stroke-width:1.5;transition:fill .25s}.hf-room.is-warm .hf-room-surface{fill:#3a271b}.hf-room-name{fill:#d7c7bb;font:700 13px monospace;letter-spacing:1px}.hf-room-temp{fill:#ff8d4a;font:12px monospace;opacity:.3}.hf-room.is-warm .hf-room-temp{opacity:1}.hf-room-base,.hf-supply-base{fill:none;stroke:#624c3a;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.hf-room-hot,.hf-supply-hot{fill:none;stroke:#ff752a;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px #ff6a24)}.hf-plan-walls path{fill:none;stroke:#c0afa2;stroke-width:7;stroke-linejoin:round}.hf-pump-unit rect{fill:#30231b;stroke:#ff792e;stroke-width:2}.hf-pump-unit circle{fill:#4c2d1a;stroke:#ff9b55;stroke-width:2}.hf-pump-flame{fill:#ff6a24}.hf-pump-unit text{font:700 12px monospace;fill:#fff1e6;letter-spacing:.5px}.hf-pump-unit text.hf-pump-sub{font:10px monospace;fill:#b9a79a}.hf-pump-unit{opacity:.6}.hf-pump-unit.is-on{opacity:1}.hf-pump-unit.is-on circle{filter:drop-shadow(0 0 8px #ff6a24)}@media(max-width:850px){.hf-plan-section{height:260vh}.hf-plan-sticky{display:flex;flex-direction:column;justify-content:center;padding:85px 4% 22px;gap:16px}.hf-plan-heading{width:100%}.hf-plan-heading h2{font-size:clamp(42px,10vw,68px);margin:12px 0}.hf-plan-heading p{font-size:12px;line-height:1.5;margin:0;max-width:90%}.hf-plan-step{margin-top:12px;font-size:9px}.hf-plan-stage{width:100%;padding:10px}.hf-plan-stage-top,.hf-plan-stage-bottom{font-size:8px}.hf-floorplan{max-height:52svh}}@media(prefers-reduced-motion:reduce){.hf-plan-section{height:auto}.hf-plan-sticky{position:relative}}

/* Official HeatFlow brand, consistent across header and intro */
.hf-official-wordmark{display:flex;align-items:center;flex-shrink:0;line-height:0}.hf-official-wordmark img{display:block;width:clamp(175px,17vw,250px);height:64px;object-fit:contain;object-position:left center;mix-blend-mode:screen}.hf-intro-brand{width:min(400px,84vw);margin:0 auto 27px;opacity:0;transform:translateY(12px);animation:hfBrandReveal .65s ease .15s forwards}.hf-intro-brand img{width:100%;height:auto;max-height:150px;object-fit:contain;mix-blend-mode:screen}.ignition-center{width:min(430px,88vw)}@keyframes hfBrandReveal{to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.hf-official-wordmark img{width:205px;height:60px}.header{padding-left:5%;padding-right:5%}.hf-intro-brand{width:min(320px,83vw)}}@media(prefers-reduced-motion:reduce){.hf-intro-brand{opacity:1;transform:none;animation:none}}

/* Official HeatFlow header visibility and professional reference */
.hf-official-wordmark img{width:clamp(230px,22vw,310px)!important;height:82px!important;object-fit:contain!important;object-position:left center!important}.header{min-height:100px!important}.hf-reference-section{background:#11100f;padding:105px 6%;border-top:1px solid #ffffff1b;border-bottom:1px solid #ffffff1b}.hf-reference-inner{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:70px}.hf-reference-copy h2{font-size:clamp(42px,5.2vw,85px);line-height:1;letter-spacing:-.065em;margin:28px 0}.hf-reference-copy h2 em{font-family:Georgia,serif;font-weight:400;color:#ff6a24}.hf-reference-copy p{color:#bdb6b0;line-height:1.8;max-width:540px;font-size:15px}.hf-reference-copy p strong{color:#f5ede7;font-weight:600}.hf-reference-logo{border:1px solid #ffffff24;min-height:250px;padding:30px;background:#080808;display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:25px}.hf-reference-logo span{color:#a99f98;font:700 10px monospace;letter-spacing:.14em;text-align:center}.hf-reference-logo img{max-width:260px;width:90%;height:145px;object-fit:contain}@media(max-width:850px){.hf-official-wordmark img{width:230px!important;height:72px!important}.header{min-height:90px!important}.hf-reference-section{padding:70px 6%}.hf-reference-inner{grid-template-columns:1fr;gap:30px}.hf-reference-logo{min-height:200px}.hf-reference-logo img{height:110px}}@media(max-width:400px){.hf-official-wordmark img{width:205px!important;height:68px!important}}

/* Stronger brand introduction and accessible CHUV logo */
.ignition-center{width:min(660px,94vw)!important}.hf-intro-brand{width:min(620px,92vw)!important;margin:0 auto 34px!important;filter:drop-shadow(0 0 24px #ff6a2414)}.hf-intro-brand img{display:block;width:100%;height:auto;max-height:240px!important;object-fit:contain}.ignition .boot-label{font-size:clamp(12px,1.2vw,15px);letter-spacing:.25em}.ignition .boot-progress,.ignition .boot-reading{max-width:430px;margin-left:auto;margin-right:auto}.hf-reference-logo{background:#161310;border-color:#5a4130}.hf-chuv-white-panel{width:100%;min-height:175px;background:#fff;display:flex;align-items:center;justify-content:center;border-radius:3px;padding:30px 22px}.hf-chuv-white-panel img{display:block;width:100%;max-width:340px!important;height:auto!important;max-height:115px;object-fit:contain}.hf-reference-logo small{font:700 10px monospace;letter-spacing:.11em;color:#b8aca3;text-align:center}@media(max-width:760px){.hf-intro-brand{width:min(390px,92vw)!important}.hf-intro-brand img{max-height:175px!important}.hf-chuv-white-panel{min-height:150px;padding:24px 16px}}

/* Larger official logo in navigation — requested adjustment only */
.hf-official-wordmark img{width:clamp(340px,30vw,440px)!important;height:118px!important;max-width:none!important}.header{height:132px!important;min-height:132px!important}@media(max-width:850px){.hf-official-wordmark img{width:310px!important;height:94px!important}.header{height:108px!important;min-height:108px!important}}@media(max-width:420px){.hf-official-wordmark img{width:270px!important;height:90px!important}.header{height:102px!important;min-height:102px!important}}

/* Fix header / hero overlap after logo enlargement */
.hero{height:auto!important;max-height:none!important;min-height:100svh!important}.hero-inner{padding-top:clamp(220px,20vh,270px)!important;padding-bottom:145px!important;min-height:100svh!important;align-items:start!important}.hero-copy{margin-top:0!important}.hero .eyebrow{position:relative;z-index:2}@media(max-width:850px){.hero-inner{padding-top:185px!important;padding-bottom:125px!important}.hero{min-height:100svh!important}}@media(max-width:420px){.hero-inner{padding-top:165px!important;padding-bottom:110px!important}}

/* Intro: progress visualized as a flowing heating circuit */
.hf-boot-circuit{width:min(430px,100%);margin:4px auto 8px}.hf-boot-circuit svg{width:100%;height:auto;display:block;overflow:visible}.hf-boot-pipe{fill:none;stroke:#554035;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}.hf-boot-flow{fill:none;stroke:#ff772e;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px #ff6a24)}.ignition .boot-reading{max-width:420px}.hf-intro-brand{margin-bottom:18px!important}.ignition .boot-label{margin-bottom:8px}@media(max-width:760px){.hf-boot-circuit{width:min(330px,100%)}}
