/* CPR corporate design system ? shared by every page. */
:root {
 --brand-primary:#D4000B; --brand-primary-hover:#AD0010; --brand-primary-soft:#FFF0F1;
 --surface-primary:#FFFFFF; --surface-secondary:#F5F6F8; --surface-dark:#141414; --surface-dark-card:#232323;
 --text-primary:#17191D; --text-secondary:#454C55; --text-muted:#667085; --text-inverse:#FFFFFF; --text-inverse-muted:#C9CED4;
 --border-default:#E3E6EA; --status-success:#16794A; --status-warning:#9A6700;
 --radius-card:12px; --radius-button:8px;
 --brand-red:var(--brand-primary); --brand-charcoal:var(--surface-dark); --brand-off-white:var(--surface-secondary);
 --navy:var(--surface-dark); --orange:var(--brand-primary); --orange-hover:var(--brand-primary-hover);
 --blue:var(--text-primary); --blue-soft:var(--brand-primary-soft); --ink:var(--text-primary); --muted:var(--text-muted);
 --line:var(--border-default); --panel:var(--surface-primary); --soft:var(--surface-secondary);
 --division-section:var(--surface-secondary); --division-border:var(--border-default); --division-heading:var(--text-primary);
 --division-body:var(--text-secondary); --division-tile:var(--brand-primary-soft); --division-tile-text:var(--brand-primary);
 --shadow:0 8px 24px rgb(20 20 20 / 7%);
}
body { color:var(--text-secondary); background:var(--surface-primary); }
body:is(.solar-shop-page,.academy-page,.manufacturing-page) {
 --cpr-navy:var(--surface-dark); --cpr-navy-light:var(--surface-dark-card); --cpr-orange:var(--brand-primary); --cpr-orange-hover:var(--brand-primary-hover);
 --background-soft:var(--surface-secondary); --text-primary:#17191D; --text-secondary:#454C55; --border-light:var(--border-default);
 --academy-navy:var(--surface-dark); --academy-orange:var(--brand-primary); --manufacturing-navy:var(--surface-dark); --manufacturing-orange:var(--brand-primary);
 --success:var(--status-success); --warning:var(--status-warning);
}
h1,h2,h3,h4 { color:var(--text-primary); }
body .site-shell { background:var(--surface-primary); border-color:var(--border-default); backdrop-filter:none; }
body .utility-bar { background:var(--surface-dark); color:var(--text-inverse); }
body .main-nav, body .nav { background:var(--surface-primary); color:var(--text-primary); }
body .brand { background:var(--surface-primary); }
body .nav a[aria-current="page"] { color:var(--brand-primary); text-decoration:underline; text-underline-offset:7px; text-decoration-thickness:2px; }
body .mega-menu { background:var(--surface-primary); border-color:var(--border-default); }
body .mega-menu a:hover,body .mega-menu a:focus-visible { background:var(--brand-primary-soft); }
body .nav-toggle { color:var(--text-primary); border-color:var(--border-default); }
body .button:not(.button--secondary):not(.button--disabled), body .quote-button { background:var(--brand-primary); color:var(--text-inverse); border-radius:var(--radius-button); }
body .button:not(.button--secondary):not(.button--disabled):is(:hover,:active),body .quote-button:is(:hover,:active) { background:var(--brand-primary-hover); }
body .button--secondary { background:transparent; color:var(--text-primary); border:1px solid var(--text-primary); }
body .button--secondary:hover { background:var(--surface-secondary); color:var(--text-primary); }
body :is(.hero,.about-hero,.division-page-hero,.solar-shop-hero,.review-detail-hero,.division-cta,.about-final-cta,.brand-feature) { background-color:var(--surface-dark); color:var(--text-inverse); }
body :is(.hero,.about-hero,.division-page-hero,.solar-shop-hero,.review-detail-hero,.division-cta,.about-final-cta,.brand-feature) :is(h1,h2,h3,h4,p,li) { color:var(--text-inverse); }
body :is(.hero,.about-hero,.division-page-hero,.solar-shop-hero,.review-detail-hero,.division-cta,.about-final-cta,.brand-feature) .eyebrow { color:#ff7b83; }
body :is(.hero,.about-hero,.division-page-hero,.solar-shop-hero,.review-detail-hero,.division-cta,.about-final-cta,.brand-feature) .button--secondary { border-color:var(--text-inverse); color:var(--text-inverse); background:transparent; }
body :is(.hero,.about-hero,.division-page-hero,.solar-shop-hero,.division-cta,.about-final-cta,.brand-feature) .button--secondary:hover { background:var(--surface-dark-card); }
body .section--muted,body .projects,body .quote { background:var(--surface-secondary); }
body .reviews-section { background:var(--surface-primary); }
body .brand-feature :is(article,.process-step) { background:var(--surface-dark-card); color:var(--text-inverse); border-color:#454545; }
body .brand-feature :is(strong,span) { color:var(--text-inverse); }
body .brand-feature .process-step span { color:#ff7b83; }
body :is(.project-card,.featured-case-card,.product-card,.faq-card,.service-card) { background:var(--surface-primary); border-color:var(--border-default); border-radius:var(--radius-card); box-shadow:var(--shadow); }
body :is(.project-card,.featured-case-card,.product-card,.faq-card,.service-card) :is(h2,h3,h4) { color:var(--text-primary); }
body .quote-form { background:var(--surface-primary); color:var(--text-secondary); border:1px solid var(--border-default); border-radius:var(--radius-card); }
body :is(input,select,textarea) { background:var(--surface-primary); color:var(--text-primary); border:1px solid var(--border-default); }
body :is(input,select,textarea):focus { border-color:var(--brand-primary); outline:2px solid var(--brand-primary); outline-offset:2px; }
body :is(input,select,textarea):user-invalid { border-color:#b42318; border-width:2px; }
body :is(input,select,textarea,button):disabled { background:var(--surface-secondary); color:var(--text-muted); cursor:not-allowed; }
body .site-footer { background:var(--surface-dark); color:var(--text-inverse-muted); }
body .site-footer :is(p,address) { color:var(--text-inverse-muted); }
body .site-footer :is(h2,h3,h4,strong,a) { color:var(--text-inverse); }
body .site-footer a:hover { color:#ffb9bd; }
body .founder-section > div { border-left:3px solid var(--brand-primary); padding-left:clamp(18px,3vw,36px); }
body .founder-photo { border-bottom:0; }
body .review-detail-body { max-width:78ch; line-height:1.8; }
body .status-label--verified,body .status-label--stock,body .project-status { color:var(--status-success); background:#edf8f1; }
body .status-label--pending,body .status-label--limited,body .status-label--request { color:var(--status-warning); background:#fff7e6; }
body .status-label--pending { display:inline-block; padding:5px 10px; border-radius:6px; font-weight:700; }
body :is(.project-list,.project-filter-list) a { background:var(--surface-primary); color:var(--text-primary); border-color:var(--border-default); }
body :is(.project-list,.project-filter-list) a:hover { background:var(--brand-primary-soft); color:var(--brand-primary); }
@media(max-width:700px) { body .main-nav { gap:10px; } body .brand { margin:0; } body .founder-section > div { padding-left:18px; } }

/* Override legacy division-specific shell colours with the corporate shell. */
body .site-shell.site-shell { background:var(--surface-primary); }
body .site-footer.site-footer { background:var(--surface-dark); }
body .site-footer.site-footer :is(h2,h3,h4,strong,a) { color:var(--text-inverse); }
body .site-footer.site-footer a:hover { color:#ffb9bd; }
body .section--muted.section--muted,body .energy-form-section.energy-form-section { background:var(--surface-secondary); }
body .reviews-section.reviews-section { background:var(--surface-primary); }
body .brand-feature.brand-feature { background:var(--surface-dark); }
body .utility-bar.utility-bar a:hover { color:#ff7b83; }
body .site-shell .nav a:hover,body .site-shell .mega-toggle:hover { color:var(--brand-primary); }

.founder-award { background:var(--surface-secondary); }
.founder-award__content { max-width:78ch; margin-inline:auto; padding:clamp(22px,4vw,48px); background:var(--surface-primary); border:1px solid var(--border-default); border-top:4px solid var(--brand-primary); border-radius:var(--radius-card); }
.founder-award__content h2 { font-size:clamp(1.6rem,3vw,2.5rem); }
.founder-award__subtitle { font-weight:700; color:var(--text-primary); }
.founder-award__signature { padding-top:20px; border-top:1px solid var(--border-default); font-weight:700; color:var(--brand-primary); }

/* Explicit foregrounds for legacy dark sections and their translucent cards. */
body :is(.about-compliance,.compliance,.construction-trust) :is(h1,h2,h3,h4) { color:var(--text-inverse); }
body :is(.about-compliance,.compliance,.construction-trust) p { color:var(--text-inverse-muted); }
body :is(.about-compliance,.compliance,.construction-trust) .eyebrow { color:#ff7b83; }
body :is(.about-compliance,.compliance) .compliance-grid article { background:var(--surface-dark-card); border-color:#454545; }
body :is(.about-compliance,.compliance) .compliance-grid a { color:#ff7b83; }
body :is(.about-compliance,.compliance,.construction-trust) .button--secondary { color:var(--text-inverse); border-color:var(--text-inverse); background:transparent; }
body :is(.about-compliance,.compliance,.construction-trust) .button--secondary:hover { background:var(--surface-dark-card); }

.founder-award__photo { width:min(100%,480px); margin:28px auto; }
.founder-award__photo img { display:block; width:100%; height:auto; border-radius:8px; }
.founder-award__photo figcaption { margin-top:12px; color:var(--text-muted); font-size:0.9rem; line-height:1.6; }
