:root {
    color-scheme: light;
    font-family: Arial, Helvetica, sans-serif;
    background: #f6f8f6;
    color: #173433;
    font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; }
button, input { font: inherit; }
a { color: inherit; }
img { max-width: 100%; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #e0a93e; outline-offset: 3px; }
.content-width, .header-inner, .footer-inner { width: min(100% - 48px, 1200px); margin-inline: auto; }
.skip-link { position: absolute; top: -100px; left: 12px; padding: 10px 14px; background: #fff; z-index: 10; }
.skip-link:focus { top: 12px; }

.site-header { border-bottom: 1px solid #d9e2dc; background: #fff; }
.header-inner { display: flex; align-items: center; gap: 34px; min-height: 86px; }
.brand { display: flex; flex: 0 0 132px; align-items: center; }
.brand img { display: block; width: 124px; height: auto; }
.main-nav { display: flex; flex-wrap: wrap; align-items: center; gap: clamp(12px, 2vw, 28px); margin-left: auto; }
.main-nav a, .language-switch a { font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.main-nav a { padding-block: 30px; border-bottom: 3px solid transparent; }
.main-nav a:hover, .main-nav a[aria-current="page"] { border-color: #dba945; }
.language-switch { display: flex; gap: 8px; align-items: center; flex: 0 0 auto; padding-left: 24px; border-left: 1px solid #d9e2dc; }
.language-switch a:not([aria-current]) { color: #738583; }

main { min-height: calc(100vh - 165px); }
.home-hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 460px; overflow: hidden; background: #e6ece5; }
.home-hero::after { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(248, 250, 246, .97) 0%, rgba(248, 250, 246, .88) 32%, rgba(248, 250, 246, .16) 67%, transparent 100%); pointer-events: none; }
.home-hero-image { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 56%; }
.home-hero-inner { position: relative; z-index: 2; padding-block: 64px; }
.home-hero-copy { max-width: 545px; }
.home-hero-copy .lead { color: #254642; }
.home-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 26px; }
.home-hero-actions .text-link { color: #0a6059; }
.eyebrow { margin: 0 0 18px; color: #147e72; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
h1, h2, h3, p { overflow-wrap: break-word; }
h1, h2, h3 { margin-top: 0; }
h1 { margin-bottom: 16px; font-size: 36px; line-height: 1.2; }
h2 { font-size: 25px; line-height: 1.25; }
h3 { font-size: 17px; }
.lead { max-width: 660px; margin: 0 0 28px; color: #4a6260; font-size: 18px; line-height: 1.5; }
.button-primary, .button-secondary { display: inline-flex; justify-content: center; align-items: center; gap: 18px; min-height: 48px; padding: 12px 20px; border: 1px solid #147e72; border-radius: 4px; cursor: pointer; font-weight: 700; text-decoration: none; }
.button-primary { background: #147e72; color: #fff; }
.button-primary:hover { background: #0d665d; }
.button-secondary { background: #fff; color: #147e72; }
.button-secondary:hover { background: #e9f2ee; }

.workflow-band { padding-block: 56px 65px; border-top: 1px solid #d9e2dc; background: #fff; }
.workflow-band h2 { margin-bottom: 34px; }
.workflow-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.workflow-item { border-top: 2px solid #147e72; padding-top: 18px; }
.step-number { color: #147e72; font-size: 13px; font-weight: 800; }
.workflow-item h3 { margin: 15px 0 8px; }
.workflow-item p { max-width: 315px; margin: 0; color: #5e7370; line-height: 1.55; }
.quiet-note { margin: 30px 0 0; color: #667975; font-size: 13px; }
.home-insight { padding-block: 74px; background: #eef3ee; }
.home-insight-inner { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1fr); align-items: center; gap: clamp(32px, 6vw, 90px); }
.home-insight-copy { max-width: 440px; }
.home-insight-copy h2 { margin-bottom: 18px; }
.home-insight-copy > p:not(.eyebrow) { color: #3f5753; line-height: 1.65; }
.home-insight-copy .text-link { display: inline-block; margin-top: 16px; }
.home-insight-inner img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }

.page-heading { padding-block: 52px 30px; }
.page-heading h1 { font-size: 32px; }
.page-body { padding-block: 5px 90px; }
.empty-state { max-width: 760px; padding: 32px 0; border-top: 1px solid #cbd9d1; border-bottom: 1px solid #cbd9d1; color: #607672; }
.project-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.project-card { overflow: hidden; border: 1px solid #d9e2dc; border-radius: 4px; background: #fff; }
.project-card img { display: block; width: 100%; aspect-ratio: 1.5; object-fit: cover; }
.project-card div { padding: 22px; }
.project-card h2 { font-size: 20px; }
.project-card p { color: #5e7370; line-height: 1.5; }
.project-card time, .project-heading time { display: block; margin-bottom: 12px; color: #607672; font-size: 13px; }
.project-card h2 a { text-decoration: none; }
.project-card h2 a:hover { color: #147e72; text-decoration: underline; }
.project-cover { margin-block: 4px 34px; }
.project-cover img { display: block; width: 100%; max-height: 620px; object-fit: contain; object-position: center; background: #e9efeb; }
.article-copy { max-width: 780px; color: #3f5753; font-size: 16px; line-height: 1.7; }
.article-copy p { margin: 0 0 20px; }
.article-photo { display: block; width: min(100%, 900px); height: auto; margin: 16px 0 34px; }
.project-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
.project-gallery figure { margin: 0; }
.project-gallery img { display: block; width: 100%; aspect-ratio: 1.5; object-fit: contain; background: #e9efeb; }
.project-next, .content-followup { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 36px; }
.about-team { padding-top: 4px; }
.team-list { max-width: 900px; margin: 25px 0 35px; }
.team-member { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 28px; padding: 24px 0; border-top: 1px solid #d9e2dc; }
.team-member img { width: 180px; height: 180px; object-fit: cover; }
.team-member h3 { margin: 0 0 6px; font-size: 21px; }
.team-member p { margin: 0 0 12px; color: #526a66; line-height: 1.6; }
.team-member .team-role { color: #147e72; font-weight: 700; }
.financing-content { max-width: 1200px; }
.financing-section { max-width: 780px; padding: 26px 0; border-top: 1px solid #d9e2dc; }
.financing-section h2 { margin-bottom: 10px; font-size: 21px; }
.financing-section p { color: #526a66; line-height: 1.6; }
.contact-form { padding-top: 8px; }
.contact-form > label { display: block; margin-top: 24px; font-weight: 700; }
.contact-form .button-primary { margin-top: 20px; }
.contact-form select { display: block; width: 100%; min-height: 42px; margin-top: 8px; padding: 9px 11px; border: 1px solid #aebfb8; border-radius: 4px; background: #fff; }
.contact-form .field-hint { max-width: 780px; }
.contact-confirmation { max-width: 720px; padding: 24px 0; border-top: 2px solid #147e72; }
.honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.calculator-shell { padding-bottom: 90px; }
.calculator-tabs { display: flex; gap: 0; border-bottom: 1px solid #cbd9d1; }
.calculator-tabs button { flex: 1; min-width: 0; padding: 18px 14px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #526a66; cursor: pointer; text-align: center; font-weight: 700; }
.calculator-tabs button[aria-selected="true"] { border-color: #147e72; color: #173433; }
.calculator-tabs button:hover { background: #eaf2ee; }
.calculator-panel { min-height: 285px; padding: 34px 0; }
.calculator-panel h2 { margin: 12px 0; }
.calculator-panel p { max-width: 640px; color: #5e7370; line-height: 1.5; }
.panel-index { color: #147e72; font-size: 12px; font-weight: 800; }
.pending-state { margin-top: 38px; padding: 20px 24px; border-left: 3px solid #e0aa47; background: #fff; color: #526a66; }
.calculator-form { max-width: 920px; margin-top: 34px; border-top: 1px solid #cbd9d1; }
.calculator-form fieldset { min-width: 0; margin: 0; padding: 28px 0 30px; border: 0; border-bottom: 1px solid #d9e2dc; }
.calculator-form legend { padding: 0; color: #173433; font-size: 18px; font-weight: 700; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; margin-top: 18px; }
.calculator-form label, .field-label { color: #294744; font-size: 14px; font-weight: 700; }
.calculator-form label > span:not(.consumer-icon):not(.consumer-name) { color: #6b807c; font-size: 12px; font-weight: 400; }
.calculator-form input[type="number"], .calculator-form select { display: block; width: 100%; height: 44px; margin-top: 9px; padding: 8px 10px; border: 1px solid #aebfb8; border-radius: 4px; background: #fff; color: #173433; }
.calculator-form input[type="range"] { display: block; width: 100%; margin: 18px 0 0; accent-color: #147e72; }
.calculator-form output { float: right; color: #147e72; font-weight: 700; }
.field-group { min-width: 0; }
.choice-row { display: flex; gap: 22px; margin-top: 17px; }
.choice-row label { display: inline-flex; align-items: center; gap: 7px; cursor: pointer; }
.choice-row input, .consumer-option input { accent-color: #147e72; }
.field-hint { margin: 10px 0 18px; font-size: 14px; }
.consumer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.consumer-option { display: flex; align-items: center; gap: 12px; min-height: 72px; padding: 12px; border: 1px solid #cad9d1; border-radius: 4px; background: #fff; cursor: pointer; }
.consumer-option:has(input:checked) { border-color: #147e72; background: #edf7f3; }
.consumer-option input { flex: 0 0 auto; width: 16px; height: 16px; margin: 0; }
.consumer-icon { display: block; flex: 0 0 28px; width: 28px; height: 28px; }
.consumer-name { min-width: 0; line-height: 1.25; }
.consumer-name small { display: block; margin-top: 4px; color: #6b807c; font-size: 12px; font-weight: 400; }
.other-load { display: block; max-width: 420px; margin-top: 24px; }
.form-actions { display: flex; align-items: center; gap: 20px; padding-top: 26px; }
.form-actions span { color: #6b807c; font-size: 13px; }
.calculator-form .form-error { display: grid; gap: 5px; margin-top: 22px; }
.calculation-result { margin-top: 36px; padding: 30px 0 10px; border-top: 2px solid #147e72; scroll-margin-top: 24px; }
.result-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; }
.result-heading .eyebrow { margin-bottom: 7px; }
.result-heading h3 { margin: 0; font-size: 22px; }
.result-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 25px 0 30px; border: 1px solid #d9e2dc; background: #d9e2dc; }
.result-metrics > div { display: flex; flex-direction: column; gap: 12px; min-height: 96px; padding: 16px; background: #fff; }
.result-metrics span { color: #607672; font-size: 13px; }
.result-metrics strong { font-size: 21px; overflow-wrap: anywhere; }
.result-metrics small { font-size: 13px; font-weight: 400; }
.result-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
.result-columns-single { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
.result-columns h4 { margin: 0 0 14px; font-size: 16px; }
.result-details { margin: 0; }
.result-details > div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid #d9e2dc; font-size: 14px; }
.result-details dt { color: #526a66; }
.result-details dd { margin: 0; text-align: right; overflow-wrap: anywhere; font-weight: 700; }
.result-details .result-total { padding-top: 16px; border-bottom: 0; font-size: 17px; }
.result-total dt, .result-total dd { color: #173433; font-weight: 700; }
.result-notes { margin-top: 28px; padding: 16px 20px; border-left: 3px solid #e0aa47; background: #fff; }
.result-notes p { max-width: none; margin: 0 0 9px; font-size: 14px; }
.result-notes p:last-child { margin-bottom: 0; }
.lead-request { margin-top: 34px; padding-top: 28px; border-top: 1px solid #cbd9d1; scroll-margin-top: 24px; }
.lead-request h3 { margin-bottom: 8px; font-size: 21px; }
.lead-saved-fee strong { color: #147e72; }
.lead-heading p { margin-bottom: 12px; }
.lead-form { max-width: 920px; }
.lead-form fieldset { min-width: 0; margin: 0; padding: 22px 0 25px; border: 0; border-bottom: 1px solid #d9e2dc; }
.lead-form legend { padding: 0; font-size: 18px; font-weight: 700; }
.lead-form label { color: #294744; font-size: 14px; font-weight: 700; }
.lead-form label > span { color: #6b807c; font-size: 12px; font-weight: 400; }
.lead-form input[type="text"], .lead-form input[type="email"], .lead-form input[type="tel"], .lead-form input[type="number"], .lead-form textarea { display: block; width: 100%; margin-top: 9px; padding: 10px 12px; border: 1px solid #aebfb8; border-radius: 4px; background: #fff; color: #173433; }
.lead-form input:not([type="radio"]) { min-height: 44px; }
.lead-form textarea { resize: vertical; }
.lead-choice-row { margin-top: 14px; }
.lead-choice-row input { accent-color: #147e72; }
.lead-onsite-fields { max-width: 460px; margin-top: 20px; }
.lead-onsite-fields .field-hint { margin: 10px 0; }
.lead-tiers { margin: 10px 0; font-size: 13px; }
.lead-fee-line { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; max-width: 460px; margin: 18px 0 0; font-size: 15px; }
.lead-fee-line strong { color: #147e72; font-size: 18px; white-space: nowrap; }
.lead-message { display: block; margin-top: 22px; }
.lead-form > .button-primary { margin-top: 24px; }
.lead-form .form-error { display: grid; gap: 5px; margin-top: 18px; }
.article-page .lead { white-space: normal; }
.text-link { color: #147e72; font-weight: 700; text-decoration-thickness: 2px; text-underline-offset: 4px; }

.auth-page { display: grid; place-items: center; min-height: 560px; padding-block: 55px; }
.auth-form { display: grid; gap: 11px; width: min(100%, 420px); }
.auth-form h1 { margin-bottom: 18px; font-size: 29px; }
.auth-form label { margin-top: 9px; font-size: 14px; font-weight: 700; }
.auth-form input:not([type="hidden"]) { width: 100%; height: 48px; padding: 10px 12px; border: 1px solid #a9bdb6; border-radius: 4px; background: #fff; }
.auth-form button { margin-top: 14px; }
.form-error { margin: 0; padding: 12px; border-left: 3px solid #bf624b; background: #fff3ef; color: #8f3826; }
.admin-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.dashboard-body { padding-bottom: 80px; }
.stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.stat { display: flex; flex-direction: column; gap: 20px; min-height: 136px; padding: 20px; border: 1px solid #d9e2dc; background: #fff; }
.stat span { color: #607672; font-size: 14px; }
.stat strong { font-size: 30px; }
.stat a { align-self: flex-start; font-size: 13px; }
.table-scroll { width: 100%; overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; background: #fff; text-align: left; }
.admin-table th, .admin-table td { padding: 14px 16px; border-bottom: 1px solid #d9e2dc; font-size: 14px; }
.admin-table th { color: #607672; font-weight: 700; }
.admin-table td:last-child { text-align: right; }
.admin-detail h2 { font-size: 21px; }
.admin-detail .result-columns { margin-top: 24px; }
.assumption-details { margin-top: 35px; border-top: 1px solid #d9e2dc; padding-top: 20px; }
.assumption-details summary { cursor: pointer; font-weight: 700; }
.assumption-details pre { overflow-x: auto; padding: 20px; background: #fff; font-size: 12px; line-height: 1.5; }
.lead-filters { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 24px; border-bottom: 1px solid #cad9d1; }
.lead-filters a { padding: 11px 12px; border-bottom: 2px solid transparent; color: #526a66; font-size: 13px; font-weight: 700; text-decoration: none; }
.lead-filters a[aria-current="page"] { border-color: #147e72; color: #173433; }
.list-pagination { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 22px; color: #607672; font-size: 13px; }
.lead-detail h2 { margin-top: 28px; font-size: 21px; }
.lead-detail .result-details dd { max-width: 60%; overflow-wrap: anywhere; white-space: normal; }
.lead-status-form { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.lead-status-form label { display: grid; gap: 7px; font-size: 14px; font-weight: 700; }
.lead-status-form select { min-width: 210px; height: 48px; padding: 9px 12px; border: 1px solid #aebfb8; border-radius: 4px; background: #fff; }
.lead-message-text { padding: 15px 18px; border-left: 3px solid #147e72; background: #fff; line-height: 1.6; overflow-wrap: anywhere; }
.lead-history { margin-top: 32px; }
.lead-history ol { padding-left: 22px; color: #526a66; line-height: 1.9; }
.admin-tools { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 28px; }
.form-success { padding: 12px 16px; border-left: 3px solid #147e72; background: #edf7f3; color: #173433; }
.admin-editor h2 { margin: 34px 0 15px; font-size: 21px; }
.admin-settings-table { min-width: 650px; }
.admin-settings-table td:first-child { width: 48%; }
.admin-settings-table small { display: block; margin-top: 4px; color: #607672; }
.admin-settings-table input { width: min(100%, 320px); height: 40px; padding: 8px 10px; border: 1px solid #aebfb8; border-radius: 4px; background: #fff; }
.admin-settings-table td:last-child { width: 110px; }
.admin-settings-table .button-secondary { min-height: 40px; padding: 8px 12px; }
.admin-edit-form { max-width: 920px; }
.admin-edit-form fieldset { display: grid; gap: 18px; margin: 28px 0; padding: 24px 0; border: 0; border-top: 1px solid #d9e2dc; }
.admin-edit-form legend { padding-top: 20px; font-size: 18px; font-weight: 700; }
.admin-edit-form label, .admin-image-form label { display: block; min-width: 0; font-size: 14px; font-weight: 700; }
.admin-edit-form input:not([type="hidden"]):not([type="checkbox"]), .admin-edit-form textarea, .admin-image-form input { display: block; width: 100%; min-height: 42px; margin-top: 8px; padding: 9px 11px; border: 1px solid #aebfb8; border-radius: 4px; background: #fff; }
.admin-edit-form textarea { resize: vertical; }
.admin-edit-form .admin-check { display: flex; align-items: center; gap: 10px; margin-top: 24px; }
.admin-check input { width: 18px; height: 18px; accent-color: #147e72; }
.admin-subsection { max-width: 920px; margin-top: 42px; padding-top: 12px; border-top: 1px solid #d9e2dc; }
.admin-subsection .admin-edit-form { display: grid; gap: 16px; }
.admin-subsection .admin-edit-form .button-secondary { justify-self: start; }
.admin-image-list { display: grid; gap: 18px; margin-top: 28px; }
.admin-image-row { display: grid; grid-template-columns: 120px minmax(0, 1fr); align-items: start; gap: 18px; padding: 18px 0; border-top: 1px solid #d9e2dc; }
.admin-image-row img { width: 120px; height: 90px; object-fit: cover; }
.admin-image-form { display: grid; grid-template-columns: minmax(0, 1fr) 120px auto; align-items: end; gap: 12px; }
.admin-image-form .button-secondary { min-height: 42px; }
.admin-inline-actions { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 12px; }
.text-link-button { padding: 0; border: 0; background: transparent; color: #147e72; cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; text-decoration: underline; }
.text-link-button:disabled { color: #607672; cursor: default; text-decoration: none; }
.text-link-button.danger { color: #a54132; }
.button-danger { margin-top: 14px; padding: 10px 16px; border: 1px solid #a54132; border-radius: 4px; background: #fff; color: #a54132; cursor: pointer; font: inherit; font-weight: 700; }
.admin-delete { max-width: 920px; margin-top: 42px; padding-top: 20px; border-top: 1px solid #d9e2dc; }
.admin-delete summary { color: #a54132; cursor: pointer; font-weight: 700; }
.admin-team-photo { display: block; width: 160px; height: 160px; margin-bottom: 12px; object-fit: cover; }

.site-footer { border-top: 1px solid #d9e2dc; background: #edf2ee; }
.footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 30px; align-items: center; min-height: 78px; color: #617672; font-size: 13px; }
.footer-inner a { color: #305f59; }
.privacy-page { padding-bottom: 80px; }
.privacy-page .form-error { max-width: 780px; margin-top: 24px; }
.privacy-copy { max-width: 780px; margin-top: 30px; color: #3f5753; line-height: 1.65; }
.privacy-copy section { padding: 18px 0; border-top: 1px solid #d9e2dc; }
.privacy-copy h2 { margin-bottom: 8px; font-size: 20px; color: #173433; }
.privacy-copy p { margin: 0; overflow-wrap: anywhere; }
.privacy-copy a { color: #147e72; }

@media (max-width: 900px) {
    .header-inner { flex-wrap: wrap; gap: 0 24px; padding-top: 10px; }
    .brand { flex: 1 1 auto; }
    .language-switch { margin-left: auto; }
    .main-nav { order: 3; justify-content: space-between; width: 100%; margin-left: 0; gap: 10px; }
    .main-nav a { padding-block: 18px; }
    .home-hero { min-height: 420px; }
    .home-insight-inner { gap: 32px; }
    .consumer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 650px) {
    h1 { font-size: 30px; }
    h2 { font-size: 22px; }
    .page-heading h1 { font-size: 28px; }
    .lead { font-size: 17px; }
    .content-width, .header-inner, .footer-inner { width: min(100% - 32px, 1200px); }
    .header-inner { gap: 0; }
    .brand img { width: 100px; }
    .main-nav { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; gap: 22px; scrollbar-width: none; }
    .main-nav a { font-size: 13px; }
    .home-hero { min-height: 420px; align-items: flex-start; }
    .home-hero::after { background: linear-gradient(180deg, rgba(248, 250, 246, .96) 0%, rgba(248, 250, 246, .87) 48%, rgba(248, 250, 246, .28) 100%); }
    .home-hero-image { object-position: 61% center; }
    .home-hero-inner { padding-block: 42px 60px; }
    .home-hero-copy { max-width: 520px; }
    .home-insight { padding-block: 46px; }
    .home-insight-inner { grid-template-columns: 1fr; }
    .home-insight-inner img { order: -1; }
    .workflow-band { padding-block: 42px; }
    .workflow-list { grid-template-columns: 1fr; gap: 27px; }
    .page-heading { padding-block: 48px 26px; }
    .calculator-tabs button { min-height: 62px; padding: 10px 6px; font-size: 12px; overflow-wrap: anywhere; }
    .form-grid, .result-columns, .consumer-grid { grid-template-columns: 1fr; gap: 18px; }
    .result-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .result-heading { align-items: flex-start; flex-direction: column; }
    .form-actions { align-items: flex-start; flex-direction: column; gap: 10px; }
    .project-list { grid-template-columns: 1fr; }
    .project-gallery { grid-template-columns: 1fr; }
    .team-member { grid-template-columns: 1fr; gap: 16px; }
    .admin-heading { align-items: flex-start; flex-direction: column; }
    .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .stat { min-height: 112px; }
    .admin-image-row { grid-template-columns: 1fr; }
    .admin-image-form { grid-template-columns: 1fr; }
    .footer-inner { padding-block: 23px; }
}

@media (max-width: 380px) {
    .result-metrics { grid-template-columns: 1fr; }
    .stat-grid { grid-template-columns: 1fr; }
    .lead-fee-line { align-items: flex-start; flex-direction: column; gap: 5px; }
}
