/*
Theme Name: Elementfläkten
Description: GeneratePress child theme for Elementfläkten.
Author: MKDSGN
Template: generatepress
Version: 1.2.0
Text Domain: elementflakten
*/

/* Hallmark · system foundation: Elementfläkten · genre: editorial
 * tone: technical, reassuring · anchor hue: red
 * pre-emit critique: P4 H4 E4 S5 R5 V4
 */

:root {
  --ef-color-paper: #f7f5f0;
  --ef-color-surface: #eeece6;
  --ef-color-ink: #17191f;
  --ef-color-muted: oklch(47% 0.018 28);
  --ef-color-accent: oklch(54% 0.225 25);
  --ef-color-accent-hover: oklch(47% 0.205 25);
  --ef-color-border: oklch(85% 0.012 72);
  --ef-color-focus: oklch(62% 0.19 250);
  --ef-font-body: "DM Sans", system-ui, sans-serif;
  --ef-font-display: "Manrope", system-ui, sans-serif;
  --ef-space-xs: 0.25rem;
  --ef-space-sm: 0.5rem;
  --ef-space-md: 1rem;
  --ef-space-lg: 1.5rem;
  --ef-space-xl: 2rem;
  --ef-space-2xl: 3rem;
  --ef-space-3xl: 4rem;
  --ef-radius-sm: 0.25rem;
  --ef-radius-md: 0.5rem;
  --ef-radius-lg: 0.75rem;
  --ef-rule: 1px;
  --ef-dur-fast: 120ms;
  --ef-dur-base: 180ms;
  --ef-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

html,
body {
  overflow-x: clip;
}

body.ef-site { margin:0; font-size:17px; line-height:1.65; font-weight:450; }
.ef-site .site-content,.ef-site .content-area,.ef-site .site-main { padding:0; margin:0; width:100%; max-width:none; }
.ef-site .grid-container { max-width:none; }
.ef-site .site-header { display:none; }
.ef-site .site-footer { display:block; margin:0; padding:0; background:transparent; }
.ef-shell { width:min(1240px,calc(100% - 40px)); margin-inline:auto; }
.ef-main h1,.ef-main h2,.ef-main h3 { letter-spacing:-.04em; line-height:1.04; margin:0; }
.ef-main h1 { font-size:clamp(3.1rem,5.5vw,5.35rem); font-weight:750; }
.ef-main h1 em { color:#dd292f; font-style:normal; }
.ef-main h2 { font-size:clamp(2.4rem,5vw,4.8rem); font-weight:730; }
.ef-main h3 { font-size:1.25rem; font-weight:700; }
.ef-main p { margin:0; }
.ef-section { padding:clamp(90px,11vw,160px) 0; }
.ef-kicker,.ef-eyebrow { color:#d7272d; font:700 .75rem/1 var(--ef-font-display); text-transform:uppercase; letter-spacing:.16em; }
.ef-eyebrow { display:flex; align-items:center; gap:10px; }
.ef-eyebrow span { width:26px; height:2px; background:currentColor; }
.ef-button { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:56px; padding:0 24px; border-radius:8px; text-decoration:none; font-weight:700; transition:transform .2s,background .2s,box-shadow .2s; }
.ef-button:hover { transform:translateY(-2px); }
.ef-button--primary { color:#fff; background:#d9282e; box-shadow:0 12px 30px rgba(217,40,46,.22); }
.ef-button--primary:hover { color:#fff; background:#b91f25; }
.ef-button--dark { color:#fff; background:#17191f; }
.ef-button--light { color:#17191f; background:#fff; }
.ef-text-link { color:#17191f; font-weight:700; text-underline-offset:5px; }

.ef-hero { padding:clamp(64px,8vw,118px) 0 80px; background:radial-gradient(circle at 78% 12%,#fff 0,transparent 34%),var(--ef-color-paper); overflow:hidden; }
.ef-hero__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(520px,1fr); align-items:center; gap:50px; }
.ef-hero__copy { position:relative; z-index:2; }
.ef-hero__copy h1 { margin:27px 0 30px; max-width:840px; }
.ef-hero__lead { max-width:650px; color:#575a62; font-size:1.2rem; line-height:1.65; }
.ef-actions { display:flex; align-items:center; gap:28px; margin-top:38px; }
.ef-proof-list { display:flex; gap:24px; padding:0; margin:34px 0 0; list-style:none; font-size:.86rem; font-weight:600; }
.ef-proof-list li { display:flex; align-items:center; gap:8px; }
.ef-proof-list svg,.ef-checks svg { width:18px; fill:none; stroke:#d9282e; stroke-width:2; }
.ef-hero__visual { position:relative; min-height:600px; display:grid; place-items:center; }
.ef-radiator-hero { width:115%; max-width:760px; filter:drop-shadow(0 35px 25px rgba(17,19,24,.13)); }
.ef-air path { fill:none; stroke:url(#air); stroke-width:12; stroke-linecap:round; stroke-dasharray:12 18; animation:ef-flow 3s linear infinite; }
@keyframes ef-flow { to { stroke-dashoffset:-60; } }
.ef-temp-badge { position:absolute; top:9%; right:-2%; z-index:2; padding:15px 19px; background:#fff; border:1px solid #dedbd3; border-radius:13px; box-shadow:0 18px 45px rgba(22,24,29,.12); }
.ef-temp-badge strong,.ef-temp-badge span { display:block; }.ef-temp-badge strong{font:800 1.6rem/1 var(--ef-font-display);}.ef-temp-badge span{font-size:.7rem;color:#71747b;margin-top:6px;}
.ef-visual-note { position:absolute; left:0; bottom:0; display:flex; gap:13px; width:285px; padding:18px; background:#17191f; color:#fff; border-radius:4px 18px 18px 18px; box-shadow:0 25px 50px rgba(19,21,25,.18); }
.ef-visual-note span { color:#ee4146; font:700 .7rem var(--ef-font-display); }.ef-visual-note p{font-size:.76rem;line-height:1.45;color:#bcbec4}.ef-visual-note strong{display:block;color:#fff;margin-bottom:3px;}
.ef-trust-bar { background:#191b20; color:#fff; }
.ef-trust-bar__inner { display:grid; grid-template-columns:repeat(4,1fr); padding:30px 0; }
.ef-trust-bar__inner div { display:flex; align-items:center; gap:15px; padding:0 28px; border-left:1px solid #373940; }.ef-trust-bar__inner div:first-child{border-left:0;padding-left:0}.ef-trust-bar strong{font:700 1.55rem var(--ef-font-display)}.ef-trust-bar span{color:#aeb0b7;font-size:.76rem;line-height:1.4;}

.ef-section-heading--split { display:grid; grid-template-columns:1.25fr .75fr; gap:80px; align-items:end; margin-bottom:70px; }.ef-section-heading h2{margin-top:18px}.ef-section-heading>p{color:#666970;font-size:1.12rem;max-width:540px;}
.ef-process { display:grid; grid-template-columns:1.2fr .8fr; gap:18px; }.ef-process__item{position:relative;min-height:290px;padding:34px;background:#fff;border:1px solid #dedbd4;border-radius:8px 22px 22px 22px;overflow:hidden}.ef-process__item--large{grid-row:span 2;min-height:600px}.ef-process__item--dark{background:#1b1d22;color:#fff;border:0}.ef-process__item--dark h3{color:#fff}.ef-process__item p{color:#666970;max-width:440px;margin-top:12px}.ef-process__item--dark p{color:#b7b9bf}.ef-number{display:block;color:#d8292f;font:700 .7rem var(--ef-font-display);letter-spacing:.15em;margin-bottom:40px}.ef-process__item--large svg{width:100%;color:#a6a39d;margin-top:55px}.ef-mini-chart{position:absolute;inset:auto 34px 34px;display:flex;align-items:end;gap:8px;height:90px}.ef-mini-chart i{flex:1;background:#efcbc9;border-radius:3px 3px 0 0}.ef-mini-chart i:nth-child(1){height:25%}.ef-mini-chart i:nth-child(2){height:45%}.ef-mini-chart i:nth-child(3){height:70%}.ef-mini-chart i:nth-child(4){height:85%}.ef-mini-chart i:nth-child(5){height:100%;background:#dc2a30}.ef-stat{position:absolute;right:30px;bottom:28px;color:#f04a4f;font:700 1.4rem var(--ef-font-display)}

.ef-transfer { background:#e8e5de; }.ef-transfer__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:80px;align-items:center}.ef-transfer__visual{position:relative}.ef-transfer__visual img{display:block;width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:24px 4px 24px 24px;filter:none}.ef-air-label{position:absolute;right:-22px;bottom:28px;display:flex;align-items:center;gap:12px;background:#fff;padding:15px 18px;border-radius:10px;box-shadow:0 18px 45px rgba(20,22,26,.14);font-weight:700;font-size:.83rem}.ef-air-label svg{width:24px;fill:none;stroke:#d9282e;stroke-width:2}.ef-transfer__copy h2{margin:18px 0 28px}.ef-lead{font-size:1.12rem;color:#55585e}.ef-checks{list-style:none;padding:0;margin:28px 0 34px}.ef-checks li{padding:11px 0 11px 28px;border-bottom:1px solid #d1cec6;position:relative}.ef-checks li:before{content:"";position:absolute;left:0;top:18px;width:8px;height:8px;background:#d9282e;border-radius:50%}.ef-transfer__actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.ef-transfer-guide{background:#1b1d22;color:#fff}.ef-transfer-guide .ef-section-heading{margin-bottom:52px}.ef-transfer-guide .ef-section-heading>div h2{margin-top:18px;color:#fff}.ef-transfer-guide .ef-section-heading>p{color:#aeb1b8;align-self:end;max-width:510px}
.ef-transfer-bento{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.ef-transfer-card{position:relative;padding:34px;border-radius:8px 22px 22px 22px;background:#f5f3ee;color:#24262b;overflow:hidden}.ef-transfer-card h3{margin:13px 0 16px;font-size:clamp(1.55rem,2.5vw,2.35rem)}.ef-transfer-card p{color:#62656c}.ef-transfer-card .ef-number{color:#d8292f}.ef-transfer-card--measure{grid-row:span 2;display:grid;grid-template-rows:auto 1fr auto;min-height:690px}.ef-transfer-card--measure svg{width:100%;align-self:center;color:#25272d}.ef-guide-note{display:flex;gap:12px;align-items:center;margin-top:22px;padding:13px 15px;background:#fff;border:1px solid #dedbd4;border-radius:7px;font-size:.78rem}.ef-guide-note strong{color:#d8292f;text-transform:uppercase;letter-spacing:.08em;font-size:.65rem}.ef-card-foot{padding-top:17px;border-top:1px solid #d8d5ce;font-size:.75rem!important}
.ef-transfer-card--specs{background:#d8292f;color:#fff}.ef-transfer-card--specs .ef-number,.ef-transfer-card--specs p{color:rgba(255,255,255,.75)}.ef-spec-grid{display:grid;grid-template-columns:1fr 1fr;margin:23px 0}.ef-spec-grid div{padding:17px 12px 17px 0;border-top:1px solid rgba(255,255,255,.25)}.ef-spec-grid div:nth-child(odd){border-right:1px solid rgba(255,255,255,.25)}.ef-spec-grid div:nth-child(even){padding-left:18px}.ef-spec-grid strong,.ef-spec-grid span{display:block}.ef-spec-grid strong{font:750 1.55rem/1 var(--ef-font-display)}.ef-spec-grid span{margin-top:5px;font-size:.68rem;color:rgba(255,255,255,.7)}
.ef-transfer-card--included{background:#efede7}.ef-transfer-card--included ul{list-style:none;padding:0;margin:25px 0 30px}.ef-transfer-card--included li{position:relative;padding:10px 0 10px 24px;border-bottom:1px solid #d7d4cd;font-size:.82rem}.ef-transfer-card--included li:before{content:"";position:absolute;left:0;top:17px;width:8px;height:8px;border:2px solid #d8292f;border-radius:50%}.ef-transfer-card--included .ef-button{width:100%;justify-content:space-between}
.ef-transfer-card--channel{grid-column:1/-1;background:#fff;display:grid;grid-template-columns:.72fr 1.28fr;gap:42px;align-items:center}.ef-clearance{margin-top:23px;padding:15px 17px;border-left:3px solid #d8292f;background:#f3f1ec;font-size:.8rem}.ef-clearance strong{display:block;color:#24262b;font:750 1.15rem var(--ef-font-display)}.ef-channel-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ef-channel-compare>div{padding:17px;background:#efede8;border-radius:7px 15px 15px 15px}.ef-channel-compare span{font:750 .76rem var(--ef-font-display)}.ef-channel-compare svg{display:block;width:100%;height:185px}.ef-channel-compare small{display:block;color:#696c73;font-size:.68rem;line-height:1.4}.ef-transfer-card--channel>.ef-card-foot{grid-column:1/-1;margin:0}

.ef-install__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:75px;align-items:start}.ef-install__copy{position:sticky;top:40px}.ef-install__copy h2{margin:18px 0 24px}.ef-install__copy p{color:#666970;margin-bottom:24px}.ef-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ef-steps article{position:relative;padding:26px 22px 30px;border-top:3px solid #1b1d22;background:#f0eee8;min-height:330px}.ef-steps article>span{font:700 .7rem var(--ef-font-display);color:#d8292f}.ef-steps svg{width:100%;height:150px;fill:none;stroke:#45484f;stroke-width:2;margin:10px 0}.ef-steps p{font-size:.85rem;color:#696c73;margin-top:8px}
.ef-thermostats{background:#f4f2ed}.ef-thermostats .ef-section-heading{margin-bottom:50px}.ef-thermostats .ef-section-heading h2{margin-top:18px}.ef-thermostat-layout{display:grid;grid-template-columns:1.14fr .86fr;gap:16px}.ef-thermostat-direct,.ef-thermostat-smart,.ef-thermostat-saving{border-radius:8px 22px 22px 22px;overflow:hidden}.ef-thermostat-direct{grid-row:span 2;min-height:720px;padding:38px;background:#e5e2db;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;gap:35px}.ef-thermostat-direct__copy{grid-column:1/-1}.ef-thermostat-direct h3,.ef-thermostat-smart h3{margin:12px 0 18px;font-size:clamp(2rem,3.6vw,3.45rem)}.ef-thermostat-direct__copy>p:last-child{max-width:780px;color:#5f6269}.ef-thermostat-models{align-self:end}.ef-thermostat-models>div{padding:19px 0;border-top:1px solid #c8c5be}.ef-thermostat-models span,.ef-thermostat-models strong,.ef-thermostat-models small{display:block}.ef-thermostat-models span{color:#d8292f;font:750 .64rem var(--ef-font-display);text-transform:uppercase;letter-spacing:.1em}.ef-thermostat-models strong{margin-top:6px;font:730 1.15rem var(--ef-font-display)}.ef-thermostat-models small{margin-top:4px;color:#6e7177;font-size:.7rem}.ef-thermostat-direct>svg{width:100%;align-self:end;filter:drop-shadow(0 20px 18px rgba(25,27,32,.12))}
.ef-thermostat-smart{padding:34px;background:#1b1d22;color:#fff}.ef-thermostat-smart h3{color:#fff}.ef-thermostat-smart .ef-kicker,.ef-thermostat-smart .ef-number{color:#e93a40}.ef-thermostat-smart>div:first-child>p:last-child{color:#aeb1b8}.ef-smart-map{position:relative;height:310px;margin:27px 0 16px;background:radial-gradient(circle at center,rgba(216,41,47,.13),transparent 55%)}.ef-smart-map:before,.ef-smart-map:after{content:"";position:absolute;left:50%;top:50%;width:72%;height:1px;background:#3b3e45;transform:translate(-50%,-50%)}.ef-smart-map:after{transform:translate(-50%,-50%) rotate(90deg)}.ef-smart-center,.ef-smart-node{position:absolute;z-index:1;background:#292c32;border:1px solid #41444b;box-shadow:0 12px 30px rgba(0,0,0,.2)}.ef-smart-center{left:50%;top:50%;width:155px;padding:18px;transform:translate(-50%,-50%);border-radius:6px 15px 15px 15px;text-align:center}.ef-smart-center svg{width:28px;fill:none;stroke:#e93a40;stroke-width:1.7}.ef-smart-center strong,.ef-smart-center small{display:block}.ef-smart-center strong{font-size:.75rem}.ef-smart-center small{margin-top:6px;color:#9ea1a8;font-size:.58rem}.ef-smart-node{padding:10px 12px;border-radius:7px;font-size:.64rem}.ef-smart-node strong,.ef-smart-node span{display:block}.ef-smart-node span{margin-top:2px;color:#a8abb2}.ef-smart-node--valve{left:2%;top:8%}.ef-smart-node--cube{right:2%;top:8%}.ef-smart-node--sensor{left:2%;bottom:8%}.ef-smart-node--plug{right:2%;bottom:8%}.ef-smart-note{padding-top:15px;border-top:1px solid #373a41;color:#aeb1b8;font-size:.72rem}
.ef-thermostat-saving{padding:28px 30px;background:#d8292f;color:#fff}.ef-thermostat-saving>div{display:flex;align-items:center;gap:20px}.ef-thermostat-saving strong{font:760 clamp(2.8rem,5vw,4.8rem)/1 var(--ef-font-display);letter-spacing:-.06em}.ef-thermostat-saving span{max-width:230px;font-size:.74rem;line-height:1.4}.ef-thermostat-saving>p{margin:20px 0;color:rgba(255,255,255,.75);font-size:.73rem}.ef-thermostat-saving .ef-button{width:100%;justify-content:space-between;background:#fff;color:#24262b;box-shadow:none}
.ef-founder{background:#1b1d22;color:#fff}.ef-founder__grid{display:grid;grid-template-columns:260px 1fr;gap:80px;align-items:center}.ef-founder figure{margin:0}.ef-founder img{width:100%;aspect-ratio:1/1;object-fit:cover;filter:grayscale(1);border-radius:4px 18px 18px 18px}.ef-founder figcaption{margin-top:12px;color:#90939b;font-size:.75rem}.ef-founder blockquote{margin:0}.ef-founder blockquote p{font:650 clamp(2.2rem,5vw,5rem)/1.12 var(--ef-font-display);letter-spacing:-.045em;max-width:940px}.ef-founder blockquote footer{margin-top:30px;color:#aeb0b7;max-width:660px}
.ef-faq__grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:85px;align-items:start}.ef-faq__intro{position:sticky;top:150px}.ef-faq h2{margin:18px 0 22px}.ef-faq__intro>p{color:#696c73}.ef-faq__intro .ef-text-link{display:inline-block;margin-top:25px}.ef-faq-groups{display:grid;gap:50px}.ef-faq-group h3{margin-bottom:14px;color:#d8292f;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}.ef-accordion details{border-top:1px solid #d4d1ca}.ef-accordion details:last-child{border-bottom:1px solid #d4d1ca}.ef-accordion summary{display:flex;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer;font:650 1.02rem var(--ef-font-display);list-style:none}.ef-accordion summary::-webkit-details-marker{display:none}.ef-accordion summary span{color:#d8292f;font-size:1.5rem;transition:transform .2s}.ef-accordion details[open] summary span{transform:rotate(45deg)}.ef-accordion details p{padding:0 50px 24px 0;color:#666970}.ef-final-cta{padding:105px 0;background:#d8292f;color:#fff;text-align:center}.ef-final-cta .ef-kicker{color:#fff;opacity:.7}.ef-final-cta h2{color:#fff;margin:18px 0 35px}

.ef-global-header{display:block!important;position:sticky;top:0;z-index:90;background:rgba(247,245,240,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.ef-header-utility{height:32px;background:#181a1f;color:#d8d9dc}
.ef-header-utility__inner{width:min(1240px,calc(100% - 40px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;font:600 .68rem/1 var(--ef-font-display);letter-spacing:.025em}
.ef-header-utility__proof{display:flex;align-items:center;gap:25px}.ef-header-utility__proof span{display:flex;align-items:center;gap:8px}.ef-header-utility__proof i{width:6px;height:6px;border-radius:50%;background:#ee3c42;box-shadow:0 0 0 4px rgba(238,60,66,.14)}
.ef-header-utility a{color:#f4f4f5;text-decoration:none}.ef-header-utility strong{color:#fff;font-weight:750}
.ef-header-surface{padding:10px 0;border-bottom:1px solid rgba(32,34,39,.09)}
.ef-global-header__inner{width:min(1240px,calc(100% - 40px));min-height:70px;margin:auto;padding:0 12px 0 20px;display:flex;align-items:center;gap:28px;background:rgba(255,255,255,.92);border:1px solid rgba(24,26,31,.09);border-radius:13px;box-shadow:0 1px 1px rgba(21,23,27,.04),0 9px 30px rgba(21,23,27,.07),inset 0 1px 0 rgba(255,255,255,.92)}
.ef-global-header a{color:#25272d;text-decoration:none}.ef-header-brand{display:block;flex:0 0 auto}.ef-header-brand img{width:205px;height:auto;display:block}
.ef-primary-nav{margin-left:auto;display:flex;align-items:stretch;gap:2px}.ef-primary-nav>a{position:relative;padding:12px 14px;border-radius:8px;transition:background-color .2s ease,color .2s ease}.ef-primary-nav>a:hover{background:#f2f0eb}.ef-primary-nav>a:first-child:before{content:"";position:absolute;left:14px;top:7px;width:15px;height:2px;background:#d8292f;border-radius:2px}.ef-primary-nav span{display:block;font:700 .79rem/1.2 var(--ef-font-display);letter-spacing:-.01em}.ef-primary-nav small{display:block;margin-top:5px;color:#777980;font:550 .61rem/1 var(--ef-font-body)}
.ef-header-actions{display:flex;align-items:center;gap:7px}.ef-header-cart{height:46px;padding:0 10px 0 13px;display:flex;align-items:center;gap:8px;border:1px solid #d8d6d0;border-radius:8px;background:#fff;color:#34363c;cursor:pointer;font:680 .72rem/1 var(--ef-font-display);box-shadow:inset 0 1px 0 #fff;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.ef-header-cart:hover{background:#f2f0eb;border-color:#c5c2ba;color:#17191f}.ef-header-cart b{min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#d8292f;color:#fff;font:750 .62rem/1 var(--ef-font-display)}.ef-header-cart b[hidden]{display:none}.ef-global-header .ef-header-checkout{height:46px;padding:0 15px;display:flex;align-items:center;gap:9px;border-radius:8px;background:#d8292f;color:#fff;font:720 .78rem/1 var(--ef-font-display);box-shadow:0 7px 18px rgba(216,41,47,.2),inset 0 1px 0 rgba(255,255,255,.2);transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.ef-global-header .ef-header-checkout:hover{transform:translateY(-1px);background:#bf2027;box-shadow:0 10px 23px rgba(190,32,39,.25)}.ef-header-checkout svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ef-mobile-menu{display:none;position:relative}.ef-mobile-menu summary{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;background:#f1efea;cursor:pointer;list-style:none}.ef-mobile-menu summary::-webkit-details-marker{display:none}.ef-mobile-menu summary svg{width:22px;height:22px;fill:none;stroke:#24262b;stroke-width:1.8;stroke-linecap:round}.ef-mobile-menu nav{position:absolute;top:54px;right:0;width:min(320px,calc(100vw - 26px));padding:10px;display:grid!important;gap:2px!important;background:#fff;border:1px solid #dedbd4;border-radius:8px 8px 16px 16px;box-shadow:0 20px 50px rgba(20,22,26,.18)}.ef-mobile-menu nav a{padding:12px 13px;border-radius:7px;font:700 .82rem/1.2 var(--ef-font-display)}.ef-mobile-menu nav a:hover{background:#f3f1ec}.ef-mobile-menu nav span{display:block;margin-top:4px;color:#74767c;font:550 .68rem/1.2 var(--ef-font-body)}
.ef-global-header a:focus-visible,.ef-mobile-menu summary:focus-visible{outline:2px solid #d8292f;outline-offset:3px}
.ef-header-cart:focus-visible,.ef-mini-cart button:focus-visible,.ef-mini-cart a:focus-visible{outline:2px solid #d8292f;outline-offset:3px}
body.ef-cart-open{overflow:hidden}
.ef-mini-cart-backdrop{position:fixed;inset:0;z-index:108;background:rgba(18,20,24,.45);opacity:0;backdrop-filter:blur(3px);transition:opacity .22s ease}.ef-mini-cart-backdrop.is-open{opacity:1}
.ef-mini-cart{position:fixed;z-index:109;top:0;right:0;width:min(440px,100vw);height:100dvh;display:flex;flex-direction:column;background:#f7f5f0;color:#17191f;box-shadow:-30px 0 80px rgba(15,17,21,.24);transform:translateX(102%);transition:transform .22s var(--ef-ease-out)}.ef-mini-cart.is-open{transform:translateX(0)}
.ef-mini-cart__header{min-height:104px;padding:25px 26px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dedbd4;background:#fff}.ef-mini-cart__header span{display:block;margin-bottom:7px;color:#d8292f;font:700 .65rem/1 var(--ef-font-display);letter-spacing:.14em;text-transform:uppercase}.ef-mini-cart__header h2{margin:0;color:#17191f;font:750 1.65rem/1 var(--ef-font-display);letter-spacing:-.035em}.ef-mini-cart__header button{width:42px;height:42px;display:grid;place-items:center;border:1px solid #dedbd4;border-radius:50%;background:#f7f5f0;color:#25272d;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.ef-mini-cart__header button:hover{background:#eeece6;transform:rotate(4deg)}.ef-mini-cart__header svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.ef-mini-cart__content{min-height:0;flex:1;display:flex;flex-direction:column;overflow:auto}.ef-mini-cart__content[aria-busy=true]{opacity:.65;pointer-events:none}.ef-mini-cart__loading{margin:auto;display:grid;justify-items:center;gap:12px;color:#777980;font-size:.8rem}.ef-mini-cart__loading i{width:28px;height:28px;border:2px solid #d8d5ce;border-top-color:#d8292f;border-radius:50%;animation:ef-cart-spin .7s linear infinite}@keyframes ef-cart-spin{to{transform:rotate(360deg)}}
.ef-mini-cart__items{padding:10px 24px 0}.ef-mini-cart__item{position:relative;display:grid;grid-template-columns:64px 1fr 32px;gap:14px;padding:20px 0;border-bottom:1px solid #dedbd4}.ef-mini-cart__product-icon{width:64px;height:64px;display:grid;place-items:center;border:1px solid #dedbd4;border-radius:6px 14px 14px 14px;background:#fff}.ef-mini-cart__product-icon svg{width:48px;fill:none;stroke:#393b41;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ef-mini-cart__item-copy{min-width:0}.ef-mini-cart__item-copy strong{display:block;margin:1px 0 9px;color:#17191f;font:700 .82rem/1.3 var(--ef-font-display)}.ef-mini-cart__item-copy small{display:block;margin:4px 0;color:#777980;font-size:.67rem;line-height:1.35}.ef-mini-cart__item-copy>span{display:block;margin-top:11px;color:#17191f;font:750 .8rem/1 var(--ef-font-display)}.ef-mini-cart__remove{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#8b8d93;cursor:pointer;transition:background-color .2s ease,color .2s ease}.ef-mini-cart__remove:hover{background:#ece9e3;color:#d8292f}.ef-mini-cart__remove:disabled{opacity:.4;cursor:wait}.ef-mini-cart__remove svg{width:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.ef-mini-cart__summary{margin-top:auto;padding:24px 26px 28px;border-top:1px solid #d8d5ce;background:#eeece6}.ef-mini-cart__summary>div{display:flex;align-items:center;justify-content:space-between}.ef-mini-cart__summary>div span{color:#55585e;font-size:.8rem}.ef-mini-cart__summary>div strong{color:#17191f;font:750 1.15rem/1 var(--ef-font-display)}.ef-mini-cart__summary p{margin:7px 0 20px;color:#777980;font-size:.68rem}.ef-mini-cart__checkout{min-height:54px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-radius:8px;background:#d8292f;color:#fff!important;font:730 .82rem/1 var(--ef-font-display);box-shadow:0 10px 25px rgba(216,41,47,.2);transition:transform .2s ease,background-color .2s ease}.ef-mini-cart__checkout:hover{transform:translateY(-1px);background:#bd2026}.ef-mini-cart__cart-link{display:block;margin-top:16px;color:#34363c!important;text-align:center;text-decoration:underline!important;text-underline-offset:4px;font-size:.72rem}.ef-mini-cart__empty{margin:auto;padding:55px 38px;text-align:center}.ef-mini-cart__empty svg{width:64px;fill:none;stroke:#bab7b0;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.ef-mini-cart__empty strong{display:block;margin-top:22px;color:#17191f;font:750 1.25rem/1.2 var(--ef-font-display)}.ef-mini-cart__empty p{max-width:300px;margin:12px auto 24px;color:#6d7076;font-size:.82rem;line-height:1.55}.ef-mini-cart__empty a{display:inline-flex;align-items:center;gap:18px;color:#d8292f!important;font:700 .78rem/1 var(--ef-font-display)}.ef-mini-cart__error{margin:auto;padding:40px;text-align:center}.ef-mini-cart__error strong{font:750 1.15rem/1.2 var(--ef-font-display)}.ef-mini-cart__error p{color:#6d7076;font-size:.8rem}.ef-mini-cart__error button{min-height:42px;padding:0 16px;border:1px solid #d8d5ce;border-radius:7px;background:#fff;cursor:pointer;font-weight:700}
.ef-global-footer{display:block!important;background:#15171b;color:#fff;padding:28px 0 26px}.ef-global-footer__inner{width:min(1240px,calc(100% - 40px));margin:auto}.ef-footer-cta{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:end;padding:48px 52px;background:#202228;border:1px solid #34363c;border-radius:6px 24px 24px 24px;box-shadow:0 24px 70px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.04)}.ef-footer-cta__eyebrow{margin:0 0 18px;color:#ef4a50;font:700 .7rem/1 var(--ef-font-display);letter-spacing:.16em;text-transform:uppercase}.ef-footer-cta h2{max-width:760px;margin:0;color:#fff;font:730 clamp(2rem,4vw,3.7rem)/1.08 var(--ef-font-display);letter-spacing:-.045em}.ef-footer-cta__copy>p:last-child{max-width:680px;margin:20px 0 0;color:#b7b9bf;font-size:.95rem;line-height:1.65}.ef-footer-cta__actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.ef-footer-cta__button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-width:260px;min-height:56px;padding:0 22px;border-radius:8px;background:#d8292f;color:#fff!important;font:720 .82rem/1 var(--ef-font-display);text-decoration:none;box-shadow:0 12px 28px rgba(216,41,47,.22);transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.ef-footer-cta__button:hover{transform:translateY(-2px);background:#bb2026;box-shadow:0 16px 34px rgba(216,41,47,.3)}.ef-footer-cta__actions small{color:#8f929a;font-size:.72rem}.ef-footer-cta__actions small a{color:#fff;text-decoration:none;font-weight:700}.ef-footer-main{display:grid;grid-template-columns:1.35fr .65fr .65fr;gap:70px;padding:64px 4px 50px}.ef-footer-brand img{display:block;width:220px;height:auto;filter:brightness(0) invert(1)}.ef-footer-brand>p{max-width:470px;margin:22px 0 0;color:#aeb0b7;font-size:.91rem;line-height:1.68}.ef-footer-contact{display:flex;gap:20px;flex-wrap:wrap;margin-top:25px}.ef-footer-contact a{color:#fff;text-decoration:none;font:680 .8rem/1.3 var(--ef-font-display)}.ef-footer-nav h3{margin:3px 0 20px;color:#fff;font:700 .72rem/1 var(--ef-font-display);letter-spacing:.13em;text-transform:uppercase}.ef-footer-nav a{position:relative;display:block;width:fit-content;margin:12px 0;color:#aeb0b7;font-size:.86rem;text-decoration:none;transition:color .2s ease,transform .2s ease}.ef-footer-nav a:hover{color:#fff;transform:translateX(3px)}.ef-footer-proof{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #32343a;border-bottom:1px solid #32343a}.ef-footer-proof span{padding:24px 24px 24px 0}.ef-footer-proof span+span{padding-left:24px;border-left:1px solid #32343a}.ef-footer-proof strong,.ef-footer-proof small{display:block}.ef-footer-proof strong{color:#fff;font:700 .78rem/1.25 var(--ef-font-display)}.ef-footer-proof small{margin-top:6px;color:#7f828a;font-size:.68rem;line-height:1.35}.ef-global-footer__bottom{display:flex;justify-content:space-between;gap:30px;padding:24px 4px 0;color:#747780;font-size:.7rem}.ef-global-footer__bottom a{color:#aeb0b7;text-decoration:none;font-weight:650;transition:color .2s ease}.ef-global-footer__bottom a:hover{color:#fff}.ef-global-footer a:focus-visible{outline:2px solid #ef4a50;outline-offset:4px}

.ef-site.woocommerce-cart .site-content,.ef-site.woocommerce-checkout .site-content{width:min(1120px,calc(100% - 40px));margin:70px auto 110px}.ef-site.woocommerce-cart .entry-content,.ef-site.woocommerce-checkout .entry-content{margin:0}.woocommerce table.shop_table{border:1px solid #dedbd4;border-radius:14px;background:#fff;overflow:hidden}.woocommerce table.shop_table th{font-family:var(--ef-font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.woocommerce table.shop_table td{padding:18px 14px}.woocommerce a.remove{color:#d8292f!important}.woocommerce .cart_totals,.woocommerce-checkout-review-order{padding:24px;background:#eeece7;border-radius:6px 18px 18px 18px}.woocommerce .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:#d8292f!important;color:#fff!important;border-radius:7px!important;padding:14px 20px!important;font-weight:700!important}.woocommerce .button:hover,.woocommerce a.button:hover{background:#b92026!important}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{min-height:48px;border:1px solid #cfcdc7;border-radius:7px;padding:10px 12px;background:#fff}.woocommerce-info,.woocommerce-message{border-top-color:#d8292f;background:#f0eee8}.woocommerce-info:before,.woocommerce-message:before{color:#d8292f}

@media(max-width:1060px){.ef-primary-nav{display:none}.ef-mobile-menu{display:block}.ef-header-cart span{display:inline}}
@media(max-width:980px){.ef-hero__grid{grid-template-columns:1fr}.ef-hero__visual{min-height:500px}.ef-radiator-hero{width:min(760px,105%)}.ef-trust-bar__inner{grid-template-columns:1fr 1fr;gap:20px}.ef-trust-bar__inner div{border:0;padding:0}.ef-section-heading--split,.ef-transfer__grid,.ef-install__grid,.ef-faq__grid{grid-template-columns:1fr;gap:46px}.ef-install__copy{position:static}.ef-transfer-card--channel{grid-template-columns:1fr}.ef-transfer-card--channel>.ef-card-foot{grid-column:auto}.ef-thermostat-layout{grid-template-columns:1fr}.ef-thermostat-direct{grid-row:auto}.ef-faq__intro{position:static}.ef-footer-cta{grid-template-columns:1fr;gap:34px}.ef-footer-main{grid-template-columns:1.2fr .8fr .8fr;gap:35px}}
@media(max-width:680px){body.ef-site{font-size:16px}.ef-shell{width:min(100% - 26px,1240px)}.ef-section{padding:82px 0}.ef-hero{padding-top:58px}.ef-hero__grid{gap:15px}.ef-hero__lead{font-size:1.04rem}.ef-actions{align-items:stretch;flex-direction:column;gap:16px}.ef-actions .ef-text-link{text-align:center}.ef-proof-list{flex-direction:column;gap:10px}.ef-hero__visual{min-height:370px}.ef-temp-badge{right:0;top:2%}.ef-visual-note{width:240px;left:0}.ef-trust-bar__inner{padding:25px 0}.ef-trust-bar__inner div{align-items:flex-start;flex-direction:column;gap:2px}.ef-process{grid-template-columns:1fr}.ef-process__item--large{min-height:520px}.ef-transfer__grid{gap:38px}.ef-air-label{right:10px}.ef-transfer__actions{align-items:stretch;flex-direction:column}.ef-transfer__actions .ef-text-link{text-align:center}.ef-transfer-bento{grid-template-columns:1fr}.ef-transfer-card{padding:25px}.ef-transfer-card--measure{grid-row:auto;min-height:0}.ef-transfer-card--measure svg{margin:20px 0}.ef-transfer-card--channel{grid-column:auto}.ef-channel-compare{grid-template-columns:1fr}.ef-channel-compare svg{height:155px}.ef-thermostat-direct{min-height:0;padding:25px;grid-template-columns:1fr}.ef-thermostat-direct__copy{grid-column:auto}.ef-thermostat-direct>svg{max-width:320px;margin:auto}.ef-thermostat-smart{padding:25px}.ef-smart-map{height:340px}.ef-thermostat-saving{padding:25px}.ef-thermostat-saving>div{align-items:flex-start;flex-direction:column;gap:8px}.ef-steps{grid-template-columns:1fr}.ef-steps article{min-height:250px;display:grid;grid-template-columns:50px 1fr;align-items:center}.ef-steps svg{grid-column:1/-1;height:110px}.ef-founder__grid{grid-template-columns:95px 1fr;gap:25px;align-items:start}.ef-founder blockquote p{font-size:1.65rem}.ef-founder blockquote footer{font-size:.8rem}.ef-faq__grid{gap:35px}.ef-faq-groups{gap:40px}.ef-accordion summary{font-size:.94rem}.ef-accordion details p{padding-right:15px}.ef-header-utility__inner{width:calc(100% - 26px)}.ef-header-utility__proof span:not(:first-child){display:none}.ef-header-utility__inner>a{font-size:0}.ef-header-utility__inner>a strong{font-size:.68rem}.ef-header-surface{padding:7px 0}.ef-global-header__inner{width:calc(100% - 26px);min-height:62px;padding:0 8px 0 14px;gap:8px}.ef-header-brand{margin-right:auto}.ef-header-brand img{width:164px}.ef-header-cart{width:auto;min-width:70px;padding:0 9px;justify-content:center}.ef-global-header .ef-header-cta{display:none}.ef-mobile-menu summary{width:42px;height:42px}.ef-mobile-menu nav{top:51px}.ef-global-footer__top{grid-template-columns:1fr;gap:35px}.ef-global-footer__bottom{flex-direction:column;gap:8px}}

body {
  background: var(--ef-color-paper);
  color: var(--ef-color-ink);
  font-family: var(--ef-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--ef-color-ink);
  font-family: var(--ef-font-display);
  font-style: normal;
  overflow-wrap: anywhere;
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--ef-color-focus);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (max-width: 680px) {
  .ef-global-header__inner { padding: 0 6px 0 10px; gap: 5px; }
  .ef-header-brand img { width: 122px; }
  .ef-header-actions { gap: 4px; }
  .ef-header-cart { width: auto; min-width: 72px; height: 42px; padding: 0 7px; gap: 6px; font-size: .66rem; }
  .ef-header-cart b { min-width: 18px; height: 18px; padding: 0 4px; font-size: .57rem; }
  .ef-global-header .ef-header-checkout { height: 42px; padding: 0 9px; font-size: .68rem; }
  .ef-header-checkout svg { display: none; }
  .ef-mobile-menu summary { width: 40px; height: 40px; }
  .ef-mini-cart { width: 100%; }
  .ef-mini-cart__header { min-height: 88px; padding: 20px 18px; }
  .ef-mini-cart__items { padding-inline: 18px; }
  .ef-mini-cart__summary { padding: 22px 18px 24px; }
  .ef-global-footer { padding-top: 14px; }
  .ef-global-footer__inner { width: calc(100% - 26px); }
  .ef-footer-cta { padding: 32px 24px; gap: 28px; border-radius: 5px 18px 18px 18px; }
  .ef-footer-cta h2 { font-size: clamp(1.9rem, 10vw, 2.7rem); }
  .ef-footer-cta__button { width: 100%; min-width: 0; }
  .ef-footer-main { grid-template-columns: 1fr; gap: 34px; padding: 48px 4px 40px; }
  .ef-footer-brand img { width: 190px; }
  .ef-footer-contact { flex-direction: column; gap: 12px; }
  .ef-footer-proof { grid-template-columns: 1fr; }
  .ef-footer-proof span { padding: 19px 0; }
  .ef-footer-proof span + span { padding-left: 0; border-left: 0; border-top: 1px solid #32343a; }
  .ef-global-footer__bottom { flex-direction: column; gap: 8px; padding-top: 22px; }
}
