:root {
    --escom-navy: #002063;
    --escom-deep: #061b47;
    --escom-blue: #0b6ab9;
    --escom-light-blue: #307bbc;
    --escom-ink: #172033;
    --escom-muted: #667085;
    --escom-pale: #f4f7fb;
    --escom-line: #dce5ef;
    --escom-white: #fff;
    --escom-radius: 6px;
    --escom-shadow: 0 24px 70px rgba(0, 32, 99, .12);
    --escom-container: 1240px;
}

html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--escom-ink);
    background: var(--escom-white);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}
body.escom-menu-is-open { overflow: hidden; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.screen-reader-text {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0);
    white-space: nowrap; border: 0;
}
.escom-skip-link {
    position: fixed; top: -100px; left: 20px; z-index: 9999;
    padding: 10px 16px; color: white; background: var(--escom-navy);
}
.escom-skip-link:focus { top: 12px; }
.escom-container { width: min(calc(100% - 48px), var(--escom-container)); margin-inline: auto; }
h1, h2, h3 {
    margin: 0;
    color: var(--escom-deep);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
    line-height: 1.14;
    letter-spacing: -.035em;
}
h1 { font-size: clamp(3.2rem, 7vw, 6.3rem); }
h2 { font-size: clamp(2.2rem, 4vw, 4rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.55rem); }
p { margin: 0; }
.escom-kicker, .escom-eyebrow {
    margin-bottom: 18px;
    color: var(--escom-blue);
    font-size: .77rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.escom-kicker--light { color: #8dc8ff; }
.escom-button {
    display: inline-flex; align-items: center; justify-content: center; gap: 12px;
    min-height: 54px; padding: 13px 24px;
    border: 1px solid var(--escom-blue); border-radius: 3px;
    color: white; background: var(--escom-blue);
    font-size: .92rem; font-weight: 700;
    transition: transform .25s ease, background .25s ease, border-color .25s ease;
}
.escom-button:hover, .escom-button:focus-visible { transform: translateY(-2px); background: #07579a; border-color: #07579a; }
.escom-button svg, .escom-text-link svg, .escom-product-card a svg, .escom-service-grid a svg {
    width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8;
}
.escom-button--small { min-height: 43px; padding: 9px 17px; font-size: .82rem; }
.escom-button--ghost { border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.06); backdrop-filter: blur(8px); }
.escom-button--ghost:hover { border-color: white; background: rgba(255,255,255,.15); }
.escom-button--light { color: var(--escom-navy); border-color: white; background: white; }
.escom-button--light:hover { color: white; background: transparent; border-color: white; }

/* Header */
.escom-header {
    position: fixed; inset: 0 0 auto 0; z-index: 1000;
    height: 86px; border-bottom: 1px solid rgba(255,255,255,.18);
    color: white; transition: height .25s ease, background .25s ease, box-shadow .25s ease;
}
.escom-header.is-scrolled, body:not(.home) .escom-header {
    height: 74px; color: var(--escom-deep); background: rgba(255,255,255,.97);
    border-bottom-color: var(--escom-line); box-shadow: 0 10px 35px rgba(0,32,99,.08);
}
.escom-header__inner {
    display: flex; align-items: center; gap: 32px;
    width: min(calc(100% - 48px), 1380px); height: 100%; margin-inline: auto;
}
.escom-logo { display: flex; align-items: center; flex: 0 0 auto; width: 196px; height: 62px; }
.escom-logo img { display: block; width: 196px; height: auto; filter: brightness(0) invert(1); transition: filter .25s ease; }
.escom-header.is-scrolled .escom-logo img, body:not(.home) .escom-logo img { filter: none; }
.escom-nav { display: flex; align-items: center; justify-content: center; gap: clamp(17px, 2vw, 31px); margin-left: auto; }
.escom-header .escom-nav > a, .escom-nav__trigger { position: relative; color: inherit !important; font-size: .82rem; font-weight: 650; }
.escom-nav > a::after, .escom-nav__trigger::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 2px; background: currentColor; transition: right .25s ease; }
.escom-nav > a:hover::after, .escom-nav__trigger:hover::after, .escom-nav-item.is-open .escom-nav__trigger::after { right: 0; }
.escom-nav-item { display: flex; align-items: center; height: 100%; }
.escom-header .escom-nav__trigger { display: inline-flex; align-items: center; gap: 6px; padding: 0; color: inherit !important; border: 0 !important; border-radius: 0 !important; outline-offset: 7px; background: transparent !important; box-shadow: none !important; cursor: pointer; }
.escom-header .escom-nav__trigger:hover, .escom-header .escom-nav__trigger:focus, .escom-header .escom-nav__trigger:active { color: inherit !important; background: transparent !important; box-shadow: none !important; }
.escom-nav__trigger > svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform .2s ease; }
.escom-nav-item.is-open .escom-nav__trigger > svg { transform: rotate(180deg); }
.escom-mega-menu { position: absolute; top: 100%; left: 0; width: 100%; color: var(--escom-ink); background: white; border-top: 1px solid var(--escom-line); box-shadow: 0 28px 65px rgba(0,23,70,.18); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-10px); transition: opacity .2s ease, visibility .2s ease, transform .2s ease; }
.escom-nav-item.is-open .escom-mega-menu, .escom-nav-item:focus-within .escom-mega-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.escom-mega-menu__inner { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 30px; width: min(calc(100% - 48px), 1380px); margin-inline: auto; padding: 30px 0 32px; }
.escom-mega-menu__heading { display: flex; justify-content: space-between; gap: 28px; align-items: flex-end; margin-bottom: 22px; }
.escom-mega-menu__eyebrow { margin-bottom: 6px; color: var(--escom-blue); font-size: .64rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.escom-mega-menu__heading h2 { font-size: 1.42rem; letter-spacing: -.02em; }
.escom-mega-menu__heading > div > p:last-child { max-width: 650px; margin-top: 6px; color: var(--escom-muted); font-size: .76rem; line-height: 1.5; }
.escom-header .escom-mega-menu__all { display: inline-flex; align-items: center; flex: 0 0 auto; gap: 7px; color: var(--escom-blue) !important; font-size: .73rem; font-weight: 750; }
.escom-mega-menu__all svg, .escom-mega-category__arrow svg, .escom-mega-menu__feature a svg { width: 17px; height: 17px; fill: none; stroke: currentColor; }
.escom-mega-menu__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--escom-line); border-left: 1px solid var(--escom-line); }
.escom-header .escom-mega-category { position: relative; display: grid; grid-template-columns: 44px 1fr 18px; gap: 13px; align-items: center; min-height: 86px; padding: 13px 15px; color: var(--escom-ink) !important; border-right: 1px solid var(--escom-line); border-bottom: 1px solid var(--escom-line); transition: background .2s ease, color .2s ease; }
.escom-header .escom-mega-category:hover, .escom-header .escom-mega-category:focus-visible { background: var(--escom-pale); }
.escom-mega-category__icon { display: grid; place-items: center; width: 44px; height: 44px; color: var(--escom-blue); background: #eaf4fc; }
.escom-mega-category__icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.55; }
.escom-mega-category__copy { min-width: 0; }
.escom-mega-category strong { display: block; color: var(--escom-deep); font-size: .82rem; line-height: 1.25; }
.escom-mega-category small { display: -webkit-box; margin-top: 4px; overflow: hidden; color: var(--escom-muted); font-size: .68rem; font-weight: 400; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.escom-mega-category__arrow { color: #9cb0c5; transition: color .2s ease, transform .2s ease; }
.escom-mega-category:hover .escom-mega-category__arrow { color: var(--escom-blue); transform: translateX(3px); }
.escom-mega-menu__feature { position: relative; min-height: 100%; padding: 28px; color: white; background: radial-gradient(circle at 85% 12%, rgba(75,168,242,.34), transparent 34%), linear-gradient(145deg, #031334, var(--escom-navy)); overflow: hidden; }
.escom-mega-menu__feature h2 { max-width: 260px; color: white; font-size: 1.62rem; }
.escom-mega-menu__feature > p:not(.escom-mega-menu__eyebrow) { position: relative; z-index: 1; margin-top: 14px; color: rgba(255,255,255,.7); font-size: .78rem; line-height: 1.58; }
.escom-header .escom-mega-menu__feature > a { position: absolute; left: 28px; bottom: 27px; z-index: 2; display: inline-flex; align-items: center; gap: 8px; color: white !important; font-size: .77rem; font-weight: 750; }
.escom-mega-menu__molecule { position: absolute; right: -17px; bottom: -30px; width: 180px; height: 180px; opacity: .22; }
.escom-mega-menu__molecule::before, .escom-mega-menu__molecule::after { content: ""; position: absolute; inset: 23px; border: 1px solid white; border-radius: 50%; }
.escom-mega-menu__molecule::after { inset: 54px; border-style: dashed; }
.escom-mega-menu__molecule span { position: absolute; width: 14px; height: 14px; border: 2px solid white; border-radius: 50%; background: var(--escom-blue); }
.escom-mega-menu__molecule span:nth-child(1) { top: 17px; left: 83px; }.escom-mega-menu__molecule span:nth-child(2) { top: 68px; right: 8px; }.escom-mega-menu__molecule span:nth-child(3) { right: 31px; bottom: 18px; }.escom-mega-menu__molecule span:nth-child(4) { left: 24px; bottom: 30px; }.escom-mega-menu__molecule span:nth-child(5) { left: 7px; top: 59px; }
.escom-header__actions { display: flex; align-items: center; gap: 15px; }
.escom-languages { display: flex; align-items: center; gap: 3px; padding: 4px 7px; border: 1px solid rgba(255,255,255,.32); border-radius: 999px; background: rgba(255,255,255,.07); }
.escom-header.is-scrolled .escom-languages { border-right-color: var(--escom-line); }
.escom-languages__icon { display: flex; margin-right: 3px; opacity: .72; }
.escom-languages__icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.escom-language { display: grid; place-items: center; min-width: 26px; height: 25px; border-radius: 999px; opacity: .65; font-size: .63rem; font-weight: 800; letter-spacing: .04em; }
.escom-language:hover, .escom-language.is-active { opacity: 1; background: rgba(255,255,255,.16); }
.escom-header.is-scrolled .escom-languages, body:not(.home) .escom-languages { border-color: var(--escom-line); background: var(--escom-pale); }
.escom-header.is-scrolled .escom-language.is-active, body:not(.home) .escom-language.is-active { color: white; background: var(--escom-blue); }
.escom-header .escom-menu-toggle { display: none; width: 42px; height: 42px; padding: 9px; color: inherit !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.escom-menu-toggle svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.escom-menu-close { display: none; }
a.trx_addons_scroll_to_top { display: none !important; }

/* Hero */
.escom-hero { position: relative; display: grid; min-height: 830px; color: white; background: var(--escom-deep); overflow: hidden; }
.escom-hero__image { position: absolute; inset: 0; background: url('../images/escom-hero.png') center center / cover no-repeat; transform: scale(1.01); }
.escom-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(1,19,58,.97) 0%, rgba(1,26,75,.82) 37%, rgba(0,32,99,.24) 65%, rgba(0,20,58,.12) 100%); }
.escom-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 160px; background: linear-gradient(transparent, rgba(0,20,58,.24)); }
.escom-hero__content { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-top: 115px; padding-bottom: 95px; }
.escom-hero h1 { max-width: 810px; color: white; }
.escom-hero__lead { max-width: 680px; margin-top: 27px; color: rgba(255,255,255,.82); font-size: clamp(1.08rem, 1.6vw, 1.35rem); line-height: 1.65; }
.escom-hero__actions { display: flex; gap: 12px; margin-top: 38px; }
.escom-hero__meta { display: flex; flex-wrap: wrap; gap: 12px 30px; margin-top: 69px; color: rgba(255,255,255,.74); font-size: .76rem; font-weight: 600; letter-spacing: .04em; }
.escom-hero__meta span { display: flex; align-items: center; gap: 9px; }
.escom-hero__meta span::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #55b8ff; box-shadow: 0 0 0 5px rgba(85,184,255,.14); }

/* Trust strip */
.escom-trust { position: relative; z-index: 3; border-bottom: 1px solid var(--escom-line); background: white; }
.escom-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.escom-trust__grid > div { display: flex; flex-direction: column; padding: 26px 29px; border-left: 1px solid var(--escom-line); }
.escom-trust__grid > div:last-child { border-right: 1px solid var(--escom-line); }
.escom-trust strong { color: var(--escom-navy); font-family: Inter, "Segoe UI", sans-serif; font-size: 1rem; }
.escom-trust span { color: var(--escom-muted); font-size: .82rem; }

/* Sections */
.escom-section { padding: 120px 0; }
.escom-section--pale { background: var(--escom-pale); }
.escom-section__intro { display: grid; grid-template-columns: 1.25fr .75fr; gap: 90px; align-items: end; margin-bottom: 58px; }
.escom-section__intro h2 { max-width: 800px; }
.escom-section__intro > p { color: var(--escom-muted); font-size: 1.06rem; }
.escom-section__heading { max-width: 790px; margin-bottom: 55px; }
.escom-product-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--escom-line); border-left: 1px solid var(--escom-line); }
.escom-product-card { position: relative; min-height: 345px; padding: 34px; border-right: 1px solid var(--escom-line); border-bottom: 1px solid var(--escom-line); background: white; transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.escom-product-card:hover { z-index: 2; transform: translateY(-6px); border-color: transparent; box-shadow: var(--escom-shadow); }
.escom-card-number { display: block; margin-bottom: 48px; color: var(--escom-blue); font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
.escom-card-icon { position: absolute; top: 28px; right: 28px; display: grid; place-items: center; width: 48px; height: 48px; color: var(--escom-blue); background: var(--escom-pale); }
.escom-card-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.escom-product-card--featured .escom-card-icon { color: white; background: rgba(255,255,255,.1); }
.escom-product-card h3 { max-width: 275px; }
.escom-product-card p { margin-top: 18px; color: var(--escom-muted); font-size: .91rem; }
.escom-product-card a, .escom-service-grid a, .escom-text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 25px; color: var(--escom-blue); font-size: .82rem; font-weight: 700; }
.escom-product-card a { position: absolute; left: 34px; bottom: 31px; }
.escom-product-card--featured { color: white; background: var(--escom-navy); }
.escom-product-card--featured h3, .escom-product-card--featured a { color: white; }
.escom-product-card--featured p { color: rgba(255,255,255,.68); }
.escom-product-search { display: flex; align-items: center; justify-content: space-between; gap: 45px; margin-top: 48px; padding: 42px 48px; color: white; background: linear-gradient(120deg, var(--escom-navy), #074c91); box-shadow: var(--escom-shadow); }
.escom-product-search h3 { color: white; font-size: clamp(1.5rem, 3vw, 2.3rem); }
.escom-product-search p:last-child { max-width: 700px; margin-top: 11px; color: rgba(255,255,255,.73); }
.escom-quick-search { display: flex; flex: 0 1 510px; gap: 8px; }
.escom-quick-search input { min-width: 270px; min-height: 54px; padding: 12px 16px; color: var(--escom-ink); border: 1px solid rgba(255,255,255,.3); border-radius: 3px; background: white; }

/* Services */
.escom-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.escom-service-grid article { position: relative; min-height: 420px; padding: 38px; border: 1px solid var(--escom-line); background: white; overflow: hidden; }
.escom-service-grid article::after { content: ""; position: absolute; right: -80px; bottom: -80px; width: 210px; height: 210px; border: 1px solid #d9e8f5; border-radius: 50%; box-shadow: 0 0 0 35px rgba(11,106,185,.03), 0 0 0 70px rgba(11,106,185,.025); }
.escom-service-icon { display: grid; place-items: center; width: 67px; height: 67px; margin-bottom: 57px; color: var(--escom-blue); background: #edf6fe; }
.escom-service-icon svg { width: 39px; height: 39px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.escom-service-grid article > span { position: absolute; top: 39px; right: 39px; color: #9aabc0; font-size: .7rem; font-weight: 700; }
.escom-service-grid p { margin-top: 18px; color: var(--escom-muted); }
.escom-service-grid a { position: absolute; z-index: 2; left: 38px; bottom: 35px; }

/* Industries */
.escom-industries { background: white; }
.escom-industries__layout { display: grid; grid-template-columns: .77fr 1.23fr; gap: 105px; align-items: start; }
.escom-industries__intro { position: sticky; top: 120px; }
.escom-industries__intro p:not(.escom-kicker) { margin-top: 26px; color: var(--escom-muted); font-size: 1.02rem; }
.escom-industry-list { display: grid; grid-template-columns: repeat(2, 1fr); }
.escom-industry-list a { position: relative; padding: 25px 25px 25px 42px; border-bottom: 1px solid var(--escom-line); color: var(--escom-deep); font-family: Inter, "Segoe UI", sans-serif; font-size: 1.05rem; font-weight: 600; transition: color .2s ease, padding-left .2s ease; }
.escom-industry-list a:hover { color: var(--escom-blue); padding-left: 47px; }
.escom-industry-list a::before { content: ""; position: absolute; left: 12px; top: 50%; width: 10px; height: 10px; border: 2px solid var(--escom-blue); border-radius: 50%; transform: translateY(-50%); }

/* Company */
.escom-company { color: white; background: var(--escom-deep); overflow: hidden; }
.escom-company__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.escom-company h2 { color: white; }
.escom-large-copy { margin-top: 28px; color: rgba(255,255,255,.72); font-size: clamp(1.08rem, 1.8vw, 1.28rem); }
.escom-check-list { display: grid; gap: 13px; margin: 33px 0 0; padding: 0; list-style: none; }
.escom-check-list li { display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.9); font-size: .91rem; }
.escom-check-list svg { flex: 0 0 auto; width: 21px; height: 21px; padding: 4px; border-radius: 50%; color: #63c0ff; background: rgba(99,192,255,.1); fill: none; stroke: currentColor; stroke-width: 2; }
.escom-company__visual { position: relative; display: grid; place-items: center; aspect-ratio: 1; }
.escom-orbit { position: absolute; border: 1px solid rgba(99,192,255,.3); border-radius: 50%; }
.escom-orbit--one { inset: 12%; }
.escom-orbit--two { inset: 27%; border-style: dashed; animation: escom-spin 28s linear infinite; }
.escom-orbit__core { display: grid; place-items: center; width: 118px; height: 118px; border-radius: 50%; color: white; background: var(--escom-blue); box-shadow: 0 0 80px rgba(11,106,185,.65); font-family: Inter, "Segoe UI", sans-serif; font-size: 2.4rem; font-weight: 700; }
.escom-node { position: absolute; display: grid; place-items: center; width: 82px; height: 82px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: white; background: rgba(255,255,255,.05); backdrop-filter: blur(8px); font-size: .68rem; font-weight: 700; letter-spacing: .08em; }
.escom-node--eu { top: 7%; left: 28%; }
.escom-node--apac { right: 3%; bottom: 30%; }
.escom-node--industry { left: 4%; bottom: 21%; width: 96px; height: 96px; }
@keyframes escom-spin { to { transform: rotate(360deg); } }

/* Compliance / CTA */
.escom-compliance { padding: 78px 0; color: white; background: linear-gradient(110deg, #075da7, var(--escom-navy)); }
.escom-compliance h2 { max-width: 580px; color: white; }
.escom-compliance__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.escom-compliance__grid > div:last-child > p { color: rgba(255,255,255,.76); }
.escom-compliance__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.escom-compliance__tags span { padding: 7px 12px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: rgba(255,255,255,.9); font-size: .72rem; }
.escom-cta { padding: 95px 0; background: #eef4fa; }
.escom-cta__inner { display: flex; justify-content: space-between; gap: 70px; align-items: center; }
.escom-cta h2 { margin-bottom: 16px; }
.escom-cta p:last-child { max-width: 720px; color: var(--escom-muted); }
.escom-cta .escom-button { flex: 0 0 auto; }

/* Footer */
.escom-footer { padding: 72px 0 24px; color: rgba(255,255,255,.67); background: #031334; }
.escom-footer__grid { display: grid; grid-template-columns: 1.6fr 1fr .8fr .8fr; gap: 60px; }
.escom-footer h2 { margin-bottom: 17px; color: white; font-size: .85rem; letter-spacing: .07em; text-transform: uppercase; }
.escom-footer a { display: block; width: fit-content; margin: 7px 0; font-size: .86rem; transition: color .2s ease; }
.escom-footer a:hover { color: white; }
.escom-footer address { margin-bottom: 11px; font-size: .86rem; font-style: normal; }
.escom-footer__brand img { width: 210px; filter: brightness(0) invert(1); }
.escom-footer__brand p { max-width: 390px; margin-top: 20px; }
.escom-footer__bottom { display: flex; justify-content: space-between; margin-top: 55px; padding-top: 23px; border-top: 1px solid rgba(255,255,255,.12); font-size: .72rem; }

/* Inner pages and shared catalogue templates */
.escom-inner-page { padding-top: 74px; }
.escom-page-hero, .escom-product-hero { position: relative; padding: 105px 0 85px; color: white; background: radial-gradient(circle at 82% 30%, rgba(48,123,188,.34), transparent 34%), linear-gradient(120deg, #031334, var(--escom-navy)); overflow: hidden; }
.escom-page-hero::after, .escom-product-hero::after { content: ""; position: absolute; right: -120px; bottom: -220px; width: 540px; height: 540px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.018); }
.escom-page-hero .escom-container, .escom-product-hero .escom-container { position: relative; z-index: 1; }
.escom-page-hero h1, .escom-product-hero h1 { max-width: 970px; color: white; font-size: clamp(2.8rem, 5.8vw, 5.5rem); }
.escom-page-hero__lead { max-width: 780px; margin-top: 25px; color: rgba(255,255,255,.76); font-size: clamp(1.05rem, 1.8vw, 1.28rem); }
.escom-breadcrumbs { margin-bottom: 33px; color: rgba(255,255,255,.57); font-size: .72rem; }
.escom-breadcrumbs a { color: rgba(255,255,255,.78); }
.escom-prose { max-width: 920px; }
.escom-prose > * + * { margin-top: 24px; }
.escom-prose h2 { margin-top: 48px; font-size: clamp(1.7rem, 3vw, 2.65rem); }
.escom-prose h3 { margin-top: 36px; }
.escom-prose p, .escom-prose li { color: #4f5f73; }
.escom-prose ul { padding-left: 20px; }
.escom-prose a { color: var(--escom-blue); text-decoration: underline; text-underline-offset: 3px; }
.escom-child-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 70px; }
.escom-child-card { position: relative; min-height: 310px; padding: 32px; border: 1px solid var(--escom-line); background: white; transition: transform .25s ease, box-shadow .25s ease; }
.escom-child-card:hover { transform: translateY(-5px); box-shadow: var(--escom-shadow); }
.escom-child-card > span { color: var(--escom-blue); font-size: .7rem; font-weight: 700; }
.escom-child-card h2 { margin-top: 40px; font-size: 1.55rem; }
.escom-child-card p { margin-top: 15px; color: var(--escom-muted); font-size: .9rem; }
.escom-child-card strong { position: absolute; left: 32px; bottom: 27px; display: inline-flex; gap: 8px; align-items: center; color: var(--escom-blue); font-size: .8rem; }
.escom-child-card svg { width: 18px; height: 18px; fill: none; stroke: currentColor; }
.escom-catalog-search { display: grid; grid-template-columns: auto 1fr auto; align-items: center; max-width: 760px; margin-top: 38px; padding: 6px 7px 6px 17px; border: 1px solid rgba(255,255,255,.25); border-radius: 4px; background: rgba(255,255,255,.1); backdrop-filter: blur(9px); }
.escom-catalog-search > span svg { width: 22px; height: 22px; margin-right: 12px; fill: none; stroke: white; stroke-width: 1.7; }
.escom-catalog-search input { min-width: 0; padding: 13px 0; color: white; border: 0; outline: 0; background: transparent; }
.escom-catalog-search input::placeholder { color: rgba(255,255,255,.62); }
.escom-catalog-search button { padding: 11px 22px; color: var(--escom-navy); border: 0; border-radius: 3px; background: white; font-weight: 700; cursor: pointer; }
.escom-category-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--escom-line); border-left: 1px solid var(--escom-line); }
.escom-category-card { position: relative; min-height: 335px; padding: 30px; border-right: 1px solid var(--escom-line); border-bottom: 1px solid var(--escom-line); transition: color .25s ease, background .25s ease; }
.escom-category-card:hover { color: white; background: var(--escom-navy); }
.escom-category-card__icon { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 45px; color: var(--escom-blue); background: var(--escom-pale); }
.escom-category-card__icon svg, .escom-taxonomy-title svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.55; }
.escom-category-card:hover h3, .escom-category-card:hover p, .escom-category-card:hover strong { color: white; }
.escom-category-card p { margin-top: 14px; color: var(--escom-muted); font-size: .85rem; }
.escom-category-card strong { position: absolute; left: 30px; bottom: 25px; display: flex; gap: 7px; align-items: center; color: var(--escom-blue); font-size: .76rem; }
.escom-category-card strong svg { width: 17px; fill: none; stroke: currentColor; }
.escom-taxonomy-title { display: flex; gap: 24px; align-items: center; }
.escom-taxonomy-title > span { display: grid; place-items: center; flex: 0 0 auto; width: 72px; height: 72px; color: white; background: rgba(255,255,255,.09); }
.escom-subcategory-list { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 45px; }
.escom-subcategory-list a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid var(--escom-line); color: var(--escom-blue); font-size: .8rem; font-weight: 700; }
.escom-subcategory-list svg { width: 17px; fill: none; stroke: currentColor; }
.escom-results-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.escom-result-card { min-height: 285px; padding: 29px; border: 1px solid var(--escom-line); background: white; }
.escom-result-card__category { min-height: 20px; color: var(--escom-blue); font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.escom-result-card h2 { margin-top: 20px; font-size: 1.38rem; }
.escom-result-card > p:not(.escom-result-card__category) { margin-top: 14px; color: var(--escom-muted); font-size: .85rem; }
.escom-empty-state { max-width: 780px; padding: 48px; color: white; background: linear-gradient(120deg, var(--escom-navy), #075da7); }
.escom-empty-state h2 { color: white; }
.escom-empty-state > p:not(.escom-kicker) { margin: 17px 0 27px; color: rgba(255,255,255,.75); }
.escom-product-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
.escom-button--outline { color: white; border-color: rgba(255,255,255,.4); background: transparent; }
.escom-product-layout { display: grid; grid-template-columns: 1fr 410px; gap: 90px; align-items: start; }
.escom-data-card { padding: 30px; border-top: 4px solid var(--escom-blue); background: var(--escom-pale); }
.escom-data-card h2 { font-size: 1.4rem; }
.escom-data-card dl { margin: 25px 0; }
.escom-data-card dl div { display: grid; grid-template-columns: 1fr 1.15fr; gap: 20px; padding: 13px 0; border-bottom: 1px solid var(--escom-line); }
.escom-data-card dt { color: var(--escom-muted); font-size: .76rem; }
.escom-data-card dd { margin: 0; color: var(--escom-deep); font-size: .84rem; font-weight: 700; }
.escom-data-card > p { color: var(--escom-muted); font-size: .72rem; }
.escom-industry-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 48px; }
.escom-industry-grid > a { position: relative; min-height: 280px; padding: 28px; border: 1px solid var(--escom-line); text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.escom-industry-grid > a:hover { transform: translateY(-4px); box-shadow: var(--escom-shadow); }
.escom-industry-grid span { color: var(--escom-blue); font-size: .68rem; font-weight: 700; }
.escom-industry-grid h2 { margin-top: 34px; font-size: 1.45rem; }
.escom-industry-grid p { margin-top: 14px; color: var(--escom-muted); font-size: .84rem; }
.escom-industry-grid strong { position: absolute; left: 28px; bottom: 24px; color: var(--escom-blue); font-size: .76rem; }
.escom-contact-form { max-width: 950px; margin-top: 45px; padding: 42px; border: 1px solid var(--escom-line); background: var(--escom-pale); }
.escom-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-bottom: 25px; }
.escom-form-grid label { display: grid; gap: 7px; }
.escom-form-grid label > span { color: var(--escom-deep); font-size: .78rem; font-weight: 700; }
.escom-form-grid input, .escom-form-grid select, .escom-form-grid textarea { width: 100%; padding: 12px 14px; color: var(--escom-ink); border: 1px solid #cbd8e6; border-radius: 2px; background: white; outline: none; }
.escom-form-grid input:focus, .escom-form-grid select:focus, .escom-form-grid textarea:focus { border-color: var(--escom-blue); box-shadow: 0 0 0 3px rgba(11,106,185,.1); }
.escom-form-wide { grid-column: 1 / -1; }
.escom-consent { display: flex !important; grid-template-columns: auto 1fr; align-items: start; }
.escom-consent input { width: 17px; margin-top: 5px; }
.escom-honeypot { position: absolute !important; left: -9999px !important; }
.escom-form-message { max-width: 950px; margin-top: 25px; padding: 14px 18px; border-left: 4px solid; }
.escom-form-message--success { color: #155c35; border-color: #2f9b5f; background: #ecf8f1; }
.escom-form-message--error { color: #8a2530; border-color: #c43e4a; background: #fff0f1; }

/* Motion */
.escom-reveal { opacity: 0; transform: translateY(24px); transition: opacity .65s ease, transform .65s ease; }
.escom-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .escom-reveal { opacity: 1; transform: none; }
}

/* Responsive */
@media (max-width: 1180px) {
    .escom-nav { gap: 16px; }
    .escom-nav a { font-size: .76rem; }
    .escom-header__actions > .escom-button { display: none; }
    .escom-product-card { min-height: 370px; }
}
@media (max-width: 960px) {
    .escom-header, .escom-header.is-scrolled { height: 72px; }
    .escom-logo, .escom-logo img { width: 165px; }
    .escom-header .escom-menu-toggle { display: block; }
    .escom-menu-open { display: block; }
    .escom-menu-is-open .escom-menu-open { display: none; }
    .escom-menu-is-open .escom-menu-close { display: block; }
    .escom-nav {
        position: fixed; inset: 72px 0 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 0;
        margin: 0; padding: 28px 24px 45px; color: var(--escom-deep); background: white; overflow-y: auto;
        opacity: 0; visibility: hidden; transform: translateY(-10px); transition: all .25s ease;
    }
    .escom-menu-is-open .escom-nav { opacity: 1; visibility: visible; transform: none; }
    .escom-nav > a { width: 100%; padding: 14px 0; border-bottom: 1px solid var(--escom-line); font-family: Inter, "Segoe UI", sans-serif; font-size: 1.15rem; }
    .escom-nav-item { display: block; width: 100%; height: auto; border-bottom: 1px solid var(--escom-line); }
    .escom-nav__trigger { justify-content: space-between; width: 100%; padding: 14px 0; font-family: Inter, "Segoe UI", sans-serif; font-size: 1.15rem; }
    .escom-nav > a::after, .escom-nav__trigger::after { display: none; }
    .escom-mega-menu { position: static; display: none; width: 100%; border: 0; box-shadow: none; opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
    .escom-nav-item.is-open .escom-mega-menu { display: block; }
    .escom-mega-menu__inner { display: block; width: 100%; padding: 2px 0 18px; }
    .escom-mega-menu__heading { display: block; margin: 8px 0 14px; }
    .escom-mega-menu__heading h2 { font-size: 1.1rem; }
    .escom-mega-menu__heading > div > p:last-child { display: none; }
    .escom-header .escom-mega-menu__all { margin-top: 9px; padding: 0; border: 0; }
    .escom-mega-menu__grid { grid-template-columns: 1fr; border: 0; }
    .escom-header .escom-mega-category { min-height: 58px; padding: 7px 0; border: 0; border-top: 1px solid var(--escom-line); }
    .escom-mega-category small { display: none; }
    .escom-mega-menu__feature { display: none; }
    .escom-section { padding: 90px 0; }
    .escom-section__intro, .escom-company__grid, .escom-compliance__grid { grid-template-columns: 1fr; gap: 42px; }
    .escom-product-grid { grid-template-columns: repeat(2, 1fr); }
    .escom-service-grid { grid-template-columns: 1fr; }
    .escom-service-grid article { min-height: 340px; }
    .escom-industries__layout { grid-template-columns: 1fr; gap: 50px; }
    .escom-industries__intro { position: static; }
    .escom-company__visual { max-width: 540px; margin-inline: auto; width: 100%; }
    .escom-footer__grid { grid-template-columns: 1.4fr 1fr 1fr; }
    .escom-footer__grid > div:last-child { grid-column: 2; }
    .escom-category-grid { grid-template-columns: repeat(2, 1fr); }
    .escom-child-grid, .escom-results-grid, .escom-industry-grid { grid-template-columns: repeat(2, 1fr); }
    .escom-product-layout { grid-template-columns: 1fr; gap: 55px; }
}
@media (max-width: 680px) {
    .escom-container, .escom-header__inner { width: min(calc(100% - 32px), var(--escom-container)); }
    h1 { font-size: clamp(2.65rem, 13vw, 4.3rem); }
    h2 { font-size: clamp(2rem, 9vw, 3rem); }
    .escom-header__actions { gap: 8px; }
    .escom-languages { gap: 1px; padding: 3px 4px; }
    .escom-languages__icon { display: none; }
    .escom-language { min-width: 24px; height: 24px; font-size: .58rem; }
    .escom-hero { min-height: 780px; }
    .escom-hero__image { background-position: 64% center; }
    .escom-hero__shade { background: linear-gradient(90deg, rgba(1,19,58,.96), rgba(1,26,75,.66)); }
    .escom-hero__content { padding-top: 110px; padding-bottom: 65px; }
    .escom-hero__actions { flex-direction: column; width: 100%; }
    .escom-hero__actions .escom-button { width: 100%; }
    .escom-hero__meta { gap: 10px; margin-top: 43px; flex-direction: column; }
    .escom-trust__grid { grid-template-columns: repeat(2, 1fr); }
    .escom-trust__grid > div { padding: 20px 14px; }
    .escom-section { padding: 73px 0; }
    .escom-section__intro { gap: 25px; margin-bottom: 42px; }
    .escom-product-grid { grid-template-columns: 1fr; }
    .escom-product-card { min-height: 330px; padding: 28px; }
    .escom-product-card a { left: 28px; }
    .escom-product-search { flex-direction: column; align-items: flex-start; padding: 33px 27px; }
    .escom-product-search .escom-button { width: 100%; }
    .escom-service-grid article { padding: 30px; }
    .escom-service-grid a { left: 30px; }
    .escom-industry-list { grid-template-columns: 1fr; }
    .escom-industry-list a { padding-block: 20px; }
    .escom-company__visual { margin-bottom: -8px; }
    .escom-node { width: 65px; height: 65px; font-size: .56rem; }
    .escom-node--industry { width: 76px; height: 76px; }
    .escom-orbit__core { width: 88px; height: 88px; font-size: 1.8rem; }
    .escom-compliance { padding: 65px 0; }
    .escom-cta__inner { flex-direction: column; align-items: flex-start; gap: 32px; }
    .escom-cta .escom-button { width: 100%; }
    .escom-footer__grid { grid-template-columns: 1fr 1fr; gap: 42px 25px; }
    .escom-footer__brand { grid-column: 1 / -1; }
    .escom-footer__grid > div:last-child { grid-column: auto; }
    .escom-footer__bottom { gap: 20px; flex-direction: column; }
    .escom-category-grid, .escom-child-grid, .escom-results-grid, .escom-industry-grid { grid-template-columns: 1fr; }
    .escom-quick-search { width: 100%; flex-direction: column; }
    .escom-quick-search input { width: 100%; min-width: 0; }
    .escom-catalog-search { grid-template-columns: auto 1fr; }
    .escom-catalog-search button { grid-column: 1 / -1; margin-top: 7px; }
    .escom-taxonomy-title { align-items: flex-start; flex-direction: column; }
    .escom-empty-state, .escom-contact-form { padding: 28px; }
    .escom-form-grid { grid-template-columns: 1fr; }
    .escom-form-wide { grid-column: auto; }
}
