/* Public interiors: keep the shared dark header and footer intact. */
body.page-light { background: #f5f3ee; }
body.page-light main { color: #202b2b; background: #f5f3ee; }
body.page-light:not(.climate-page) main {
  --dark2: #fff;
  --dark3: #eeeee8;
  --light: #202b2b;
  --gray: #5a6862;
  --muted: #52635c;
  --yellow: #176e60;
  --line: #d8dfd7;
  --line-strong: #b6cec3;
}
body.page-light main h1, body.page-light main h2, body.page-light main h3 { font-family: "DM Sans", Arial, sans-serif; }
body.page-light main .page-hero { padding: 48px 0 24px; }
body.page-light main .page-hero h1 { font-size: clamp(2.2rem,4vw,3.5rem); max-width: 24ch; }
body.page-light main .page-lead { max-width: 760px; font-size: 1.08rem; line-height: 1.75; }
body.page-light:not(.climate-page) main .section { padding-top: 56px; padding-bottom: 56px; }
body.page-light main .section-title { max-width: 26ch; }
body.page-light main .btn { min-height: 44px; max-width: 100%; white-space: normal; text-align: center; }
body.page-light main .btn-primary { background: #176e60; color: #fff; border-color: #176e60; }
body.page-light main .btn-primary:hover { background: #105548; border-color: #105548; }
body.page-light main .btn-outline { color: #176e60; border-color: #9bb8ab; }
body.page-light main .btn-outline:hover { color: #105548; background: #e4eee7; border-color: #176e60; }
body.page-light main :focus-visible { outline: 3px solid #176e60; outline-offset: 4px; }
body.page-light main .crumbs, body.page-light main .crumbs span { color: #5a6862; }
body.page-light main .crumbs a { color: #396455; }
body.page-light main .card-grid { gap: 18px; border: 0; overflow: visible; }
body.page-light main .card { border: 1px solid #dce2d9; border-radius: 16px; padding: 30px; }
body.page-light main .card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px #20372b0c; }
body.page-light main .card h2 { font-size: 1.2rem; line-height: 1.35; }
body.page-light main .card p { font-size: .96rem; line-height: 1.75; }
body.page-light main .card-icon { color: #176e60; font-size: .85rem; font-weight: 700; letter-spacing: .05em; }
body.page-light main .service-heading { margin-bottom: 28px; max-width: 680px; }
body.page-light main .service-heading h2 { font-size: clamp(1.6rem,2.6vw,2.2rem); margin: 10px 0 12px; letter-spacing: -.03em; }
body.page-light main .service-heading p { color: #52635c; line-height: 1.7; }
body.page-light main .why-item { border-color: #d8dfd7; }
body.page-light main .contact-card { padding: 30px 26px; border-top: 3px solid #428675; }
body.page-light main .contact-card a { font-family: "DM Sans",Arial,sans-serif; font-size: clamp(1.05rem,1.7vw,1.4rem); overflow-wrap: anywhere; }
body.page-light main .contact-card .type { color: #52635c; }
body.page-light main .regions { padding: 30px; }
body.page-light main .regions h2 { font-size: 1.35rem; }
body.page-light main .cta-band { background: #e8eee6; padding: 56px 0; border-top: 1px solid #d6dfd2; }
body.page-light main .rates-table-wrap, body.page-light main .rates-note { border-color: #d8dfd7; }
body.page-light main .rates-table th { background: #e7eee6; }
body.page-light main .work-gallery figure { border-color: #d8dfd7; }
/* Calculator variables are inherited by dynamic content; state/visibility rules remain original. */
body.page-light.page-calculator main { color-scheme: light; }
body.page-light.page-calculator main .calc-step { background: #fff; padding: 28px; border: 1px solid #d8dfd7; border-radius: 16px; }
body.page-light.page-calculator main .calc-step h2 { font-size: 1.4rem; letter-spacing: -.02em; }
body.page-light.page-calculator main input:not([type="radio"]):not([type="checkbox"]),
body.page-light.page-calculator main select,
body.page-light.page-calculator main textarea,
body.page-light.page-calculator main .calc-counter button,
body.page-light.page-calculator main .calc-custom-remove,
body.page-light.page-calculator main .calc-building-remove { background: #fff; color: #202b2b; border-color: #7a897e; }
body.page-light.page-calculator main input::placeholder, body.page-light.page-calculator main textarea::placeholder { color: #637268; opacity: 1; }
body.page-light.page-calculator main .calc-progress-btn:disabled { color: #65736b; background: #e8ece5; opacity: 1; border-color: #d8dfd7; }
body.page-light.page-calculator main .calc-progress-btn.is-current,
body.page-light.page-calculator main .calc-progress-btn[aria-current="step"],
body.page-light.page-calculator main .calc-pick input:checked + span,
body.page-light.page-calculator main .calc-building-switch-btn.is-current { background: #176e60; color: #fff; border-color: #176e60; }
body.page-light.page-calculator main .calc-select-card.is-on { background: #e3f0e8; border-color: #176e60; }
body.page-light.page-calculator main .calc-error { color: #a02d2d; }
body.page-light.page-calculator main .is-invalid input,
body.page-light.page-calculator main .calc-fieldset.is-invalid .calc-pick span { border-color: #a02d2d; }
body.page-light.page-calculator main .calc-price-range--total,
body.page-light.page-calculator main .calc-price-notice h4 { color: #176e60; }
body.page-light.page-calculator main .calc-price-notice p { color: #202b2b; }
body.page-light.page-calculator main .calc-price-notice { background: #f4f1e6; border-color: #cfc3a0; }
body.page-light.page-calculator main .calc-price-result.is-missing { background: #fbefeb; border-color: #dba99d; }
@media (max-width: 1050px) {
 body.page-light main .card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
 body.page-light main .page-hero { padding: 32px 0 18px; }
 body.page-light:not(.climate-page) main .section { padding-top: 36px; padding-bottom: 36px; }
 body.page-light main .card-grid { grid-template-columns: 1fr; gap: 14px; }
 body.page-light main .card, body.page-light main .contact-card, body.page-light main .regions { padding: 24px; }
 body.page-light main .cta-row { gap: 12px; }
 body.page-light.page-calculator main .calc-step { padding: 20px 16px; }
 body.page-light.page-calculator main .calc-input-unit input { min-width: 0; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
 body.page-light *, body.page-light *::before, body.page-light *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* The shared footer uses light typography and needs its original dark surface. */
body.page-light footer { background: var(--dark); color: var(--light); }
/* The catalogue's availability panel retains its dark surface. */
body.page-light main .catalog-empty .btn-outline { color: #edf4ef; border-color: #8eb6a4; }
body.page-light main .catalog-empty .btn-outline:hover { color: #fff; background: #294b3d; border-color: #a8cdbb; }
