/* EuroEnergy site styles (shared by every page) */

/* Push page content below the fixed header; --slat-header-offset is set by JS */
.ee-offset { margin-top: var(--slat-header-offset, 0px); }

/* ---------- Home slider ---------- */
    .home-slider { position: relative; background: #fff4ea; }
    .home-slider .carousel-item img {
        display: block;
        width: 100%;
        height: auto; /* the img's width/height attributes only reserve space */
        aspect-ratio: 1920 / 700;
        object-fit: cover;
    }
    .home-slider .carousel-indicators { bottom: 10px; margin-bottom: 0; }
    .home-slider .carousel-indicators li {
        width: 10px;
        height: 10px;
        margin: 0 4px;
        border: 0;
        border-radius: 50%;
        background-color: rgba(255, 255, 255, 0.6) !important;
        opacity: 1;
    }
    .home-slider .carousel-indicators li.active { background-color: #c5161d !important; }
    /* style-home.css already makes these round; just size and tint them */
    .home-slider .carousel-control-prev,
    .home-slider .carousel-control-next {
        width: 44px !important;
        height: 44px;
        background-color: rgba(0, 0, 0, 0.45) !important;
    }
    .home-slider .carousel-control-prev-icon,
    .home-slider .carousel-control-next-icon { width: 18px; height: 18px; }
    @media (max-width: 767px) {
        .home-slider .carousel-item img { aspect-ratio: 4 / 3; }
        .home-slider .carousel-control-prev,
        .home-slider .carousel-control-next { width: 34px !important; height: 34px; }
    }

/* ---------- Product categories ---------- */
    .product-cats {
        padding: 72px 16px;
        background: #f7f7f7;
        font-family: 'Montserrat', sans-serif;
    }
    .product-cats__inner { max-width: 1240px; margin: 0 auto; }
    .product-cats__head { text-align: center; max-width: 720px; margin: 0 auto 40px; }
    .product-cats__eyebrow {
        margin: 0 0 8px;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #c5161d;
    }
    .product-cats__title {
        margin: 0 0 12px;
        font-size: clamp(26px, 3vw, 38px);
        font-weight: 700;
        line-height: 1.2;
        color: #111;
    }
    .product-cats__intro { margin: 0; font-size: 16px; line-height: 1.6; color: #555; }
    .product-cats__grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 28px;
    }
    .product-card {
        display: flex;
        flex-direction: column;
        background: #fff;
        border-radius: 12px;
        overflow: hidden;
        box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
        transition: transform 0.25s, box-shadow 0.25s;
    }
    .product-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 10px 28px rgba(0, 0, 0, 0.14);
    }
    .product-card__media { display: block; overflow: hidden; }
    .product-card__media img {
        display: block;
        width: 100%;
        aspect-ratio: 4 / 3;
        object-fit: cover;
        transition: transform 0.4s;
    }
    .product-card:hover .product-card__media img { transform: scale(1.04); }
    .product-card__body {
        display: flex;
        flex-direction: column;
        flex: 1;
        padding: 24px 24px 28px;
        border-top: 4px solid #c5161d;
    }
    .product-card__title { margin: 0 0 8px; font-size: 20px; font-weight: 700; color: #111; }
    .product-card__desc { margin: 0 0 16px; font-size: 15px; line-height: 1.55; color: #555; }
    .product-card__list { list-style: none; margin: 0 0 20px; padding: 0; }
    .product-card__list li { border-bottom: 1px solid #eee; }
    .product-card__list li:last-child { border-bottom: 0; }
    .product-card__list a {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 9px 0;
        font-size: 15px;
        font-weight: 500;
        color: #222;
        text-decoration: none;
    }
    .product-card__list a::before {
        content: "";
        flex: none;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #c5161d;
    }
    .product-card__list a:hover { color: #c5161d; }
    .product-card__cta {
        margin-top: auto;
        align-self: flex-start;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 11px 22px;
        border-radius: 999px;
        background: #c5161d;
        color: #fff !important;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none !important;
        transition: background 0.2s;
    }
    .product-card__cta:hover { background: #111; }
    @media (max-width: 991px) {
        .product-cats__grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 640px) {
        .product-cats { padding: 48px 16px; }
        .product-cats__grid { grid-template-columns: 1fr; gap: 20px; }
    }

/* ---------- Sections, CTA, footer ---------- */
    .ee-section {
        padding: 80px 16px;
        font-family: 'Montserrat', sans-serif;
        color: #222;
    }
    .ee-inner { max-width: 1240px; margin: 0 auto; }
    .ee-head { text-align: center; max-width: 760px; margin: 0 auto 44px; }
    .ee-eyebrow {
        margin: 0 0 8px;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #c5161d;
    }
    .ee-title {
        margin: 0 0 12px;
        font-size: clamp(26px, 3vw, 38px);
        font-weight: 700;
        line-height: 1.2;
        color: #111;
    }
    .ee-lead { margin: 0; font-size: 16px; line-height: 1.65; color: #555; }
    .ee-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 13px 26px;
        border-radius: 999px;
        background: #c5161d;
        color: #fff !important;
        font-size: 15px;
        font-weight: 600;
        text-decoration: none !important;
        transition: background 0.2s, color 0.2s;
    }
    .ee-btn:hover { background: #111; }
    .ee-btn--light { background: #fff; color: #c5161d !important; }
    .ee-btn--light:hover { background: #111; color: #fff !important; }
    .ee-btn--outline { background: transparent; border: 2px solid #fff; }
    .ee-btn--outline:hover { background: #fff; color: #c5161d !important; }

    /* Why EuroEnergy */
    .ee-why { background: #fff; }
    .ee-why__grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 56px;
        align-items: center;
    }
    .ee-why__text .ee-head { text-align: left; margin: 0 0 28px; }
    .ee-why__points { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
    .ee-why__points li { display: flex; gap: 14px; align-items: flex-start; }
    .ee-why__points i {
        flex: none;
        width: 44px;
        height: 44px;
        display: grid;
        place-items: center;
        border-radius: 10px;
        background: #fdecec;
        color: #c5161d;
        font-size: 18px;
    }
    .ee-why__points strong { display: block; font-size: 16px; color: #111; margin-bottom: 2px; }
    .ee-why__points span { font-size: 15px; line-height: 1.55; color: #555; }
    .ee-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
    .ee-stat {
        padding: 32px 24px;
        border-radius: 12px;
        background: #f7f7f7;
        border-left: 4px solid #c5161d;
    }
    .ee-stat:nth-child(2),
    .ee-stat:nth-child(3) { background: #1e2a3a; }
    .ee-stat:nth-child(2) .ee-stat__num,
    .ee-stat:nth-child(3) .ee-stat__num,
    .ee-stat:nth-child(2) .ee-stat__label,
    .ee-stat:nth-child(3) .ee-stat__label { color: #fff; }
    .ee-stat__num { display: block; font-size: clamp(32px, 3.4vw, 44px); font-weight: 800; color: #c5161d; line-height: 1; }
    .ee-stat__label { display: block; margin-top: 10px; font-size: 15px; font-weight: 600; color: #333; }

    /* Applications */
    .ee-apps { background: #f7f7f7; }
    .ee-apps__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
    .ee-app {
        position: relative;
        display: block;
        border-radius: 12px;
        overflow: hidden;
        aspect-ratio: 3 / 4;
        color: #fff !important;
        text-decoration: none !important;
    }
    .ee-app img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.4s;
    }
    .ee-app::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.15) 60%);
    }
    .ee-app:hover img { transform: scale(1.05); }
    .ee-app__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 22px; }
    .ee-app__title { margin: 0 0 6px; font-size: 19px; font-weight: 700; color: #fff; }
    .ee-app__products { margin: 0 0 12px; font-size: 13px; line-height: 1.5; color: rgba(255, 255, 255, 0.85); }
    .ee-app__link { font-size: 14px; font-weight: 600; color: #fff; }
    .ee-app__link i { margin-left: 6px; transition: margin 0.2s; }
    .ee-app:hover .ee-app__link i { margin-left: 10px; }

    /* Projects */
    .ee-projects { background: #fff; }
    .ee-projects__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
    .ee-project {
        border-radius: 12px;
        overflow: hidden;
        background: #fff;
        box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
    }
    .ee-project img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
    .ee-project__body { padding: 20px 22px 24px; }
    .ee-tag {
        display: inline-block;
        margin-bottom: 10px;
        padding: 4px 10px;
        border-radius: 999px;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        background: #fdecec;
        color: #c5161d;
    }
    .ee-tag--intl { background: #e6eef8; color: #1e3a5f; }
    .ee-project__title { margin: 0 0 6px; font-size: 18px; font-weight: 700; color: #111; }
    .ee-project__meta { margin: 0; font-size: 14px; line-height: 1.55; color: #666; }
    .ee-project__meta i { color: #c5161d; margin-right: 6px; }
    .ee-center { text-align: center; margin-top: 40px; }

    /* Global delivery */
    .ee-global { background: #1e2a3a; color: #fff; }
    .ee-global .ee-title { color: #fff; }
    .ee-global .ee-lead { color: rgba(255, 255, 255, 0.8); }
    .ee-global__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
    .ee-global__text .ee-head { text-align: left; margin: 0 0 28px; }
    .ee-global__list { list-style: none; margin: 0 0 32px; padding: 0; display: grid; gap: 16px; }
    .ee-global__list li { display: flex; gap: 14px; font-size: 15px; line-height: 1.55; color: rgba(255, 255, 255, 0.85); }
    .ee-global__list i { flex: none; margin-top: 3px; color: #ff4d55; font-size: 18px; width: 22px; text-align: center; }
    .ee-global__list strong { color: #fff; }
    .ee-global__media img { display: block; width: 100%; border-radius: 12px; aspect-ratio: 4 / 3; object-fit: cover; }

    /* Certifications & clients */
    .ee-trust { background: #f7f7f7; }
    .ee-trust__certs {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
        margin-bottom: 56px;
    }
    .ee-cert {
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 20px;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    }
    .ee-cert img { flex: none; width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
    .ee-cert strong { display: block; font-size: 15px; color: #111; }
    .ee-cert span { font-size: 13px; color: #666; }
    .ee-trust__subhead {
        margin: 0 0 24px;
        text-align: center;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #888;
    }
    .ee-trust__logos { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; align-items: center; }
    .ee-trust__logos img {
        display: block;
        width: 100%;
        max-width: 180px;
        margin: 0 auto;
        filter: grayscale(1);
        opacity: 0.7;
        transition: filter 0.2s, opacity 0.2s;
    }
    .ee-trust__logos img:hover { filter: none; opacity: 1; }

    /* Final CTA */
    .ee-cta { background: #c5161d; color: #fff; padding: 64px 16px; }
    .ee-cta__inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 32px;
        flex-wrap: wrap;
    }
    .ee-cta__title { margin: 0 0 8px; font-size: clamp(24px, 2.6vw, 34px); font-weight: 700; color: #fff; }
    .ee-cta__text { margin: 0; font-size: 16px; color: rgba(255, 255, 255, 0.9); }
    .ee-cta__actions { display: flex; gap: 14px; flex-wrap: wrap; }

    /* Footer */
    .ee-footer { background: #111821; color: rgba(255, 255, 255, 0.75); font-family: 'Montserrat', sans-serif; font-size: 15px; }
    .ee-footer__main {
        display: grid;
        grid-template-columns: 1.4fr 1fr 1.2fr 1.2fr;
        gap: 40px;
        padding: 64px 16px 48px;
    }
    .ee-footer__logo {
        display: inline-block;
        margin-bottom: 18px;
        padding: 10px 14px;
        border-radius: 8px;
        background: #fff;
    }
    .ee-footer__logo img { display: block; height: 44px; width: auto; }
    .ee-footer p { margin: 0 0 14px; line-height: 1.65; }
    .ee-footer h4 {
        margin: 0 0 18px;
        font-size: 15px;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #fff;
    }
    .ee-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
    .ee-footer a { color: rgba(255, 255, 255, 0.75); text-decoration: none; }
    .ee-footer a:hover { color: #fff; }
    .ee-footer__contact li { display: flex; gap: 12px; line-height: 1.55; }
    .ee-footer__contact i { flex: none; margin-top: 4px; width: 16px; color: #ff4d55; }
    .ee-footer__bottom {
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        padding: 20px 16px;
        font-size: 13px;
    }
    .ee-footer__bottom .ee-inner {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        flex-wrap: wrap;
    }

    @media (max-width: 991px) {
        .ee-why__grid,
        .ee-global__grid { grid-template-columns: 1fr; gap: 40px; }
        .ee-apps__grid { grid-template-columns: repeat(2, 1fr); }
        .ee-projects__grid { grid-template-columns: repeat(2, 1fr); }
        .ee-trust__certs { grid-template-columns: repeat(2, 1fr); }
        .ee-trust__logos { grid-template-columns: repeat(3, 1fr); }
        .ee-footer__main { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 640px) {
        .ee-section { padding: 56px 16px; }
        .ee-stats { gap: 14px; }
        .ee-stat { padding: 22px 16px; }
        .ee-apps__grid { gap: 14px; }
        .ee-app { aspect-ratio: 4 / 5; }
        .ee-app__body { padding: 16px; }
        .ee-app__products { display: none; }
        .ee-projects__grid,
        .ee-trust__certs { grid-template-columns: 1fr; }
        .ee-trust__logos { grid-template-columns: repeat(2, 1fr); }
        .ee-cta__actions { width: 100%; }
        .ee-cta__actions .ee-btn { flex: 1; justify-content: center; }
        .ee-footer__main { grid-template-columns: 1fr; gap: 32px; }
    }

/* ---------- Inner pages ---------- */
.ee-page-hero {
    position: relative;
    padding: 72px 16px 64px;
    background: #1e2a3a center / cover no-repeat;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
}
.ee-page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(17, 24, 33, 0.92) 0%, rgba(17, 24, 33, 0.6) 100%);
}
.ee-page-hero .ee-inner { position: relative; }
.ee-breadcrumb { margin: 0 0 14px; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; font-size: 14px; }
.ee-breadcrumb li + li::before { content: "/"; margin-right: 6px; color: rgba(255, 255, 255, 0.5); }
.ee-breadcrumb a { color: rgba(255, 255, 255, 0.8); text-decoration: none; }
.ee-breadcrumb a:hover { color: #fff; }
.ee-breadcrumb li[aria-current] { color: #ff8a8f; }
.ee-page-hero h1 { margin: 0 0 12px; font-size: clamp(30px, 4vw, 48px); font-weight: 800; line-height: 1.15; color: #fff; }
.ee-page-hero p { margin: 0; max-width: 720px; font-size: 17px; line-height: 1.6; color: rgba(255, 255, 255, 0.85); }

.ee-alt { background: #f7f7f7; }
.ee-prose p { margin: 0 0 16px; font-size: 16px; line-height: 1.7; color: #444; }
.ee-prose h2 { margin: 0 0 16px; font-size: clamp(24px, 2.6vw, 32px); font-weight: 700; color: #111; }
.ee-prose h3 { margin: 28px 0 12px; font-size: 20px; font-weight: 700; color: #111; }
.ee-split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.ee-split--center { align-items: center; }
.ee-split img { display: block; width: 100%; border-radius: 12px; aspect-ratio: 4 / 3; object-fit: cover; }

.ee-ticks { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 10px; }
.ee-ticks li { position: relative; padding-left: 30px; font-size: 15px; line-height: 1.55; color: #333; }
.ee-ticks li::before {
    content: "\f00c";
    position: absolute;
    left: 0;
    top: 1px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 13px;
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #fdecec;
    color: #c5161d;
}
.ee-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ee-btn--ghost { background: transparent; color: #c5161d !important; border: 2px solid #c5161d; }
.ee-btn--ghost:hover { background: #c5161d; color: #fff !important; }

.ee-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ee-chips a { color: #c5161d; text-decoration: none; }
.ee-chips a:hover { color: #111; }
.ee-chips li {
    padding: 10px 16px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #e3e3e3;
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.ee-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ee-cards--4 { grid-template-columns: repeat(4, 1fr); }
.ee-cards--2 { grid-template-columns: repeat(2, 1fr); }
.ee-card {
    padding: 28px 24px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.07);
}
.ee-card > i {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin-bottom: 16px;
    border-radius: 10px;
    background: #fdecec;
    color: #c5161d;
    font-size: 20px;
}
.ee-card h3 { margin: 0 0 8px; font-size: 18px; font-weight: 700; color: #111; }
.ee-card p { margin: 0; font-size: 15px; line-height: 1.6; color: #555; }
.ee-card__step { display: block; margin-bottom: 10px; font-size: 13px; font-weight: 800; letter-spacing: 0.1em; color: #c5161d; }

.ee-table-wrap { overflow-x: auto; border-radius: 12px; box-shadow: 0 4px 18px rgba(0, 0, 0, 0.07); }
.ee-table { width: 100%; min-width: 560px; border-collapse: collapse; background: #fff; font-size: 15px; }
.ee-table th, .ee-table td { padding: 14px 18px; text-align: left; border-bottom: 1px solid #eee; }
.ee-table thead th { background: #1e2a3a; color: #fff; font-weight: 600; }
.ee-table tbody tr:nth-child(even) { background: #fafafa; }
.ee-note { margin: 14px 0 0; font-size: 14px; color: #777; }

.ee-related { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ee-related a {
    display: block;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.07);
    color: #111 !important;
    text-decoration: none !important;
    transition: transform 0.25s;
}
.ee-related a:hover { transform: translateY(-4px); }
.ee-related img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ee-related span { display: block; padding: 14px 16px; font-size: 15px; font-weight: 600; }

.ee-block + .ee-block { margin-top: 72px; }
.ee-block[id] { scroll-margin-top: 140px; }
section[id] { scroll-margin-top: 140px; }

/* Contact */
.ee-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ee-form .ee-field--full { grid-column: 1 / -1; }
.ee-form label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: #333; }
.ee-form input, .ee-form select, .ee-form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d6d6d6;
    border-radius: 8px;
    background: #fff;
    font: inherit;
    font-size: 15px;
    color: #222;
}
.ee-form textarea { min-height: 130px; resize: vertical; }
.ee-form input:focus, .ee-form select:focus, .ee-form textarea:focus {
    outline: none;
    border-color: #c5161d;
    box-shadow: 0 0 0 3px rgba(197, 22, 29, 0.15);
}
.ee-form button { border: 0; cursor: pointer; }
.ee-form button.ee-btn--ghost { border: 2px solid #c5161d; }
.ee-form-msg { grid-column: 1 / -1; margin: 0; font-size: 14px; color: #c5161d; min-height: 1em; }
.ee-contact-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.ee-contact-list li { display: flex; gap: 14px; font-size: 15px; line-height: 1.55; color: #444; }
.ee-contact-list i { flex: none; width: 20px; margin-top: 4px; color: #c5161d; text-align: center; }
.ee-contact-list a { color: #222; }
.ee-map { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 12px; background: #e9e9e9; }

@media (max-width: 991px) {
    .ee-split { grid-template-columns: 1fr; gap: 32px; }
    .ee-split__media { order: -1; }
    .ee-cards, .ee-cards--4 { grid-template-columns: repeat(2, 1fr); }
    .ee-related { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .ee-page-hero { padding: 48px 16px 44px; }
    .ee-cards, .ee-cards--4, .ee-cards--2 { grid-template-columns: 1fr; }
    .ee-form { grid-template-columns: 1fr; }
    .ee-block + .ee-block { margin-top: 56px; }
}

/* ---------- Project references ---------- */
.ee-stats--4 { grid-template-columns: repeat(4, 1fr); }
/* Long figures such as "325,000 m²" stay on one line */
.ee-stat__num { white-space: nowrap; font-size: clamp(26px, 2.6vw, 40px); }
.ee-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 32px; }
.ee-filter {
    padding: 10px 18px;
    border: 1px solid #ddd;
    border-radius: 999px;
    background: #fff;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.ee-filter:hover { border-color: #c5161d; color: #c5161d; }
.ee-filter.is-active { background: #c5161d; border-color: #c5161d; color: #fff; }
.ee-project[hidden] { display: none; }
.ee-project { display: flex; flex-direction: column; }
.ee-project__cover { position: relative; display: block; overflow: hidden; }
.ee-project__cover img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; transition: transform 0.4s; }
.ee-project__cover:hover img { transform: scale(1.04); }
.ee-project__count {
    position: absolute;
    right: 10px;
    bottom: 10px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
}
.ee-project__specs { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ee-project__specs li { display: flex; gap: 10px; font-size: 14px; line-height: 1.5; color: #555; }
.ee-project__specs i { flex: none; width: 16px; margin-top: 3px; color: #c5161d; text-align: center; }
.ee-project__specs a { color: #222; font-weight: 600; text-decoration: none; }
.ee-project__specs a:hover { color: #c5161d; }
.ee-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 16px; }
.ee-gallery a { display: block; border-radius: 6px; overflow: hidden; }
.ee-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: opacity 0.2s; }
.ee-gallery a:hover img { opacity: 0.8; }

/* Certification */
.ee-cert-feature {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 40px;
    align-items: center;
    max-width: 920px;
    margin: 0 auto 56px;
    padding: 32px 40px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.07);
}
.ee-cert-feature img { display: block; width: 100%; height: auto; }
.ee-cert-feature h3 { margin: 0 0 8px; font-size: 22px; font-weight: 700; color: #111; }
.ee-cert-feature p { margin: 0 0 16px; font-size: 15px; line-height: 1.6; color: #555; }
.ee-cert-feature .ee-ticks { margin: 0; }

/* Lightbox (js/v3-main.js) */
.ee-lightbox {
    position: fixed;
    inset: 0;
    z-index: 2147483000; /* above the fixed header (old CSS uses z-index up to 1000000001) */
    display: none;
    align-items: center;
    justify-content: center;
    padding: 56px 64px;
    background: rgba(10, 14, 20, 0.92);
}
.ee-lightbox.is-open { display: flex; }
.ee-lightbox figure { margin: 0; max-width: 100%; max-height: 100%; text-align: center; }
.ee-lightbox img { display: block; max-width: 100%; max-height: calc(100vh - 150px); margin: 0 auto; border-radius: 6px; }
.ee-lightbox figcaption { margin-top: 12px; font-family: 'Montserrat', sans-serif; font-size: 14px; color: #ddd; }
.ee-lightbox button {
    position: absolute;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}
.ee-lightbox button:hover { background: #c5161d; }
.ee-lightbox__close { top: 14px; right: 14px; }
.ee-lightbox__prev { left: 10px; top: 50%; transform: translateY(-50%); }
.ee-lightbox__next { right: 10px; top: 50%; transform: translateY(-50%); }

@media (max-width: 991px) {
    .ee-stats--4 { grid-template-columns: repeat(2, 1fr); }
    .ee-cert-feature { grid-template-columns: 200px 1fr; gap: 28px; padding: 28px; }
}
@media (max-width: 640px) {
    .ee-cert-feature { grid-template-columns: 1fr; }
    .ee-cert-feature img { max-width: 220px; }
    .ee-lightbox { padding: 56px 8px 76px; }
    .ee-lightbox__prev, .ee-lightbox__next { top: auto; bottom: 14px; transform: none; }
}

/* ---------- Services, legal pages, footer links ---------- */
.ee-card--link { display: flex; flex-direction: column; color: inherit !important; text-decoration: none !important; transition: transform 0.25s, box-shadow 0.25s; }
.ee-card--link:hover { transform: translateY(-4px); box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12); }
.ee-card--link .ee-app__link { margin-top: auto; padding-top: 16px; color: #c5161d; }
.ee-service-facts { border-top: 4px solid #c5161d; }
.ee-photo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.ee-photo-grid a { display: block; border-radius: 8px; overflow: hidden; }
.ee-photo-grid img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 0.4s; }
.ee-photo-grid a:hover img { transform: scale(1.05); }
.ee-legal { max-width: 860px; }
.ee-legal h2 { margin: 36px 0 12px; font-size: 22px; }
.ee-legal h2:first-child { margin-top: 0; }
.ee-legal a { color: #c5161d; }
.ee-footer__legal { display: flex; flex-wrap: wrap; gap: 18px; }
@media (max-width: 991px) {
    .ee-photo-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
    .ee-photo-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
}

/* ---------- Project assistance form ---------- */
.ee-project-form { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.ee-form-note { margin: 0 0 20px; font-size: 14px; color: #666; }
.ee-req { color: #c5161d; }
.ee-fieldset { margin: 0 0 8px; padding: 24px; border: 1px solid #e6e6e6; border-radius: 12px; background: #fff; }
.ee-fieldset legend {
    width: auto;
    margin: 0;
    padding: 0 8px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #c5161d;
}
.ee-label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 600; color: #333; }
.ee-options { display: flex; flex-wrap: wrap; gap: 8px 10px; }
.ee-options--grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ee-form label.ee-option {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    padding: 9px 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}
.ee-form label.ee-option:hover { border-color: #c5161d; }
.ee-form label.ee-option:has(input:checked) { border-color: #c5161d; background: #fdecec; }
.ee-form .ee-option input { width: auto; flex: none; margin: 2px 0 0; padding: 0; accent-color: #c5161d; box-shadow: none; }
.ee-attach-note { display: flex; gap: 14px; align-items: flex-start; padding: 16px 20px; border-radius: 10px; background: #f7f7f7; }
.ee-attach-note i { margin-top: 3px; color: #c5161d; font-size: 18px; }
.ee-attach-note p { margin: 0; font-size: 14px; line-height: 1.6; color: #444; }
.ee-consent label.ee-option { border: 0; padding: 0; background: none !important; }
.ee-consent a { color: #c5161d; }
.ee-project-aside { position: sticky; top: calc(var(--slat-header-offset, 0px) + 24px); display: grid; gap: 24px; }
.ee-steps { margin: 16px 0 0; padding: 0; list-style: none; counter-reset: step; display: grid; gap: 18px; }
.ee-steps li { position: relative; padding-left: 46px; counter-increment: step; }
.ee-steps li::before {
    content: counter(step);
    position: absolute;
    left: 0;
    top: 0;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #c5161d;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
}
.ee-steps strong { display: block; font-size: 15px; color: #111; }
.ee-steps span { font-size: 14px; line-height: 1.55; color: #555; }
.ee-card--photo { padding: 0; overflow: hidden; }
.ee-card--photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.ee-card--photo h3, .ee-card--photo p, .ee-card--photo .ee-app__link { margin-left: 24px; margin-right: 24px; }
.ee-card--photo h3 { margin-top: 20px; }
.ee-card--photo .ee-app__link { margin-bottom: 24px; }
.ee-support-band { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.ee-support-band .ee-title { margin-bottom: 8px; }
@media (max-width: 991px) {
    .ee-project-form { grid-template-columns: 1fr; }
    .ee-project-aside { position: static; }
}
@media (max-width: 640px) {
    .ee-fieldset { padding: 18px 14px; }
    .ee-options--grid { grid-template-columns: 1fr; }
}

/* Product page quote prompt */
.ee-cta-line { margin: 24px 0 14px; padding-top: 20px; border-top: 1px solid #eee; font-size: 16px; font-weight: 600; color: #111; }
@media (min-width: 992px) {
    .ee-sticky { position: sticky; top: calc(var(--slat-header-offset, 0px) + 24px); }
}

/* ---------- Technical detail pages ---------- */
.ee-figure { margin: 0; }
.ee-figure a { display: block; border-radius: 10px; overflow: hidden; background: #fff; }
.ee-figure img { display: block; width: 100%; height: auto; }
.ee-figure figcaption { margin-top: 10px; font-size: 14px; color: #666; text-align: center; }
.ee-figures { display: grid; gap: 24px; margin-top: 40px; }
.ee-figures--3 { grid-template-columns: repeat(3, 1fr); align-items: start; }
.ee-figures--3 .ee-figure img { aspect-ratio: 4 / 3; object-fit: contain; background: #fff; }
.ee-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.ee-type-grid .ee-card h3 { font-size: 22px; }
.ee-type-grid .ee-card p { margin-bottom: 20px; }
.ee-type-grid .ee-figure a { border: 1px solid #eee; padding: 12px; }
.ee-figure-wide { max-width: 1000px; margin: 0 auto; }
.ee-figure-wide .ee-figure a { padding: 16px; }
@media (max-width: 991px) {
    .ee-figures--3, .ee-type-grid { grid-template-columns: 1fr; }
}
.ee-split img.ee-img-natural { aspect-ratio: auto; object-fit: contain; }
