/* ==========================================================================
   Effezient design system
   ========================================================================== */

:root {
    --ez-primary: #1351D8;
    --ez-primary-600: #0E42B8;
    --ez-primary-100: #DCE6FD;
    --ez-primary-50: #EEF3FE;
    --ez-navy: #0B1B4F;
    --ez-navy-900: #071236;
    --ez-ink: #0F172A;
    --ez-body: #475569;
    --ez-muted: #64748B;
    --ez-line: #E2E8F0;
    --ez-tint: #F5F8FF;
    --ez-white: #FFFFFF;
    --ez-cta: #CC4A00;
    --ez-cta-600: #A83C00;
    --ez-green: #15803D;
    --ez-green-50: #ECFDF3;
    --ez-amber: #B45309;
    --ez-amber-50: #FFF7E6;
    --ez-wa: #25D366;
    --ez-wa-ink: #0B3D1E;
    --ez-bg: #FFFFFF;
    --ez-surface: #FFFFFF;
    --ez-surface-2: #FAFBFF;
    --ez-prose: #334155;

    /* Floating navbar glass */
    --ez-glass: rgba(255, 255, 255, .72);
    --ez-glass-border: rgba(255, 255, 255, .65);
    --ez-glass-shadow: 0 10px 30px rgba(7, 18, 54, .16);
    --ez-nav-top: 14px;
    --ez-nav-h: 60px;
    --ez-nav-space: calc(var(--ez-nav-top) + var(--ez-nav-h));

    --ez-font: 'Inter Tight', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --ez-radius-sm: 10px;
    --ez-radius: 18px;
    --ez-radius-lg: 28px;
    --ez-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 2px 8px rgba(15, 23, 42, .05);
    --ez-shadow: 0 12px 32px rgba(15, 23, 42, .10);
    --ez-wrap: 1240px;
    --ez-gutter: 24px;
    --ez-section-y: 96px;
    --ez-header-h: 76px;
    color-scheme: light;
}

/* Dark theme: data-theme is set on <html> before paint (see functions.php) and toggled in the navbar. */
:root[data-theme="dark"] {
    --ez-primary: #5B8CFF;
    --ez-primary-600: #82A8FF;
    --ez-primary-100: #24386B;
    --ez-primary-50: #16234A;
    --ez-ink: #E8EDF7;
    --ez-body: #A9B4C8;
    --ez-muted: #8A97AD;
    --ez-line: #24304C;
    --ez-tint: #0D1530;
    --ez-green: #4ADE80;
    --ez-green-50: #0F2A1E;
    --ez-amber: #F5B454;
    --ez-amber-50: #2E2210;
    --ez-bg: #080E20;
    --ez-surface: #101932;
    --ez-surface-2: #0C1429;
    --ez-prose: #C3CCDB;
    --ez-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .3);
    --ez-shadow: 0 12px 32px rgba(0, 0, 0, .45);
    --ez-glass: rgba(16, 25, 50, .7);
    --ez-glass-border: rgba(255, 255, 255, .1);
    --ez-glass-shadow: 0 10px 30px rgba(0, 0, 0, .45);
    color-scheme: dark;
}

/* Product screen mock-ups stay light in both themes, like real app screenshots. */
[data-theme="dark"] :is(.ez-dash, .ez-journey, .ez-mock, .ez-photo-chip) {
    --ez-primary: #1351D8;
    --ez-primary-100: #DCE6FD;
    --ez-primary-50: #EEF3FE;
    --ez-ink: #0F172A;
    --ez-body: #475569;
    --ez-muted: #64748B;
    --ez-line: #E2E8F0;
    --ez-tint: #F5F8FF;
    --ez-green: #15803D;
    --ez-green-50: #ECFDF3;
    --ez-amber: #B45309;
    --ez-amber-50: #FFF7E6;
    --ez-surface: #FFFFFF;
    --ez-shadow: 0 12px 32px rgba(15, 23, 42, .10);
    color-scheme: light;
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
    font-family: var(--ez-font);
    color: var(--ez-body);
    background: var(--ez-bg);
    font-size: 17px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, .elementor-heading-title {
    font-family: var(--ez-font);
    color: var(--ez-ink);
    letter-spacing: -0.02em;
    line-height: 1.15;
}
a { color: var(--ez-primary); }
a:hover { color: var(--ez-primary-600); }
img { max-width: 100%; height: auto; }
.ez-icon { width: 1.25em; height: 1.25em; flex-shrink: 0; }
:focus-visible { outline: 3px solid var(--ez-primary); outline-offset: 2px; border-radius: 4px; }

.ez-wrap {
    max-width: calc(var(--ez-wrap) + 2 * var(--ez-gutter));
    margin: 0 auto;
    padding: 0 var(--ez-gutter);
}
.ez-hide-sm { }

/* ---------- Buttons ---------- */
.ez-btn,
.elementor-widget-button.ez-btn-cta .elementor-button,
.elementor-widget-button.ez-btn-ghost .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    padding: 12px 24px;
    border-radius: 999px;
    border: 1.5px solid transparent;
    font: 600 16px/1.2 var(--ez-font);
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s;
}
.ez-btn:hover { transform: translateY(-1px); }
.ez-btn--cta,
.elementor-widget-button.ez-btn-cta .elementor-button {
    background: var(--ez-cta);
    color: #fff;
    box-shadow: 0 8px 20px rgba(204, 74, 0, .28);
}
.ez-btn--cta:hover,
.elementor-widget-button.ez-btn-cta .elementor-button:hover { background: var(--ez-cta-600); color: #fff; }
.ez-btn--ghost,
.elementor-widget-button.ez-btn-ghost .elementor-button {
    background: transparent;
    color: var(--ez-ink);
    border-color: var(--ez-line);
}
.ez-btn--ghost:hover { border-color: var(--ez-primary); color: var(--ez-primary); }
.ez-btn--wa { background: var(--ez-surface); color: var(--ez-wa-ink); border-color: var(--ez-line); }
.ez-btn--wa .ez-icon--wa { color: #1FAF54; width: 22px; height: 22px; }
.ez-btn--wa:hover { color: var(--ez-wa-ink); border-color: #1FAF54; }
.ez-btn--wa-light { background: rgba(255, 255, 255, .08); color: #fff; border-color: rgba(255, 255, 255, .35); }
.ez-btn--wa-light .ez-icon--wa { color: var(--ez-wa); }
.ez-btn--wa-light:hover { color: #fff; border-color: #fff; }
.ez-btn--block { width: 100%; }
.ez-btn-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

.ez-link-arrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: var(--ez-primary);
    text-decoration: none;
}
.ez-link-arrow .ez-icon { width: 18px; height: 18px; transition: transform .2s; }
a:hover .ez-link-arrow .ez-icon, .ez-link-arrow:hover .ez-icon { transform: translateX(3px); }

/* ---------- Top bar ---------- */
.ez-topbar { background: var(--ez-navy-900); color: rgba(255, 255, 255, .8); font-size: 14px; }
.ez-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 40px; }
.ez-topbar__contact, .ez-topbar__right { display: flex; align-items: center; gap: 22px; }
.ez-topbar a { color: #fff; display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.ez-topbar a:hover { color: var(--ez-primary-100); }
.ez-topbar .ez-icon { width: 16px; height: 16px; }

.ez-social { display: flex; align-items: center; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ez-social a { display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; border-radius: 50%; }
.ez-social .ez-icon { width: 18px; height: 18px; }
.ez-social--topbar a { width: 26px; height: 26px; }

/* ---------- Header ---------- */
/* A floating glass pill, as wide as the top bar's content. The header itself takes no height,
   so the pill sits over the first section; heroes add --ez-nav-space to their top padding. */
.ez-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    display: flow-root; /* keeps the pill's top margin inside the zero-height header */
    height: 0;
}
.admin-bar .ez-header { top: 32px; }
.ez-header__inner.ez-wrap {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: min(var(--ez-wrap), calc(100% - 2 * var(--ez-gutter))); /* same edges as the top bar's content */
    max-width: none;
    min-height: var(--ez-nav-h);
    margin: var(--ez-nav-top) auto 0;
    padding: 0 8px 0 20px;
    border-radius: 999px;
}
.ez-header__inner::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    border: 1px solid var(--ez-glass-border);
    background: var(--ez-glass);
    -webkit-backdrop-filter: blur(18px) saturate(1.6);
    backdrop-filter: blur(18px) saturate(1.6);
    box-shadow: var(--ez-glass-shadow);
}
.ez-header__logo { display: flex; align-items: center; flex-shrink: 0; }
.ez-header__logo img { display: block; height: 38px; width: auto; max-width: none; }
/* Flips the navy wordmark to white while the hue turn keeps the blues blue. */
[data-theme="dark"] .ez-header__logo img { filter: invert(1) hue-rotate(180deg) brightness(1.15); }
.ez-nav { flex: 0 1 auto; }
.ez-nav__list { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.ez-nav__item { position: static; }
.ez-nav__item.has-dropdown, .ez-login { position: relative; }
.ez-nav__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 13px;
    border: 0;
    border-radius: 999px;
    background: none;
    color: var(--ez-ink);
    font: 500 15.5px/1.2 var(--ez-font);
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}
.ez-nav__link:hover, .ez-nav__link[aria-expanded="true"] { background: var(--ez-primary-50); color: var(--ez-primary); }
.ez-nav__link .ez-icon { width: 18px; height: 18px; }
.ez-nav__chev { transition: transform .2s; }
[aria-expanded="true"] > .ez-nav__chev { transform: rotate(180deg); }
.ez-nav__mobile-actions { display: none; }
.ez-header__actions { display: flex; align-items: center; gap: 6px; }
.ez-header__actions .ez-btn { min-height: 44px; padding: 10px 20px; font-size: 15px; }
.ez-burger { display: none; }

.ez-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: none;
    color: var(--ez-ink);
    cursor: pointer;
}
.ez-theme-toggle:hover, .ez-theme-toggle:focus { background: var(--ez-primary-50); color: var(--ez-primary); }
.ez-theme-toggle .ez-icon { width: 20px; height: 20px; }
.ez-theme-toggle__sun, [data-theme="dark"] .ez-theme-toggle__moon { display: none; }
[data-theme="dark"] .ez-theme-toggle__sun { display: block; }

.ez-mega, .ez-dropdown {
    position: absolute;
    visibility: hidden;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .18s, transform .18s, visibility .18s;
    background: var(--ez-surface);
    border: 1px solid var(--ez-line);
    box-shadow: var(--ez-shadow);
    z-index: 20;
}
.has-panel.is-open > .ez-mega,
.has-panel.is-open > .ez-dropdown { visibility: visible; opacity: 1; transform: none; }
.ez-mega::before, .ez-dropdown::before { content: ''; position: absolute; left: 0; right: 0; top: -18px; height: 18px; }
.ez-mega {
    left: 50%;
    top: calc(100% + 10px);
    width: min(1120px, calc(100vw - 48px));
    margin-left: calc(min(1120px, calc(100vw - 48px)) / -2);
    display: grid;
    grid-template-columns: 1fr 280px;
    border-radius: var(--ez-radius);
    overflow: hidden;
}
.ez-mega__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 20px; }
.ez-mega__item { display: flex; gap: 14px; align-items: flex-start; padding: 14px; border-radius: 14px; text-decoration: none; }
.ez-mega__item:hover { background: var(--ez-tint); }
.ez-mega__item strong { display: block; color: var(--ez-ink); font-size: 15px; font-weight: 600; line-height: 1.3; }
.ez-mega__item small { display: block; margin-top: 3px; color: var(--ez-muted); font-size: 13.5px; line-height: 1.4; }
.ez-mega__aside { background: linear-gradient(160deg, var(--ez-navy), var(--ez-primary)); color: rgba(255, 255, 255, .85); padding: 28px; }
.ez-mega__aside h3 { color: #fff; font-size: 20px; margin: 0 0 8px; }
.ez-mega__aside p { font-size: 15px; margin: 0 0 18px; }
.ez-mega__aside .ez-link-arrow { color: #fff; }
.ez-dropdown { top: calc(100% + 22px); left: 0; min-width: 220px; margin: 0; padding: 8px; list-style: none; border-radius: 14px; }
.ez-dropdown--right { left: auto; right: 0; }
.ez-dropdown a { display: block; padding: 10px 12px; border-radius: 8px; color: var(--ez-ink); text-decoration: none; font-size: 15px; font-weight: 600; line-height: 1.3; }
.ez-dropdown a:hover { background: var(--ez-tint); color: var(--ez-primary); }

.ez-icon-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--ez-primary-50);
    color: var(--ez-primary);
}
.ez-icon-badge .ez-icon { width: 22px; height: 22px; }

/* ---------- Elementor page sections ---------- */
/* Spacing is owned by these classes, not by per-widget settings. */
.ez-section.e-con { --padding-top: var(--ez-section-y); --padding-bottom: var(--ez-section-y); --padding-left: var(--ez-gutter); --padding-right: var(--ez-gutter); --gap: 0px; }
.ez-section.e-con > .e-con-inner { max-width: var(--ez-wrap); }
.ez-section--tint.e-con { background: var(--ez-tint); }
.ez-section--navy.e-con {
    background: radial-gradient(120% 90% at 85% 0%, #2B5EE8 0%, rgba(43, 94, 232, 0) 55%), linear-gradient(180deg, var(--ez-navy) 0%, var(--ez-navy-900) 100%);
    color: rgba(255, 255, 255, .82);
}
.ez-section--navy .elementor-heading-title,
.ez-section--navy h3 { color: #fff; }
.ez-section--tight.e-con { --padding-top: 48px; --padding-bottom: 48px; }

.ez-head.e-con { --gap: 0px; margin: 0 auto 48px; max-width: 760px; text-align: center; }
.ez-head--left.e-con { margin-left: 0; text-align: left; }
.ez-eyebrow, .ez-eyebrow .elementor-heading-title {
    margin: 0 0 12px;
    color: var(--ez-primary);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.ez-eyebrow--light, .ez-section--navy .ez-eyebrow .elementor-heading-title { color: #9DBBFF; }
.ez-h1 .elementor-heading-title, .ez-h1 { font-size: clamp(36px, 5vw, 60px); font-weight: 800; line-height: 1.08; margin: 0 0 20px; }
.ez-h2 .elementor-heading-title { font-size: clamp(30px, 3.6vw, 44px); font-weight: 750; margin: 0 0 16px; }
.ez-lead, .ez-lead p { font-size: 19px; line-height: 1.6; color: var(--ez-body); }
.ez-section--navy .ez-lead, .ez-section--navy .ez-lead p { color: rgba(255, 255, 255, .8); }
.ez-lead p:last-child { margin-bottom: 0; }

/* Hero */
.ez-hero.e-con { --padding-top: calc(80px + var(--ez-nav-space)); --padding-bottom: 96px; overflow: hidden; }
main.site-main { padding-top: calc(32px + var(--ez-nav-space)); }
.ez-hero .e-con-inner { gap: 56px; }
.ez-hero__copy.e-con { --gap: 0px; flex: 1 1 52%; }
.ez-hero__visual.e-con { flex: 1 1 48%; }
.ez-hero .elementor-widget-animated-headline .elementor-headline {
    font-size: clamp(36px, 5vw, 60px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.03em;
    color: #fff;
    margin: 0 0 20px;
}
.ez-hero .elementor-headline-dynamic-wrapper { color: #8FB3FF; }
.ez-hero .elementor-headline-dynamic-text { color: #8FB3FF; }
.ez-hero__points ul { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 28px 0 0; padding: 0; list-style: none; font-size: 15px; color: rgba(255, 255, 255, .78); }
.ez-hero__points li { display: inline-flex; align-items: center; gap: 8px; }
.ez-hero__points .ez-icon { color: #6EE7A0; width: 18px; height: 18px; }
.ez-hero .ez-btn--wa { background: rgba(255, 255, 255, .08); color: #fff; border-color: rgba(255, 255, 255, .35); }
.ez-hero .ez-btn--wa .ez-icon--wa { color: var(--ez-wa); }
.ez-hero .ez-btn--wa:hover { border-color: #fff; }

/* Hero dashboard mock */
.ez-dash { position: relative; padding: 18px 0 28px 28px; }
.ez-dash__window { background: #fff; border-radius: var(--ez-radius); box-shadow: 0 30px 60px rgba(3, 10, 40, .45); overflow: hidden; }
.ez-dash__top { display: flex; align-items: center; gap: 6px; padding: 12px 16px; border-bottom: 1px solid var(--ez-line); background: #FAFBFF; }
.ez-dash__top span { width: 10px; height: 10px; border-radius: 50%; background: #CBD5E1; }
.ez-dash__top strong { margin-left: 10px; font-size: 13px; color: var(--ez-muted); font-weight: 600; }
.ez-dash__body { padding: 20px; display: grid; gap: 14px; }
.ez-dash__shot { display: block; width: 100%; height: auto; }
.ez-dash__kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.ez-kpi { padding: 14px; border: 1px solid var(--ez-line); border-radius: 14px; }
.ez-kpi small { display: block; font-size: 12.5px; color: var(--ez-muted); }
.ez-kpi strong { display: block; margin-top: 4px; font-size: 22px; color: var(--ez-ink); letter-spacing: -0.02em; }
.ez-kpi em { font-style: normal; font-size: 12.5px; font-weight: 600; color: var(--ez-green); }
.ez-dash__list { border: 1px solid var(--ez-line); border-radius: 14px; overflow: hidden; }
.ez-dash__row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 11px 14px; font-size: 14px; color: var(--ez-ink); }
.ez-dash__row + .ez-dash__row { border-top: 1px solid var(--ez-line); }
.ez-dash__row small { display: block; color: var(--ez-muted); font-size: 12.5px; }
.ez-pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.ez-pill--green { background: var(--ez-green-50); color: var(--ez-green); }
.ez-pill--blue { background: var(--ez-primary-50); color: var(--ez-primary); }
.ez-pill--amber { background: var(--ez-amber-50); color: var(--ez-amber); }
.ez-dash__chip {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 14px 30px rgba(3, 10, 40, .30);
    font-size: 14px;
    color: var(--ez-ink);
    animation: ez-float 6s ease-in-out infinite;
}
.ez-dash__chip strong { display: block; font-size: 14px; }
.ez-dash__chip small { display: block; color: var(--ez-muted); font-size: 12.5px; }
.ez-dash__chip--a { left: -8px; bottom: 0; }
.ez-dash__chip--b { right: -14px; top: -6px; animation-delay: -3s; }
@keyframes ez-float { 50% { transform: translateY(-8px); } }

/* Logo marquee */
.ez-trust .ez-trust__title .elementor-heading-title { text-align: center; font-size: 15px; font-weight: 600; color: var(--ez-muted); letter-spacing: 0; margin-bottom: 24px; }
.ez-marquee {
    display: flex;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.ez-marquee__track { display: flex; align-items: center; gap: 56px; flex-shrink: 0; margin: 0; padding: 0 28px; list-style: none; animation: ez-marquee 35s linear infinite; }
.ez-marquee:hover .ez-marquee__track { animation-play-state: paused; }
.ez-marquee img { display: block; height: 56px; width: auto; max-width: 170px; object-fit: contain; filter: grayscale(1); opacity: .75; transition: filter .2s, opacity .2s; }
.ez-marquee img:hover { filter: none; opacity: 1; }
@keyframes ez-marquee { to { transform: translateX(-100%); } }

/* Cards */
.ez-card-grid { display: grid; gap: 20px; }
.ez-card-grid--3 { grid-template-columns: repeat(3, 1fr); }
.ez-card-grid--4 { grid-template-columns: repeat(4, 1fr); }
.ez-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 26px;
    background: var(--ez-surface);
    border: 1px solid var(--ez-line);
    border-radius: var(--ez-radius);
    text-decoration: none;
    transition: border-color .2s, box-shadow .2s, transform .2s;
}
.ez-card h3 { margin: 8px 0 0; font-size: 19px; font-weight: 700; }
.ez-card p { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--ez-body); }
.ez-card--link .ez-link-arrow { margin-top: auto; padding-top: 8px; font-size: 15px; }
.ez-card--link:hover { border-color: var(--ez-primary-100); box-shadow: var(--ez-shadow); transform: translateY(-3px); }
.ez-section--navy .ez-card { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .12); }
.ez-section--navy .ez-card p { color: rgba(255, 255, 255, .75); }
.ez-section--navy .ez-card .ez-icon-badge { background: rgba(143, 179, 255, .14); color: #A9C4FF; }

/* Automation flow */
.ez-flow { background: var(--ez-surface); border: 1px solid var(--ez-line); border-radius: var(--ez-radius-lg); box-shadow: var(--ez-shadow-sm); overflow: hidden; }
.ez-flow__steps { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); margin: 0; padding: 22px; list-style: none; gap: 8px; border-bottom: 1px solid var(--ez-line); background: var(--ez-surface-2); }
.ez-flow__steps::before { content: ''; position: absolute; left: 8%; right: 8%; top: 52px; height: 2px; background: repeating-linear-gradient(90deg, var(--ez-primary-100) 0 8px, transparent 8px 14px); }
.ez-flow__step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px 4px 10px;
    border: 0;
    border-radius: 14px;
    background: none;
    font: 600 15px/1.2 var(--ez-font);
    color: var(--ez-body);
    cursor: pointer;
}
.ez-flow__step .ez-icon-badge { width: 60px; height: 60px; border-radius: 18px; background: var(--ez-surface); border: 1.5px solid var(--ez-line); transition: all .25s; }
.ez-flow__step .ez-icon-badge .ez-icon { width: 26px; height: 26px; }
.ez-flow__num { position: absolute; top: 2px; left: calc(50% + 18px); z-index: 1; width: 22px; height: 22px; border-radius: 50%; background: var(--ez-navy); color: #fff; font-size: 12px; line-height: 22px; text-align: center; }
.ez-flow__step:hover .ez-icon-badge { border-color: var(--ez-primary); }
.ez-flow__step.is-active { color: var(--ez-ink); }
.ez-flow__step.is-active .ez-icon-badge { background: var(--ez-primary); border-color: var(--ez-primary); color: #fff; box-shadow: 0 10px 22px rgba(19, 81, 216, .35); }
.ez-flow__step.is-done .ez-icon-badge { border-color: var(--ez-primary); color: var(--ez-primary); }
.ez-flow__panel { display: grid; grid-template-columns: 1.25fr 1fr; gap: 40px; align-items: center; padding: 40px 44px; }
.ez-flow__panel[hidden] { display: none; }
.ez-flow__panel h3 { font-size: clamp(24px, 2.4vw, 30px); margin: 0 0 14px; }
.ez-flow__team { margin: 0 0 18px; }
.ez-flow__team strong { color: var(--ez-ink); }
.ez-flow__auto-title { margin: 0 0 10px; font-weight: 700; color: var(--ez-primary); font-size: 15px; }
.ez-flow__visual { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 28px; border-radius: var(--ez-radius); background: linear-gradient(160deg, var(--ez-tint), var(--ez-primary-50)); }
.ez-flow__next { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 15px; color: var(--ez-muted); }
.ez-flow__next strong { color: var(--ez-ink); }
.ez-flow__next .ez-icon { color: var(--ez-primary); }
.ez-flow__panel:not([hidden]) .ez-flow__text, .ez-flow__panel:not([hidden]) .ez-mock { animation: ez-rise .4s ease both; }
@keyframes ez-rise { from { opacity: 0; transform: translateY(10px); } }

.ez-checklist { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.ez-checklist li { display: flex; gap: 10px; align-items: flex-start; color: var(--ez-ink); }
.ez-checklist .ez-icon { margin-top: 3px; padding: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--ez-green-50); color: var(--ez-green); stroke-width: 3; }

/* Phone-style status card */
.ez-mock { width: min(300px, 100%); padding: 18px 20px 20px; background: #fff; border-radius: 22px; box-shadow: var(--ez-shadow); border: 1px solid var(--ez-line); }
.ez-mock__bar { display: flex; gap: 5px; margin-bottom: 16px; }
.ez-mock__bar span { width: 8px; height: 8px; border-radius: 50%; background: var(--ez-line); }
.ez-mock__label { margin: 0; font-size: 14px; font-weight: 600; color: var(--ez-muted); }
.ez-mock__value { margin: 2px 0 12px; font-size: 32px; font-weight: 800; letter-spacing: -0.02em; color: var(--ez-ink); }
.ez-mock__meta { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 600; }
.ez-mock__meta .ez-icon { width: 15px; height: 15px; stroke-width: 3; }
.ez-mock--green .ez-mock__meta { background: var(--ez-green-50); color: var(--ez-green); }
.ez-mock--blue .ez-mock__meta { background: var(--ez-primary-50); color: var(--ez-primary); }
.ez-mock--amber .ez-mock__meta { background: var(--ez-amber-50); color: var(--ez-amber); }

/* Before / after comparison */
.ez-compare.e-con > .e-con-inner > .e-con, .ez-compare .ez-compare__col.e-con { --gap: 0px; }
.ez-compare__col.e-con { flex: 1 1 0; padding: 36px; border-radius: var(--ez-radius-lg); border: 1px solid var(--ez-line); background: var(--ez-surface); }
.ez-compare__col--good.e-con { background: linear-gradient(160deg, var(--ez-navy), #12307F); border-color: transparent; }
.ez-compare__col--good .elementor-heading-title { color: #fff; }
.ez-compare__col h3, .ez-compare__col .elementor-heading-title { font-size: 22px; margin-bottom: 18px; }
.ez-compare .elementor-icon-list-item { padding: 9px 0 !important; font-size: 16.5px; }
.ez-compare .elementor-icon-list-item + .elementor-icon-list-item { border-top: 1px solid var(--ez-line); }
.ez-compare__col--good .elementor-icon-list-item + .elementor-icon-list-item { border-top-color: rgba(255, 255, 255, .12); }
.ez-compare__col--bad .elementor-icon-list-icon i, .ez-compare__col--bad .elementor-icon-list-icon svg { color: #DC2626; fill: #DC2626; }
.ez-compare__col--good .elementor-icon-list-icon i, .ez-compare__col--good .elementor-icon-list-icon svg { color: #6EE7A0; fill: #6EE7A0; }
.ez-compare__col--bad .elementor-icon-list-text { color: var(--ez-body); }
.ez-compare__col--good .elementor-icon-list-text { color: rgba(255, 255, 255, .9); }

/* Split section (text + visual) */
.ez-split .e-con-inner { gap: 64px; align-items: center; }
.ez-split__copy.e-con, .ez-split__visual.e-con { flex: 1 1 0; --gap: 0px; }
.ez-split .elementor-icon-list-item { padding: 6px 0 !important; font-size: 17px; color: var(--ez-ink); }
.ez-split .elementor-icon-list-icon i, .ez-split .elementor-icon-list-icon svg { color: var(--ez-green); fill: var(--ez-green); }
.ez-visual-card img { border-radius: var(--ez-radius-lg); background: linear-gradient(160deg, var(--ez-tint), var(--ez-primary-50)); padding: 24px; }

/* Stats */
.ez-stats .e-con-inner { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ez-stat.e-con { padding: 28px; border-radius: var(--ez-radius); background: var(--ez-surface); border: 1px solid var(--ez-line); --gap: 4px; }
.ez-stat .elementor-counter-number-wrapper { font-size: 44px; font-weight: 800; color: var(--ez-ink); letter-spacing: -0.03em; justify-content: flex-start; }
.ez-stat .elementor-counter-title { justify-content: flex-start; font-size: 15.5px; color: var(--ez-body); }

/* FAQ */
.ez-faq { display: grid; gap: 12px; max-width: 860px; margin: 0 auto; }
.ez-faq details { background: var(--ez-surface); border: 1px solid var(--ez-line); border-radius: 16px; padding: 0 24px; }
.ez-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; cursor: pointer; list-style: none; font-weight: 600; font-size: 17.5px; color: var(--ez-ink); }
.ez-faq summary::-webkit-details-marker { display: none; }
.ez-faq summary::after { content: '+'; font-size: 26px; font-weight: 400; line-height: 1; color: var(--ez-primary); transition: transform .2s; }
.ez-faq details[open] summary::after { transform: rotate(45deg); }
.ez-faq details p { margin: 0 0 20px; }

/* ---------- Footer ---------- */
.ez-footer { margin-top: 0; background: var(--ez-navy-900); color: rgba(255, 255, 255, .7); font-size: 15px; }
.ez-footer.has-cta { margin-top: 140px; }
.ez-footer-cta {
    position: relative;
    top: -100px;
    margin-bottom: -40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding: 48px 56px;
    border-radius: var(--ez-radius-lg);
    background: radial-gradient(90% 140% at 100% 0%, #3C74F0 0%, rgba(60, 116, 240, 0) 60%), linear-gradient(135deg, var(--ez-primary), var(--ez-navy));
    color: rgba(255, 255, 255, .85);
    box-shadow: 0 30px 60px rgba(7, 18, 54, .25);
}
.ez-footer-cta h2 { margin: 0 0 10px; color: #fff; font-size: clamp(26px, 3vw, 38px); }
.ez-footer-cta p { margin: 0; max-width: 560px; }
.ez-footer-cta .ez-eyebrow { margin-bottom: 10px; }
.ez-footer__main { display: grid; grid-template-columns: 1.4fr 1fr 1fr .8fr; gap: 48px; padding-top: 72px; padding-bottom: 56px; }
.has-cta .ez-footer__main { padding-top: 0; }
.ez-footer__logo img { height: 46px; width: auto; padding: 8px 12px; background: #fff; border-radius: 12px; }
.ez-footer__brand p { margin: 18px 0; }
.ez-footer h3 { margin: 0 0 16px; color: #fff; font-size: 15px; letter-spacing: .06em; text-transform: uppercase; }
.ez-footer ul { margin: 0; padding: 0; list-style: none; }
.ez-footer__col li + li { margin-top: 10px; }
.ez-footer a { color: rgba(255, 255, 255, .78); text-decoration: none; }
.ez-footer a:hover { color: #fff; }
.ez-footer__contacts li { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 10px; }
.ez-footer__contacts .ez-icon { width: 18px; height: 18px; margin-top: 3px; color: #8FB3FF; }
.ez-social--footer { margin-top: 18px; }
.ez-follow p { margin: 0 0 10px; font-weight: 600; color: var(--ez-ink); }
.ez-social--section a { width: 42px; height: 42px; border: 1px solid var(--ez-line); background: var(--ez-surface); color: var(--ez-ink); transition: background .2s, color .2s, border-color .2s; }
.ez-social--section a:hover { background: var(--ez-primary); border-color: var(--ez-primary); color: #fff; }
.ez-social--section .ez-icon { width: 20px; height: 20px; }
.ez-hero--center .ez-social { justify-content: center; }
.ez-section--navy .ez-follow p { color: #fff; }
.ez-section--navy .ez-social--section a { border-color: rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .08); color: #fff; }
.ez-section--navy .ez-social--section a:hover { background: var(--ez-primary); border-color: var(--ez-primary); }
.ez-social--footer a { background: rgba(255, 255, 255, .08); }
.ez-social--footer a:hover { background: var(--ez-primary); }
.ez-footer__bottom { display: flex; justify-content: space-between; gap: 16px; padding-top: 22px; padding-bottom: 22px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 14px; }
.ez-footer__bottom p { margin: 0; }
.ez-footer__bottom ul { display: flex; gap: 20px; }

/* Floating WhatsApp and mobile demo bar */
.ez-wa-float {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 990;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 18px 12px 14px;
    border-radius: 999px;
    background: var(--ez-wa);
    color: var(--ez-wa-ink);
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 10px 26px rgba(0, 0, 0, .2);
    transition: transform .2s;
}
.ez-wa-float:hover { color: var(--ez-wa-ink); transform: translateY(-2px); }
.ez-wa-float .ez-icon--wa { width: 26px; height: 26px; }
.ez-mobile-cta { display: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
    .ez-nav__link { padding: 9px 10px; }
    .ez-header__inner.ez-wrap { gap: 10px; }
    .ez-card-grid--4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1024px) {
    :root { --ez-section-y: 72px; --ez-header-h: 68px; --ez-nav-h: 56px; }
    .ez-hide-md { display: none !important; }
    .ez-header__inner.ez-wrap { padding: 0 6px 0 16px; gap: 4px; }
    .ez-header__logo { margin-right: 10px; }
    .ez-burger {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border: 0;
        border-radius: 50%;
        background: none;
        color: var(--ez-ink);
        cursor: pointer;
    }
    .ez-burger .ez-icon { width: 24px; height: 24px; }
    .ez-burger__close, .is-menu-open .ez-burger__open { display: none; }
    .is-menu-open .ez-burger__close { display: block; }
    .ez-login { display: none; }

    .ez-nav {
        position: absolute;
        top: calc(100% + 10px);
        left: 50%;
        width: calc(100vw - 24px);
        max-height: calc(100dvh - var(--ez-nav-space) - 110px);
        transform: translateX(-50%);
        display: none;
        overflow-y: auto;
        padding: 6px 20px 20px;
        border: 1px solid var(--ez-line);
        border-radius: 22px;
        background: var(--ez-surface);
        box-shadow: var(--ez-shadow);
    }
    .is-menu-open .ez-nav { display: block; }
    .ez-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
    .ez-nav__item { border-bottom: 1px solid var(--ez-line); }
    .ez-nav__link { width: 100%; justify-content: space-between; padding: 16px 4px; font-size: 18px; border-radius: 0; }
    .ez-nav__link:hover, .ez-nav__link[aria-expanded="true"] { background: none; }
    .ez-mega, .ez-dropdown { position: static; display: none; visibility: visible; opacity: 1; transform: none; width: auto; margin: 0 0 12px; border: 0; box-shadow: none; }
    .has-panel.is-open > .ez-mega, .has-panel.is-open > .ez-dropdown { display: block; }
    .ez-mega__grid { grid-template-columns: 1fr; padding: 0; }
    .ez-mega__item { padding: 10px 4px; }
    .ez-mega__aside { display: none; }
    .ez-nav__mobile-actions { display: grid; gap: 10px; margin-top: 24px; }

    .ez-hero .e-con-inner, .ez-split .e-con-inner { flex-direction: column !important; gap: 48px; }
    .ez-flow__panel { grid-template-columns: 1fr; padding: 28px; gap: 28px; }
    .ez-card-grid--3 { grid-template-columns: repeat(2, 1fr); }
    .ez-stats .e-con-inner { grid-template-columns: repeat(2, 1fr); }
    .ez-footer__main { grid-template-columns: 1fr 1fr; }
    .ez-footer-cta { flex-direction: column; align-items: flex-start; padding: 40px; }
}

@media (max-width: 767px) {
    :root { --ez-section-y: 56px; --ez-gutter: 16px; }
    body { font-size: 16px; padding-bottom: 76px; }
    .ez-hide-sm { display: none !important; }
    .ez-topbar__right { gap: 8px; }
    .ez-header__logo img { height: 36px; }
    .ez-head.e-con { margin-bottom: 32px; }
    .ez-lead, .ez-lead p { font-size: 17px; }
    .ez-hero.e-con { --padding-top: calc(40px + var(--ez-nav-space)); --padding-bottom: 56px; }
    .ez-dash { padding: 10px 0 36px; }
    .ez-dash__kpis { grid-template-columns: repeat(3, 1fr); gap: 8px; }
    .ez-kpi { padding: 10px; }
    .ez-kpi strong { font-size: 18px; }
    .ez-dash__chip--b { display: none; }
    .ez-dash__chip--a { left: 8px; }
    .ez-btn-row .ez-btn { flex: 1 1 100%; }

    .ez-flow__steps { display: flex; overflow-x: auto; padding: 16px; scroll-snap-type: x mandatory; }
    .ez-flow__steps::before { display: none; }
    .ez-flow__steps li { flex: 0 0 96px; scroll-snap-align: start; }
    .ez-flow__step .ez-icon-badge { width: 52px; height: 52px; }
    .ez-flow__panel { padding: 22px; }
    .ez-flow__visual { padding: 20px; }

    .ez-card-grid--3, .ez-card-grid--4 { grid-template-columns: 1fr; }
    .ez-compare__col.e-con { padding: 24px; }
    .ez-stats .e-con-inner { grid-template-columns: 1fr 1fr; gap: 12px; }
    .ez-stat.e-con { padding: 20px; }
    .ez-stat .elementor-counter-number-wrapper { font-size: 34px; }
    .ez-marquee img { height: 44px; max-width: 130px; }
    .ez-marquee__track { gap: 36px; }

    .ez-footer.has-cta { margin-top: 110px; }
    .ez-footer-cta { padding: 32px 24px; top: -80px; margin-bottom: -40px; }
    .ez-footer__main { grid-template-columns: 1fr; gap: 32px; }
    .ez-footer__bottom { flex-direction: column; }

    .ez-mobile-cta {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 980;
        padding: 10px 16px;
        background: var(--ez-surface);
        box-shadow: 0 -4px 16px rgba(15, 23, 42, .1);
    }
    .ez-wa-float { bottom: 88px; right: 16px; padding: 13px; }
    .ez-wa-float span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    .ez-marquee { overflow-x: auto; }
}

/* Comparison row */
.ez-compare__row.e-con { --gap: 24px; }
@media (max-width: 767px) {
    .ez-compare__row.e-con { --flex-direction: column; flex-direction: column !important; --gap: 16px; }
}

/* Beat Elementor's global widget colours inside our sections */
.elementor .ez-section .elementor-widget-heading .elementor-heading-title { color: var(--ez-ink); }
.elementor .ez-section .ez-eyebrow .elementor-heading-title { color: var(--ez-primary); }
.elementor .ez-section--navy .elementor-widget-heading .elementor-heading-title { color: #fff; }
.elementor .ez-section--navy .ez-eyebrow .elementor-heading-title { color: #9DBBFF; }
.elementor .ez-trust .ez-trust__title .elementor-heading-title { color: var(--ez-muted); }
.elementor .ez-section .elementor-widget-text-editor { color: var(--ez-body); }
.elementor .ez-section--navy .elementor-widget-text-editor { color: rgba(255, 255, 255, .8); }
.elementor .ez-hero .elementor-headline,
.elementor .ez-hero .elementor-headline-plain-text { color: #fff; }
.elementor .ez-hero .elementor-headline-dynamic-text { color: #8FB3FF; }
.elementor .ez-compare__col--good .elementor-widget-heading .elementor-heading-title { color: #fff; }
.elementor .ez-compare__col--good .elementor-icon-list-text { color: rgba(255, 255, 255, .92); }
.elementor .ez-compare__col--bad .elementor-icon-list-text,
.elementor .ez-split .elementor-icon-list-text { color: var(--ez-ink); }
.elementor .ez-compare__col--bad .elementor-icon-list-icon i { color: #DC2626; }
.elementor .ez-compare__col--good .elementor-icon-list-icon i { color: #6EE7A0; }
.elementor .ez-split .elementor-icon-list-icon i { color: var(--ez-green); }
.elementor .ez-stat .elementor-counter-number-wrapper { color: var(--ez-ink); }
.elementor .ez-stat .elementor-counter-title { color: var(--ez-body); }
.ez-mock__value { font-size: 28px; line-height: 1.15; }

/* Hero headline: left aligned, rotating word on its own line so the layout doesn't jump */
.elementor .ez-hero .elementor-headline { text-align: left; letter-spacing: -0.025em; }
@media (max-width: 1024px) { .elementor .ez-hero .elementor-headline { text-align: left; } }

/* Font Awesome icons in icon lists render as SVG */
.elementor .ez-compare__col--bad .elementor-icon-list-icon svg { fill: #DC2626; }
.elementor .ez-compare__col--good .elementor-icon-list-icon svg { fill: #6EE7A0; }
.elementor .ez-split .elementor-icon-list-icon svg { fill: var(--ez-green); }

/* Partial-phone screenshot bleeding off the card */
.ez-visual-card { border-radius: var(--ez-radius-lg); overflow: hidden; background: linear-gradient(160deg, var(--ez-primary-50), var(--ez-primary-100)); }
.elementor .ez-visual-card img { display: block; width: 100%; padding: 0; border-radius: 0; background: none; aspect-ratio: 622 / 660; object-fit: cover; object-position: left bottom; }
.elementor .ez-split .ez-visual-card .elementor-widget-container { padding: 40px 0 0 48px; }

/* ---------- Product pages ---------- */
.ez-grid.e-con { display: grid !important; gap: 20px; --gap: 20px; }
.ez-grid--3.e-con { grid-template-columns: repeat(3, 1fr); }
.ez-card.e-con { --gap: 10px; --padding-top: 26px; --padding-bottom: 26px; --padding-left: 26px; --padding-right: 26px; background: var(--ez-surface); border: 1px solid var(--ez-line); border-radius: var(--ez-radius); }
.ez-card.e-con .elementor-heading-title { font-size: 19px; font-weight: 700; margin: 8px 0 0; }
.ez-card.e-con .elementor-widget-text-editor p { margin: 0; font-size: 15.5px; line-height: 1.55; }
.ez-card--pain .ez-icon-badge { background: #FEF2F2; color: #DC2626; }

.ez-hero--center .e-con-inner { align-items: center; text-align: center; max-width: 860px !important; }
.ez-hero--center .ez-btn-row { justify-content: center; }
.elementor .ez-hero .ez-h1 .elementor-heading-title { color: #fff; font-size: clamp(34px, 4.6vw, 56px); font-weight: 800; line-height: 1.08; letter-spacing: -0.025em; }

/* Automation band: checklist + chain */
.elementor .ez-automation .elementor-icon-list-item { padding: 10px 0 !important; border-top: 1px solid rgba(255, 255, 255, .1); }
.elementor .ez-automation .elementor-icon-list-text { color: rgba(255, 255, 255, .92); font-size: 17px; }
.elementor .ez-automation .elementor-icon-list-icon svg { fill: #6EE7A0; }
.ez-chain-card.e-con { --padding-top: 32px; --padding-bottom: 32px; --padding-left: 32px; --padding-right: 32px; border-radius: var(--ez-radius-lg); background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); }
.elementor .ez-chain__title .elementor-heading-title { color: #9DBBFF; font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 18px; }
.ez-chain { position: relative; display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ez-chain::before { content: ''; position: absolute; left: 22px; top: 22px; bottom: 22px; width: 2px; background: repeating-linear-gradient(180deg, rgba(157, 187, 255, .5) 0 6px, transparent 6px 12px); }
.ez-chain a { position: relative; display: flex; align-items: center; gap: 14px; padding: 6px 14px 6px 0; border-radius: 14px; color: rgba(255, 255, 255, .78); font-weight: 600; text-decoration: none; }
.ez-chain a:hover { color: #fff; }
.ez-chain .ez-icon-badge { background: var(--ez-navy-900); border: 1.5px solid rgba(157, 187, 255, .35); color: #A9C4FF; }
.ez-chain .is-current a { background: rgba(255, 255, 255, .1); color: #fff; }
.ez-chain .is-current .ez-icon-badge { background: var(--ez-primary); border-color: var(--ez-primary); color: #fff; box-shadow: 0 8px 20px rgba(19, 81, 216, .45); }
.ez-chain .is-current a::after { content: 'This module'; margin-left: auto; padding: 3px 10px; border-radius: 999px; background: #6EE7A0; color: var(--ez-navy-900); font-size: 12px; font-weight: 700; }

@media (max-width: 1024px) {
    .ez-grid--3.e-con { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .ez-grid--3.e-con { grid-template-columns: 1fr; }
    .ez-chain-card.e-con { --padding-left: 20px; --padding-right: 20px; }
}
.ez-hero--center.e-con > .e-con-inner { gap: 0 !important; }
.ez-hero--center .ez-lead { margin-bottom: 28px; }

/* ---------- Industry pages ---------- */
/* Hero photo with floating status chip */
.ez-photo-hero { position: relative; margin: 0; padding: 0 0 28px 28px; }
.ez-photo-hero img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--ez-radius-lg); box-shadow: 0 30px 60px rgba(3, 10, 40, .45); }
.ez-photo-chip { position: absolute; left: 0; bottom: 0; display: flex; align-items: center; gap: 12px; padding: 14px 18px; background: #fff; border-radius: 16px; box-shadow: 0 14px 30px rgba(3, 10, 40, .3); animation: ez-float 6s ease-in-out infinite; }
.ez-photo-chip strong { display: block; color: var(--ez-ink); font-size: 15px; }
.ez-photo-chip small { display: block; color: var(--ez-muted); font-size: 13px; }

/* Industry cards with photos */
.ez-card.has-photo { padding-top: 0; overflow: hidden; }
.ez-card__photo { display: block; margin: 0 -26px 6px; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ez-primary-50); }
.ez-card__photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.ez-card.has-photo:hover .ez-card__photo img { transform: scale(1.04); }
.ez-card.has-photo .ez-icon-badge { margin-top: -30px; position: relative; background: var(--ez-surface); box-shadow: var(--ez-shadow-sm); }

/* Challenge → solution cards */
.ez-grid--2.e-con { grid-template-columns: repeat(2, 1fr); }
.ez-tag { display: inline-block; margin: 0; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.ez-tag--problem { background: #FEF2F2; color: #B91C1C; }
.ez-solution { display: flex; gap: 10px; align-items: flex-start; margin: 8px 0 0; padding: 14px 16px; border-radius: 12px; background: var(--ez-green-50); color: var(--ez-ink); font-size: 15.5px; line-height: 1.5; }
.ez-solution .ez-icon { margin-top: 2px; width: 18px; height: 18px; color: var(--ez-green); stroke-width: 3; }

/* Photo + numbered workflow */
.ez-split--photo .e-con-inner { align-items: center; }
.elementor .ez-photo-card img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--ez-radius-lg); }
.ez-steps { counter-reset: none; margin: 8px 0 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.ez-steps li { position: relative; display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding-bottom: 18px; }
.ez-steps li:not(:last-child)::before { content: ''; position: absolute; left: 21px; top: 46px; bottom: 0; width: 2px; background: var(--ez-primary-100); }
.ez-steps__num { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ez-primary); color: #fff; font-weight: 700; }
.ez-steps h3 { margin: 8px 0 4px; font-size: 18px; }
.ez-steps p { margin: 0; font-size: 15.5px; }

/* Comparison table */
.ez-table-wrap { overflow-x: auto; border: 1px solid var(--ez-line); border-radius: var(--ez-radius); }
.ez-table { width: 100%; margin: 0; border-collapse: collapse; font-size: 16px; }
.ez-table th, .ez-table td { padding: 18px 22px; border: 0; border-bottom: 1px solid var(--ez-line); text-align: left; vertical-align: top; background: var(--ez-surface); }
.ez-table tr:last-child th, .ez-table tr:last-child td { border-bottom: 0; }
.ez-table thead th { background: var(--ez-tint); font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ez-muted); }
.ez-table thead th.is-us { background: var(--ez-primary); color: #fff; }
.ez-table tbody th { width: 22%; color: var(--ez-ink); font-weight: 700; }
.ez-table td { color: var(--ez-body); }
.ez-table td.is-us { background: var(--ez-primary-50); color: var(--ez-ink); font-weight: 500; }
.ez-table td.is-us .ez-icon { width: 18px; height: 18px; margin: 0 8px -3px 0; color: var(--ez-green); stroke-width: 3; }

/* Segments list on navy */
.ez-segments { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.ez-segments li { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-radius: 14px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); color: #fff; font-weight: 600; }
.ez-segments .ez-icon { color: #6EE7A0; stroke-width: 3; }

@media (max-width: 1024px) {
    .ez-split--photo .ez-photo-card img { aspect-ratio: 16 / 10; }
}
@media (max-width: 767px) {
    .ez-grid--2.e-con { grid-template-columns: 1fr; }
    .ez-photo-hero { padding: 0 0 28px 12px; }
    .ez-table { font-size: 14.5px; min-width: 620px; }
    .ez-table th, .ez-table td { padding: 14px; }
}
.ez-photo-chip, .ez-photo-chip * { font-style: normal; }
.ez-table tbody tr:nth-child(odd) > *, .ez-table tbody tr:hover > * { background-color: #fff; }
.ez-table tbody tr > td.is-us { background-color: var(--ez-primary-50); }
.elementor .ez-hero--center .ez-lead { padding-bottom: 28px; }

/* ---------- Book a Demo ---------- */
.ez-demo.e-con { --padding-top: calc(64px + var(--ez-nav-space)); --padding-bottom: 88px; background: radial-gradient(70% 60% at 100% 0%, var(--ez-primary-100) 0%, rgba(220, 230, 253, 0) 70%), linear-gradient(180deg, var(--ez-tint), var(--ez-bg)); }
.ez-demo > .e-con-inner { gap: 56px; align-items: flex-start; }
.ez-demo__intro.e-con { flex: 1 1 0; --gap: 0px; padding-top: 16px; }
.ez-demo__form.e-con { flex: 0 0 540px; --gap: 0px; --padding-top: 36px; --padding-bottom: 32px; --padding-left: 36px; --padding-right: 36px; background: var(--ez-surface); border: 1px solid var(--ez-line); border-radius: var(--ez-radius-lg); box-shadow: 0 24px 60px rgba(15, 23, 42, .12); }
.elementor .ez-demo .ez-h1 .elementor-heading-title { color: var(--ez-ink); font-size: clamp(32px, 4vw, 48px); font-weight: 800; line-height: 1.1; letter-spacing: -0.025em; margin-bottom: 18px; }
.elementor .ez-form-title .elementor-heading-title { font-size: 24px; font-weight: 750; margin: 0 0 4px; }
.ez-form-intro p { margin: 0 0 22px; font-size: 15px; color: var(--ez-muted); }

.ez-expect { display: grid; gap: 18px; margin: 28px 0 32px; padding: 0; list-style: none; }
.ez-expect li { display: flex; gap: 14px; align-items: flex-start; }
.ez-expect .ez-icon { flex: 0 0 28px; width: 28px; height: 28px; padding: 6px; border-radius: 50%; background: var(--ez-green-50); color: var(--ez-green); stroke-width: 3; }
.ez-expect strong { display: block; color: var(--ez-ink); font-size: 17px; margin-bottom: 2px; }
.ez-expect span { font-size: 15.5px; line-height: 1.5; }
.ez-contact-alt { padding-top: 24px; border-top: 1px solid var(--ez-line); }
.ez-contact-alt p { margin: 0 0 12px; font-weight: 600; color: var(--ez-ink); }
.ez-demo__intro .ez-follow { margin-top: 24px; }

/* Elementor form */
.ez-form .elementor-form-fields-wrapper { row-gap: 16px; }
.ez-form .elementor-field-group { padding-left: 6px !important; padding-right: 6px !important; margin-bottom: 0 !important; }
.ez-form .elementor-field-label { margin-bottom: 6px !important; font-size: 14px; font-weight: 600; color: var(--ez-ink); }
.ez-form .elementor-mark-required .elementor-field-label::after { color: var(--ez-cta); }
.ez-form .elementor-field-textual,
.ez-form .elementor-select-wrapper select {
    min-height: 46px;
    padding: 10px 14px;
    border: 1.5px solid var(--ez-line) !important;
    border-radius: 12px !important;
    background: var(--ez-surface);
    font: 400 15.5px/1.4 var(--ez-font);
    color: var(--ez-ink);
    transition: border-color .15s, box-shadow .15s;
}
.ez-form textarea.elementor-field-textual { min-height: 92px; }
.ez-form .elementor-field-textual::placeholder { color: #94A3B8; }
.ez-form .elementor-field-textual:focus,
.ez-form .elementor-select-wrapper select:focus { border-color: var(--ez-primary) !important; box-shadow: 0 0 0 4px var(--ez-primary-50); outline: none; }
.ez-form .elementor-select-wrapper::before { color: var(--ez-muted); }
.ez-form .elementor-field-type-checkbox .elementor-field-subgroup { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.ez-form .elementor-field-type-checkbox .elementor-field-option { display: flex; align-items: center; gap: 8px; margin: 0 !important; padding: 9px 12px; border: 1.5px solid var(--ez-line); border-radius: 10px; font-size: 14px; color: var(--ez-ink); cursor: pointer; }
.ez-form .elementor-field-type-checkbox .elementor-field-option:has(input:checked) { border-color: var(--ez-primary); background: var(--ez-primary-50); }
.ez-form .elementor-field-type-checkbox input { width: 16px; height: 16px; margin: 0; accent-color: var(--ez-primary); }
.ez-form .elementor-field-type-checkbox label { margin: 0; cursor: pointer; }
.ez-form .e-form__buttons, .ez-form .elementor-field-type-submit { margin-top: 6px; }
.ez-form .elementor-button {
    width: 100%;
    min-height: 54px;
    border-radius: 999px !important;
    background: var(--ez-cta) !important;
    color: #fff !important;
    font: 700 17px/1.2 var(--ez-font) !important;
    box-shadow: 0 8px 20px rgba(204, 74, 0, .28);
}
.ez-form .elementor-button:hover { background: var(--ez-cta-600) !important; }
.ez-form .elementor-message { margin-top: 14px; padding: 14px 16px; border-radius: 12px; font-size: 15px; }
.ez-form .elementor-message-success { background: var(--ez-green-50); color: var(--ez-green); }
.ez-form .elementor-message-danger { background: #FEF2F2; color: #B91C1C; }
.ez-form .elementor-message::before { display: none; }
.ez-form-note { display: flex; gap: 8px; align-items: center; margin: 16px 0 0; font-size: 13.5px; color: var(--ez-muted); }
.ez-form-note .ez-icon { width: 16px; height: 16px; color: var(--ez-green); }

/* "What happens next" steps in a row */
.ez-steps--row .ez-steps { grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ez-steps--row .ez-steps li { grid-template-columns: 1fr; gap: 14px; padding: 28px; background: var(--ez-surface); border: 1px solid var(--ez-line); border-radius: var(--ez-radius); }
.ez-steps--row .ez-steps li::before { display: none; }
.ez-steps--row .ez-steps h3 { margin-top: 0; }

@media (max-width: 1024px) {
    .ez-demo > .e-con-inner { flex-direction: column !important; }
    .ez-demo__form.e-con { flex-basis: auto; width: 100%; }
    .ez-steps--row .ez-steps { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
    .ez-demo.e-con { --padding-top: calc(32px + var(--ez-nav-space)); }
    .ez-demo__form.e-con { --padding-left: 18px; --padding-right: 18px; --padding-top: 26px; }
    .ez-form .elementor-field-group { width: 100% !important; max-width: 100% !important; flex-basis: 100% !important; }
    .ez-form .elementor-field-type-checkbox .elementor-field-subgroup { grid-template-columns: 1fr; }
}
#book { scroll-margin-top: 96px; }

/* ---------- Lead popup ---------- */
.ez-lead-captured .elementor-popup-modal { display: none !important; }
.elementor-popup-modal .dialog-widget-content { border-radius: var(--ez-radius-lg); overflow: hidden; box-shadow: 0 40px 80px rgba(3, 10, 40, .4); }
.elementor-popup-modal .dialog-close-button { top: 16px; right: 16px; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--ez-tint); color: var(--ez-ink); font-size: 16px; }
.ez-popup.e-con { --gap: 0px; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; align-items: stretch; }
.ez-popup__left.e-con { flex: 0 0 42%; --gap: 0px; --padding-top: 44px; --padding-bottom: 44px; --padding-left: 40px; --padding-right: 36px; background: radial-gradient(120% 80% at 100% 0%, #2B5EE8 0%, rgba(43, 94, 232, 0) 60%), linear-gradient(180deg, var(--ez-navy), var(--ez-navy-900)); color: rgba(255, 255, 255, .82); }
.ez-popup__right.e-con { flex: 1 1 0; --gap: 0px; --padding-top: 40px; --padding-bottom: 36px; --padding-left: 36px; --padding-right: 36px; background: var(--ez-surface); }
.elementor .ez-popup__left .ez-eyebrow .elementor-heading-title { color: #9DBBFF; }
.elementor .ez-popup__title .elementor-heading-title { color: #fff; font-size: 30px; font-weight: 800; line-height: 1.12; letter-spacing: -0.02em; margin: 0 0 12px; }
.elementor .ez-popup__lead { color: rgba(255, 255, 255, .8); font-size: 16px; }
.ez-popup__points { display: grid; gap: 12px; margin: 22px 0 26px; padding: 0; list-style: none; }
.ez-popup__points li { display: flex; gap: 10px; align-items: flex-start; color: #fff; font-size: 15.5px; line-height: 1.45; }
.ez-popup__points .ez-icon { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 2px; color: #6EE7A0; stroke-width: 3; }
.ez-popup__trust { display: flex; flex-wrap: wrap; gap: 8px; }
.ez-popup__trust span { padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .15); font-size: 13px; color: rgba(255, 255, 255, .85); }
.ez-popup__right .ez-form-title .elementor-heading-title { margin-bottom: 18px; }
@media (max-width: 767px) {
    .ez-popup.e-con { flex-direction: column !important; }
    .ez-popup__left.e-con { --padding-top: 28px; --padding-bottom: 24px; --padding-left: 22px; --padding-right: 22px; }
    .ez-popup__left .ez-popup__points, .ez-popup__left .ez-popup__trust { display: none; }
    .elementor .ez-popup__title .elementor-heading-title { font-size: 24px; }
    .ez-popup__right.e-con { --padding-top: 24px; --padding-left: 18px; --padding-right: 18px; }
    .elementor-popup-modal .dialog-widget-content { max-height: 92vh; overflow-y: auto; }
}
.elementor .ez-popup__right .ez-form-title .elementor-heading-title,
.elementor .ez-demo__form .ez-form-title .elementor-heading-title { color: var(--ez-ink); }
.ez-popup.e-con > .e-con-inner { gap: 0; align-items: stretch; }
@media (max-width: 767px) {
    .ez-popup.e-con > .e-con-inner { flex-direction: column !important; }
}

/* ---------- Automation, About, Contact, FAQ ---------- */
.ez-mini-checks { display: grid; gap: 8px; margin: 4px 0 6px; padding: 0; list-style: none; }
.ez-mini-checks li { display: flex; gap: 8px; align-items: flex-start; font-size: 15px; line-height: 1.45; color: var(--ez-body); }
.ez-mini-checks .ez-icon { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 3px; color: var(--ez-cta); }
.ez-card--module .ez-link-arrow { margin-top: auto; font-size: 15px; }

.ez-card--row.e-con { --gap: 16px; align-items: flex-start; }
.ez-split__visual > .e-con-inner, .ez-split__visual.e-con { --gap: 14px; }
.ez-card__body.e-con { --gap: 4px; flex: 1 1 0; }
.elementor .ez-card--row .elementor-heading-title { margin-top: 0; font-size: 18px; }

.elementor .ez-brand-image img { display: block; width: 100%; border-radius: var(--ez-radius-lg); background: #fff; box-shadow: var(--ez-shadow-sm); }

.ez-team { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ez-team__member { padding: 32px 20px; text-align: center; background: var(--ez-surface); border: 1px solid var(--ez-line); border-radius: var(--ez-radius); }
.ez-team__member img { display: block; width: 104px; height: 104px; margin: 0 auto 16px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 4px #fff, 0 0 0 6px var(--ez-primary-100); }
.ez-team__member h3 { margin: 0; font-size: 18px; }
.ez-team__member p { margin: 4px 0 0; font-size: 15px; color: var(--ez-primary); font-weight: 600; }

.ez-contact-list { display: grid; gap: 20px; margin: 28px 0 32px; padding: 0; list-style: none; }
.ez-contact-list li { display: flex; gap: 16px; align-items: flex-start; }
.ez-contact-list h3 { margin: 0 0 2px; font-size: 17px; }
.ez-contact-list p { margin: 0; color: var(--ez-ink); }
.ez-contact-list a { color: var(--ez-ink); font-weight: 600; text-decoration: none; }
.ez-contact-list a:hover { color: var(--ez-primary); }
.ez-contact-list small { display: block; margin-top: 2px; color: var(--ez-muted); font-size: 14px; }
.ez-map { position: relative; }
.ez-map iframe { display: block; width: 100%; border: 0; border-radius: var(--ez-radius-lg); }
.ez-map__link { position: absolute; right: 16px; bottom: 24px; min-height: 44px; padding: 10px 20px; font-size: 15px; box-shadow: var(--ez-shadow); }
@media (max-width: 767px) { .ez-map__link { position: static; display: flex; justify-content: center; margin-top: 12px; } }
.ez-map-section.e-con { --padding-top: 0px; }

.ez-faq-page .e-con-inner { max-width: 860px !important; }
.elementor .ez-faq-group .elementor-heading-title { margin: 40px 0 16px; font-size: 22px; font-weight: 750; }
.ez-faq-page .ez-faq-group:first-child .elementor-heading-title { margin-top: 0; }

@media (max-width: 1024px) {
    .ez-team { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .ez-team { grid-template-columns: 1fr 1fr; gap: 12px; }
    .ez-team__member { padding: 22px 12px; }
    .ez-team__member img { width: 84px; height: 84px; }
}
.ez-section--navy .ez-lead a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.ez-section--navy .ez-lead a:hover { color: #9DBBFF; }

/* ---------- Outcomes bento grid (homepage) ---------- */
.ez-bento {
    display: grid;
    grid-template-columns: 1fr 1.6fr 1fr 1.7fr 1.5fr 1.05fr 1.05fr;
    grid-template-rows: 150px 140px 130px;
    grid-template-areas:
        "s1  feat s2   vis  tall multi multi"
        "big big  big  cash tall over  audit"
        "big big  big  pair tall over  audit";
    gap: 16px;
}
.ez-bento__tile { position: relative; overflow: hidden; border: 1px solid var(--ez-line); border-radius: 20px; background: var(--ez-surface); padding: 22px; }
.ez-bento h3 { margin: 0 0 6px; font-size: 18px; line-height: 1.25; letter-spacing: -0.01em; }
.ez-bento p { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--ez-body); }

.ez-bento__stat { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 6px; }
.ez-bento__stat strong { font-size: 46px; line-height: 1; font-weight: 800; letter-spacing: -0.03em; }
.ez-bento__stat span { font-size: 14px; line-height: 1.35; color: var(--ez-body); }
.ez-tone-green strong { color: #16A34A; }
.ez-tone-blue strong { color: var(--ez-primary); }
.ez-tone-red strong { color: #DC2626; }
.ez-tone-teal strong { color: #0F766E; }

.ez-bento__feature { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; text-align: center; border: 0;
    background: radial-gradient(circle, rgba(255,255,255,.14) 1px, transparent 1.5px) 0 0 / 14px 14px, linear-gradient(135deg, var(--ez-primary), #0E3BA8); }
.ez-bento__feature h3 { margin: 0; color: #fff; font-size: 24px; font-weight: 800; }
.ez-bento__feature-icon { display: inline-flex; padding: 10px; border-radius: 12px; background: rgba(255,255,255,.18); color: #fff; }
.ez-bento__feature-icon .ez-icon { width: 28px; height: 28px; }

.ez-bento__card { display: flex; justify-content: space-between; gap: 14px; }
.ez-bento__card h3 { font-size: 16.5px; color: var(--ez-navy); }
.ez-bento__icon { flex: 0 0 auto; color: var(--ez-cta); }
.ez-bento__icon .ez-icon { width: 36px; height: 36px; stroke-width: 1.5; }
.ez-bento__card--tall { flex-direction: column; }
.ez-bento__card--tall .ez-bento__icon { align-self: center; color: #CBD5E1; }
.ez-bento__card--tall .ez-bento__icon .ez-icon { width: 64px; height: 64px; stroke-width: 1; }

.ez-bento__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ez-bento__pair .ez-bento__stat { padding: 14px; }
.ez-bento__pair .ez-bento__stat strong { font-size: 38px; }

.ez-bento__big { display: flex; flex-direction: column; justify-content: flex-end; padding: 28px; background: linear-gradient(160deg, #FFF8EF, #FFFCF7); border-color: #FDE7CC; }
.ez-bento__big h3 { font-size: 26px; font-weight: 800; color: var(--ez-cta); max-width: 420px; }
.ez-bento__big p { max-width: 480px; font-size: 15px; }
.ez-bento__art { position: absolute; top: 18px; right: 28px; width: 230px; color: #F5B97A; opacity: .75; }

.ez-bento__tall { display: flex; flex-direction: column; justify-content: center; background: linear-gradient(180deg, #EEF1FF, #F7F8FF); border-color: #DCE3FB; }
.ez-bento__tall h3 { font-size: 24px; font-weight: 800; color: var(--ez-navy); }
.ez-bento__circuit { position: absolute; left: 0; width: 100%; height: 30%; color: #C3CEF5; }
.ez-bento__circuit:first-child { top: 0; }
.ez-bento__circuit:last-child { bottom: 0; transform: scale(-1, -1); }

.ez-bento__wide { background: linear-gradient(135deg, #FFF1F1, #FFF8F8); border-color: #FBDADA; }
.ez-bento__wide h3 { font-size: 21px; font-weight: 800; color: #C2410C; }
.ez-bento__icons { position: absolute; right: 22px; bottom: 16px; display: flex; gap: 10px; color: #F3B4A0; }
.ez-bento__icons .ez-icon { width: 22px; height: 22px; }

@media (max-width: 1180px) {
    .ez-bento {
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: auto;
        grid-template-areas:
            "s1   feat feat s2"
            "big  big  tall tall"
            "vis  vis  cash cash"
            "pair pair multi multi"
            "over over audit audit";
    }
    .ez-bento__big { min-height: 300px; }
    .ez-bento__tall { min-height: 260px; }
}
@media (max-width: 767px) {
    .ez-bento {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "s1    s2"
            "feat  feat"
            "big   big"
            "vis   vis"
            "cash  cash"
            "pair  pair"
            "tall  tall"
            "multi multi"
            "over  audit";
        gap: 12px;
    }
    .ez-bento__art { width: 160px; right: 16px; }
    .ez-bento__big h3, .ez-bento__tall h3 { font-size: 22px; }
    .ez-bento__wide { padding-bottom: 56px; }
}
.ez-outcomes .ez-head.e-con { max-width: 980px; }
/* bento sizing tweaks */
@media (min-width: 1181px) {
    .ez-bento { grid-template-columns: 0.95fr 1.45fr 0.95fr 1.9fr 1.65fr 1.25fr 1.25fr; grid-template-rows: minmax(165px, auto) minmax(165px, auto) minmax(150px, auto); }
}
.ez-bento__card h3 { font-size: 16px; }
.ez-bento__card p { font-size: 14px; }
.ez-bento__card .ez-bento__icon .ez-icon { width: 30px; height: 30px; }
.ez-bento__card--tall .ez-bento__icon { margin-top: auto; padding-top: 12px; }
.ez-bento__card--tall .ez-bento__icon .ez-icon { width: 48px; height: 48px; }
.ez-bento__tall h3 { font-size: 22px; }
.ez-bento__icons { position: static; margin-top: 14px; }
.ez-bento__wide { display: flex; flex-direction: column; }
.ez-bento .ez-bento__feature {
    background-color: var(--ez-primary);
    background-image: radial-gradient(rgba(255, 255, 255, .16) 1px, transparent 1.6px), linear-gradient(135deg, #1351D8, #0E3BA8);
    background-size: 14px 14px, 100% 100%;
}

/* ---------- Integrations panel (homepage) ---------- */
.ez-integrations-wrap.e-con { --gap: 0px; position: relative; overflow: hidden; padding: 64px 56px; border-radius: var(--ez-radius-lg); color: #fff;
    background: radial-gradient(circle, rgba(255,255,255,.12) 1px, transparent 1.5px) 0 0 / 16px 16px, radial-gradient(ellipse at 85% 0%, rgba(96,165,250,.45), transparent 55%), linear-gradient(135deg, var(--ez-primary), var(--ez-navy)); box-shadow: 0 24px 60px rgba(19, 81, 216, .25); }
.ez-integrations-wrap .ez-head.e-con { margin-bottom: 40px; max-width: 820px; }
.ez-integrations-wrap .ez-eyebrow, .ez-integrations-wrap .ez-eyebrow * { color: #BFD3FF !important; }
.ez-integrations-wrap h2, .ez-integrations-wrap h2 * { color: #fff !important; }
.ez-integrations-wrap .ez-lead, .ez-integrations-wrap .ez-lead p { color: rgba(255,255,255,.82) !important; }
.ez-integrations { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ez-integration { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 30px 22px 26px; border-radius: 20px; background: var(--ez-surface); color: var(--ez-ink);
    box-shadow: 0 10px 30px rgba(7, 18, 54, .18); transition: transform .2s ease, box-shadow .2s ease; }
.ez-integration:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(7, 18, 54, .28); }
.ez-integration__logo { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; margin-bottom: 16px; border-radius: 18px; background: var(--ez-tint); }
.ez-integration__logo svg { width: 44px; height: 44px; }
.ez-integration h3 { margin: 0 0 8px; font-size: 22px; font-weight: 800; letter-spacing: -0.01em; color: var(--ez-navy); }
.ez-integration__tag { display: inline-block; margin-bottom: 12px; padding: 3px 10px; border-radius: 999px; background: var(--ez-primary-50); color: var(--ez-primary); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.ez-integration p { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--ez-body); }
@media (max-width: 1024px) {
    .ez-integrations { grid-template-columns: repeat(2, 1fr); }
    .ez-integrations-wrap.e-con { padding: 48px 32px; }
}
@media (max-width: 767px) {
    .ez-integrations { gap: 12px; }
    .ez-integrations-wrap.e-con { padding: 36px 16px; border-radius: var(--ez-radius); }
    .ez-integration { padding: 20px 12px; }
    .ez-integration__logo { width: 56px; height: 56px; margin-bottom: 10px; }
    .ez-integration__logo svg { width: 34px; height: 34px; }
    .ez-integration h3 { font-size: 18px; }
    .ez-integration p { font-size: 13px; }
}
.ez-section.ez-integrations-section.e-con { --padding-top: 16px; }

/* ---------- Blog: shared ---------- */
.ez-breadcrumbs { margin-bottom: 18px; font-size: 14px; color: var(--ez-muted); }
.ez-breadcrumbs a { color: var(--ez-muted); text-decoration: none; }
.ez-breadcrumbs a:hover { color: var(--ez-primary); }
.ez-breadcrumbs .breadcrumb_last { color: var(--ez-ink); }
.ez-post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ez-post-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--ez-line); border-radius: var(--ez-radius); background: var(--ez-surface); transition: transform .2s ease, box-shadow .2s ease; }
.ez-post-card:hover { transform: translateY(-3px); box-shadow: var(--ez-shadow); }
.ez-post-card__media { display: block; aspect-ratio: 1200 / 630; overflow: hidden; background: var(--ez-tint); }
.ez-post-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.ez-post-card:hover .ez-post-card__media img { transform: scale(1.03); }
.ez-post-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 10px; padding: 22px 24px 24px; }
.ez-post-card__body .ez-pill { text-decoration: none; }
.ez-post-card h3 { margin: 4px 0 0; font-size: 20px; font-weight: 700; line-height: 1.3; }
.ez-post-card h3 a { color: var(--ez-ink); text-decoration: none; }
.ez-post-card h3 a:hover { color: var(--ez-primary); }
.ez-post-card p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ez-body); }
.ez-post-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: auto; padding-top: 8px; font-size: 13.5px; color: var(--ez-muted); }
.ez-post-card__meta .ez-icon { width: 15px; height: 15px; margin-right: -8px; }
.ez-post-card--featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.15fr 1fr; }
.ez-post-card--featured .ez-post-card__media { aspect-ratio: auto; min-height: 100%; }
.ez-post-card--featured .ez-post-card__body { justify-content: center; padding: 40px; }
.ez-post-card--featured h3 { font-size: clamp(24px, 2.4vw, 32px); }
.ez-post-card--featured p { font-size: 17px; }
.ez-post-grid__more { margin: 40px 0 0; text-align: center; }
.ez-post-grid__more .ez-icon { margin-left: 6px; }

/* ---------- Blog: index & categories ---------- */
.ez-blog__hero { padding: calc(64px + var(--ez-nav-space)) 0 40px; background: radial-gradient(70% 120% at 100% 0%, var(--ez-primary-100), transparent 60%), var(--ez-tint); }
.ez-blog__hero h1 { max-width: 820px; margin: 0 0 16px; font-size: clamp(34px, 4.6vw, 54px); font-weight: 800; line-height: 1.08; }
.ez-blog__hero .ez-eyebrow { margin: 0 0 12px; }
.ez-blog__intro { max-width: 680px; margin: 0 0 32px; font-size: 19px; color: var(--ez-body); }
.ez-blog-filters { display: flex; flex-wrap: wrap; gap: 10px; }
.ez-blog-filters a { padding: 8px 16px; border: 1px solid var(--ez-line); border-radius: 999px; background: var(--ez-surface); color: var(--ez-ink); font-size: 14.5px; font-weight: 600; text-decoration: none; }
.ez-blog-filters a:hover { border-color: var(--ez-primary); color: var(--ez-primary); }
.ez-blog-filters a[aria-current] { border-color: var(--ez-primary); background: var(--ez-primary); color: #fff; }
.ez-blog__body { padding-top: 56px; padding-bottom: 96px; }
.ez-blog__empty { font-size: 18px; text-align: center; }
.ez-pagination ul { display: flex; justify-content: center; gap: 8px; margin: 48px 0 0; padding: 0; list-style: none; }
.ez-pagination a, .ez-pagination span { display: inline-flex; align-items: center; min-width: 42px; height: 42px; justify-content: center; padding: 0 14px; border: 1px solid var(--ez-line); border-radius: 10px; color: var(--ez-ink); font-weight: 600; text-decoration: none; }
.ez-pagination .current { border-color: var(--ez-primary); background: var(--ez-primary); color: #fff; }

/* ---------- Blog: article ---------- */
.ez-article__hero { padding: calc(48px + var(--ez-nav-space)) 0 40px; background: var(--ez-tint); }
.ez-article__hero-inner { max-width: calc(880px + 2 * var(--ez-gutter)); }
.ez-article__hero .ez-pill { text-decoration: none; }
.ez-article__hero h1 { margin: 16px 0; font-size: clamp(32px, 4.2vw, 50px); font-weight: 800; line-height: 1.1; }
.ez-article__lead { margin: 0 0 24px; font-size: 20px; line-height: 1.55; color: var(--ez-body); }
.ez-article__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; font-size: 14.5px; color: var(--ez-muted); }
.ez-article__meta span { display: inline-flex; align-items: center; gap: 6px; }
.ez-article__meta .ez-icon { width: 16px; height: 16px; }
.ez-article__author { font-weight: 600; color: var(--ez-ink); }
.ez-article__author img { width: 32px; height: 32px; padding: 4px; border: 1px solid var(--ez-line); border-radius: 50%; background: #fff; object-fit: contain; }
.ez-article__cover { max-width: calc(1080px + 2 * var(--ez-gutter)); margin-top: 0; }
.ez-article__cover img { display: block; width: 100%; margin-top: 40px; border-radius: var(--ez-radius-lg); box-shadow: var(--ez-shadow); }
.ez-article__layout { display: grid; grid-template-columns: 260px minmax(0, 760px); justify-content: center; gap: 64px; padding-top: 56px; padding-bottom: 88px; }
.ez-article__aside { position: sticky; top: calc(var(--ez-header-h) + 24px); align-self: start; }
.ez-toc { padding: 22px; border: 1px solid var(--ez-line); border-radius: var(--ez-radius); background: var(--ez-surface); }
.ez-toc p { margin: 0 0 12px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ez-muted); }
.ez-toc ol { margin: 0; padding: 0; list-style: none; counter-reset: toc; }
.ez-toc li { counter-increment: toc; }
.ez-toc a { display: flex; gap: 10px; padding: 7px 0; font-size: 14.5px; line-height: 1.4; color: var(--ez-body); text-decoration: none; }
.ez-toc a::before { content: counter(toc, decimal-leading-zero); font-weight: 700; color: var(--ez-primary); }
.ez-toc a:hover { color: var(--ez-primary); }
.ez-share { display: flex; align-items: center; gap: 8px; margin-top: 18px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ez-muted); }
.ez-share span { margin-right: 4px; }
.ez-share a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid var(--ez-line); border-radius: 50%; color: var(--ez-navy); }
.ez-share a:hover { border-color: var(--ez-primary); color: var(--ez-primary); }
.ez-share .ez-icon { width: 17px; height: 17px; }

.ez-prose { font-size: 18px; line-height: 1.75; color: var(--ez-prose); }
.ez-prose > :first-child { margin-top: 0; }
.ez-prose p, .ez-prose ul, .ez-prose ol, .ez-prose table, .ez-prose blockquote { margin: 0 0 22px; }
.ez-prose h2 { margin: 52px 0 16px; font-size: clamp(25px, 2.6vw, 31px); font-weight: 800; scroll-margin-top: calc(var(--ez-header-h) + 24px); }
.ez-prose h3 { margin: 32px 0 10px; font-size: 21px; font-weight: 700; }
.ez-prose ul, .ez-prose ol { padding-left: 1.3em; }
.ez-prose li { margin-bottom: 8px; padding-left: 4px; }
.ez-prose li::marker { color: var(--ez-primary); font-weight: 700; }
.ez-prose strong { color: var(--ez-ink); }
.ez-prose a { font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ez-prose blockquote { padding: 18px 24px; border-left: 4px solid var(--ez-primary); border-radius: 0 12px 12px 0; background: var(--ez-primary-50); color: var(--ez-ink); }
.ez-prose blockquote p:last-child { margin: 0; }
.ez-prose table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; font-size: 15.5px; line-height: 1.5; }
.ez-prose th, .ez-prose td { padding: 12px 14px; border-bottom: 1px solid var(--ez-line); text-align: left; vertical-align: top; }
.ez-prose thead th { border-bottom: 2px solid var(--ez-primary-100); background: var(--ez-tint); color: var(--ez-ink); font-weight: 700; }
.ez-prose table { border: 1px solid var(--ez-line); border-radius: 12px; }
.ez-article-cta { display: grid; gap: 22px; margin-top: 56px; padding: 36px; border-radius: var(--ez-radius-lg); color: rgba(255,255,255,.85);
    background: radial-gradient(circle, rgba(255,255,255,.1) 1px, transparent 1.5px) 0 0 / 16px 16px, linear-gradient(135deg, var(--ez-primary), var(--ez-navy)); }
.ez-article-cta h2 { margin: 0 0 8px; font-size: 26px; color: #fff; }
.ez-article-cta p { margin: 0; font-size: 16.5px; }
.ez-article-cta .ez-btn { text-decoration: none; }
.ez-article__related { padding: 80px 0 96px; background: var(--ez-tint); }
.ez-article__related h2 { margin: 0 0 32px; font-size: clamp(28px, 3vw, 36px); font-weight: 800; }

@media (max-width: 1024px) {
    .ez-post-grid { grid-template-columns: repeat(2, 1fr); }
    .ez-article__layout { grid-template-columns: minmax(0, 760px); gap: 32px; }
    .ez-article__aside { position: static; }
}
@media (max-width: 767px) {
    .ez-post-grid { grid-template-columns: 1fr; gap: 18px; }
    .ez-post-card--featured { display: flex; }
    .ez-post-card--featured .ez-post-card__media { aspect-ratio: 1200 / 630; }
    .ez-post-card--featured .ez-post-card__body { padding: 22px 24px 24px; }
    .ez-blog__hero { padding: calc(40px + var(--ez-nav-space)) 0 32px; }
    .ez-blog__intro { font-size: 17px; }
    .ez-blog-filters { flex-wrap: nowrap; overflow-x: auto; margin: 0 calc(-1 * var(--ez-gutter)); padding: 0 var(--ez-gutter) 4px; scrollbar-width: none; }
    .ez-blog-filters a { flex: 0 0 auto; }
    .ez-blog__body { padding-top: 32px; padding-bottom: 64px; }
    .ez-article__hero { padding: calc(28px + var(--ez-nav-space)) 0 28px; }
    .ez-article__lead { font-size: 17.5px; }
    .ez-article__cover img { margin-top: 24px; border-radius: var(--ez-radius); }
    .ez-article__layout { padding-top: 32px; padding-bottom: 56px; }
    .ez-prose { font-size: 17px; }
    .ez-prose h2 { margin-top: 40px; }
    .ez-article-cta { padding: 26px 20px; }
    .ez-article__related { padding: 56px 0 64px; }
}

/* ---------- Hero: "My Day" app screen ---------- */
.ez-myday .ez-dash__window { background: #EEF2FA; }
.ez-myday__bar { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: #2E5C9A; color: rgba(255,255,255,.85); font-size: 12px; }
.ez-myday__bar strong { color: #fff; font-size: 14px; font-weight: 600; }
.ez-myday__grid { width: 14px; height: 14px; background: radial-gradient(circle, #fff 1.3px, transparent 1.6px) 0 0 / 4.7px 4.7px; }
.ez-myday__user { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; color: #fff; font-weight: 600; line-height: 1.1; }
.ez-myday__user i { width: 8px; height: 8px; border-radius: 50%; background: #34D399; }
.ez-myday__user b { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: #F5B97A; color: #5B2A00; font-size: 10px; }
.ez-myday__user small { display: block; font-size: 9.5px; font-weight: 500; color: rgba(255,255,255,.7); }
.ez-myday__user small { margin-left: -2px; }
.ez-myday__tabs { display: flex; gap: 18px; padding: 0 16px; background: #fff; border-bottom: 1px solid var(--ez-line); font-size: 12px; color: var(--ez-muted); }
.ez-myday__tabs span { padding: 9px 2px; }
.ez-myday__tabs .is-active { color: #1E4E8C; font-weight: 700; box-shadow: inset 0 -2px #1E4E8C; }
.ez-myday__body { display: grid; gap: 10px; padding: 12px; }
.ez-myday__tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.ez-myday__tile { position: relative; padding: 10px 11px; border-radius: 10px; line-height: 1.2; }
.ez-myday__tile small { position: absolute; top: 11px; right: 10px; font-size: 10.5px; font-weight: 600; color: #334155; }
.ez-myday__tile strong { display: block; margin-top: 8px; font-size: 19px; font-weight: 800; letter-spacing: -0.02em; }
.ez-myday__tile em { display: block; margin-top: 2px; font-style: normal; font-size: 10px; color: var(--ez-muted); }
.ez-myday__ic { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; color: #fff; }
.ez-myday__ic .ez-icon { width: 13px; height: 13px; stroke-width: 2.2; }
.ez-myday__tile--green { background: #E3F1EE; } .ez-myday__tile--green .ez-myday__ic { background: #3BA55C; } .ez-myday__tile--green strong { color: #3BA55C; font-size: 16px; }
.ez-myday__tile--teal { background: #E5F0EC; } .ez-myday__tile--teal .ez-myday__ic { background: #4CAF50; } .ez-myday__tile--teal strong { color: #3B9A47; }
.ez-myday__tile--pink { background: #F3E3EC; } .ez-myday__tile--pink .ez-myday__ic { background: #E0457B; } .ez-myday__tile--pink strong { color: #D23A6E; }
.ez-myday__tile--blue { background: #E1E9F7; } .ez-myday__tile--blue .ez-myday__ic { background: #3B6FD8; } .ez-myday__tile--blue strong { color: #3366CC; }
.ez-myday__tile--purple { background: #E6E3F5; } .ez-myday__tile--purple .ez-myday__ic { background: #6A4BC4; } .ez-myday__tile--purple strong { color: #5A3DB8; }
.ez-myday__tile--orange { background: #F3EAE1; } .ez-myday__tile--orange .ez-myday__ic { background: #F0A030; } .ez-myday__tile--orange strong { color: #E08A10; }
.ez-myday__cols { display: grid; grid-template-columns: 1.55fr 1fr; gap: 8px; }
.ez-myday__card { padding: 11px 12px; border-radius: 10px; background: #fff; }
.ez-myday__card h4 { margin: 0 0 6px; font-size: 12.5px; font-weight: 700; color: var(--ez-ink); letter-spacing: 0; }
.ez-myday__item { display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: center; padding: 7px 0; line-height: 1.25; }
.ez-myday__item + .ez-myday__item { border-top: 1px solid #EEF1F6; }
.ez-myday__item b { display: block; font-size: 11.5px; font-weight: 600; color: var(--ez-ink); }
.ez-myday__item small { display: block; font-size: 10px; color: var(--ez-muted); }
.ez-myday__item .ez-pill { padding: 2px 7px; font-size: 9.5px; }
.ez-myday__tag { display: inline-block; margin-bottom: 1px; padding: 0 5px; border-radius: 4px; background: #FFF4DE; color: #D98A00; font-size: 9px; font-weight: 600; }
.ez-myday__dot { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; color: #fff; }
.ez-myday__dot .ez-icon { width: 12px; height: 12px; stroke-width: 2.2; }
.ez-myday__dot--green { background: #3BA55C; } .ez-myday__dot--purple { background: #6A4BC4; } .ez-myday__dot--orange { background: #F0A030; }
.ez-myday__card ul { margin: 0; padding: 0; list-style: none; }
.ez-myday__card li { display: flex; align-items: center; gap: 7px; padding: 7px 0; font-size: 11px; color: var(--ez-ink); }
.ez-myday__card li + li { border-top: 1px solid #EEF1F6; }
.ez-myday__card li .ez-icon { width: 12px; height: 12px; color: #E08A10; }
.ez-myday__card li span { flex: 1; }
.ez-myday__count { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; border-radius: 9px; color: #fff; font-size: 9.5px; font-style: normal; font-weight: 700; }
.ez-myday__count--pink { background: #E0457B; } .ez-myday__count--orange { background: #F0A030; } .ez-myday__count--purple { background: #6A4BC4; } .ez-myday__count--green { background: #3BA55C; }
@media (max-width: 767px) {
    .ez-myday__user small, .ez-myday__bar > span:nth-of-type(2) { display: none; }
    .ez-myday__body { padding: 8px; gap: 8px; }
    .ez-myday__tiles { gap: 6px; }
    .ez-myday__tile { padding: 8px; }
    .ez-myday__tile small { position: static; display: block; margin-top: 6px; font-size: 9.5px; }
    .ez-myday__tile strong { margin-top: 2px; font-size: 16px; }
    .ez-myday__tile--green strong { font-size: 13px; }
    .ez-myday__tile em { font-size: 9px; }
    .ez-myday__cols { grid-template-columns: 1fr; }
    .ez-myday__card--side { display: none; }
}
.ez-dash__chip.ez-myday__chip { right: -14px; bottom: 44px; left: auto; top: auto; }
@media (max-width: 767px) { .ez-dash__chip.ez-myday__chip { display: none; } }

/* ---------- Field Service hero: "Field Service Jobs" dashboard ---------- */
.ez-fsj .ez-dash__window { background: #F1F3F6; }
.ez-fsj__nav { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 11px; color: rgba(255,255,255,.8); min-width: 0; flex: 1; }
.ez-fsj .ez-myday__user { margin-left: 0; }
.ez-fsj__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; background: #fff; border-bottom: 1px solid var(--ez-line); line-height: 1.25; }
.ez-fsj__head strong { display: block; font-size: 13px; color: var(--ez-ink); }
.ez-fsj__head small { font-size: 10.5px; color: var(--ez-muted); }
.ez-fsj__filters { display: flex; gap: 6px; }
.ez-fsj__filters span { padding: 4px 8px; border: 1px solid var(--ez-line); border-radius: 6px; font-size: 10px; font-weight: 600; color: var(--ez-ink); white-space: nowrap; }
.ez-fsj__body { display: grid; gap: 8px; padding: 10px 12px 12px; }
.ez-fsj__label { margin: 0; font-size: 12px; font-weight: 700; color: var(--ez-ink); }
.ez-fsj__label small { margin-left: 6px; font-weight: 400; font-size: 10px; color: var(--ez-muted); }
.ez-fsj__tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.ez-fsj__tile { padding: 9px 10px; border-radius: 8px; line-height: 1.15; }
.ez-fsj__tile small, .ez-fsj__tile em { display: block; font-size: 9.5px; font-style: normal; }
.ez-fsj__tile strong { display: block; margin: 3px 0; font-size: 24px; font-weight: 800; letter-spacing: -0.02em; }
.ez-fsj__tile--red { background: #F8E4E2; color: #C8483C; }
.ez-fsj__tile--green { background: #E2F5E8; color: #3E9A4F; }
.ez-fsj__tile--blue { background: #E6EEFB; color: #2F5FD0; }
.ez-fsj__tile--orange { background: #FBEFDB; color: #D6892A; }
.ez-fsj__row { display: grid; grid-template-columns: 1.35fr 1fr; gap: 7px; }
.ez-fsj__card { padding: 9px 10px; border-radius: 8px; background: #fff; line-height: 1.25; }
.ez-fsj__card h4 { display: flex; align-items: center; justify-content: space-between; margin: 0; font-size: 11.5px; font-weight: 700; color: var(--ez-ink); letter-spacing: 0; }
.ez-fsj__card > small { display: block; margin: 1px 0 7px; font-size: 9.5px; color: var(--ez-body); }
.ez-fsj__badge { padding: 1px 7px; border-radius: 9px; background: #F8E4E2; color: #C8483C; font-size: 9.5px; }
.ez-fsj__mtd { padding: 1px 6px; border-radius: 5px; background: #E2F5E8; color: #2E7D3E; font-size: 8.5px; }
.ez-fsj__buckets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.ez-fsj__buckets span { padding: 6px 4px; border-radius: 6px; text-align: center; font-size: 8.5px; font-weight: 700; letter-spacing: .04em; }
.ez-fsj__buckets b { display: block; font-size: 16px; letter-spacing: 0; }
.ez-fsj__buckets .is-a { background: #FDF7DF; color: #C98A0C; }
.ez-fsj__buckets .is-b { background: #FDF0E4; color: #D9701C; }
.ez-fsj__buckets .is-c { background: #F8E4E2; color: #C8483C; }
.ez-fsj__risk { display: grid; grid-template-columns: 1fr 1fr; }
.ez-fsj__risk span { font-size: 9px; color: var(--ez-muted); }
.ez-fsj__risk span + span { padding-left: 8px; border-left: 1px solid var(--ez-line); }
.ez-fsj__risk em { display: block; font-style: normal; font-size: 7.5px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; }
.ez-fsj__risk b { display: block; font-size: 16px; }
.ez-fsj__risk strong { color: var(--ez-ink); }
.is-orange { color: #D9891C; } .is-red { color: #C8483C; }
.ez-fsj__row--charts { grid-template-columns: 1fr 1fr; }
.ez-fsj__bars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; align-items: end; height: 84px; margin-top: 6px; border-bottom: 1px solid var(--ez-line); }
.ez-fsj__bar { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; position: relative; }
.ez-fsj__bar b { font-size: 9px; color: var(--ez-ink); }
.ez-fsj__bar i { display: block; width: 100%; max-height: 62px; border-radius: 3px 3px 0 0; }
.ez-fsj__bar span { position: absolute; bottom: -14px; font-size: 8px; color: var(--ez-muted); white-space: nowrap; }
.ez-fsj__bars { margin-bottom: 14px; }
.ez-fsj__bar--blue { background: #2F5FD0; } .ez-fsj__bar--green { background: #4BA65A; } .ez-fsj__bar--dark { background: #2E6B3A; } .ez-fsj__bar--red { background: #C8483C; }
.ez-fsj__sla { display: flex; align-items: center; gap: 10px; margin-top: 6px; }
.ez-fsj__donut { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 76px; height: 76px; border-radius: 50%; background: conic-gradient(#C8483C 0 10.3%, #4BA65A 10.3% 100%); }
.ez-fsj__donut span { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 50%; background: #fff; font-size: 8px; color: var(--ez-muted); line-height: 1.1; }
.ez-fsj__donut b { font-size: 15px; color: var(--ez-ink); }
.ez-fsj__sla ul { flex: 1; margin: 0; padding: 0; list-style: none; }
.ez-fsj__sla li { display: flex; align-items: center; gap: 5px; padding: 4px 0; font-size: 9.5px; color: var(--ez-ink); }
.ez-fsj__sla li + li { border-top: 1px solid #EEF1F6; }
.ez-fsj__sla li i { width: 7px; height: 7px; border-radius: 50%; }
.ez-fsj__sla li i.is-green { background: #4BA65A; } .ez-fsj__sla li i.is-orange { background: #D9891C; } .ez-fsj__sla li i.is-red { background: #C8483C; }
.ez-fsj__sla li b { margin-left: auto; font-size: 11px; }
@media (max-width: 767px) {
    .ez-fsj__nav, .ez-fsj__filters span:first-child { display: none; }
    .ez-fsj__body { padding: 8px; }
    .ez-fsj__tiles { grid-template-columns: repeat(2, 1fr); }
    .ez-fsj__row { grid-template-columns: 1fr; }
    .ez-fsj__row--charts .ez-fsj__card:first-child { display: none; }
}
@media (max-width: 767px) { .ez-fsj .ez-myday__user { margin-left: auto; } }

/* ---------- Employee journey on map ---------- */
.ez-journey { overflow: hidden; border-radius: var(--ez-radius); background: #fff; box-shadow: 0 30px 60px rgba(3, 10, 40, .25); text-align: left; }
.ez-journey__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--ez-line); }
.ez-journey__who { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; color: var(--ez-ink); line-height: 1.2; }
.ez-journey__who > b { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #F5B97A; color: #5B2A00; font-size: 12px; }
.ez-journey__who small { display: block; font-size: 12px; font-weight: 500; color: var(--ez-muted); }
.ez-journey__live { display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px; border-radius: 999px; background: #FFF1E8; color: var(--ez-cta); font-size: 12.5px; font-weight: 700; }
.ez-journey__live i { width: 8px; height: 8px; border-radius: 50%; background: var(--ez-cta); animation: ez-blink 1.6s ease-in-out infinite; }
.ez-journey__body { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(190px, 1fr); }
.ez-journey__canvas { position: relative; min-height: 100%; background: #E9EFF6; }
.ez-journey__map { display: block; width: 100%; height: 100%; min-height: 300px; object-fit: cover; }
.ez-journey__route { animation: ez-route 1.2s linear infinite; }
.ez-journey__pulse { transform-origin: center; transform-box: fill-box; animation: ez-pulse 1.8s ease-out infinite; }
.ez-journey__tag { position: absolute; left: 12px; bottom: 12px; padding: 5px 10px; border-radius: 8px; background: rgba(255,255,255,.92); box-shadow: var(--ez-shadow-sm); font-size: 11.5px; font-weight: 700; color: var(--ez-navy); }
.ez-journey__side { display: flex; flex-direction: column; padding: 14px 16px; border-left: 1px solid var(--ez-line); }
.ez-journey__side > p { margin: 0 0 8px; font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ez-muted); }
.ez-journey__side ol { position: relative; margin: 0; padding: 0; list-style: none; }
.ez-journey__side ol::before { content: ""; position: absolute; left: 11px; top: 12px; bottom: 18px; border-left: 2px dashed #C7D5F3; }
.ez-journey__side li { position: relative; display: flex; gap: 10px; padding: 0 0 10px; line-height: 1.25; }
.ez-journey__marker { position: relative; z-index: 1; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border: 2px solid #fff; border-radius: 50%; background: var(--ez-primary); color: #fff; font-size: 11px; font-weight: 700; }
.ez-journey__marker .ez-icon { width: 12px; height: 12px; stroke-width: 3; }
.is-start .ez-journey__marker { background: #16A34A; }
.is-live .ez-journey__marker { background: var(--ez-cta); box-shadow: 0 0 0 4px rgba(204, 74, 0, .18); }
.ez-journey__side small { font-size: 11px; font-weight: 600; color: var(--ez-muted); }
.ez-journey__side b { display: block; font-size: 13px; color: var(--ez-ink); }
.ez-journey__side em { display: block; font-style: normal; font-size: 11.5px; color: var(--ez-body); }
.is-live em { color: var(--ez-cta); font-weight: 600; }
.ez-journey__sum { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: auto; padding-top: 10px; border-top: 1px solid var(--ez-line); }
.ez-journey__sum span { font-size: 10.5px; color: var(--ez-muted); text-align: center; line-height: 1.2; }
.ez-journey__sum b { display: block; font-size: 15px; color: var(--ez-navy); }
@keyframes ez-route { to { stroke-dashoffset: -17; } }
@keyframes ez-pulse { 0% { transform: scale(.8); opacity: .5; } 100% { transform: scale(2.4); opacity: 0; } }
@keyframes ez-blink { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .ez-journey__route, .ez-journey__pulse, .ez-journey__live i { animation: none; } }
@media (max-width: 600px) {
    .ez-journey__body { grid-template-columns: 1fr; }
    .ez-journey__side { border-left: 0; border-top: 1px solid var(--ez-line); }
    .ez-journey__map { min-height: 0; }
}

/* Homepage feature section */
.ez-journey-section.e-con { color: rgba(255,255,255,.82);
    background: radial-gradient(circle, rgba(255,255,255,.07) 1px, transparent 1.5px) 0 0 / 22px 22px, radial-gradient(55% 70% at 80% 40%, rgba(43, 94, 232, .55), transparent 70%), linear-gradient(180deg, var(--ez-navy) 0%, var(--ez-navy-900) 100%); }
.ez-journey-section .ez-h2 .elementor-heading-title, .elementor .ez-journey-section .ez-h2 .elementor-heading-title { color: #fff; }
.ez-journey-section .ez-lead, .ez-journey-section .ez-lead p { color: rgba(255,255,255,.8); }
.ez-journey-section .ez-journey-points li { color: #fff; }
.ez-journey-section .ez-journey-points small { color: rgba(255,255,255,.72); }
.ez-journey-section .ez-journey-points li > span { background: rgba(255,255,255,.1); color: #8FB3FF; box-shadow: none; border: 1px solid rgba(255,255,255,.16); }
.ez-journey-section .ez-btn--wa { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.35); }
.ez-journey-section .ez-btn--wa .ez-icon--wa { color: var(--ez-wa); }
.ez-journey-section .ez-journey { box-shadow: 0 30px 70px rgba(0, 0, 0, .45); }
.ez-journey-section .e-con-inner { align-items: center; gap: 64px; }
.ez-journey-section__copy.e-con { --gap: 0px; flex: 1 1 42%; }
.ez-journey-section__visual.e-con { flex: 1 1 58%; }
.ez-feature-badge { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 16px; padding: 6px 14px; border-radius: 999px; background: var(--ez-cta); color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .02em; }
.ez-feature-badge .ez-icon { width: 15px; height: 15px; }
.ez-journey-points { display: grid; gap: 14px; margin: 26px 0 30px; padding: 0; list-style: none; }
.ez-journey-points li { display: flex; gap: 12px; align-items: flex-start; font-size: 16.5px; line-height: 1.45; color: var(--ez-ink); }
.ez-journey-points li > span { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 10px; background: #fff; color: var(--ez-primary); box-shadow: var(--ez-shadow-sm); }
.ez-journey-points li > span .ez-icon { width: 18px; height: 18px; }
.ez-journey-points strong { display: block; }
.ez-journey-points small { display: block; font-size: 14.5px; color: var(--ez-body); }
@media (max-width: 1024px) {
    .ez-journey-section .e-con-inner { flex-direction: column !important; gap: 40px; }
}

/* Hello Elementor's reset paints every hovered/focused button #c36 (maroon); give our buttons their own states. */
.ez-flow__step:hover, .ez-flow__step:focus { background: rgba(255, 255, 255, .85); color: var(--ez-ink); box-shadow: 0 6px 18px rgba(19, 81, 216, .08); }
.ez-flow__step.is-active:hover, .ez-flow__step.is-active:focus { color: var(--ez-ink); }
.ez-nav__link:focus { background: none; color: var(--ez-ink); }
.ez-nav__link:hover, .ez-nav__link[aria-expanded="true"] { background: var(--ez-primary-50); color: var(--ez-primary); }
.ez-burger:hover, .ez-burger:focus { background: var(--ez-primary-50); color: var(--ez-primary); }

/* ---------- Mobile app: store badges, homepage showcase, product band ---------- */
.ez-store-badges { display: flex; flex-wrap: wrap; gap: 12px; }
.ez-store-badge { display: inline-flex; align-items: center; gap: 10px; padding: 9px 18px 9px 14px; border-radius: 12px; background: #0B0F19; color: #fff; text-decoration: none; line-height: 1.1; font-size: 18px; font-weight: 700; letter-spacing: -0.01em; transition: transform .2s ease, box-shadow .2s ease; }
.ez-store-badge:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(11, 15, 25, .25); }
.ez-store-badge svg { width: 26px; height: 26px; flex: 0 0 auto; }
.ez-store-badge small { display: block; font-size: 11px; font-weight: 500; letter-spacing: 0; opacity: .85; }
.ez-store-badges--footer { margin-top: 20px; }
.ez-store-badges--footer .ez-store-badge { padding: 7px 14px 7px 11px; font-size: 15px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); }
.ez-store-badges--footer .ez-store-badge svg { width: 22px; height: 22px; }

.ez-app-section.e-con { background: radial-gradient(60% 50% at 50% 0%, #D6E6FF, transparent 70%), linear-gradient(180deg, #EEF5FF 0%, #F8FBFF 100%); }
.ez-app-section .elementor-widget-shortcode:has(.ez-store-badges) { margin-bottom: 40px; }
.ez-app-section .ez-store-badges { justify-content: center; }
.ez-app-gallery { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; }
.ez-app-shot { margin: 0; text-align: center; }
.ez-app-shot a { display: block; overflow: hidden; border-radius: 22px; background: #fff; box-shadow: 0 18px 40px rgba(19, 81, 216, .16); transition: transform .25s ease, box-shadow .25s ease; }
.ez-app-shot a:hover { transform: translateY(-6px); box-shadow: 0 26px 50px rgba(19, 81, 216, .24); }
.ez-app-shot img { display: block; width: 100%; height: auto; }
.ez-app-shot figcaption { margin-top: 12px; font-size: 14px; font-style: normal; font-weight: 600; color: var(--ez-ink); }
.ez-app-roles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 48px; }
.ez-app-roles div { display: grid; gap: 4px; padding: 20px; border: 1px solid #DCE6F8; border-radius: var(--ez-radius); background: rgba(255,255,255,.75); }
.ez-app-roles .ez-icon { width: 24px; height: 24px; margin-bottom: 6px; color: var(--ez-primary); }
.ez-app-roles strong { font-size: 16px; color: var(--ez-ink); }
.ez-app-roles span { font-size: 14.5px; line-height: 1.45; color: var(--ez-body); }

.ez-section.ez-app-band.e-con { background: radial-gradient(55% 80% at 75% 50%, #CFE0FF, transparent 70%), linear-gradient(135deg, #EAF2FF 0%, #F6F9FF 100%); }
.ez-app-band .ez-store-badges { margin-top: 28px; }
.ez-app-phones { position: relative; display: flex; justify-content: center; align-items: flex-end; gap: 0; padding: 10px 0; }
.ez-app-phones__shot { display: block; width: min(48%, 270px); overflow: hidden; border-radius: 26px; background: #fff; box-shadow: 0 24px 50px rgba(19, 81, 216, .2); transition: transform .25s ease; }
.ez-app-phones__shot img { display: block; width: 100%; height: auto; }
.ez-app-phones--2 .ez-app-phones__shot:first-child { z-index: 2; transform: translateX(14px) translateY(-24px); }
.ez-app-phones--2 .ez-app-phones__shot:last-child { z-index: 1; transform: translateX(-14px) translateY(10px) scale(.94); opacity: .97; }
.ez-app-phones--2 .ez-app-phones__shot:hover { z-index: 3; }

@media (max-width: 1024px) {
    .ez-app-gallery { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin: 0 calc(-1 * var(--ez-gutter)); padding: 8px var(--ez-gutter) 20px; scrollbar-width: none; }
    .ez-app-gallery::-webkit-scrollbar { display: none; }
    .ez-app-shot { flex: 0 0 38%; scroll-snap-align: center; }
    .ez-app-roles { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .ez-app-shot { flex-basis: 62%; }
    .ez-app-roles { grid-template-columns: 1fr; gap: 10px; margin-top: 28px; }
    .ez-app-phones__shot { width: 50%; border-radius: 18px; }
    .ez-store-badge { font-size: 16px; padding: 8px 14px 8px 11px; }
}

/* ---------- CRM hero: "CRM Analytics Dashboard" ---------- */
.ez-crmd__head { display: flex; justify-content: space-between; gap: 12px; padding: 10px 14px; background: #fff; line-height: 1.25; }
.ez-crmd__head strong { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--ez-ink); }
.ez-crmd__head strong .ez-icon { width: 15px; height: 15px; color: var(--ez-primary); }
.ez-crmd__head > div > small { display: block; font-size: 10px; color: var(--ez-muted); }
.ez-crmd__period { display: flex; gap: 4px; margin-top: 8px; }
.ez-crmd__period span { padding: 3px 7px; border: 1px solid var(--ez-line); border-radius: 5px; font-size: 9.5px; color: var(--ez-body); }
.ez-crmd__period .is-on { border-color: #4F7BE0; background: #4F7BE0; color: #fff; font-weight: 600; }
.ez-crmd__health { display: flex; align-items: center; gap: 10px; }
.ez-crmd__ring { display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: 50%; background: conic-gradient(#E5484D 0 39%, #5B8DEF 39% 85%, #F5B83D 85% 100%); }
.ez-crmd__ring span { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: #fff; font-size: 7.5px; color: var(--ez-muted); line-height: 1.1; }
.ez-crmd__ring b { font-size: 13px; color: var(--ez-ink); }
.ez-crmd__health ul { margin: 0; padding: 0; list-style: none; }
.ez-crmd__health li { display: flex; align-items: center; gap: 5px; min-width: 64px; font-size: 9.5px; color: var(--ez-ink); line-height: 1.6; }
.ez-crmd__health li i { width: 6px; height: 6px; border-radius: 50%; }
.ez-crmd__health li b { margin-left: auto; }
.ez-crmd__tabs { display: flex; gap: 14px; padding: 0 14px; background: #fff; border-bottom: 1px solid var(--ez-line); font-size: 10.5px; color: var(--ez-muted); }
.ez-crmd__tabs span { padding: 7px 0; }
.ez-crmd__tabs .is-on { color: #2F5FD0; font-weight: 700; box-shadow: inset 0 -2px #2F5FD0; }
.ez-crmd__kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.ez-crmd__kpi { display: flex; align-items: center; gap: 7px; padding: 8px; border-radius: 7px; color: #fff; line-height: 1.1; overflow: hidden; }
.ez-crmd__kpi > span { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 22px; height: 22px; border-radius: 6px; background: rgba(255,255,255,.22); }
.ez-crmd__kpi .ez-icon { width: 12px; height: 12px; }
.ez-crmd__kpi b { display: block; font-size: 15px; font-weight: 800; letter-spacing: -0.01em; }
.ez-crmd__kpi small { display: block; font-size: 7.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; opacity: .92; }
.ez-crmd__kpi--blue { background: linear-gradient(135deg, #4F7BE0, #3B5FC8); }
.ez-crmd__kpi--red { background: linear-gradient(135deg, #E45A5F, #C83F45); }
.ez-crmd__kpi--teal { background: linear-gradient(135deg, #2E9D80, #23806A); }
.ez-crmd__kpi--green { background: linear-gradient(135deg, #48B58A, #36997A); }
.ez-crmd__charts { grid-template-columns: 1.45fr 1fr; }
.ez-crmd__bars { grid-template-columns: repeat(5, 1fr); }
.ez-crmd__bars .ez-fsj__bar i { max-height: 66px; }
.ez-crmd__donut { background: conic-gradient(#4F5BD5 0 41%, #C04BC8 41% 65%, #2BB673 65% 86%, #F0A030 86% 100%); }
@media (max-width: 767px) {
    .ez-crmd__health { display: none; }
    .ez-crmd__tabs span:last-child { display: none; }
    .ez-crmd__kpis { grid-template-columns: repeat(2, 1fr); }
    .ez-crmd__charts .ez-fsj__card:last-child { display: none; }
}

/* ---------- Dark theme: details the tokens don't cover ---------- */
[data-theme="dark"] .ez-btn--wa { color: var(--ez-ink); }
[data-theme="dark"] .ez-btn--wa:hover { color: var(--ez-ink); }
[data-theme="dark"] .ez-card--pain .ez-icon-badge,
[data-theme="dark"] .ez-tag--problem,
[data-theme="dark"] .ez-form .elementor-message-danger { background: rgba(248, 113, 113, .12); color: #FCA5A5; }
/* Elementor's per-form CSS hard-codes white fields and light-theme label colours; these outrank it. */
[data-theme="dark"] .ez-demo__form.e-con { border-color: rgba(255, 255, 255, .08); box-shadow: 0 24px 60px rgba(0, 0, 0, .5); }
[data-theme="dark"] .ez-form .elementor-field-group > label,
[data-theme="dark"] .ez-form .elementor-field-subgroup label { color: var(--ez-ink) !important; }
[data-theme="dark"] .ez-form .elementor-field-group .elementor-field-textual,
[data-theme="dark"] .ez-form .elementor-field-group .elementor-select-wrapper select {
    border-color: rgba(255, 255, 255, .14) !important;
    background-color: var(--ez-surface-2) !important;
    color: var(--ez-ink) !important;
}
[data-theme="dark"] .ez-form .elementor-field-textual::placeholder { color: #64708A; }
[data-theme="dark"] .ez-form .elementor-field-group .elementor-field-textual:hover,
[data-theme="dark"] .ez-form .elementor-field-group .elementor-select-wrapper select:hover { border-color: rgba(255, 255, 255, .24) !important; }
[data-theme="dark"] .ez-form .elementor-field-group .elementor-field-textual:focus,
[data-theme="dark"] .ez-form .elementor-field-group .elementor-select-wrapper select:focus { border-color: var(--ez-primary) !important; box-shadow: 0 0 0 4px rgba(91, 140, 255, .18); }
[data-theme="dark"] .ez-form select option { background: var(--ez-surface); color: var(--ez-ink); }
[data-theme="dark"] .ez-form .elementor-select-wrapper::before { color: var(--ez-body); }
[data-theme="dark"] .ez-form .elementor-field-type-checkbox .elementor-field-option { border-color: rgba(255, 255, 255, .14); background: var(--ez-surface-2); }
[data-theme="dark"] .ez-form .elementor-field-type-checkbox .elementor-field-option:hover { border-color: rgba(255, 255, 255, .24); }
[data-theme="dark"] .ez-form .elementor-field-type-checkbox .elementor-field-option:has(input:checked) { border-color: var(--ez-primary); background: rgba(91, 140, 255, .14); }
[data-theme="dark"] .ez-form .elementor-button { box-shadow: 0 8px 24px rgba(0, 0, 0, .45); }
/* Browser autofill otherwise paints a pale yellow/white box. */
[data-theme="dark"] .ez-form input:-webkit-autofill {
    -webkit-text-fill-color: var(--ez-ink);
    -webkit-box-shadow: 0 0 0 1000px var(--ez-surface-2) inset;
    caret-color: var(--ez-ink);
}
[data-theme="dark"] .ez-flow__step:hover,
[data-theme="dark"] .ez-flow__step:focus { background: rgba(255, 255, 255, .05); }
[data-theme="dark"] .ez-flow__num { background: var(--ez-primary); }
[data-theme="dark"] .ez-mobile-cta { box-shadow: 0 -4px 16px rgba(0, 0, 0, .4); }
/* Inverted logos turn their white backgrounds black, which the screen blend then drops. */
[data-theme="dark"] .ez-marquee img { filter: grayscale(1) invert(1); mix-blend-mode: screen; opacity: .7; }
[data-theme="dark"] .ez-marquee img:hover { filter: grayscale(1) invert(1); opacity: 1; }
[data-theme="dark"] .ez-section--navy.e-con,
[data-theme="dark"] .ez-footer,
[data-theme="dark"] .ez-topbar { --ez-navy: #0A1636; --ez-navy-900: #050A1A; }
[data-theme="dark"] .elementor-popup-modal .dialog-widget-content { background: var(--ez-surface); }
/* Popup: Elementor draws a near-black close icon and a light shadow that vanish on a dark page. */
[data-theme="dark"] .elementor-popup-modal { background-color: rgba(2, 6, 18, .78) !important; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
[data-theme="dark"] .elementor-popup-modal .dialog-widget-content { border: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 40px 90px rgba(0, 0, 0, .65) !important; }
[data-theme="dark"] .elementor-popup-modal .dialog-close-button { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); color: var(--ez-ink); }
[data-theme="dark"] .elementor-popup-modal .dialog-close-button:hover { background: rgba(255, 255, 255, .16); }
[data-theme="dark"] .elementor-popup-modal .dialog-close-button svg { fill: var(--ez-ink); }
[data-theme="dark"] .ez-popup__left.e-con { --ez-navy: #0A1636; --ez-navy-900: #050A1A; border-right: 1px solid rgba(255, 255, 255, .06); }
[data-theme="dark"] .ez-bento__card h3,
[data-theme="dark"] .ez-bento__tall h3,
[data-theme="dark"] .ez-integration h3 { color: var(--ez-ink); }
[data-theme="dark"] .ez-tone-green strong { color: #4ADE80; }
[data-theme="dark"] .ez-tone-red strong { color: #F87171; }
[data-theme="dark"] .ez-tone-teal strong { color: #2DD4BF; }
[data-theme="dark"] .ez-bento__big { background: linear-gradient(160deg, rgba(204, 74, 0, .16), rgba(204, 74, 0, .04)); border-color: rgba(245, 185, 122, .25); }
[data-theme="dark"] .ez-bento__big h3 { color: #FB923C; }
[data-theme="dark"] .ez-bento__tall { background: linear-gradient(180deg, #16234A, #101932); border-color: var(--ez-line); }
[data-theme="dark"] .ez-bento__circuit { color: #2F4A8A; }
[data-theme="dark"] .ez-bento__wide { background: linear-gradient(135deg, rgba(248, 113, 113, .14), rgba(248, 113, 113, .04)); border-color: rgba(248, 113, 113, .25); }
[data-theme="dark"] .ez-bento__wide h3 { color: #FB923C; }
[data-theme="dark"] .ez-bento__icons { color: #F59E8B; }
