/* IIC visual language for Resources, Company and Contact. Scoped to avoid changing product, solution and Water Treatment systems. */
.iic-reference-page {
    --iic-ref-ink: #1e3927;
    --iic-ref-olive: #7e9d35;
    --iic-ref-olive-deep: #637e2e;
    --iic-ref-mist: #f1f6e5;
    --iic-ref-cream: #fbfcf7;
    --iic-ref-line: rgba(74, 111, 49, .2);
    --iic-ref-white: #ffffff;
    background: var(--iic-ref-cream);
    color: var(--iic-ref-ink);
}

.iic-reference-page .anchor-hero {
    min-height: min(760px, calc(100svh - 78px)) !important;
    padding: 0 !important;
    display: grid;
    align-items: center;
    isolation: isolate;
    background-position: center !important;
}

.iic-reference-page .anchor-hero::after {
    z-index: 0 !important;
    background:
        linear-gradient(90deg, #fafcf4 0%, rgba(250, 252, 244, .985) 25%, rgba(250, 252, 244, .88) 44%, rgba(250, 252, 244, .48) 61%, rgba(250, 252, 244, .05) 82%, rgba(250, 252, 244, .02) 100%) !important;
}

.iic-reference-page .anchor-hero::before {
    position: absolute !important;
    content: "" !important;
    pointer-events: none;
    display: block !important;
    z-index: 0 !important;
    inset: 0 !important;
    width: auto !important;
    height: auto !important;
    clip-path: none !important;
    background-image:
        linear-gradient(rgba(96, 135, 56, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(96, 135, 56, .035) 1px, transparent 1px) !important;
    background-size: 54px 54px !important;
    mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .5) 54%, transparent 78%);
}

.iic-reference-page .anchor-hero-grid {
    position: relative;
    z-index: 1;
    display: block !important;
    min-height: 0 !important;
}

.iic-reference-page .anchor-hero-copy {
    display: flex;
    width: min(49vw, 780px) !important;
    min-height: 0 !important;
    max-width: min(49vw, 780px) !important;
    margin-left: clamp(34px, 5.5vw, 112px) !important;
    padding-block: 112px 86px !important;
    justify-content: center;
}

.iic-reference-page .anchor-hero h1 {
    max-width: 100% !important;
    margin: 18px 0 26px !important;
    color: var(--iic-ref-ink) !important;
    font-size: clamp(3.9rem, 6.8vw, 7.2rem) !important;
    font-weight: 800 !important;
    letter-spacing: -.06em !important;
    line-height: .87 !important;
    text-wrap: balance;
}

.iic-reference-page .anchor-hero h1 em,
.iic-reference-page .inner-kicker {
    color: var(--iic-ref-olive) !important;
}

.iic-reference-page .anchor-hero p {
    max-width: 630px !important;
    color: #405947 !important;
    font-size: clamp(1rem, 1.45vw, 1.25rem) !important;
    line-height: 1.58 !important;
}

.iic-reference-page .page-button {
    min-height: 52px;
    border: 1px solid var(--iic-ref-olive) !important;
    border-radius: 999px !important;
    background: var(--iic-ref-olive) !important;
    box-shadow: none !important;
    color: #fff !important;
    font-weight: 800 !important;
}

.iic-reference-page .page-button-secondary {
    border-color: rgba(74, 111, 49, .38) !important;
    background: rgba(255, 255, 255, .72) !important;
    color: var(--iic-ref-ink) !important;
}

.iic-reference-page .page-button:hover,
.iic-reference-page .page-button:focus-visible {
    border-color: var(--iic-ref-olive-deep) !important;
    background: var(--iic-ref-olive-deep) !important;
    color: #fff !important;
    transform: translateY(-3px);
}

.iic-reference-page .page-button-secondary:hover,
.iic-reference-page .page-button-secondary:focus-visible {
    background: #fff !important;
    color: var(--iic-ref-ink) !important;
}

.iic-reference-page .enterprise-sticky-nav,
.iic-reference-page .anchor-sidebar {
    border-bottom: 1px solid var(--iic-ref-line) !important;
    background: rgba(251, 252, 247, .94) !important;
    backdrop-filter: blur(15px);
}

.iic-reference-page .enterprise-nav-scroll,
.iic-reference-page .anchor-nav {
    border: 0 !important;
}

.iic-reference-page .enterprise-nav-scroll a,
.iic-reference-page .anchor-nav a {
    min-height: 46px;
    border-radius: 0 !important;
    color: #536558 !important;
    font-size: .8rem !important;
    font-weight: 800 !important;
}

.iic-reference-page .enterprise-nav-scroll a.is-active,
.iic-reference-page .anchor-nav a.is-active {
    background: transparent !important;
    box-shadow: inset 0 -3px 0 var(--iic-ref-olive) !important;
    color: var(--iic-ref-ink) !important;
}

.iic-reference-page .anchor-layout {
    width: min(100%, 1440px) !important;
    max-width: none !important;
}

.iic-reference-page .anchor-content {
    display: block !important;
}

.iic-reference-page .anchor-section {
    min-height: 0 !important;
    margin: 0 !important;
    padding: clamp(62px, 7vw, 104px) max(32px, calc((100vw - 1440px) / 2)) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.iic-reference-page .anchor-section:nth-child(even) {
    background: var(--iic-ref-mist) !important;
}

.iic-reference-page .anchor-section::before {
    display: block;
    width: 62px;
    height: 4px;
    margin-bottom: 22px;
    background: linear-gradient(90deg, var(--iic-ref-olive), #c7db8f) !important;
}

.iic-reference-page .anchor-section-grid {
    grid-template-columns: minmax(0, .84fr) minmax(390px, 1.16fr) !important;
    gap: clamp(36px, 6vw, 104px) !important;
    align-items: center !important;
}

.iic-reference-page .anchor-section h2,
.iic-reference-page .enterprise-section-head h2 {
    max-width: 760px;
    margin-bottom: 20px !important;
    color: var(--iic-ref-ink) !important;
    font-size: clamp(2.6rem, 4.8vw, 5.5rem) !important;
    letter-spacing: -.055em !important;
    line-height: .92 !important;
    text-wrap: balance;
}

.iic-reference-page .anchor-section p,
.iic-reference-page .enterprise-section-head p {
    color: #5a6c5f !important;
    font-size: 1rem !important;
    line-height: 1.62 !important;
}

.iic-reference-page .anchor-image-card {
    height: clamp(280px, 30vw, 440px) !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 45px rgba(38, 68, 41, .1) !important;
}

.iic-reference-page .anchor-card-grid,
.iic-reference-page .enterprise-process {
    gap: 16px !important;
    margin-top: 32px !important;
    border: 0 !important;
}

.iic-reference-page .anchor-card,
.iic-reference-page .enterprise-process article {
    min-height: 190px !important;
    padding: 24px !important;
    border: 1px solid var(--iic-ref-line) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .92) !important;
    box-shadow: 0 14px 34px rgba(45, 72, 39, .06) !important;
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}

.iic-reference-page .anchor-card:hover,
.iic-reference-page .enterprise-process article:hover {
    border-color: var(--iic-ref-olive) !important;
    box-shadow: 0 22px 44px rgba(45, 72, 39, .14) !important;
    transform: translateY(-5px);
}

.iic-reference-page .anchor-card h3,
.iic-reference-page .enterprise-process strong {
    color: var(--iic-ref-ink) !important;
}

.iic-reference-page .anchor-card span,
.iic-reference-page .enterprise-process svg,
.iic-reference-page .enterprise-process article > svg {
    color: var(--iic-ref-olive) !important;
}

.iic-reference-page .enterprise-directory-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    max-width: none !important;
    border: 0 !important;
}

.iic-reference-page .enterprise-directory-item {
    position: relative;
    display: grid !important;
    min-height: 330px !important;
    align-content: end !important;
    overflow: hidden;
    padding: 28px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: #45683a !important;
    box-shadow: 0 18px 45px rgba(38, 68, 41, .1) !important;
    isolation: isolate;
    transition: transform .35s ease, box-shadow .35s ease !important;
}

.iic-reference-page .enterprise-directory-item::before {
    position: absolute;
    z-index: -2;
    inset: 0;
    content: "";
    background: center / cover no-repeat;
    transform: scale(1.01);
    transition: transform .55s ease;
}

.iic-reference-page .enterprise-directory-item::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    background: linear-gradient(180deg, rgba(21, 52, 29, .02), rgba(21, 52, 29, .86) 92%);
}

.iic-reference-page .enterprise-directory-item:hover {
    border: 0 !important;
    box-shadow: 0 28px 60px rgba(38, 68, 41, .2) !important;
    transform: translateY(-7px);
}

.iic-reference-page .enterprise-directory-item:hover::before { transform: scale(1.08); }

.iic-reference-page .enterprise-directory-item strong {
    max-width: 86%;
    color: #fff !important;
    font-size: clamp(1.55rem, 2.5vw, 2.65rem) !important;
    letter-spacing: -.045em !important;
    line-height: .95 !important;
}

.iic-reference-page .enterprise-directory-icon {
    position: absolute;
    top: 22px;
    left: 22px;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #e7f3bf !important;
}

.iic-reference-page .enterprise-directory-icon svg { width: 28px; height: 28px; }
.iic-reference-page .enterprise-directory-item b { color: #e7f3bf !important; font-size: 30px !important; }

.iic-reference-page .enterprise-directory-item:nth-child(3n + 1)::before { background-image: url('/assets/images/company/advanced-manufacturing.jpg'); }
.iic-reference-page .enterprise-directory-item:nth-child(3n + 2)::before { background-image: url('/assets/images/company/rd-laboratory.jpg'); }
.iic-reference-page .enterprise-directory-item:nth-child(3n)::before { background-image: url('/assets/images/company/quality-assurance.jpg'); }
.iic-reference-page.flagship-resources .enterprise-directory-item:nth-child(1)::before { background-image: url('/assets/images/resources/blog2.jpg'); }
.iic-reference-page.flagship-resources .enterprise-directory-item:nth-child(2)::before { background-image: url('/assets/images/resources/blog3.jpg'); }
/* Contact uses concise icon utilities instead of image-led directory cards. */
.iic-reference-page.flagship-contact #contact-directory .enterprise-directory-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.iic-reference-page.flagship-contact #contact-directory .enterprise-directory-item {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    min-height: 132px !important;
    align-items: center !important;
    padding: 22px !important;
    border: 1px solid rgba(128, 162, 54, .22) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(31, 61, 35, .07) !important;
    isolation: auto;
}

.iic-reference-page.flagship-contact #contact-directory .enterprise-directory-item strong {
    max-width: none;
    color: #173b29 !important;
    font-size: clamp(1.1rem, 1.55vw, 1.45rem) !important;
    letter-spacing: 0 !important;
    line-height: 1.1 !important;
}

.iic-reference-page.flagship-contact #contact-directory .enterprise-directory-icon {
    position: static;
    display: grid;
    width: 48px !important;
    height: 48px !important;
    place-items: center;
    padding: 0 !important;
    border: 1px solid rgba(128, 162, 54, .26) !important;
    border-radius: 50% !important;
    background: #f2f7df !important;
    color: var(--iic-ref-olive) !important;
}

.iic-reference-page.flagship-contact #contact-directory .enterprise-directory-item::before,
.iic-reference-page.flagship-contact #contact-directory .enterprise-directory-item::after { display: none; }
.iic-reference-page.flagship-contact #contact-directory .enterprise-directory-item b { color: var(--iic-ref-olive) !important; }
.iic-reference-page.flagship-contact #contact-directory .enterprise-directory-item:hover { border-color: var(--iic-ref-olive) !important; transform: translateY(-4px); }

.iic-reference-page .resource-control-panel,
.iic-reference-page .download-control-panel {
    margin: 42px auto 0 !important;
    border-radius: 16px !important;
    border-color: var(--iic-ref-line) !important;
    background: rgba(255, 255, 255, .95) !important;
    box-shadow: 0 14px 34px rgba(45, 72, 39, .06) !important;
}

.iic-reference-page .download-library-section {
    padding-top: clamp(58px, 7vw, 104px) !important;
}

.iic-reference-page .resource-card,
.iic-reference-page .download-stat-section article {
    border-color: var(--iic-ref-line) !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 28px rgba(45, 72, 39, .05) !important;
}

.iic-reference-page .anchor-final-cta {
    padding: clamp(60px, 7vw, 96px) 0 !important;
    background: #fff !important;
}

.iic-reference-page .anchor-final-card {
    min-height: 0 !important;
    padding: clamp(42px, 5vw, 72px) !important;
    border-radius: 20px !important;
    background: linear-gradient(125deg, #6f8b33 0%, #86a347 52%, #adc76a 100%) !important;
    box-shadow: 0 22px 52px rgba(45, 72, 39, .16) !important;
}

.iic-reference-page .anchor-final-card h2 {
    max-width: 760px !important;
    font-size: clamp(2.6rem, 4.8vw, 5.3rem) !important;
    letter-spacing: -.055em !important;
    line-height: .92 !important;
}

.iic-reference-page .anchor-final-card .inner-kicker,
.iic-reference-page .anchor-final-card p { color: rgba(255, 255, 255, .86) !important; }

@media (max-width: 980px) {
    .iic-reference-page .anchor-hero-copy { width: min(61vw, 650px) !important; max-width: min(61vw, 650px) !important; }
    .iic-reference-page .anchor-section-grid { grid-template-columns: 1fr !important; }
    .iic-reference-page .enterprise-directory-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .iic-reference-page.flagship-contact #contact-directory .enterprise-directory-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 640px) {
    .iic-reference-page .anchor-hero { min-height: 590px !important; align-items: start; background-position: 62% center !important; }
    .iic-reference-page .anchor-hero::after { background: linear-gradient(180deg, rgba(250, 252, 244, .99) 0%, rgba(250, 252, 244, .95) 58%, rgba(250, 252, 244, .83) 82%, rgba(250, 252, 244, .62) 100%) !important; }
    .iic-reference-page .anchor-hero::before { mask-image: linear-gradient(#000 0%, rgba(0, 0, 0, .3) 76%, transparent 100%); }
    .iic-reference-page .anchor-hero-copy { width: calc(100% - 32px) !important; max-width: none !important; margin-left: 16px !important; padding-block: 64px 52px !important; }
    .iic-reference-page .anchor-hero h1 { font-size: clamp(3rem, 14vw, 4.7rem) !important; }
    .iic-reference-page .anchor-section { padding: 58px 16px !important; }
    .iic-reference-page .anchor-section h2,
    .iic-reference-page .enterprise-section-head h2 { font-size: clamp(2.45rem, 12vw, 4.1rem) !important; }
    .iic-reference-page .enterprise-directory-list,
    .iic-reference-page .anchor-card-grid,
    .iic-reference-page .enterprise-process { grid-template-columns: 1fr !important; }
    .iic-reference-page .enterprise-directory-item { min-height: 280px !important; }
    .iic-reference-page.flagship-contact #contact-directory .enterprise-directory-list { grid-template-columns: 1fr !important; }
    .iic-reference-page.flagship-contact #contact-directory .enterprise-directory-item { min-height: 116px !important; }
    .iic-reference-page .anchor-image-card { height: 280px !important; }
    .iic-reference-page .anchor-final-card { margin-inline: 16px; padding: 38px 24px !important; }
}

@media (prefers-reduced-motion: reduce) {
    .iic-reference-page .enterprise-directory-item,
    .iic-reference-page .enterprise-directory-item::before,
    .iic-reference-page .anchor-card,
    .iic-reference-page .enterprise-process article,
    .iic-reference-page .page-button { transition: none !important; }
}
