/*
 * Everklin's final shared visual system.
 *
 * This file deliberately loads after the legacy palette layers. It replaces
 * their former dark companion surfaces with a single light olive and cream
 * language while preserving the existing page architecture and photography.
 */
:root {
    --ek-olive-main: #92A944;
    --ek-olive-mid: #A7BD5A;
    --ek-olive-soft: #B8C97A;
    --ek-olive-cream: #D9E2B8;
    --ek-olive-cream-light: #E6EBD0;
    --ek-olive-cream-soft: #EEF1DE;
    --ek-warm-cream: #F3F1EB;
    --ek-soft-cream: #F8F7F2;
    --ek-white: #FFFFFF;
    --ek-ink: #17212B;
    --ek-body: #4F584B;
    --ek-muted: #6B7366;
    --ek-border: #B7C48A;
    --ek-border-soft: #D7DEC0;

    /* Compatibility tokens used by established templates. */
    --ek-olive: var(--ek-olive-main);
    --ek-olive-deep: var(--ek-olive-main);
    --ek-olive-light: var(--ek-olive-soft);
    --ek-cream: var(--ek-warm-cream);
    --ek-text: var(--ek-body);
    --ek-slate: var(--ek-muted);
    --ek-ivory: var(--ek-soft-cream);
    --ek-sage: var(--ek-olive-cream-light);
    --ek-forest: var(--ek-ink);
    --ek-dark: var(--ek-ink);
    --ek-deep: var(--ek-ink);
    --ek-dark-copy: var(--ek-body);
    /* Reserved for the homepage's dedicated dark commitment surface. */
    --everklin-bg-forest: #1E382A;
    --forest: var(--ek-ink);
    --ch-forest: var(--ek-ink);
    --dark-green: var(--ek-ink);
    --deep-green: var(--ek-ink);
    --emerald: var(--ek-ink);
    --green-950: var(--ek-ink);
    --green-900: var(--ek-ink);
    --green-800: var(--ek-ink);
    --green-700: var(--ek-olive-main);
    --theme-olive-dark: var(--ek-olive-main);
    --theme-brown-dark: var(--ek-ink);
    --ekd-olive-900: var(--ek-ink);
    --ekd-olive-800: var(--ek-ink);
    --ekd-olive-700: var(--ek-olive-main);
    --ekd-olive-600: var(--ek-olive-main);
    --ekd-olive-500: var(--ek-olive-main);
    --ekd-olive-400: var(--ek-olive-soft);
    --ekd-olive-300: var(--ek-olive-soft);
    --ekd-olive-200: var(--ek-olive-cream);
    --ekd-olive-100: var(--ek-olive-cream-light);
}

html,
body {
    background: var(--ek-soft-cream) !important;
    color: var(--ek-body);
}

body,
main {
    color: var(--ek-body);
}

:where(main, .site-footer) :where(h1, h2, h3, h4, h5, h6) {
    color: var(--ek-ink);
    letter-spacing: 0;
}

:where(main, .site-footer) :where(p, li, dd, dt, small) {
    color: var(--ek-body);
}

:where(main, .site-footer) :where(a:not(.page-button):not(.button):not(.btn):not(.corp-btn):not(.iic-button):not(.sn-button):not(.contact-button)) {
    color: inherit;
}

/* Header and navigation remain light on every page family. */
.site-header,
.site-header.is-scrolled,
.site-header.is-menu-open {
    background: var(--ek-soft-cream) !important;
    border-bottom-color: var(--ek-border-soft) !important;
    color: var(--ek-ink) !important;
}

.site-header :where(.nav-link, .nav-list > .nav-item > a, .header-contact, .header-search, .mobile-nav summary, .mobile-contact-link) {
    color: var(--ek-ink) !important;
}

.site-header :where(.nav-item.is-current-section > .nav-link, .mobile-nav > details.is-current-section > summary, .mobile-group-label) {
    color: var(--ek-olive-main) !important;
}

.site-header :where(.header-technical-cta, .mobile-technical-cta, .mobile-nav > .mobile-technical-cta, .ek-mega__primary) {
    color: var(--ek-ink) !important;
    border-color: var(--ek-olive-main) !important;
    background: var(--ek-olive-main) !important;
}

.site-header :where(.header-technical-cta, .mobile-technical-cta, .mobile-nav > .mobile-technical-cta, .ek-mega__primary):is(:hover, :focus-visible) {
    color: var(--ek-ink) !important;
    border-color: var(--ek-olive-mid) !important;
    background: var(--ek-olive-mid) !important;
}

.site-header :where(.mega-menu.ek-mega, .mobile-drawer, .mobile-nav > details, .mobile-contact-link) {
    background-color: var(--ek-white) !important;
    border-color: var(--ek-border-soft) !important;
}

.site-header .ek-mega__context,
.site-header .mobile-submenu--nested .mobile-link {
    background: var(--ek-olive-cream-light) !important;
}

.site-header :where(.ek-mega__context h2, .ek-mega__context p, .ek-mega__group a, .ek-mega__all a, .mobile-submenu a) {
    color: var(--ek-ink) !important;
}

/* A calm, light footer replaces the former dark forest block. */
footer.site-footer,
.site-footer {
    color: var(--ek-ink) !important;
    background: var(--ek-soft-cream) !important;
}

footer.site-footer .footer-support {
    color: var(--ek-ink) !important;
    background: var(--ek-olive-cream) !important;
}

footer.site-footer .footer-main {
    background: var(--ek-soft-cream) !important;
}

footer.site-footer .footer-legal {
    border-top-color: var(--ek-border-soft) !important;
    background: var(--ek-olive-cream-light) !important;
}

footer.site-footer .footer-logo {
    filter: none !important;
}

footer.site-footer :where(.footer-support h2, .footer-column h2, .footer-brand-statement, .footer-main .footer-contact-list a, .footer-main .footer-contact-list p, .footer-main .footer-grid .footer-column > a, .footer-bottom p, .footer-bottom a, .footer-column .footer-view-all) {
    color: var(--ek-ink) !important;
}

footer.site-footer :where(.footer-support p:not(.footer-support__eyebrow), .footer-brand-statement, .footer-main .footer-contact-list a, .footer-main .footer-contact-list p, .footer-main .footer-grid .footer-column > a, .footer-bottom p, .footer-bottom a) {
    color: var(--ek-body) !important;
}

footer.site-footer :where(.footer-support__eyebrow, .footer-contact-list span, .footer-column .footer-view-all span) {
    color: var(--ek-olive-main) !important;
}

footer.site-footer .footer-support__actions > .footer-support__primary {
    color: var(--ek-ink) !important;
    border-color: var(--ek-olive-main) !important;
    background: var(--ek-olive-main) !important;
}

footer.site-footer .footer-support__actions > .footer-support__secondary {
    color: var(--ek-ink) !important;
    border-color: var(--ek-ink) !important;
    background: transparent !important;
}

footer.site-footer .footer-main,
footer.site-footer .footer-grid,
footer.site-footer .footer-brand-column,
footer.site-footer .footer-column,
footer.site-footer .footer-bottom {
    color: var(--ek-ink) !important;
}

footer.site-footer .footer-support h2,
footer.site-footer .footer-main .footer-grid .footer-column h2,
footer.site-footer .footer-main .footer-grid .footer-column .footer-view-all {
    color: var(--ek-ink) !important;
}

footer.site-footer .footer-main .footer-grid .footer-column > a,
footer.site-footer .footer-brand-statement,
footer.site-footer .footer-main .footer-contact-list a,
footer.site-footer .footer-main .footer-contact-list p,
footer.site-footer .footer-bottom p,
footer.site-footer .footer-bottom a {
    color: var(--ek-body) !important;
}

/* One olive action system, with dark ink rather than white labels. */
:where(
    .corp-btn--olive,
    .footer-support__primary,
    .solutions-button--olive,
    .page-button:not(.page-button--secondary):not(.page-button--outline):not(.page-button--light),
    .brewery-button--primary,
    .wsp-hero .page-button--primary,
    .fpp-page .page-button--primary,
    .contact-button--primary,
    .iic-button:not(.iic-button--outline),
    .sn-button:not(.sn-button--quiet):not(.sn-button--light):not(.sn-button--line),
    .th-button--primary,
    .hero .btn-gold,
    .solutions-promo-card > a
) {
    color: var(--ek-ink) !important;
    border-color: var(--ek-olive-main) !important;
    background: var(--ek-olive-main) !important;
}

:where(
    .corp-btn--olive,
    .footer-support__primary,
    .solutions-button--olive,
    .page-button:not(.page-button--secondary):not(.page-button--outline):not(.page-button--light),
    .brewery-button--primary,
    .wsp-hero .page-button--primary,
    .fpp-page .page-button--primary,
    .contact-button--primary,
    .iic-button:not(.iic-button--outline),
    .sn-button:not(.sn-button--quiet):not(.sn-button--light):not(.sn-button--line),
    .th-button--primary,
    .hero .btn-gold,
    .solutions-promo-card > a
):is(:hover, :focus-visible) {
    color: var(--ek-ink) !important;
    border-color: var(--ek-olive-mid) !important;
    background: var(--ek-olive-mid) !important;
}

:where(.corp-btn--outline, .page-button--outline, .page-button--secondary, .iic-button--outline, .sn-button--quiet, .sn-button--line) {
    color: var(--ek-ink) !important;
    border-color: var(--ek-border) !important;
    background: rgba(255, 255, 255, .76) !important;
}

:where(.corp-btn--outline, .page-button--outline, .page-button--secondary, .iic-button--outline, .sn-button--quiet, .sn-button--line):is(:hover, :focus-visible) {
    color: var(--ek-ink) !important;
    border-color: var(--ek-olive-main) !important;
    background: var(--ek-olive-cream-light) !important;
}

/* Homepage: retain the carousel and imagery, but give it a refined cream wash. */
.corp-home .corp-hero,
.corp-home .corp-hero__inner {
    min-height: clamp(560px, 45vw, 640px) !important;
}

.corp-home .corp-hero__inner {
    padding: 76px 0 64px !important;
}

.corp-home .corp-hero__wash {
    background: linear-gradient(90deg, rgba(248, 247, 242, .98) 0%, rgba(248, 247, 242, .95) 37%, rgba(238, 241, 222, .75) 57%, rgba(238, 241, 222, .27) 76%, rgba(238, 241, 222, .04) 100%) !important;
}

.corp-home :where(.corp-hero h1, .corp-hero p, .corp-hero__proof, .corp-hero__pause) {
    color: var(--ek-ink) !important;
}

.corp-home .corp-hero h1 {
    max-width: 680px;
    font-size: clamp(3.35rem, 5.5vw, 5.9rem) !important;
    letter-spacing: 0 !important;
    line-height: .94 !important;
}

.corp-home :where(.corp-kicker, .corp-hero h1 em, .corp-hero__proof i, .corp-hero__dots button[aria-selected="true"]::before) {
    color: var(--ek-olive-main) !important;
}

.corp-home .corp-hero__content > p:not(.corp-kicker):not(.corp-hero__proof) {
    max-width: 590px;
    color: var(--ek-body) !important;
}

.corp-home :where(.corp-purpose, .corp-businesses, .corp-needs, .corp-impact, .corp-updates) {
    padding-block: clamp(60px, 6vw, 88px) !important;
    background: var(--ek-soft-cream) !important;
}

.corp-home .corp-purpose,
.corp-home .corp-impact,
.corp-home .corp-updates {
    background: var(--ek-white) !important;
}

.corp-home .corp-business::after,
.corp-home .corp-impact__tiles a::after,
.corp-home .solutions-family-card__veil {
    background: linear-gradient(180deg, rgba(238, 241, 222, .04) 0%, rgba(238, 241, 222, .88) 100%) !important;
}

.corp-home .corp-business :where(h3, p, strong),
.corp-home .corp-impact__tiles a :where(h3, p, strong) {
    color: var(--ek-ink) !important;
}

.corp-home .corp-business__metrics {
    background: rgba(238, 241, 222, .94) !important;
}

/* Replaces approved light companion bands without changing the homepage commitment surface. */
:where(
    .corp-final,
    .footer-cta,
    .iic-hub-final,
    .iic-solution .iic-close,
    .anchor-final-card,
    .wsp-equation,
    .wsp-resources,
    .wsp-final,
    .ft-context,
    .ft-review,
    .brewery-process,
    .brewery-cip-cycle,
    .brewery-selection,
    .brewery-final,
    .sn-final,
    .th-performance,
    .th-final-cta,
    .th-signal,
    .solutions-selection,
    .solutions-review,
    [data-theme="dark"],
    [data-surface="dark"]
) {
    color: var(--ek-ink) !important;
    background-color: var(--ek-olive-cream-light) !important;
    background-image: none !important;
}

:where(
    .corp-final,
    .footer-cta,
    .iic-hub-final,
    .iic-solution .iic-close,
    .anchor-final-card,
    .wsp-equation,
    .wsp-resources,
    .wsp-final,
    .ft-context,
    .ft-review,
    .brewery-process,
    .brewery-cip-cycle,
    .brewery-selection,
    .brewery-final,
    .sn-final,
    .th-performance,
    .th-final-cta,
    .th-signal,
    .solutions-selection,
    .solutions-review,
    [data-theme="dark"],
    [data-surface="dark"]
) :where(h1, h2, h3, h4, h5, h6, strong, p, li, dt, dd, small, a:not(.page-button):not(.button):not(.btn):not(.corp-btn):not(.iic-button):not(.sn-button)) {
    color: var(--ek-ink) !important;
}

:where(
    .corp-final,
    .iic-hub-final,
    .iic-solution .iic-close,
    .anchor-final-card,
    .wsp-equation,
    .wsp-resources,
    .wsp-final,
    .ft-context,
    .ft-review,
    .brewery-process,
    .brewery-cip-cycle,
    .brewery-selection,
    .brewery-final,
    .sn-final,
    .th-performance,
    .th-final-cta,
    .th-signal,
    .solutions-selection,
    .solutions-review
) :where(p, li, dt, dd, small) {
    color: var(--ek-body) !important;
}

.corp-home > .corp-commitment {
    min-height: 0 !important;
    padding-block: clamp(62px, 6vw, 84px) !important;
}

.corp-home .corp-final {
    background: var(--ek-olive-cream-light) !important;
}

.corp-home .corp-final :where(h1, h2, h3, p, .corp-kicker) {
    color: var(--ek-ink) !important;
}

.corp-home .corp-final p {
    color: var(--ek-body) !important;
}

/* Flagship, category and industry hero heights have a tighter common rhythm. */
:where(.iic-hero, .iic-hub-hero, .solutions-hero, .wt-hero, .th-hero, .sn-hero, .sn-hero__inner) {
    min-height: clamp(560px, 45vw, 640px) !important;
}

:where(.mnc-category-hero, .iic-hero--category, .iic-product-hero, .fpp-hero, .wsp-hero, .sp-hero, .anchor-hero, .brewery-hero, .contact-hero) {
    min-height: clamp(420px, 35vw, 480px) !important;
}

.iic-flagship .iic-hero__content {
    width: min(52vw, 760px) !important;
    max-width: min(52vw, 760px) !important;
    padding-block: 70px !important;
}

:where(.iic-hero, .iic-product-hero, .mnc-category-hero, .fpp-hero, .wsp-hero, .sp-hero, .anchor-hero, .brewery-hero, .sn-hero, .contact-hero) :where(h1, h2) {
    color: var(--ek-ink) !important;
    letter-spacing: 0 !important;
}

main.corp-styled .iic-hero h1,
main.corp-styled .iic-product-hero h1,
main.corp-styled .anchor-hero h1,
main.corp-styled .inner-hero h1,
main.downloads-flagship .anchor-hero h1,
main.resources-flagship .anchor-hero h1,
main.contact-ultra .contact-hero h1,
main.fpp-page .fpp-hero h1,
main.sustainability-nova .sn-hero h1,
main.sustainability-nova .sn-intro h2,
main.sustainability-nova .sn-recognition h2 {
    color: var(--ek-ink) !important;
}

.iic-hero h1,
.iic-product-hero h1 {
    font-size: clamp(3.25rem, 5.8vw, 6.2rem) !important;
    letter-spacing: 0 !important;
    line-height: .94 !important;
}

:where(.iic-hero h1 em, .iic-product-hero h1 em, .mnc-category-hero h1 em, .fpp-hero h1 em, .wsp-hero h1 em, .sp-hero h1 em, .sn-hero h1 em) {
    color: var(--ek-olive-main) !important;
}

.iic-flagship :is(.iic-environments, .iic-product-review) {
    color: var(--ek-ink) !important;
    background: var(--ek-olive-cream-light) !important;
}

.iic-flagship :is(.iic-environments, .iic-product-review) :where(h1, h2, h3, h4, strong) {
    color: var(--ek-ink) !important;
}

.iic-flagship :is(.iic-environments, .iic-product-review) :where(p, li, small) {
    color: var(--ek-body) !important;
}

.iic-flagship .iic-hub-final :where(h1, h2, h3, h4, strong) {
    color: var(--ek-ink) !important;
}

.iic-flagship .iic-hub-final :where(p, li, small) {
    color: var(--ek-body) !important;
}

.iic-flagship .iic-hub-final :where(.iic-hub-button--on-dark-outline, .iic-hub-button--primary) {
    color: var(--ek-ink) !important;
    border-color: var(--ek-border) !important;
    background: rgba(255, 255, 255, .76) !important;
}

.iic-category-card {
    color: var(--ek-ink) !important;
    border: 1px solid var(--ek-border-soft) !important;
    border-radius: 6px !important;
    background: var(--ek-olive-cream) !important;
}

.iic-category-card::after {
    background: linear-gradient(180deg, rgba(238, 241, 222, .05) 0%, rgba(238, 241, 222, .93) 88%) !important;
}

.iic-category-card :where(strong, p) {
    color: var(--ek-ink) !important;
}

.iic-category-card > span {
    color: var(--ek-olive-main) !important;
}

/* Resources, downloads and contact retain their existing content but regain contrast. */
:where(.resources-flagship, .resource-system, .downloads-flagship, .contact-ultra) {
    color: var(--ek-body) !important;
    background: var(--ek-soft-cream) !important;
}

:where(.resources-flagship, .resource-system, .downloads-flagship, .contact-ultra) :where(h1, h2, h3, h4, h5, h6, strong) {
    color: var(--ek-ink) !important;
}

:where(.resources-flagship, .resource-system, .downloads-flagship, .contact-ultra) :where(p, li, dd, dt, small, label) {
    color: var(--ek-body) !important;
}

.contact-ultra :where(.contact-hero__story, .contact-form, .contact-final, .contact-faq, .contact-panel, .contact-card) {
    border-color: var(--ek-border-soft) !important;
    background: var(--ek-white) !important;
}

.contact-ultra .contact-final {
    background: var(--ek-olive-cream-light) !important;
}

/* Sustainability uses cream photo washes rather than dark image overlays. */
.sustainability-nova {
    --sn-ink: var(--ek-ink);
    --sn-olive: var(--ek-olive-main);
    --sn-olive-dark: var(--ek-olive-main);
    --sn-sage: var(--ek-olive-cream-light);
    --sn-cream: var(--ek-soft-cream);
    --sn-line: var(--ek-border-soft);
    color: var(--ek-body) !important;
    background: var(--ek-soft-cream) !important;
}

.sustainability-nova .sn-statement {
    min-height: clamp(460px, 38vw, 560px) !important;
}

.sustainability-nova .sn-statement--chemistry {
    background-image: linear-gradient(90deg, rgba(248, 247, 242, .98) 0%, rgba(248, 247, 242, .9) 44%, rgba(238, 241, 222, .35) 70%, rgba(238, 241, 222, .04) 100%), url('/assets/images/sustainability/leaf-bg.jpg') !important;
}

.sustainability-nova .sn-statement--water {
    background-image: linear-gradient(270deg, rgba(248, 247, 242, .98) 0%, rgba(248, 247, 242, .9) 44%, rgba(238, 241, 222, .35) 70%, rgba(238, 241, 222, .04) 100%), url('/assets/images/hero-slides/water-treatment.jpg') !important;
}

.sustainability-nova .sn-statement--manufacturing {
    background-image: linear-gradient(90deg, rgba(248, 247, 242, .98) 0%, rgba(248, 247, 242, .9) 44%, rgba(238, 241, 222, .35) 70%, rgba(238, 241, 222, .04) 100%), url('/assets/images/company/advanced-manufacturing.jpg') !important;
}

.sustainability-nova .sn-statement :where(span, h2, p) {
    color: var(--ek-ink) !important;
}

.sustainability-nova .sn-statements .sn-statement :where(h1, h2, h3, p, span),
.sustainability-nova .sn-statements .sn-statement h2 {
    color: var(--ek-ink) !important;
    text-shadow: none !important;
}

.sustainability-nova .sn-statements .sn-statement span {
    color: var(--ek-olive-main) !important;
}

.sustainability-nova .sn-statement span,
.sustainability-nova .sn-final .sn-kicker {
    color: var(--ek-olive-main) !important;
}

.sustainability-nova .sn-theme__visual {
    background: var(--ek-olive-cream-light) !important;
}

.sustainability-nova .sn-theme__visual::after {
    background: linear-gradient(90deg, rgba(248, 247, 242, .84), rgba(238, 241, 222, .34) 58%, rgba(238, 241, 222, .04)) !important;
}

.sustainability-nova .sn-theme__visual figcaption span,
.sustainability-nova .sn-theme__visual figcaption strong {
    color: var(--ek-ink) !important;
}

.sustainability-nova .sn-final {
    background: var(--ek-olive-cream) !important;
}

.sustainability-nova .sn-final :where(h2, p, .sn-kicker) {
    color: var(--ek-ink) !important;
}

.sustainability-nova .sn-final p {
    color: var(--ek-body) !important;
}

.sustainability-nova.corp-styled .sn-final a.sn-button--light,
.sustainability-nova.corp-styled .sn-final a.sn-button--line,
.sustainability-nova.corp-styled .sn-final a.sn-button--line:is(:hover, :focus-visible) {
    color: var(--ek-ink) !important;
    border-color: var(--ek-border) !important;
    background: rgba(255, 255, 255, .76) !important;
}

/* Cards, documentation surfaces and form controls always use the same light system. */
:where(.fpp-page, .wsp-page, .sp-page, .product-page, .universal-product-page, .room-hub, .room-care-flagship) :where(.fpp-panel, .fpp-system-navigation, .fpp-diagram--image, .fph-detail-shell, .fph-selector, .fph-table-wrap, .fph-product-card, .fph-product-summary__top figure, .fph-documents a, .wsp-card, .sp-card, .product-card) {
    border-color: var(--ek-border-soft) !important;
    background-color: var(--ek-white) !important;
}

:where(.fpp-page, .wsp-page, .sp-page, .product-page, .universal-product-page, .room-hub, .room-care-flagship) :where(.fpp-cta__inner, .product-cta, .wsp-final, .sp-final) {
    color: var(--ek-ink) !important;
    border-color: var(--ek-border-soft) !important;
    background: var(--ek-olive-cream-light) !important;
}

:where(.fpp-page, .wsp-page, .sp-page, .product-page, .universal-product-page, .room-hub, .room-care-flagship) :where(.fpp-cta__inner, .product-cta, .wsp-final, .sp-final) :where(h1, h2, h3, h4, p, li, strong) {
    color: var(--ek-ink) !important;
}

:where(.fpp-page, .wsp-page, .sp-page, .product-page, .universal-product-page, .room-hub, .room-care-flagship) :where(.fpp-cta__inner, .product-cta, .wsp-final, .sp-final) :where(p, li) {
    color: var(--ek-body) !important;
}

/* Older solution and industry hubs now use the shared split-hero system. */
.solutions-hero,
.industries-hub__hero {
    min-height: clamp(560px, 45vw, 640px) !important;
    color: var(--ek-ink) !important;
    background-color: var(--ek-warm-cream) !important;
}

.solutions-hero::after,
.industries-hub__hero::after {
    background: linear-gradient(90deg, rgba(248, 247, 242, .98) 0%, rgba(248, 247, 242, .94) 40%, rgba(238, 241, 222, .66) 62%, rgba(238, 241, 222, .16) 84%, rgba(238, 241, 222, .03) 100%) !important;
}

.solutions-hero__inner,
.industries-hub__hero-inner {
    min-height: clamp(560px, 45vw, 640px) !important;
    padding-top: 100px !important;
    padding-bottom: 66px !important;
}

.solutions-hero :where(h1, p, a, .solutions-crumb, .solutions-hero__note),
.industries-hub__hero :where(h1, p, a, .industries-hub__crumb, .industries-hub__hero-note) {
    color: var(--ek-ink) !important;
}

.solutions-hero .solutions-kicker,
.industries-hub__hero .industries-hub__kicker,
.solutions-hero .solutions-hero__note,
.industries-hub__hero .industries-hub__hero-note {
    color: var(--ek-olive-main) !important;
}

.solutions-hero h1,
.industries-hub__hero h1 {
    color: var(--ek-ink) !important;
    font-size: clamp(3.2rem, 5.6vw, 6rem) !important;
    letter-spacing: 0 !important;
}

.solutions-hero__copy > p:not(.solutions-kicker),
.industries-hub__hero-inner > div > p:not(.industries-hub__kicker) {
    color: var(--ek-body) !important;
}

.solutions-hero__note,
.industries-hub__hero-note {
    color: var(--ek-ink) !important;
    border: 1px solid var(--ek-border-soft) !important;
    border-radius: 4px;
    background: rgba(248, 247, 242, .78) !important;
    padding: 11px 12px !important;
}

.solutions-hero .solutions-hero__note,
.industries-hub__hero .industries-hub__hero-note {
    color: var(--ek-ink) !important;
}

.solutions-hero :where(.solutions-button--outline, .page-button--outline),
.industries-hub__hero .industries-hub__button--outline {
    color: var(--ek-ink) !important;
    border-color: var(--ek-border) !important;
    background: rgba(255, 255, 255, .74) !important;
}

.solutions-selection,
.solutions-review {
    background: var(--ek-olive-cream-light) !important;
}

.solutions-selection :where(h1, h2, h3, h4, p, li, strong),
.solutions-review :where(h1, h2, h3, h4, p, li, strong) {
    color: var(--ek-ink) !important;
}

.solutions-selection :where(p, li),
.solutions-review :where(p, li) {
    color: var(--ek-body) !important;
}

.solutions-selection h2,
.solutions-review h2 {
    color: var(--ek-ink) !important;
}

.solutions-selection p,
.solutions-review p {
    color: var(--ek-body) !important;
}

.sfh-hero h1,
.sfh-hero h1 span:first-child {
    color: var(--ek-ink) !important;
    letter-spacing: 0 !important;
}

.sfh-hero h1 span:last-child,
.sfh-hero .sfh-kicker {
    color: var(--ek-olive-main) !important;
}

.sfh-final {
    background: var(--ek-olive-cream-light) !important;
}

.sfh-final :where(h1, h2, h3, h4, p, li, strong) {
    color: var(--ek-ink) !important;
}

.sfh-final :where(p, li) {
    color: var(--ek-body) !important;
}

.sfh-final h2 {
    color: var(--ek-ink) !important;
}

.sfh-final p {
    color: var(--ek-body) !important;
}

.industries-hub {
    --ih-forest: var(--ek-ink);
    --ih-olive: var(--ek-olive-main);
    --ih-olive-dark: var(--ek-olive-main);
    --ih-cream: var(--ek-soft-cream);
    --ih-mist: var(--ek-olive-cream-light);
    --ih-copy: var(--ek-body);
    --ih-border: var(--ek-border-soft);
    background: var(--ek-soft-cream) !important;
    color: var(--ek-body) !important;
}

.industries-hub :is(.industries-hub__selection, .industries-hub__review) {
    color: var(--ek-ink) !important;
    background: var(--ek-olive-cream-light) !important;
}

.industries-hub :is(.industries-hub__selection, .industries-hub__review) :where(h1, h2, h3, h4, strong, p, li, span) {
    color: var(--ek-ink) !important;
}

.industries-hub :is(.industries-hub__selection, .industries-hub__review) :where(p, li) {
    color: var(--ek-body) !important;
}

.industries-hub :is(.industries-hub__selection ol, .industries-hub__selection li) {
    border-color: var(--ek-border) !important;
}

.industries-hub__selection li:not(:last-child)::after {
    color: var(--ek-ink) !important;
    border-color: var(--ek-border) !important;
    background: var(--ek-soft-cream) !important;
}

.industries-hub__industry-card {
    color: var(--ek-ink) !important;
    border: 1px solid var(--ek-border-soft) !important;
    background: var(--ek-olive-cream) !important;
}

.industries-hub__industry-card > span,
.industries-hub__industry-card:hover > span {
    background: linear-gradient(180deg, rgba(238, 241, 222, .06), rgba(238, 241, 222, .94) 88%) !important;
}

.industries-hub__industry-card :where(small, strong, em, b, i) {
    color: var(--ek-ink) !important;
}

.industries-hub__reality-panel figure {
    background: var(--ek-olive-cream-light) !important;
}

.iic-flagship :is(.iic-room-close, .iic-close) :where(h1, h2, h3, h4, p, li, strong) {
    color: var(--ek-ink) !important;
}

.iic-flagship :is(.iic-room-close, .iic-close) :where(p, li) {
    color: var(--ek-body) !important;
}

.iic-flagship .iic-room-close h2,
.iic-flagship .iic-close h2 {
    color: var(--ek-ink) !important;
}

.iic-flagship .iic-room-close p,
.iic-flagship .iic-close p {
    color: var(--ek-body) !important;
}

/* Match the transformed Room Care selector so its legacy dark closing CTA cannot win the cascade. */
.everklin-transformed .iic-room-care .iic-room-close {
    color: var(--ek-ink) !important;
    background: var(--ek-olive-cream-light) !important;
    background-image: none !important;
}

.everklin-transformed .iic-room-care .iic-room-close .iic-kicker {
    color: var(--ek-olive-main) !important;
}

.everklin-transformed .iic-room-care .iic-room-close h2 {
    color: var(--ek-ink) !important;
}

.everklin-transformed .iic-room-care .iic-room-close p:not(.iic-kicker) {
    color: var(--ek-body) !important;
}

.everklin-transformed .iic-room-care .iic-room-close .iic-button {
    color: var(--ek-ink) !important;
    border-color: var(--ek-olive-main) !important;
    background: var(--ek-olive-main) !important;
}

.everklin-transformed .iic-room-care .iic-room-close .iic-button--outline {
    color: var(--ek-ink) !important;
    border-color: var(--ek-border) !important;
    background: transparent !important;
}

.anchor-final-cta .anchor-final-card :where(h1, h2, h3, h4, p, li, strong) {
    color: var(--ek-ink) !important;
}

.anchor-final-cta .anchor-final-card :where(p, li) {
    color: var(--ek-body) !important;
}

.anchor-final-cta .anchor-final-card h2 {
    color: var(--ek-ink) !important;
}

.anchor-final-cta .anchor-final-card p {
    color: var(--ek-body) !important;
}

@media (max-width: 1024px) {
    .corp-home .corp-hero,
    .corp-home .corp-hero__inner,
    :where(.iic-hero, .iic-hub-hero, .solutions-hero, .wt-hero, .th-hero, .sn-hero, .sn-hero__inner) {
        min-height: 560px !important;
    }

    .iic-flagship .iic-hero__content {
        width: min(58vw, 660px) !important;
        max-width: min(58vw, 660px) !important;
    }
}

@media (max-width: 760px) {
    html,
    body { overflow-x: clip; }

    .corp-home .corp-hero,
    .corp-home .corp-hero__inner,
    :where(.iic-hero, .iic-hub-hero, .solutions-hero, .wt-hero, .th-hero, .sn-hero, .sn-hero__inner) {
        min-height: 620px !important;
    }

    .corp-home .corp-hero__inner {
        padding: 72px 0 52px !important;
    }

    .corp-home .corp-hero__wash {
        background: linear-gradient(90deg, rgba(248, 247, 242, .98) 0%, rgba(248, 247, 242, .94) 58%, rgba(238, 241, 222, .63) 85%, rgba(238, 241, 222, .24) 100%) !important;
    }

    .corp-home .corp-hero h1,
    .iic-hero h1,
    .iic-product-hero h1 {
        font-size: clamp(2.8rem, 12vw, 4.4rem) !important;
        line-height: .96 !important;
    }

    .corp-home :where(.corp-purpose, .corp-businesses, .corp-needs, .corp-impact, .corp-updates),
    .corp-home > .corp-commitment,
    .sustainability-nova :where(.sn-intro, .sn-orbit-section, .sn-recognition, .sn-final) {
        padding-block: 52px !important;
    }

    .corp-commitment .corp-commitment__grid > article {
        padding: 22px !important;
    }

    :where(.mnc-category-hero, .iic-hero--category, .iic-product-hero, .fpp-hero, .wsp-hero, .sp-hero, .anchor-hero, .brewery-hero, .contact-hero) {
        min-height: 0 !important;
    }

    .iic-flagship .iic-hero__content {
        width: auto !important;
        max-width: none !important;
        margin-inline: 0 !important;
        padding-block: 64px !important;
    }

    .sustainability-nova .sn-statement {
        min-height: 470px !important;
    }

    .solutions-hero::after,
    .industries-hub__hero::after {
        background: linear-gradient(180deg, rgba(248, 247, 242, .98) 0%, rgba(248, 247, 242, .94) 50%, rgba(238, 241, 222, .82) 100%) !important;
    }

    .solutions-hero__note,
    .industries-hub__hero-note {
        position: static !important;
        max-width: none !important;
        margin: 18px 0 0 !important;
        padding: 10px 12px !important;
    }

    .solutions-hero__copy,
    .industries-hub__hero-inner > div:first-child {
        border: 1px solid rgba(215, 222, 192, .86);
        background: rgba(248, 247, 242, .82);
        padding: 18px !important;
    }

    footer.site-footer .footer-support__inner,
    footer.site-footer .footer-support__actions {
        gap: 22px !important;
    }
}
