:root {
  color-scheme: light;
  --ink: #19332d;
  --forest: #176b50;
  --paper: #f5f7f4;
  --muted: #687a72;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body { margin: 0; min-width: 320px; }
a { color: inherit; }
button, input { font: inherit; }
[hidden] { display: none !important; }
.skip-link { position: absolute; z-index: 30; top: 8px; left: 8px; transform: translateY(-160%); padding: 10px 14px; border-radius: 6px; background: white; color: var(--ink); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: sticky; z-index: 20; top: 0; border-bottom: 1px solid #e7ece8; background: #f8faf7ed; backdrop-filter: blur(14px); }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); font-size: 20px; font-weight: 800; letter-spacing: -1px; text-decoration: none; }
.brand-mark { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 11px; background: #176b50; color: #fff; }
.brand-mark svg { width: 27px; height: 27px; }
.brand-light { color: #739082; font-weight: 500; }
.nav-link { color: #52675d; font-size: 14px; font-weight: 600; text-decoration: none; transition: color .18s ease; }
.nav-link:hover, .footer-nav a:hover { color: var(--forest); }
.nav-cta { display: inline-flex; align-items: center; gap: 12px; padding: 11px 15px; border: 1px solid #d8e7dc; border-radius: 7px; background: #edf4ee; color: #17523e; font-size: 13px; font-weight: 700; text-decoration: none; }
.nav-cta:hover { background: #e4efe6; }
.site-navigation { display: flex; align-items: center; gap: clamp(10px, 1.5vw, 23px); }
.site-navigation .nav-link { white-space: nowrap; font-size: 13px; }
.site-navigation .nav-cta { white-space: nowrap; padding: 10px 12px; }
.menu-toggle { display: none; align-items: center; justify-content: center; gap: 9px; min-height: 42px; padding: 0 12px; border: 1px solid #d8e7dc; border-radius: 7px; background: #edf4ee; color: #17523e; font-size: 13px; font-weight: 700; cursor: pointer; }
.menu-toggle:focus-visible, .site-navigation a:focus-visible, .cookie-settings-link:focus-visible { outline: 3px solid #a8cbb2; outline-offset: 3px; }
.menu-toggle-icon, .menu-toggle-icon::before, .menu-toggle-icon::after { display: block; width: 18px; height: 2px; border-radius: 2px; background: currentColor; }
.menu-toggle-icon { position: relative; }
.menu-toggle-icon::before, .menu-toggle-icon::after { position: absolute; left: 0; content: ""; }
.menu-toggle-icon::before { top: -6px; }
.menu-toggle-icon::after { top: 6px; }
.hero { position: relative; overflow: hidden; background: #eaf1e9; }
.hero > div.relative { min-height: 490px; }
.hero-copy { position: relative; z-index: 2; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 15px; color: #427b5d; font-size: 11px; font-weight: 800; letter-spacing: 1.5px; }
.eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: #82a74f; }
.hero h1 { margin: 0; color: var(--ink); font-size: clamp(38px, 5vw, 60px); font-weight: 750; letter-spacing: -2.8px; line-height: 1.08; }
.hero h1 span { color: #387358; }
.hero-description { max-width: 510px; margin: 21px 0 27px; color: #586f63; font-size: 17px; line-height: 1.75; }
.search-form { display: flex; width: min(100%, 540px); min-height: 58px; align-items: center; gap: 12px; padding: 6px 7px 6px 17px; border: 1px solid #dce6dd; border-radius: 9px; background: white; box-shadow: 0 10px 30px #24443210; }
.search-icon { width: 21px; height: 21px; flex: 0 0 auto; color: #71877a; }
.search-form input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 14px; }
.search-form input::placeholder { color: #89978e; }
.search-form input:focus-visible { outline: 2px solid #77a68b; outline-offset: 4px; }
.search-form button { flex: 0 0 auto; padding: 12px 16px; border: 0; border-radius: 6px; background: var(--forest); color: white; font-size: 13px; font-weight: 700; cursor: pointer; }
.search-form button:hover { background: #10543e; }
.search-form button span { margin-left: 8px; }
.search-hint { margin: 10px 0 0; color: #788a7f; font-size: 12px; }
.hero-art { position: relative; width: min(100%, 470px); height: 340px; justify-self: center; }
.art-sun { position: absolute; top: 25px; right: 73px; width: 92px; height: 92px; border-radius: 50%; background: #d6ee74; }
.art-ground { position: absolute; right: 4%; bottom: 48px; left: 2%; height: 84px; border-radius: 50% 50% 7px 7px; background: #d1e3d2; }
.art-house { position: absolute; z-index: 2; right: 11%; bottom: 66px; width: 276px; height: 222px; }
.house-roof { position: absolute; z-index: 2; top: 0; left: 14px; width: 248px; height: 154px; border-top: 16px solid #264b3b; border-left: 16px solid #264b3b; border-radius: 7px 0 0; transform: rotate(45deg) scale(.72); transform-origin: 50% 100%; }
.house-body { position: absolute; right: 0; bottom: 0; left: 0; height: 158px; border: 4px solid #d9e7d9; border-radius: 4px; background: #fffefa; box-shadow: 0 16px 25px #27483217; }
.house-window { position: absolute; top: 34px; width: 45px; height: 43px; border: 4px solid #a9c8b5; border-radius: 3px; background: #dfeee7; }
.window-one { left: 26px; }
.window-two { right: 26px; }
.house-door { position: absolute; bottom: 0; left: 105px; width: 54px; height: 93px; border: 4px solid #cad9cc; border-bottom: 0; border-radius: 4px 4px 0 0; background: #e4eee5; }
.house-solar { position: absolute; z-index: 3; top: 15px; left: 42px; display: grid; width: 118px; height: 48px; grid-template-columns: repeat(3, 1fr); gap: 3px; padding: 4px; transform: rotate(-25deg); border: 3px solid #d9e5dc; border-radius: 3px; background: #365f58; }
.house-solar span { border: 1px solid #84b6a4; background: #427a6c; }
.art-leaf { position: absolute; z-index: 3; bottom: 72px; width: 31px; height: 60px; border-radius: 100% 0 100% 0; background: #75a17a; transform: rotate(-26deg); }
.leaf-one { left: 28px; }
.leaf-two { right: 26px; bottom: 84px; height: 47px; background: #9bbb7d; transform: rotate(26deg) scaleX(-1); }
.art-label { position: absolute; z-index: 4; right: 0; bottom: 38px; display: flex; align-items: center; gap: 10px; padding: 12px 16px; border: 1px solid #e5ece4; border-radius: 8px; background: white; box-shadow: 0 12px 26px #19332d16; }
.art-label-icon { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; background: #e6f1df; color: #3d7956; font-weight: 800; }
.art-label strong, .art-label small { display: block; }
.art-label strong { color: var(--ink); font-size: 12px; }
.art-label small { margin-top: 3px; color: #75847b; font-size: 10px; }
.hero-orb { position: absolute; border: 1px solid #cdddcf; border-radius: 50%; }
.hero-orb-one { top: -215px; right: 3%; width: 440px; height: 440px; }
.hero-orb-two { right: -6%; bottom: -265px; width: 570px; height: 570px; }
.section-shell { width: min(100% - 40px, 1120px); margin-inline: auto; }
.topics-section { padding-top: 82px; padding-bottom: 88px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 27px; }
.section-heading .eyebrow { margin-bottom: 10px; }
.section-heading h2 { margin: 0; color: var(--ink); font-size: clamp(27px, 3vw, 35px); font-weight: 750; letter-spacing: -1.25px; line-height: 1.2; }
.section-heading > p, .section-note { max-width: 410px; margin: 0; color: #6c7c73; font-size: 14px; line-height: 1.7; }
.section-note { font-size: 12px; text-align: right; }
.topic-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.topic-card { position: relative; display: flex; min-height: 192px; flex-direction: column; align-items: flex-start; padding: 19px; border: 1px solid #e2e9e2; border-radius: 9px; background: #fff; text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.topic-card:hover { transform: translateY(-3px); border-color: #b9d0bf; box-shadow: 0 12px 28px #19332d0d; }
.topic-icon { display: grid; width: 47px; height: 47px; place-items: center; border-radius: 12px; }
.topic-icon svg { width: 39px; height: 39px; }
.icon-solar { background: #f3f3de; color: #778643; }
.icon-insulation { background: #e9f1e7; color: #4d8059; }
.icon-heatpump { background: #e6f0ef; color: #397d75; }
.icon-contract { background: #edf0f7; color: #5d7295; }
.topic-content { display: grid; gap: 6px; margin-top: 18px; padding-right: 14px; }
.topic-content strong { color: var(--ink); font-size: 15px; font-weight: 700; }
.topic-content > span { color: #718077; font-size: 12px; line-height: 1.55; }
.topic-arrow { position: absolute; right: 17px; bottom: 17px; color: #759180; font-size: 15px; }
.calculator-section { padding: 79px 0 83px; border-top: 1px solid #e7ece7; background: #f8faf7; }
.calculator-heading { margin-bottom: 27px; }
.calculator-heading h1, .calculator-heading h2 { margin: 0; color: var(--ink); font-size: clamp(27px, 3vw, 35px); font-weight: 750; letter-spacing: -1.25px; line-height: 1.2; }
.calculator-layout { display: grid; grid-template-columns: minmax(260px, .83fr) minmax(0, 1.17fr); gap: 17px; align-items: stretch; }
.calculator-form, .calculator-result, .calculator-placeholder { min-width: 0; padding: 25px; border: 1px solid #e0e9e1; border-radius: 10px; background: white; box-shadow: 0 12px 30px #19332d08; }
.calculator-form { display: grid; align-content: start; gap: 17px; }
.calculator-field { display: grid; gap: 8px; color: #40574a; font-size: 13px; font-weight: 650; line-height: 1.5; }
.calculator-field input, .calculator-field select { width: 100%; min-width: 0; height: 46px; padding: 0 12px; border: 1px solid #dce6dd; border-radius: 6px; outline: none; background: #fff; color: var(--ink); font-size: 14px; font-weight: 450; }
.calculator-field input:focus, .calculator-field select:focus { border-color: #73a184; box-shadow: 0 0 0 3px #e7f1e9; }
.calculator-input-wrap { display: flex; min-width: 0; align-items: center; gap: 9px; padding-left: 13px; border: 1px solid #dce6dd; border-radius: 6px; background: #fff; color: #5a7664; }
.calculator-input-wrap:focus-within { border-color: #73a184; box-shadow: 0 0 0 3px #e7f1e9; }
.calculator-input-wrap input { flex: 1; border: 0; box-shadow: none !important; }
.calculator-input-wrap input:focus { outline: none; }
.input-unit { flex: 0 0 auto; padding-right: 12px; color: #839087; font-size: 11px; font-weight: 500; }
.calculator-button { display: inline-flex; min-height: 47px; align-items: center; justify-content: center; gap: 12px; margin-top: 2px; padding: 0 17px; border: 0; border-radius: 6px; background: var(--forest); color: white; font-size: 14px; font-weight: 700; cursor: pointer; }
.calculator-button:hover { background: #10543e; }
.calculator-button:focus-visible { outline: 3px solid #a8cbb2; outline-offset: 3px; }
.calculator-form-hint { margin: -5px 0 0; color: #819087; font-size: 11px; line-height: 1.6; }
.calculator-result { border-color: #d5e6d9; background: linear-gradient(145deg, #fff 35%, #f3f8f1); }
.calculator-result[hidden] { display: none !important; }
.result-topline { display: flex; align-items: center; gap: 8px; color: #508061; font-size: 10px; font-weight: 800; letter-spacing: 1.3px; }
.result-check { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: #e6f1e6; color: #347554; font-size: 14px; }
.calculator-result h2, .calculator-result h3 { margin: 15px 0 5px; color: var(--ink); font-size: 22px; font-weight: 750; letter-spacing: -.5px; }
.result-context { margin: 0 0 19px; color: #738178; font-size: 12px; line-height: 1.6; }
.result-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.result-metric { display: flex; min-width: 0; min-height: 112px; flex-direction: column; align-items: flex-start; padding: 13px 11px; border: 1px solid #e2ebe2; border-radius: 7px; background: #fff; }
.result-metric > span { min-height: 30px; color: #697b70; font-size: 11px; font-weight: 600; line-height: 1.4; }
.result-metric strong { margin-top: 8px; color: #205e43; font-size: clamp(14px, 1.5vw, 18px); font-weight: 750; line-height: 1.3; overflow-wrap: anywhere; }
.result-metric small { margin-top: 5px; color: #87938b; font-size: 10px; line-height: 1.45; }
.result-payback { border-color: #d8e8d7; background: #f1f7ee; }
.result-disclaimer { margin: 14px 0 0; padding: 11px 12px; border-left: 3px solid #9abc83; border-radius: 3px; background: #f3f7ef; color: #637367; font-size: 11px; line-height: 1.65; }
.calculator-placeholder { display: flex; min-height: 100%; flex-direction: column; align-items: center; justify-content: center; padding: 35px; text-align: center; }
.placeholder-icon { display: grid; width: 49px; height: 49px; place-items: center; margin-bottom: 15px; border-radius: 14px; background: #edf4e8; color: #4a805b; font-size: 22px; font-weight: 750; }
.calculator-placeholder strong { color: var(--ink); font-size: 16px; }
.calculator-placeholder > span:last-child { max-width: 300px; margin-top: 8px; color: #77857c; font-size: 12px; line-height: 1.65; }
.calculator-source-note { margin: 14px 0 0; color: #7b887f; font-size: 11px; line-height: 1.7; }
.featured-section { padding: 75px 0 81px; border-top: 1px solid #e7ece7; background: #edf2ed; }
.featured-section .section-heading { margin-bottom: 28px; }
.article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
.article-card { overflow: hidden; border: 1px solid #e1e8e1; border-radius: 9px; background: white; }
.article-art { position: relative; height: 164px; overflow: hidden; }
.article-art-solar { background: linear-gradient(140deg, #dbe9d3 0%, #eff0d9 55%, #d7e4d4 100%); }
.article-art .sun { position: absolute; top: 20px; right: 53px; width: 54px; height: 54px; border-radius: 50%; background: #d9ea8c; }
.solar-roof { position: absolute; bottom: -41px; left: 28px; width: 210px; height: 150px; border-top: 13px solid #315543; border-left: 13px solid #315543; transform: rotate(45deg); }
.solar-panel { position: absolute; bottom: 78px; left: 80px; width: 107px; height: 48px; transform: skewY(-26deg); border: 4px solid #d4e4d7; background: repeating-linear-gradient(90deg, #386c62 0 31px, #7fa994 32px 34px); box-shadow: 0 4px 8px #1b473433; }
.article-art-insulation { background: linear-gradient(145deg, #e2efe5, #d6e3d7); }
.insulation-house { position: absolute; bottom: -42px; left: 83px; width: 154px; height: 127px; border: 9px solid #fffdf6; border-bottom: 0; border-radius: 4px 4px 0 0; background: #abc6ac; }
.insulation-house::before { position: absolute; top: -60px; left: -17px; width: 104px; height: 104px; transform: rotate(45deg); border-top: 9px solid #fffdf6; border-left: 9px solid #fffdf6; content: ""; }
.insulation-lines { position: absolute; bottom: 0; left: 0; width: 8px; height: 100%; background: repeating-linear-gradient(0deg, #93b88f 0 13px, #d0e1c6 14px 19px); }
.insulation-spark { position: absolute; top: 34px; right: 91px; color: #6e965e; font-size: 37px; font-weight: 300; }
.article-art-heat { display: flex; align-items: center; justify-content: center; gap: 17px; background: linear-gradient(140deg, #dfeee7, #d8e9e7); }
.heat-circle { position: absolute; top: 35px; left: calc(50% - 33px); width: 66px; height: 66px; border: 5px solid #4b8c76; border-radius: 50%; }
.heat-line { z-index: 1; width: 4px; height: 45px; border-radius: 4px; background: #6ca78d; }
.heat-line-one { margin-top: 85px; transform: rotate(-22deg); }
.heat-line-two { height: 55px; margin-top: 75px; }
.heat-line-three { margin-top: 85px; transform: rotate(22deg); }
.article-body { padding: 20px 20px 21px; }
.article-tag { color: #548265; font-size: 10px; font-weight: 800; letter-spacing: 1.2px; }
.article-body h3 { margin: 10px 0 8px; color: var(--ink); font-size: 19px; font-weight: 720; letter-spacing: -.4px; line-height: 1.35; }
.article-body h3 a { color: inherit; text-decoration: none; }
.article-body h3 a:hover { color: var(--forest); }
.article-body p { min-height: 61px; margin: 0 0 17px; color: #6b7a71; font-size: 13px; line-height: 1.7; }
.article-body a { display: inline-flex; align-items: center; gap: 8px; color: #176b50; font-size: 13px; font-weight: 700; text-decoration: none; }
.article-body a:hover { text-decoration: underline; text-underline-offset: 3px; }
.source-note { margin: 16px 0 0; color: #7b887f; font-size: 11px; }
.search-empty { margin: 17px 0 0; color: #697a70; font-size: 14px; }
.article-shell { width: min(100% - 40px, 1120px); margin-inline: auto; padding: 27px 0 80px; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: 0 0 28px; color: #75847b; font-size: 12px; }
.breadcrumbs a { color: #3f7457; text-decoration: none; }
.breadcrumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }
.breadcrumbs [aria-current="page"] { color: #52675b; }
.article-page { max-width: 100%; }
.article-header { max-width: 850px; margin: 0 auto; padding: 32px 0 29px; }
.article-kicker { margin: 0 0 14px; color: #427b5d; font-size: 11px; font-weight: 800; letter-spacing: 1.4px; }
.article-kicker span { margin-inline: 5px; color: #a5b1a8; }
.article-header h1 { margin: 0; color: var(--ink); font-size: clamp(34px, 5vw, 54px); font-weight: 760; letter-spacing: -2.1px; line-height: 1.12; }
.article-intro { max-width: 740px; margin: 19px 0 18px; color: #5e7165; font-size: clamp(17px, 2vw, 20px); line-height: 1.7; }
.article-meta { display: flex; flex-wrap: wrap; gap: 8px 21px; color: #7a887f; font-size: 12px; }
.article-meta strong { color: #435c4d; font-weight: 650; }
.ad-placeholder { display: flex; min-height: 130px; flex-direction: column; align-items: center; justify-content: center; gap: 6px; margin: 0 auto 33px; padding: 18px; border: 1px dashed #b8c8ba; border-radius: 8px; background: #f1f5ef; text-align: center; }
.ad-label { color: #5b7964; font-size: 9px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; }
.ad-placeholder-text { color: #425d4b; font-size: 13px; font-weight: 650; }
.ad-placeholder-caption { color: #849087; font-size: 10px; line-height: 1.5; }
.article-layout { display: grid; grid-template-columns: minmax(200px, 245px) minmax(0, 720px); justify-content: center; align-items: start; gap: clamp(28px, 5vw, 68px); }
.toc-panel { position: sticky; top: 98px; padding: 20px; border: 1px solid #e0e8e0; border-radius: 8px; background: #fff; }
.toc-eyebrow { margin: 0 0 6px; color: #548265; font-size: 9px; font-weight: 800; letter-spacing: 1.25px; }
.toc-panel h2 { margin: 0 0 13px; color: var(--ink); font-size: 17px; font-weight: 720; }
.toc-panel ol { display: grid; gap: 9px; margin: 0; padding-left: 18px; color: #799083; }
.toc-panel li { padding-left: 2px; font-size: 12px; line-height: 1.5; }
.toc-panel a { color: #526c5c; text-decoration: none; }
.toc-panel a:hover { color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
.article-content { min-width: 0; color: #42584b; font-size: 16px; line-height: 1.85; }
.article-content section { margin: 0 0 35px; scroll-margin-top: 95px; }
.article-content h2 { margin: 0 0 13px; color: var(--ink); font-size: clamp(23px, 3vw, 29px); font-weight: 740; letter-spacing: -.75px; line-height: 1.25; }
.article-content h3 { margin: 24px 0 8px; color: #285b42; font-size: 19px; font-weight: 700; letter-spacing: -.2px; line-height: 1.4; }
.article-content p { margin: 0 0 14px; }
.article-content a:not(.calculator-button) { color: #176b50; font-weight: 650; text-decoration: underline; text-decoration-color: #b8d2be; text-underline-offset: 3px; }
.article-content a:not(.calculator-button):hover { text-decoration-color: currentColor; }
.ad-placeholder-inline { min-height: 112px; margin: 27px 0 35px; }
.article-source { margin: 32px 0; padding: 20px; border: 1px solid #e0e8e0; border-radius: 8px; background: #f8faf7; }
.article-source > strong { display: block; margin-bottom: 7px; color: #294f3c; font-size: 14px; }
.article-source p { margin: 0 0 10px; color: #627368; font-size: 13px; line-height: 1.7; }
.article-source a { font-size: 13px; }
.article-cta { margin: 35px 0 0; padding: clamp(20px, 4vw, 31px); border: 1px solid #dce8da; border-radius: 9px; background: #edf4e9; }
.article-cta .eyebrow { margin: 0 0 10px; font-size: 9px; }
.article-cta h2 { max-width: 550px; margin-bottom: 9px; font-size: clamp(22px, 3vw, 28px); }
.article-cta p:not(.eyebrow) { margin: 0 0 17px; color: #627368; font-size: 13px; line-height: 1.7; }
.article-cta .calculator-button { min-height: 44px; width: fit-content; padding: 0 14px; text-decoration: none; }
.article-disclaimer { margin: 22px 0 0 !important; color: #78867d; font-size: 11px; line-height: 1.7; }
.site-footer { border-top: 1px solid #e0e8e1; background: #f8faf7; }
.footer-main { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; padding-bottom: 31px; }
.footer-brand { font-size: 18px; }
.footer-brand .brand-mark { width: 32px; height: 32px; border-radius: 9px; }
.footer-brand .brand-mark svg { width: 24px; height: 24px; }
.footer-about p { max-width: 340px; margin: 12px 0 0; color: #718077; font-size: 13px; line-height: 1.7; }
.footer-nav { display: flex; gap: 25px; padding-top: 8px; }
.footer-nav-wrap { flex-wrap: wrap; justify-content: flex-end; row-gap: 12px; }
.footer-nav a { color: #54685c; font-size: 13px; font-weight: 600; text-decoration: none; }
.cookie-settings-link { padding: 0; border: 0; background: none; color: #54685c; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.cookie-settings-link:hover { color: var(--forest); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 17px; border-top: 1px solid #e5ebe5; color: #87938b; font-size: 11px; }
.consent-banner { position: fixed; z-index: 60; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); left: max(16px, env(safe-area-inset-left)); display: flex; max-width: 940px; align-items: center; justify-content: space-between; gap: 24px; margin-inline: auto; padding: 20px 22px; border: 1px solid #dce7dd; border-radius: 12px; background: #fff; box-shadow: 0 18px 55px #19332d26; }
.consent-banner[hidden] { display: none !important; }
.consent-copy { max-width: 570px; }
.consent-copy strong { color: var(--ink); font-size: 15px; font-weight: 750; }
.consent-copy p { margin: 5px 0 0; color: #63746a; font-size: 12px; line-height: 1.6; }
.consent-copy a { color: var(--forest); font-weight: 700; text-underline-offset: 3px; }
.consent-copy .consent-status { display: none; color: #9d4137; }
.consent-copy .consent-status.is-visible { display: block; }
.consent-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.consent-actions button { min-height: 42px; padding: 0 13px; border: 1px solid #d8e7dc; border-radius: 6px; background: #fff; color: #28553f; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.consent-actions .consent-accept { border-color: var(--forest); background: var(--forest); color: #fff; }
.consent-actions button:hover { filter: brightness(.96); }
.consent-actions button:focus-visible { outline: 3px solid #a8cbb2; outline-offset: 3px; }
.related-articles { margin: 34px 0; }
.related-articles h2 { margin: 0 0 15px; color: var(--ink); font-size: 22px; font-weight: 740; letter-spacing: -.4px; }
.related-articles-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.related-article { min-width: 0; padding: 15px; border: 1px solid #e1e8e1; border-radius: 8px; background: white; }
.related-article a { color: #245c43 !important; font-size: 13px; font-weight: 700; line-height: 1.5; text-decoration: none !important; }
.related-article a:hover { text-decoration: underline !important; text-underline-offset: 3px; }
.faq-section { padding: 72px 0 82px; border-top: 1px solid #e7ece7; background: #f8faf7; }
.faq-list { display: grid; gap: 10px; max-width: 850px; }
.faq-item { overflow: hidden; border: 1px solid #e0e9e1; border-radius: 8px; background: #fff; }
.faq-item summary { position: relative; padding: 17px 48px 17px 18px; color: var(--ink); font-size: 15px; font-weight: 700; line-height: 1.5; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { position: absolute; top: 50%; right: 18px; color: var(--forest); content: "+"; font-size: 22px; font-weight: 500; transform: translateY(-50%); }
.faq-item[open] summary::after { content: "−"; }
.faq-item summary:focus-visible { outline: 3px solid #a8cbb2; outline-offset: -3px; }
.faq-item p { margin: 0; padding: 0 18px 18px; color: #63746a; font-size: 14px; line-height: 1.75; }
.legal-body { min-height: 100vh; background: var(--paper); }
.legal-main { width: min(780px, calc(100% - 40px)); margin: 0 auto; padding: 72px 0 90px; }
.legal-main h1 { margin: 0 0 16px; color: var(--ink); font-size: clamp(36px, 5vw, 50px); font-weight: 750; letter-spacing: -2px; }
.legal-main h2 { margin: 33px 0 10px; color: #2b5d45; font-size: 20px; font-weight: 700; }
.legal-main p, .legal-main li { color: #5c6e63; font-size: 15px; line-height: 1.8; }
.legal-main .legal-notice { margin: 26px 0; padding: 16px 18px; border: 1px solid #e5d7ad; border-radius: 7px; background: #faf6e8; color: #675a39; font-size: 14px; line-height: 1.7; }
.legal-main ul { padding-left: 23px; }
.legal-updated { color: #78867d !important; font-size: 12px !important; }
.about-lead { color: #375e48 !important; font-size: 19px !important; line-height: 1.75 !important; }
.contact-form { display: grid; gap: 16px; margin: 28px 0 18px; padding: clamp(18px, 4vw, 27px); border: 1px solid #e0e9e1; border-radius: 9px; background: #fff; box-shadow: 0 12px 30px #19332d08; }
.contact-field { display: grid; gap: 7px; color: #40574a; font-size: 13px; font-weight: 650; }
.contact-field input, .contact-field textarea { width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid #dce6dd; border-radius: 6px; outline: 0; background: #fff; color: var(--ink); font: 450 14px/1.5 Inter, ui-sans-serif, system-ui, sans-serif; }
.contact-field input { min-height: 44px; }
.contact-field textarea { min-height: 145px; resize: vertical; }
.contact-field input:focus, .contact-field textarea:focus { border-color: #73a184; box-shadow: 0 0 0 3px #e7f1e9; }
.contact-form .calculator-button { width: fit-content; }
.contact-status, .contact-privacy { margin: 0 !important; color: #718077 !important; font-size: 12px !important; line-height: 1.65 !important; }
.contact-status.error { color: #9d4137 !important; }
.contact-privacy { margin-top: 15px !important; }
.legal-main code { padding: 2px 5px; border-radius: 4px; background: #eef2ed; color: #365b46; font-size: .9em; }
.legal-back { display: inline-flex; margin-top: 20px; color: #176b50; font-size: 14px; font-weight: 700; text-decoration: none; }
.legal-back:hover { text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 900px) {
  .hero > div.relative { min-height: 440px; }
  .hero-art { transform: scale(.86); transform-origin: center; }
  .topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calculator-layout { grid-template-columns: minmax(230px, .8fr) minmax(0, 1.2fr); gap: 12px; }
  .calculator-form, .calculator-result, .calculator-placeholder { padding: 19px; }
  .result-metrics { grid-template-columns: 1fr; }
  .result-metric { min-height: 0; }
  .result-metric > span { min-height: 0; }
  .result-metric strong { margin-top: 5px; }
  .article-layout { grid-template-columns: minmax(180px, 220px) minmax(0, 1fr); gap: 25px; }
  .toc-panel { padding: 16px; }
  .article-content { font-size: 15px; }
  .article-grid { gap: 12px; }
  .article-body { padding: 17px; }
}
@media (max-width: 1050px) {
  .site-header > div { position: relative; }
  .menu-toggle { display: inline-flex; }
  .site-navigation { position: absolute; z-index: 25; top: calc(100% + 9px); right: 20px; left: 20px; display: none; align-items: stretch; flex-direction: column; gap: 0; padding: 8px; border: 1px solid #dce7dd; border-radius: 9px; background: #fff; box-shadow: 0 16px 35px #19332d1a; }
  .site-navigation.is-open { display: flex; }
  .site-navigation .nav-link, .site-navigation .nav-cta { display: flex; min-height: 44px; align-items: center; padding: 11px 12px; border: 0; border-radius: 5px; background: transparent; color: #365c46; font-size: 14px; text-decoration: none; }
  .site-navigation .nav-link:hover, .site-navigation .nav-cta:hover { background: #eef4ee; }
  .site-navigation .nav-cta span { margin-left: auto; }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 70px; }
  .hero > div.relative { min-height: 0; padding-top: 62px; padding-bottom: 31px; }
  .hero h1 { font-size: clamp(38px, 9vw, 52px); letter-spacing: -2px; }
  .hero-description { margin: 17px 0 22px; font-size: 15px; }
  .hero-art { width: min(100%, 410px); height: 280px; margin-top: 7px; transform: scale(.83); }
  .hero-orb-one { right: -18%; }
  .section-shell { width: min(100% - 36px, 540px); }
  .topics-section { padding-top: 59px; padding-bottom: 63px; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 12px; margin-bottom: 21px; }
  .section-heading > p, .section-note { text-align: left; }
  .topic-grid { gap: 10px; }
  .topic-card { min-height: 174px; padding: 15px; }
  .topic-content { margin-top: 15px; }
  .calculator-section { padding: 58px 0 63px; }
  .calculator-layout { grid-template-columns: 1fr; }
  .calculator-form, .calculator-result, .calculator-placeholder { padding: 20px; }
  .calculator-placeholder { min-height: 180px; }
  .result-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .result-metric { min-height: 108px; padding: 11px 9px; }
  .result-metric > span { min-height: 30px; }
  .result-metric strong { margin-top: 8px; }
  .featured-section { padding: 57px 0 62px; }
  .article-shell { width: min(100% - 36px, 680px); padding-top: 20px; padding-bottom: 61px; }
  .breadcrumbs { margin-bottom: 16px; font-size: 11px; }
  .article-header { padding-top: 25px; }
  .article-header h1 { letter-spacing: -1.5px; }
  .article-layout { grid-template-columns: 1fr; gap: 23px; }
  .toc-panel { position: static; }
  .article-content { font-size: 15px; line-height: 1.8; }
  .article-content section { margin-bottom: 28px; scroll-margin-top: 80px; }
  .article-grid { grid-template-columns: 1fr; gap: 14px; }
  .article-card { display: grid; grid-template-columns: minmax(110px, .72fr) minmax(0, 1fr); }
  .article-art { height: 100%; min-height: 210px; }
  .article-art .sun { right: 18px; }
  .solar-roof { left: -23px; }
  .solar-panel { left: 19px; width: 86px; }
  .insulation-house { left: 18px; }
  .insulation-spark { right: 24px; }
  .article-body { padding: 17px 14px; }
  .article-body h3 { font-size: 17px; }
  .article-body p { min-height: 0; font-size: 12px; }
  .footer-main, .footer-bottom { flex-direction: column; gap: 16px; }
  .footer-main { padding-bottom: 23px; }
  .footer-nav { padding-top: 0; }
  .footer-nav-wrap { justify-content: flex-start; gap: 13px 20px; }
  .footer-bottom { gap: 7px; }
  .consent-banner { align-items: stretch; flex-direction: column; gap: 13px; padding: 17px; }
  .consent-actions { justify-content: stretch; }
  .consent-actions button { flex: 1 1 145px; }
  .related-articles-grid { grid-template-columns: 1fr; }
  .faq-section { padding: 55px 0 61px; }
  .faq-item summary { font-size: 14px; }
  .faq-item p { font-size: 13px; }
}
@media (max-width: 420px) {
  .search-form { gap: 8px; padding-left: 12px; }
  .search-form button { padding: 12px 11px; }
  .topic-content strong { font-size: 14px; }
  .topic-content > span { font-size: 11px; }
  .result-metrics { grid-template-columns: 1fr; }
  .result-metric { min-height: 0; padding: 12px; }
  .result-metric > span { min-height: 0; }
  .result-metric strong { margin-top: 5px; font-size: 17px; }
  .article-card { grid-template-columns: 1fr; }
  .article-art { height: 145px; min-height: 0; }
  .solar-roof { left: 21px; }
  .solar-panel { left: 75px; }
  .insulation-house { left: calc(50% - 77px); }
  .insulation-spark { right: calc(50% - 125px); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
