/* Homepage desktop art direction. Kept separate so the mobile slide experience
   remains intentionally independent. */
@media (min-width: 768px) {
  html:has(.eh-home) {
    scroll-snap-type: none;
  }

  .eh-desktop-experience > section,
  .eh-desktop-experience > .eh-final-cta {
    min-height: 0;
    scroll-snap-align: none;
  }

  .eh-home {
    --eh-ink: #07142f;
    --eh-blue: #245fe8;
    --eh-bright: #78a2ff;
    --eh-cream: #f1f0eb;
    --eh-line: rgba(7, 20, 47, .13);
    background: #f5f7fb;
  }

  body:has(.eh-home) .exact-desktop-header {
    padding: 18px 24px 0;
  }

  body:has(.eh-home) .exact-header-inner {
    width: min(1480px, 100%);
    min-height: 64px;
    padding: 7px 9px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 22px;
    background: rgba(3,12,29,.68);
    box-shadow: 0 20px 60px rgba(0,0,0,.18);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    transition: background .3s ease, border-color .3s ease, box-shadow .3s ease;
  }

  body:has(.eh-home) .exact-header-inner:has(.header-pill.scrolled) {
    border-color: rgba(12,31,70,.1);
    background: rgba(255,255,255,.94);
    box-shadow: 0 16px 48px rgba(10,30,68,.12);
  }

  body:has(.eh-home) .header-pill {
    min-height: 48px;
    border: 0 !important;
    border-radius: 15px;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none;
  }

  body:has(.eh-home) .header-quicknav {
    gap: 5px;
    padding-inline: 14px;
  }

  body:has(.eh-home) .quicknav-link {
    padding: 8px 15px;
  }

  .eh-shell {
    width: min(1480px, calc(100% - 96px));
  }

  .eh-hero {
    min-height: clamp(780px, 100svh, 960px);
    height: auto;
    max-height: none;
    isolation: isolate;
  }

  .eh-hero::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset-inline-end: 0;
    bottom: 0;
    width: 42%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(119, 163, 255, .72));
  }

  .eh-hero-media img {
    filter: saturate(.75) contrast(1.06);
    transform: scale(1.035);
    will-change: transform, filter;
  }

  [dir="rtl"] .eh-hero-media img,
  [dir="rtl"] .eh-hero-depth img {
    transform: scaleX(-1) scale(1.035);
  }

  .eh-hero-depth {
    position: absolute;
    z-index: 1;
    inset: -3%;
    overflow: hidden;
    pointer-events: none;
    opacity: .28;
    mix-blend-mode: screen;
    -webkit-mask-image: linear-gradient(90deg, transparent 35%, #000 68%, transparent 96%);
    mask-image: linear-gradient(90deg, transparent 35%, #000 68%, transparent 96%);
    will-change: transform, opacity;
  }

  .eh-hero-depth img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.9) contrast(1.08);
    transform: scale(1.075);
  }

  [dir="rtl"] .eh-hero-depth {
    -webkit-mask-image: linear-gradient(90deg, transparent 4%, #000 32%, transparent 65%);
    mask-image: linear-gradient(90deg, transparent 4%, #000 32%, transparent 65%);
  }

  [dir="rtl"] .eh-hero-depth img {
    transform: scaleX(-1) scale(1.075);
  }

  .eh-hero-overlay {
    background:
      linear-gradient(90deg, rgba(2, 8, 20, .05) 0%, rgba(2, 8, 20, .22) 40%, rgba(3, 10, 24, .86) 72%, #030917 100%),
      linear-gradient(0deg, rgba(2, 8, 20, .96) 0%, transparent 42%, rgba(2, 8, 20, .32) 100%);
  }

  .eh-hero-grid {
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    opacity: .13;
    background-image:
      linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 88px 88px;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 68%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 68%, transparent);
    will-change: transform, opacity;
  }

  .eh-city-coordinates {
    position: absolute;
    z-index: 3;
    inset-inline-end: clamp(55px, 5vw, 100px);
    bottom: 38px;
    display: flex;
    align-items: center;
    gap: 13px;
    direction: ltr;
    color: rgba(255,255,255,.4);
    font: 650 8px/1 "Manrope", sans-serif;
    letter-spacing: .14em;
    pointer-events: none;
    will-change: transform, opacity;
  }

  .eh-city-coordinates span {
    color: rgba(124,165,255,.88);
  }

  .eh-city-coordinates i {
    width: 44px;
    height: 1px;
    overflow: hidden;
    background: rgba(255,255,255,.2);
  }

  .eh-city-coordinates i::after {
    content: "";
    display: block;
    width: 48%;
    height: 100%;
    background: #79a1ff;
    animation: ehCoordinateScan 2.8s ease-in-out infinite alternate;
  }

  @keyframes ehCoordinateScan {
    from { transform: translateX(0); }
    to { transform: translateX(110%); }
  }

  .eh-hero-shell {
    min-height: clamp(780px, 100svh, 960px);
    padding: 135px 0 62px;
    grid-template-columns: minmax(0, 1.18fr) minmax(315px, .48fr);
    gap: clamp(48px, 6vw, 96px);
  }

  .eh-hero-copy {
    max-width: 780px;
    align-self: center;
  }

  .eh-hero-eyebrow {
    width: min(100%, 720px);
    margin-bottom: 34px;
    padding-bottom: 17px;
    font-size: 13px;
  }

  .eh-hero h1 {
    max-width: 780px;
    font-size: clamp(3.7rem, 4.65vw, 5.55rem);
    font-weight: 650;
    line-height: 1.035;
    letter-spacing: -.04em;
  }

  .eh-hero h1 span {
    color: #79a1ff;
  }

  .eh-hero-copy > p {
    max-width: 650px;
    margin-top: 24px;
    font-size: clamp(.95rem, 1.05vw, 1.1rem);
    line-height: 1.85;
  }

  .eh-btn {
    min-height: 58px;
    padding-inline: 28px;
    border-radius: 16px;
  }

  .eh-btn-primary {
    background: linear-gradient(135deg, #1a50d3, #2e6cf4);
    box-shadow: 0 18px 55px rgba(28, 91, 235, .35);
  }

  .eh-play-dot {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;
    font-size: 7px;
  }

  .eh-hero-proof {
    margin-top: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 26px;
    color: rgba(237, 243, 255, .56);
    font-size: 11px;
    font-weight: 650;
  }

  .eh-hero-proof span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
  }

  .eh-hero-proof span::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #75a0ff;
    box-shadow: 0 0 0 4px rgba(117,160,255,.1);
  }

  .eh-hero-command {
    width: min(100%, 365px);
    align-self: center;
    justify-self: start;
    display: block;
  }

  .eh-command-card {
    padding: 24px;
    color: #fff;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 26px;
    background: linear-gradient(145deg, rgba(13, 34, 75, .9), rgba(5, 15, 36, .78));
    box-shadow: 0 30px 90px rgba(0,0,0,.35);
    backdrop-filter: blur(24px);
  }

  .eh-command-head,
  .eh-command-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }

  .eh-command-head {
    color: rgba(255,255,255,.54);
    font-size: 10px;
    letter-spacing: .04em;
  }

  .eh-command-head b {
    color: #80a7ff;
    font: 700 9px var(--font-heading);
  }

  .eh-command-card h2 {
    margin: 24px 0 20px;
    font: 650 clamp(1.45rem, 1.75vw, 1.8rem)/1.35 var(--font-heading);
  }

  .eh-command-card ol {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(255,255,255,.12);
  }

  .eh-command-card li {
    min-height: 49px;
    display: grid;
    grid-template-columns: 31px 1fr;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid rgba(255,255,255,.1);
    color: rgba(255,255,255,.78);
    font-size: 12px;
  }

  .eh-command-card li b {
    color: #7da5ff;
    font: 700 9px var(--font-heading);
  }

  .eh-command-foot {
    margin-top: 18px;
    justify-content: flex-start;
    color: rgba(255,255,255,.55);
    font-size: 10px;
  }

  .eh-command-foot i {
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #52db9b;
    box-shadow: 0 0 0 5px rgba(82,219,155,.1);
  }

  .eh-command-foot a {
    width: 34px;
    height: 34px;
    margin-inline-start: auto;
    display: grid;
    place-items: center;
    color: #fff;
    border-radius: 50%;
    background: #2864ea;
  }

  .eh-hero-signal {
    width: 100%;
    min-height: 150px;
    padding: 20px 22px;
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    grid-template-rows: auto 1fr auto;
    column-gap: 25px;
    align-items: end;
    border-radius: 24px;
  }

  .eh-hero-signal .eh-signal-top {
    grid-column: 1 / -1;
  }

  .eh-hero-signal > strong {
    margin-top: 19px;
    font-size: 2.7rem;
  }

  .eh-hero-signal > p {
    grid-column: 1;
    margin: 5px 0 0;
  }

  .eh-signal-chart {
    grid-column: 2;
    grid-row: 2 / 4;
    height: 70px;
    margin: 0;
  }

  .eh-scroll-cue {
    display: none;
  }

  .eh-ticker {
    display: none;
  }

  .eh-ticker-track span {
    min-height: 58px;
    color: rgba(255,255,255,.75);
    font-size: 12px;
    letter-spacing: .02em;
  }

  .eh-ticker-track i {
    border-color: #6e9bff;
    background: rgba(91,139,255,.15);
  }

  .eh-proof-rail {
    padding: 27px 0;
    color: #fff;
    background: #164fcf;
  }

  .eh-proof-rail .eh-shell {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    align-items: center;
    gap: 60px;
  }

  .eh-proof-rail p {
    max-width: 430px;
    margin: 0;
    font: 650 1.3rem/1.55 var(--font-heading);
  }

  .eh-proof-rail .eh-shell > div {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-inline-start: 1px solid rgba(255,255,255,.2);
  }

  .eh-proof-rail .eh-shell > div span {
    min-height: 64px;
    padding-inline: 28px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: rgba(255,255,255,.58);
    border-inline-end: 1px solid rgba(255,255,255,.2);
    font-size: 10px;
  }

  .eh-proof-rail strong {
    display: block;
    margin-bottom: 5px;
    color: #fff;
    font: 700 1.65rem/1 var(--font-heading);
  }

  .eh-manifesto {
    padding: 118px 0 105px;
    background:
      radial-gradient(circle at 12% 8%, rgba(36,95,232,.09), transparent 26%),
      var(--eh-cream);
  }

  .eh-manifesto-intro h2 {
    font-size: clamp(3.25rem, 4.8vw, 5.7rem);
  }

  .eh-focus-grid {
    margin-top: 80px;
    gap: 14px;
    border: 0;
  }

  .eh-focus-card {
    min-height: 360px;
    padding: 32px;
    overflow: hidden;
    border: 1px solid rgba(7,20,47,.1);
    border-radius: 24px;
    background: rgba(255,255,255,.46);
  }

  .eh-focus-card:last-child {
    border: 1px solid rgba(7,20,47,.1);
  }

  .eh-focus-card:hover {
    background: #fff;
    box-shadow: 0 26px 70px rgba(18,42,89,.1);
  }

  .eh-focus-card h3 {
    margin-top: 105px;
  }

  .eh-services-stage {
    padding: 12px;
    gap: 12px;
    border: 1px solid rgba(7,20,47,.09);
    border-radius: 36px;
    background: #f3f5f9;
  }

  .eh-service-list {
    padding: 16px 6px;
  }

  .eh-service-tab {
    padding-inline: 24px;
    border: 0;
    border-radius: 18px;
  }

  .eh-service-tab:first-child {
    border: 0;
  }

  .eh-service-tab:hover,
  .eh-service-tab.is-active {
    background: #fff;
    box-shadow: 0 13px 35px rgba(16,38,83,.08);
  }

  .eh-service-tab.is-active {
    box-shadow: inset -3px 0 0 var(--eh-blue), 0 13px 35px rgba(16,38,83,.08);
  }

  .eh-impact {
    background:
      radial-gradient(circle at 12% 12%, rgba(115,160,255,.3), transparent 27%),
      linear-gradient(135deg, #0c3cae, #1e5be2 58%, #1649c6);
  }

  .eh-final-card {
    border-radius: 34px;
    background: linear-gradient(135deg, #0c2f82, #1f5de4 62%, #3475f5);
    box-shadow: 0 35px 100px rgba(22,74,192,.22);
  }
}

@media (min-width: 768px) and (max-width: 1180px) {
  .eh-shell { width: min(100% - 48px, 1080px); }
  .eh-hero-shell { grid-template-columns: 1fr 320px; gap: 35px; }
  .eh-hero h1 { font-size: clamp(3.7rem, 6vw, 5.2rem); }
  .eh-command-card { padding: 21px; }
  .eh-command-card h2 { font-size: 1.55rem; }
  .eh-proof-rail .eh-shell { grid-template-columns: 1fr; gap: 24px; }
  .eh-proof-rail .eh-shell > div { border-inline-start: 0; }
}

@media (min-width: 768px) and (max-width: 980px) {
  .eh-hero-shell {
    grid-template-columns: 1fr;
    align-items: center;
  }
  .eh-hero-command { display: none; }
  .eh-hero-copy { max-width: 760px; }
  .eh-hero-copy > p { max-width: 630px; }
  .eh-city-coordinates { display: none; }
}

@media (min-width: 768px) and (max-height: 820px) {
  .eh-hero { min-height: 760px; }
  .eh-hero-shell { padding-top: 130px; padding-bottom: 45px; }
  .eh-hero h1 { font-size: clamp(3.65rem, 4.8vw, 5.25rem); }
  .eh-command-card h2 { margin-block: 21px 18px; }
  .eh-command-card li { min-height: 47px; }
  .eh-hero-proof { margin-top: 22px; }
}

/* ============================================================
   V4 — CONVERGENCE HERO
   A calm decision system: many signals resolve into one point.
   ============================================================ */
@media (min-width: 768px) {
  body:has(.eh-convergence-hero) .exact-desktop-header {
    padding: 22px 32px 0;
  }

  body:has(.eh-convergence-hero) .exact-header-inner {
    width: min(1540px, 100%);
    min-height: 56px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  body:has(.eh-convergence-hero) .exact-header-inner:has(.header-pill.scrolled) {
    padding: 7px 9px;
    border: 1px solid rgba(12,31,70,.1);
    border-radius: 20px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 16px 48px rgba(10,30,68,.12);
    backdrop-filter: blur(22px);
  }

  body:has(.eh-convergence-hero) .exact-header-inner:has(.header-pill.scrolled) .quicknav-link {
    color: #31405e !important;
  }

  body:has(.eh-convergence-hero) .exact-header-inner:has(.header-pill.scrolled) .exact-action-pill > a:last-child {
    background: #1b50d4;
  }

  body:has(.eh-convergence-hero) .header-pill {
    min-height: 48px;
    padding-block: 0;
  }

  body:has(.eh-convergence-hero) .exact-brand-pill .exact-menu-toggle,
  body:has(.eh-convergence-hero) .exact-action-pill > .theme-toggle {
    display: none;
  }

  body:has(.eh-convergence-hero) .header-quicknav {
    gap: clamp(14px, 2vw, 34px);
    padding: 0;
  }

  body:has(.eh-convergence-hero) .quicknav-link {
    padding: 8px 10px;
    color: rgba(255,255,255,.68) !important;
    font-size: 13px;
  }

  body:has(.eh-convergence-hero) .quicknav-link:hover,
  body:has(.eh-convergence-hero) .quicknav-link.is-active {
    color: #fff !important;
    background: transparent;
  }

  body:has(.eh-convergence-hero) .exact-action-pill {
    gap: 8px;
  }

  body:has(.eh-convergence-hero) .exact-action-pill > a:last-child {
    min-height: 46px;
    padding: 0 17px 0 22px;
    border: 1px solid rgba(255,255,255,.13);
    background: rgba(255,255,255,.035);
    box-shadow: none;
  }

  body:has(.eh-convergence-hero) .exact-action-pill > a:last-child span {
    width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    color: #061020 !important;
    border-radius: 50%;
    background: #f3f5f8;
  }

  .eh-convergence-hero {
    position: relative;
    min-height: clamp(780px, 100svh, 980px);
    overflow: hidden;
    color: #f8faff;
    background:
      radial-gradient(circle at 82% 50%, rgba(25,68,164,.2), transparent 28%),
      radial-gradient(circle at 48% 88%, rgba(13,34,79,.14), transparent 35%),
      #02050d;
  }

  .eh-convergence-hero::after {
    display: none;
  }

  [dir="rtl"] .eh-convergence-hero {
    background:
      radial-gradient(circle at 18% 50%, rgba(25,68,164,.2), transparent 28%),
      radial-gradient(circle at 52% 88%, rgba(13,34,79,.14), transparent 35%),
      #02050d;
  }

  .eh-convergence-hero::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(2,5,13,.98) 0%, rgba(2,5,13,.88) 25%, transparent 54%);
  }

  [dir="rtl"] .eh-convergence-hero::before {
    transform: scaleX(-1);
  }

  .eh-convergence-bg,
  .eh-convergence-bg canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .eh-convergence-bg {
    z-index: 1;
    pointer-events: none;
  }

  .eh-convergence-bg canvas {
    display: block;
  }

  .eh-convergence-halo {
    position: absolute;
    top: 50%;
    left: 84%;
    width: 430px;
    height: 430px;
    border-radius: 50%;
    opacity: .55;
    transform: translate(-50%,-50%);
    background: radial-gradient(circle, rgba(42,99,235,.22), rgba(14,43,108,.08) 33%, transparent 68%);
    animation: ehHaloBreath 3.2s ease-in-out infinite;
  }

  [dir="rtl"] .eh-convergence-halo {
    left: 16%;
  }

  @keyframes ehHaloBreath {
    0%,100% { opacity: .35; transform: translate(-50%,-50%) scale(.92); }
    50% { opacity: .72; transform: translate(-50%,-50%) scale(1.06); }
  }

  .eh-convergence-endpoint {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 84%;
    width: 13px;
    height: 13px;
    opacity: 0;
    transform: translate(-50%,-50%);
    transition: opacity .9s ease;
  }

  [dir="rtl"] .eh-convergence-endpoint {
    left: 16%;
  }

  .eh-convergence-hero.is-resolved .eh-convergence-endpoint {
    opacity: 1;
  }

  .eh-convergence-endpoint i {
    position: absolute;
    inset: 0;
    border: 3px solid rgba(255,255,255,.38);
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 12px #fff, 0 0 34px #477df7, 0 0 75px rgba(53,110,249,.65);
    animation: ehEndpointPulse 2.4s ease-in-out infinite;
  }

  @keyframes ehEndpointPulse {
    0%,100% { transform: scale(.86); box-shadow: 0 0 10px #fff,0 0 28px #477df7,0 0 55px rgba(53,110,249,.5); }
    50% { transform: scale(1.15); box-shadow: 0 0 15px #fff,0 0 42px #477df7,0 0 90px rgba(53,110,249,.72); }
  }

  .eh-convergence-endpoint span {
    position: absolute;
    top: 31px;
    inset-inline-start: 33px;
    width: 165px;
    color: #6e99ff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
  }

  .eh-convergence-hero .eh-hero-shell {
    min-height: clamp(780px, 100svh, 980px);
    padding: 145px 0 92px;
    display: flex;
    align-items: center;
  }

  .eh-convergence-hero .eh-hero-copy {
    z-index: 4;
    width: min(47%, 690px);
    max-width: 690px;
  }

  .eh-convergence-hero .eh-hero-eyebrow {
    width: auto;
    margin-bottom: 28px;
    padding: 0;
    justify-content: flex-start;
    border: 0;
    color: rgba(255,255,255,.58);
    font-size: 10px;
    letter-spacing: .13em;
    text-transform: uppercase;
  }

  .eh-convergence-hero .eh-hero-eyebrow i {
    width: 22px;
    height: 2px;
    border-radius: 0;
    box-shadow: none;
    background: #467cff;
  }

  .eh-convergence-hero h1 {
    max-width: 690px;
    color: #f8faff;
    font-size: clamp(3.65rem, 5.1vw, 5.8rem);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -.045em;
  }

  .eh-convergence-hero h1 span,
  [dir="ltr"] .eh-convergence-hero h1 span {
    display: block;
    margin: .12em 0 0;
    color: #4778ef;
  }

  .eh-convergence-hero .eh-hero-copy > p {
    max-width: 520px;
    margin-top: 25px;
    color: rgba(225,232,247,.65);
    font-size: 15px;
    line-height: 1.75;
  }

  .eh-convergence-hero .eh-hero-actions {
    margin-top: 34px;
    align-items: center;
    gap: 28px;
  }

  .eh-convergence-hero .eh-btn-primary {
    min-height: 54px;
    padding-inline: 23px;
    border-radius: 14px;
    background: linear-gradient(135deg,#315fe3,#3f72f4);
    box-shadow: 0 18px 45px rgba(42,91,224,.25);
  }

  .eh-btn-text {
    min-height: 42px;
    padding: 0 0 4px;
    color: rgba(255,255,255,.76);
    border-bottom: 1px solid #315dd2;
    border-radius: 0;
    font-weight: 500;
  }

  .eh-btn-text:hover {
    color: #fff;
    transform: translateY(-2px);
  }

  .eh-convergence-hero + .eh-ticker + .eh-proof-rail {
    padding: 25px 0;
    border-top: 1px solid rgba(255,255,255,.07);
    color: #fff;
    background: #02050d;
  }

  .eh-convergence-hero + .eh-ticker + .eh-proof-rail p {
    color: rgba(255,255,255,.48);
    font-size: 11px;
    letter-spacing: .06em;
  }

  .eh-convergence-hero + .eh-ticker + .eh-proof-rail .eh-shell > div span {
    color: rgba(255,255,255,.42);
  }

  .eh-convergence-hero + .eh-ticker + .eh-proof-rail strong {
    color: rgba(255,255,255,.84);
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .eh-convergence-hero .eh-hero-copy { width: 53%; }
  .eh-convergence-hero h1 { font-size: clamp(3.3rem, 6vw, 4.7rem); }
  .eh-convergence-endpoint span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .eh-convergence-endpoint,
  .eh-convergence-hero.is-resolved .eh-convergence-endpoint { opacity: 1; }
  .eh-convergence-halo,
  .eh-convergence-endpoint i { animation: none; }
}

/* ============================================================
   V4.2 — FULL-VIEWPORT DESKTOP SLIDES
   The desktop and tablet homepage now uses the same screen-by-screen
   interaction model as mobile, while preserving the wider composition.
   ============================================================ */
@media (min-width: 768px) {
  html:has(.eh-desktop-experience),
  body:has(.eh-desktop-experience) {
    height: 100%;
    overflow: hidden;
    overscroll-behavior: none;
  }

  body:has(.eh-desktop-experience) main {
    height: 100svh;
    overflow: hidden;
  }

  body:has(.eh-desktop-experience) > footer,
  body:has(.eh-desktop-experience) .scroll-progress,
  .eh-desktop-experience > .eh-ticker,
  .eh-desktop-experience > .eh-proof-rail {
    display: none !important;
  }

  .eh-desktop-experience {
    position: relative;
    height: 100svh;
    overflow-x: hidden;
    overflow-y: auto;
    scroll-behavior: smooth;
    scroll-snap-type: y mandatory;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .eh-desktop-experience::-webkit-scrollbar {
    display: none;
  }

  .eh-desktop-experience > section[data-desktop-slide] {
    position: relative;
    width: 100%;
    height: 100svh;
    min-height: 100svh;
    max-height: 100svh;
    padding: 0;
    overflow: hidden;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .eh-desktop-experience > section[data-desktop-slide] > .eh-shell {
    height: 100%;
    min-height: 0;
    padding-top: clamp(88px, 11vh, 122px);
    padding-bottom: clamp(54px, 7vh, 80px);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .eh-convergence-hero,
  .eh-convergence-hero .eh-hero-shell {
    height: 100svh;
    min-height: 100svh;
    max-height: 100svh;
  }

  .eh-convergence-hero .eh-hero-shell {
    padding-top: clamp(112px, 14vh, 150px);
    padding-bottom: clamp(54px, 7vh, 78px);
  }

  .eh-desktop-experience > .eh-convergence-hero > .eh-hero-shell {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
  }

  [dir="rtl"] .eh-desktop-experience > .eh-convergence-hero > .eh-hero-shell {
    direction: rtl;
  }

  [dir="rtl"] .eh-convergence-hero .eh-hero-copy {
    margin-right: 0;
    margin-left: auto;
    text-align: right;
  }

  [dir="rtl"] .eh-convergence-hero .eh-hero-eyebrow,
  [dir="rtl"] .eh-convergence-hero .eh-hero-actions {
    justify-content: flex-start;
  }

  .eh-manifesto-intro h2 {
    margin-top: clamp(20px, 3vh, 30px);
    font-size: clamp(2.55rem, 4.15vw, 4.8rem);
  }

  .eh-focus-grid {
    width: 100%;
    margin-top: clamp(30px, 5.7vh, 62px);
    gap: 12px;
  }

  .eh-focus-card {
    min-height: 0;
    height: clamp(220px, 34vh, 310px);
    padding: clamp(22px, 2.3vw, 32px);
  }

  .eh-focus-card h3 {
    margin-top: clamp(48px, 9vh, 82px);
    font-size: clamp(1.25rem, 1.75vw, 1.8rem);
  }

  .eh-focus-card p {
    margin-top: 11px;
    font-size: clamp(12px, .9vw, 14px);
    line-height: 1.7;
  }

  .eh-services > .eh-shell {
    justify-content: flex-start;
  }

  .eh-section-head {
    flex: 0 0 auto;
    margin-bottom: clamp(22px, 3.8vh, 42px);
    gap: clamp(35px, 6vw, 80px);
  }

  .eh-section-head h2 {
    margin-top: 18px;
    font-size: clamp(2.15rem, 3.25vw, 3.75rem);
  }

  .eh-section-head > div:last-child > p {
    font-size: clamp(12px, .9vw, 14px);
    line-height: 1.72;
  }

  .eh-services-stage {
    min-height: 0;
    height: auto;
    flex: 1 1 auto;
    grid-template-columns: minmax(270px, .86fr) minmax(0, 1.14fr);
    overflow: hidden;
    border-radius: 28px;
  }

  .eh-service-list {
    min-height: 0;
    padding: 7px 4px;
    display: flex;
    flex-direction: column;
  }

  .eh-service-tab {
    min-height: 0;
    padding: 11px clamp(13px, 1.5vw, 22px);
    grid-template-columns: 32px minmax(0, 1fr) 22px;
    gap: 10px;
    border-radius: 14px;
  }

  .eh-service-tab:hover,
  .eh-service-tab.is-active {
    padding-inline: clamp(16px, 1.75vw, 25px);
  }

  .eh-service-tab-copy strong {
    font-size: clamp(.9rem, 1.15vw, 1.2rem);
  }

  .eh-service-tab-copy small {
    font-size: 10px;
    line-height: 1.5;
  }

  .eh-service-tab.is-active .eh-service-tab-copy small {
    max-height: 36px;
    margin-top: 4px;
  }

  .eh-service-visual,
  .eh-service-image {
    width: 100%;
    height: 100%;
    min-height: 0;
    border-radius: 23px;
  }

  .eh-service-icon {
    top: 20px;
    inset-inline-start: 20px;
    width: 46px;
    height: 46px;
    border-radius: 14px;
  }

  .eh-service-features {
    inset-inline-start: 25px;
    bottom: 75px;
  }

  .eh-service-features > span {
    margin-bottom: 10px;
  }

  .eh-service-features p {
    margin-top: 6px;
    font-size: 12px;
  }

  .eh-service-link {
    inset-inline-end: 20px;
    bottom: 20px;
    min-height: 42px;
    padding-inline: 17px;
    font-size: 11px;
  }

  .eh-impact-title h2 {
    margin-top: 20px;
    font-size: clamp(2.5rem, 4vw, 4.55rem);
  }

  .eh-impact-stats {
    margin-top: clamp(35px, 6.5vh, 70px);
  }

  .eh-impact-stat {
    min-height: 0;
    height: clamp(150px, 24vh, 215px);
    padding: clamp(24px, 3vh, 36px) clamp(16px, 2vw, 28px);
  }

  .eh-impact-stat strong {
    font-size: clamp(3rem, 4.8vw, 5.25rem);
  }

  .eh-impact-note {
    margin-top: 22px;
  }

  .eh-process > .eh-shell {
    justify-content: center;
  }

  .eh-process-track {
    margin-top: clamp(10px, 2vh, 24px);
  }

  .eh-process-step {
    min-height: 0;
    height: clamp(210px, 34vh, 300px);
    padding-inline-end: clamp(18px, 2.5vw, 34px);
  }

  .eh-process-node {
    height: 58px;
  }

  .eh-process-track::before {
    top: 28px;
  }

  .eh-process-step small {
    margin-top: clamp(24px, 5vh, 40px);
  }

  .eh-process-step h3 {
    font-size: clamp(1.12rem, 1.65vw, 1.55rem);
  }

  .eh-process-step p {
    margin-top: 10px;
    font-size: clamp(11px, .86vw, 13px);
    line-height: 1.68;
  }

  .eh-sectors > .eh-shell {
    padding-top: clamp(82px, 10vh, 112px);
    padding-bottom: clamp(40px, 5.5vh, 64px);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    justify-content: stretch;
  }

  .eh-sectors-head {
    margin-bottom: clamp(18px, 3vh, 34px);
    gap: clamp(32px, 6vw, 75px);
  }

  .eh-sectors-copy h2 {
    margin-top: 17px;
    font-size: clamp(1.9rem, 2.85vw, 3.25rem);
  }

  .eh-sectors-intro p {
    font-size: clamp(11px, .82vw, 13px);
    line-height: 1.65;
  }

  .eh-sectors-intro > span {
    margin-top: 10px;
  }

  .eh-sector-grid {
    height: 100%;
    min-height: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-rows: minmax(0, 1fr);
    gap: clamp(7px, .75vw, 11px);
  }

  .eh-sector-item:nth-child(1),
  .eh-sector-item:nth-child(6),
  .eh-sector-item:nth-child(7),
  .eh-sector-item:nth-child(12) {
    grid-column: span 1;
  }

  .eh-sector-card {
    border-radius: 16px;
  }

  .eh-sector-meta {
    top: 10px;
    right: 11px;
    left: 11px;
  }

  .eh-sector-icon {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    font-size: 10px;
  }

  .eh-sector-card h3 {
    right: 12px;
    bottom: 12px;
    left: 12px;
    font-size: clamp(.78rem, 1vw, 1rem);
  }

  .eh-sector-open {
    display: none;
  }

  .eh-voices > .eh-shell {
    justify-content: center;
  }

  .eh-voice-grid {
    align-items: center;
    gap: clamp(38px, 6vw, 80px);
  }

  .eh-voice-aside h2 {
    margin-top: 22px;
    font-size: clamp(2.15rem, 3.2vw, 3.5rem);
  }

  .eh-voice-controls {
    margin-top: clamp(32px, 6vh, 62px);
  }

  .eh-quote-panel {
    min-height: 0;
    height: clamp(330px, 56vh, 470px);
    padding: clamp(35px, 4.5vw, 58px);
  }

  .eh-quote-panel blockquote {
    font-size: clamp(1.45rem, 2.2vw, 2.55rem);
    line-height: 1.48;
  }

  .eh-quote-panel footer {
    margin-top: clamp(25px, 4vh, 44px);
  }

  .eh-final-cta > .eh-shell {
    justify-content: center;
  }

  .eh-final-card {
    width: 100%;
    min-height: 0;
    height: clamp(480px, 72vh, 650px);
    padding: clamp(48px, 6vw, 82px);
    border-radius: 30px;
  }

  .eh-final-card h2 {
    font-size: clamp(2.65rem, 4.35vw, 4.9rem);
  }

  .eh-slide-dock {
    position: fixed;
    z-index: 48;
    top: 50%;
    inset-inline-end: 17px;
    width: 48px;
    padding: 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    color: #fff;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 19px;
    background: rgba(2,7,17,.72);
    box-shadow: 0 18px 50px rgba(0,0,0,.22);
    backdrop-filter: blur(20px) saturate(1.2);
    -webkit-backdrop-filter: blur(20px) saturate(1.2);
    transform: translateY(-50%);
  }

  .eh-slide-dock > button {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    color: rgba(255,255,255,.76);
    border: 0;
    border-radius: 13px;
    background: rgba(255,255,255,.065);
    transition: color .25s ease, background .25s ease, opacity .25s ease;
  }

  .eh-slide-dock > button:hover {
    color: #fff;
    background: #245fe8;
  }

  .eh-slide-dock > button:disabled {
    opacity: .25;
  }

  .eh-slide-dock > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
  }

  .eh-slide-dock [data-desktop-slide-number] {
    direction: ltr;
    color: #83a7ff;
    font: 700 9px/1 "Manrope", sans-serif;
    letter-spacing: .08em;
  }

  .eh-slide-dock > div > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
  }

  .eh-slide-dock [data-desktop-slide-go] {
    width: 3px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.24);
    transition: height .3s ease, background .3s ease, box-shadow .3s ease;
  }

  .eh-slide-dock [data-desktop-slide-go]:hover {
    background: rgba(255,255,255,.68);
  }

  .eh-slide-dock [data-desktop-slide-go].is-active {
    height: 24px;
    background: #5f8eff;
    box-shadow: 0 0 12px rgba(74,124,255,.65);
  }

  .eh-slide-dock [data-desktop-slide-name] {
    max-width: 58px;
    overflow: hidden;
    color: rgba(255,255,255,.5);
    font-size: 8px;
    line-height: 1;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (min-width: 768px) and (max-width: 980px) {
  .eh-desktop-experience > section[data-desktop-slide] > .eh-shell {
    padding-top: clamp(82px, 10vh, 105px);
    padding-bottom: clamp(38px, 5vh, 58px);
  }

  .eh-convergence-hero .eh-hero-shell {
    padding-top: clamp(108px, 14vh, 135px);
  }

  .eh-services-stage {
    grid-template-columns: minmax(245px, .88fr) minmax(0, 1.12fr);
  }

  .eh-services .eh-section-head,
  .eh-process .eh-section-head {
    grid-template-columns: 1.08fr .72fr;
    gap: 28px;
  }

  .eh-service-tab-copy small {
    display: none;
  }

  .eh-impact-stats {
    grid-template-columns: repeat(4, 1fr);
  }

  .eh-impact-stat:nth-child(2) {
    border-inline-end: 1px solid rgba(255,255,255,.25);
  }

  .eh-impact-stat:nth-child(-n+2) {
    border-bottom: 0;
  }

  .eh-process-track {
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
  }

  .eh-process-track::before {
    display: block;
  }

  .eh-process-node {
    border-bottom: 0;
  }

  .eh-voice-grid {
    grid-template-columns: .7fr 1.3fr;
    gap: 34px;
  }

  .eh-slide-dock {
    inset-inline-end: 10px;
  }
}

@media (min-width: 768px) and (max-height: 760px) {
  .eh-desktop-experience > section[data-desktop-slide] > .eh-shell {
    padding-top: 78px;
    padding-bottom: 38px;
  }

  .eh-convergence-hero .eh-hero-shell {
    padding-top: 102px;
    padding-bottom: 38px;
  }

  .eh-convergence-hero h1 {
    font-size: clamp(3.05rem, 5vw, 4.5rem);
  }

  .eh-convergence-hero .eh-hero-copy > p {
    margin-top: 18px;
    line-height: 1.62;
  }

  .eh-convergence-hero .eh-hero-actions {
    margin-top: 25px;
  }

  .eh-manifesto-intro h2,
  .eh-impact-title h2 {
    font-size: clamp(2.25rem, 3.65vw, 3.85rem);
  }

  .eh-focus-grid {
    margin-top: 27px;
  }

  .eh-focus-card {
    height: min(31vh, 225px);
    padding: 20px 22px;
  }

  .eh-focus-card h3 {
    margin-top: 35px;
  }

  .eh-services .eh-section-head,
  .eh-process .eh-section-head {
    margin-bottom: 19px;
  }

  .eh-section-head h2 {
    margin-top: 12px;
    font-size: clamp(1.85rem, 2.8vw, 3rem);
  }

  .eh-services .eh-section-head > div:last-child > p,
  .eh-process .eh-section-head > div:last-child > p {
    font-size: 11px;
    line-height: 1.55;
  }

  .eh-service-features p:nth-of-type(3) {
    display: none;
  }

  .eh-impact-stats {
    margin-top: 30px;
  }

  .eh-impact-stat {
    height: 145px;
  }

  .eh-process-step {
    height: 210px;
  }

  .eh-process-step small {
    margin-top: 20px;
  }

  .eh-sectors > .eh-shell {
    padding-top: 72px;
    padding-bottom: 30px;
  }

  .eh-sectors-head {
    margin-bottom: 14px;
  }

  .eh-sectors-copy h2 {
    margin-top: 11px;
    font-size: clamp(1.55rem, 2.35vw, 2.45rem);
  }

  .eh-sectors-intro p {
    line-height: 1.45;
  }

  .eh-sectors-intro > span {
    display: none;
  }

  .eh-quote-panel {
    height: min(57vh, 390px);
    padding: 30px 36px;
  }

  .eh-final-card {
    height: min(76vh, 535px);
    padding: 45px 55px;
  }
}

@media (min-width: 768px) and (max-height: 620px) {
  .eh-kicker {
    font-size: 10px;
  }

  .eh-focus-card p,
  .eh-services .eh-section-head > div:last-child,
  .eh-process .eh-section-head > div:last-child,
  .eh-sectors-intro p {
    display: none;
  }

  .eh-focus-card {
    height: 190px;
  }

  .eh-focus-card h3 {
    margin-top: 27px;
  }

  .eh-impact-note {
    display: none;
  }

  .eh-process-step p {
    -webkit-line-clamp: 3;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
  }

  .eh-slide-dock [data-desktop-slide-name] {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) and (min-width: 768px) {
  .eh-desktop-experience {
    scroll-behavior: auto;
  }

  .eh-slide-dock [data-desktop-slide-go] {
    transition: none;
  }
}

/* The homepage header stays legible over both dark and light slides. */
@media (min-width: 768px) {
  body:has(.eh-desktop-experience) .exact-header-inner,
  body:has(.eh-desktop-experience) .exact-header-inner:has(.header-pill.scrolled) {
    width: min(1540px, 100%);
    min-height: 56px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body:has(.eh-desktop-experience) .header-pill,
  body:has(.eh-desktop-experience) .header-pill.scrolled,
  body:has(.eh-desktop-experience) .header-pill:not(.scrolled) {
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background: rgba(3,10,24,.88) !important;
    box-shadow: 0 14px 42px rgba(0,0,0,.2) !important;
    backdrop-filter: blur(22px) saturate(1.2) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.2) !important;
  }

  body:has(.eh-desktop-experience) .exact-brand-pill .site-logo-link,
  body:has(.eh-desktop-experience) .exact-brand-pill .site-logo-link span,
  body:has(.eh-desktop-experience) .exact-brand-pill .exact-menu-toggle,
  body:has(.eh-desktop-experience) .header-quicknav .quicknav-link,
  body:has(.eh-desktop-experience) .header-quicknav .quicknav-link.is-active,
  body:has(.eh-desktop-experience) .header-quicknav .quicknav-link:hover,
  body:has(.eh-desktop-experience) .exact-action-pill > .theme-toggle {
    color: #fff !important;
  }

  body:has(.eh-desktop-experience) .exact-brand-pill img,
  body:has(.eh-desktop-experience) .exact-brand-pill .custom-logo {
    filter: brightness(0) invert(1) !important;
  }

  body:has(.eh-desktop-experience) .exact-action-pill > a.lang-switch--pill {
    color: rgba(255,255,255,.86) !important;
    border-color: rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.07) !important;
  }

  body:has(.eh-desktop-experience) .exact-action-pill > a:last-child {
    color: #fff !important;
    border-color: rgba(255,255,255,.12) !important;
    background: #1b50d4 !important;
  }

  body:has(.eh-desktop-experience) .exact-action-pill > a:last-child span {
    color: #061020 !important;
    background: #fff !important;
  }
}
