/* cyrillic-ext */
/* cyrillic */
/* vietnamese */
/* latin-ext */
/* latin */
/* cyrillic-ext */
/* cyrillic */
/* vietnamese */
/* latin-ext */
/* latin */
/* cyrillic-ext */
/* cyrillic */
/* vietnamese */
/* latin-ext */
/* latin */
/* cyrillic-ext */
/* cyrillic */
/* vietnamese */
/* latin-ext */
/* latin */
/* cyrillic-ext */
/* cyrillic */
/* vietnamese */
/* latin-ext */
/* latin */
/* cyrillic-ext */
/* cyrillic */
/* vietnamese */
/* latin-ext */
/* latin */
/* cyrillic-ext */
/* cyrillic */
/* vietnamese */
/* latin-ext */
/* latin */
/* vietnamese */
/* latin-ext */
/* latin */
/* vietnamese */
/* latin-ext */
/* latin */
/* vietnamese */
/* latin-ext */
/* latin */
/* vietnamese */
/* latin-ext */
/* latin */
* { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; }
  body { font-family: 'Geist Variable', system-ui, sans-serif; background: #ffffff; color: #211C16; -webkit-font-smoothing: antialiased; line-height: 1.6; letter-spacing: -0.01em; }
  a { color: inherit; text-decoration: none; }
  @keyframes pulseP { 0%,100% { opacity: 1; } 50% { opacity: 0.32; } }
  @keyframes travelP { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
  @keyframes marqueeP { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  @keyframes beamSpin { from { transform: translate(-50%,-50%) rotate(0deg); } to { transform: translate(-50%,-50%) rotate(360deg); } }
  [data-logocell]{transition:opacity .25s ease, background .25s ease; opacity:0.78;} [data-logocell]:hover{opacity:1; background:#ECECE9 !important;}
  .pillCta:hover{transform:translateY(-1.5px); box-shadow:0 10px 22px -8px rgba(0,0,0,0.3);}
  details > summary { transition: color .2s ease; } details:hover { background:rgba(0,0,0,0.02); }


/* Production shell, approved readability rules, and responsive adaptation. */
:root { --platform-accent: var(--ploy-accent-tertiary); }
#platform-page { overflow-x: clip; font-family: "Geist Variable", system-ui, sans-serif; }
#platform-page a { text-decoration: none; }
.platform-header { position: sticky; top: 0; z-index: 160; background: var(--ploy-background-primary); }
.platform-header__announcement { background: var(--ploy-background-inverse); color: var(--ploy-text-inverse); font-size: 13px; font-weight: 500; padding: 10px 24px; display: flex; gap: 10px; justify-content: center; align-items: center; text-align: center; }
.platform-header__announcement a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.platform-header__nav { position: sticky; top: 0; z-index: 150; display: grid; grid-template-columns: auto 1fr auto; align-items: center; min-height: 82px; padding: 0 58px 0 52px; background: var(--ploy-background-primary); border-bottom: 1px solid color-mix(in srgb,var(--platform-accent) 38%,transparent); }
.platform-header__brand { display: flex; align-items: center; gap: 38px; }
.platform-header__brand > a { display: inline-flex; align-items: center; }
.platform-header__brand > a img { display: block; height: 17px; width: auto; }
.platform-header__product { position: static; display: flex; align-items: center; align-self: stretch; }
.platform-header__product-link { display: inline-flex; height: 100%; align-items: center; justify-content: center; gap: 8px; padding: 0; border: 0; background: transparent; color: var(--ploy-text-primary); cursor: pointer; font: inherit; line-height: 0; }
.platform-header__platform-logo { display: block; width: auto; height: 17px !important; filter: brightness(0); }
.platform-header__bracket { display: block; width: 11px; height: auto; transition: transform .18s ease; }
.platform-header__product-link[aria-expanded="true"] .platform-header__bracket { transform: rotate(180deg); }
.platform-header__links { display: flex; align-items: center; gap: 30px; margin-left: 30px; }
.platform-header__links a { color: var(--ploy-text-primary); font-size: 14px; font-weight: 500; line-height: 1; }
.platform-header__links a:hover { color: var(--platform-accent); }
.platform-header__cta { justify-self: end; min-width: 136px; padding: 13px 24px; }
.platform-mega-menu { position: absolute; top: 100%; left: 182px; width: min(854px,calc(100vw - 220px)); display: grid; grid-template-columns: minmax(0,1fr) 190px; gap: 36px; padding: 30px 32px 34px; background: var(--ploy-background-primary); border: 1px solid color-mix(in srgb,var(--ploy-neutral-inverse) 8%,transparent); box-shadow: 0 22px 42px -30px color-mix(in srgb,var(--ploy-neutral-inverse) 32%,transparent); opacity: 0; visibility: hidden; transform: translateY(-7px); transition: opacity .18s ease, transform .18s ease, visibility .18s; }
.platform-mega-menu.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
.platform-mega-menu__products { display: grid; }
.platform-mega-menu__product { display: grid; grid-template-columns: 168px minmax(0,1fr); gap: 24px; align-items: center; min-height: 72px; color: var(--ploy-text-primary); border-bottom: 1px solid color-mix(in srgb,var(--ploy-neutral-inverse) 9%,transparent); }
.platform-mega-menu__product:last-child { border-bottom: 0; }
.platform-mega-menu__wordmark-wrap { display: flex; align-items: center; min-width: 0; }
.platform-mega-menu__wordmark { display: block; width: auto; height: 18px; max-width: none; flex: none; }
.platform-mega-menu__wordmark--signal { height: 23.4px; transform: translateY(3px); }
.platform-mega-menu__product small { color: var(--ploy-text-secondary); font-size: 13px; line-height: 1.35; }
.platform-mega-menu__product:hover small, .platform-mega-menu__more a:hover { color: var(--platform-accent); }
.platform-mega-menu__more { display: flex; flex-direction: column; justify-content: center; padding-left: 32px; border-left: 1px solid color-mix(in srgb,var(--ploy-neutral-inverse) 9%,transparent); }
.platform-mega-menu__more a { display: block; margin-bottom: 20px; color: var(--ploy-text-primary); font-size: 15px; line-height: 1.2; font-weight: 500; }
.platform-mega-menu__more a:last-child { margin-bottom: 0; }
.platform-button { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; font-size: 14px; font-weight: 600; padding: 14px 26px; transition: transform .18s ease, box-shadow .18s ease; }
.platform-button--primary { background: var(--ploy-background-inverse); color: var(--ploy-text-inverse); }
.platform-button--primary:hover { transform: translateY(-1px); box-shadow: 0 14px 30px -12px color-mix(in srgb, var(--platform-accent) 60%, transparent); }
.platform-button--link { color: var(--ploy-text-primary); gap: 7px; }
.platform-hero { max-width: 1120px; margin: 0 auto; padding: 109px 52px 36px; text-align: center; position: relative; isolation: isolate; }
.platform-hero__badge { display: inline-flex; align-items: center; gap: 9px; padding: 9px 20px; border: 1.5px solid transparent; border-radius: 999px; background: linear-gradient(var(--ploy-background-primary),var(--ploy-background-primary)) padding-box, linear-gradient(100deg,var(--platform-accent),color-mix(in srgb,var(--platform-accent) 55%,white)) border-box; font-size: 10.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ploy-text-primary); margin-bottom: 28px; }
.platform-hero__badge img { width: 18px; height: 18px; }
.platform-hero__title { font-size: 56px; font-weight: 400; line-height: .98; letter-spacing: -.032em; max-width: 880px; margin: 0 auto 24px; text-wrap: balance; }
.platform-hero__title em { font-style: normal; }
.platform-hero__copy { font-size: 15.5px; line-height: 1.68; color: var(--ploy-text-primary); max-width: 620px; margin: 0 auto 36px; text-wrap: pretty; }
.platform-hero__actions { display: flex; gap: 16px; justify-content: center; align-items: center; margin-bottom: 32px; }
.platform-hero__metrics { display: flex; justify-content: center; align-items: stretch; margin: 0 auto 30px; flex-wrap: wrap; }
.platform-hero__metrics div { text-align: center; padding: 0 26px; border-right: 1px solid var(--ploy-border-primary); }
.platform-hero__metrics div:last-child { border-right: 0; }
.platform-hero__metrics strong { display: block; font-size: 34px; line-height: 1; font-weight: 400; color: var(--ploy-text-primary); }
.platform-hero__metrics span { display: block; font-size: 12px; color: var(--ploy-text-secondary); margin-top: 7px; }
.platform-hero__product { max-width: 1040px; margin: 0 auto; }
.platform-hero__tabs { display: grid; grid-template-columns: repeat(3,1fr); border-right: 1px solid var(--ploy-border-primary); border-bottom: 1px solid var(--ploy-border-primary); border-left: 1px solid var(--ploy-border-primary); }
.platform-hero__tabs button { position: relative; border: 0; outline: none; cursor: pointer; font: 600 13.5px/1 "Geist Variable",system-ui,sans-serif; padding: 18px 12px; background: transparent; color: var(--ploy-text-secondary); }
.platform-hero__tabs button + button { border-left: 1px solid var(--ploy-border-primary); }
.platform-hero__tabs button.is-active,
.platform-hero__tabs button:focus-visible { color: var(--ploy-text-primary); box-shadow: inset 0 -2.5px 0 var(--ploy-text-primary); }
.platform-hero__window { background: var(--ploy-background-primary); border: 1px solid var(--ploy-border-primary); border-top: 0; border-radius: 0 0 12px 12px; overflow: hidden; box-shadow: 0 30px 80px -42px color-mix(in srgb,var(--ploy-neutral-inverse) 30%,transparent); text-align: left; }
.platform-hero__window-bar { display: flex; align-items: center; gap: 7px; padding: 11px 16px; border-bottom: 1px solid var(--ploy-border-primary); background: var(--ploy-neutral-primary-s2); }
.platform-hero__window-bar > span { width: 10px; height: 10px; border-radius: 50%; background: var(--ploy-neutral-primary-s5); }
.platform-hero__window-bar small { margin-left: auto; font-size: 10.5px; color: var(--ploy-text-secondary); }
.platform-hero__product-media { display: flex; align-items: center; justify-content: center; padding: 0; background: #fff; }
.platform-hero__product-media video { display: block; width: 100%; max-width: none; height: auto; max-height: none; object-fit: contain; }
.platform-jeff-flow__path { stroke-dasharray: 8 8; animation: platform-jeff-flow-line 1.4s linear infinite; }
.platform-jeff-flow__path--resolve { animation-delay: 1.8s; }
.platform-jeff-flow__card { transform-origin: center; animation: platform-jeff-flow-card 4.8s cubic-bezier(.16,1,.3,1) infinite; }
.platform-jeff-flow__card--governance { animation-delay: 1.2s; }
.platform-jeff-flow__card--resolved { animation-delay: 2.4s; }
@keyframes platform-jeff-flow-line { to { stroke-dashoffset: -32; } }
@keyframes platform-jeff-flow-card {
  0%, 100% { transform: translateY(0); box-shadow: 0 0 0 0 rgba(90,45,156,0); }
  8%, 18% { transform: translateY(-3px); box-shadow: 0 10px 26px -15px rgba(90,45,156,.7), 0 0 0 3px rgba(90,45,156,.09); }
  28%, 100% { transform: translateY(0); box-shadow: 0 0 0 0 rgba(90,45,156,0); }
}
.platform-signal-feed__item { color: #777; font-weight: 400; animation: platform-signal-feed-label 7s ease-in-out infinite; animation-delay: calc((var(--signal-index) - 7) * 1s); }
.platform-signal-feed__dot { background: #f0f0f0; border: 1.5px solid rgba(90,45,156,.38); transform-origin: center; animation: platform-signal-feed-dot 7s ease-in-out infinite; animation-delay: calc((var(--signal-index) - 7) * 1s); }
@keyframes platform-signal-feed-label {
  0%, 12% { color: #111; font-weight: 700; }
  16%, 100% { color: #777; font-weight: 400; }
}
@keyframes platform-signal-feed-dot {
  0%, 12% { background: #5A2D9C; border-color: #5A2D9C; transform: scale(1.18); box-shadow: 0 0 0 4px rgba(90,45,156,.12); }
  16%, 100% { background: #f0f0f0; border-color: rgba(90,45,156,.38); transform: scale(1); box-shadow: 0 0 0 0 rgba(90,45,156,0); }
}
@media (prefers-reduced-motion: reduce) {
  .platform-jeff-flow__path,
  .platform-jeff-flow__card,
  .platform-signal-feed__item,
  .platform-signal-feed__dot { animation: none; }
  .platform-signal-feed__item:first-of-type { color: #111; font-weight: 700; }
  .platform-signal-feed__item:first-of-type .platform-signal-feed__dot { background: #5A2D9C; border-color: #5A2D9C; }
}
.platform-hero__demo { position: relative; min-height: 430px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; text-align: center; background: var(--ploy-neutral-primary-s2); padding: 48px 24px; }
.platform-hero__demo > button { width: 62px; height: 62px; border: 0; border-radius: 50%; background: var(--ploy-background-inverse); color: var(--ploy-text-inverse); font-size: 18px; cursor: pointer; }
.platform-hero__demo-label { color: var(--platform-accent); background: color-mix(in srgb,var(--platform-accent) 8%,transparent); padding: 5px 12px; border-radius: 999px; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.platform-hero__demo h2 { font-size: 22px; font-weight: 500; margin: 0; }
.platform-hero__demo p { font-size: 15px; line-height: 1.6; color: var(--ploy-text-secondary); max-width: 480px; margin: 7px 0 0; }
.platform-hero__demo > small { position: absolute; bottom: 14px; font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ploy-text-secondary); }
.platform-hero__architecture { padding: 36px 40px; background: var(--ploy-neutral-primary-s2); display: flex; flex-direction: column; align-items: center; }
.platform-hero__architecture-layer { position: relative; width: min(100%,620px); display: grid; grid-template-columns: 110px 1fr; gap: 14px; border: 1px solid var(--ploy-border-primary); border-radius: 8px; padding: 12px 15px; background: var(--ploy-background-primary); }
.platform-hero__architecture-layer strong { color: var(--platform-accent); }
.platform-hero__architecture-layer span { color: var(--ploy-text-secondary); }
.platform-hero__architecture-line { position: absolute; width: 1px; height: 14px; background: var(--platform-accent); bottom: -15px; left: 50%; z-index: 2; }
#platform-page p:not(.testimonial-reveal) { font-size: 15.5px !important; line-height: 1.68 !important; }
#platform-page [data-prodcard] p, #platform-page [data-prodcard] [style*="font-size:13px"] { font-size: 14px !important; line-height: 1.6 !important; }
#platform-page [data-prodcard]:hover { transform: translate(-50%,-50%) translateY(-5px) !important; }
#platform-page details > div { font-size: 15px !important; line-height: 1.68 !important; color: var(--ploy-text-primary) !important; }
#platform-page footer a, #platform-page footer p { font-size: 13px !important; line-height: 1.65 !important; }
#platform-page .design-image-placeholder { min-height: 320px; display: grid; place-items: center; border: 1px solid var(--ploy-border-primary); border-radius: 12px; background: var(--ploy-neutral-primary-s2); color: var(--ploy-text-secondary); font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; text-align: center; padding: 24px; }
#platform-page img[alt="essensys Platform"], #platform-page img[alt="elumo"] { filter: brightness(0); }
#platform-page [data-platform-crop] { position: relative; isolation: isolate; }
#platform-page [data-platform-crop]::before,
#platform-page [data-platform-crop]::after {
  content: "";
  position: absolute;
  z-index: 4;
  width: 20px;
  height: 20px;
  pointer-events: none;
  background: url("https://cdn.ploy.ai/2fcd24a7-3e10-41c5-80a8-c64337ff08aa/user/9c6853c9-essensys-bracket-purple.svg") center / contain no-repeat;
}
#platform-page [data-platform-crop]::before {
  top: 20px;
  left: calc(50% - 566px);
  transform: rotate(135deg);
}
#platform-page [data-platform-crop]::after {
  right: calc(50% - 566px);
  bottom: 20px;
  transform: rotate(-45deg);
}
#platform-page [data-crop-bottom-only]::before,
#platform-page [data-crop-top-only]::after { display: none; }
@media (max-width: 900px) {
  .platform-header__nav { grid-template-columns: 1fr auto; min-height: 72px; padding: 0 22px; }
  .platform-header__links { display: none; }
  .platform-header__brand { gap: 18px; }
  .platform-header__cta { min-width: auto; padding: 12px 19px; }
  .platform-mega-menu { left: 22px; width: calc(100vw - 44px); grid-template-columns: 1fr; max-height: calc(100vh - 150px); overflow-y: auto; }
  .platform-mega-menu__more { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px 20px; padding: 18px 0 0; border-top: 1px solid color-mix(in srgb,var(--ploy-neutral-inverse) 9%,transparent); border-left: 0; }
  .platform-mega-menu__more .platform-mega-menu__eyebrow { grid-column: 1 / -1; }
  .platform-mega-menu__more a, .platform-mega-menu__more a:last-child { margin: 0; }
  .platform-hero, #platform-page section { padding-left: 24px !important; padding-right: 24px !important; }
  #platform-page [data-platform-crop]::before { left: 20px; }
  #platform-page [data-platform-crop]::after { right: 20px; }
  .platform-hero__title, #platform-page h1 { font-size: clamp(44px,12vw,56px) !important; }
  #platform-page h2 { font-size: clamp(34px,8vw,46px) !important; }
  #customers > div:last-child { grid-template-columns: repeat(2,minmax(0,1fr)) !important; grid-auto-rows: minmax(88px,auto) !important; }
  #customers > div:last-child > div:nth-child(9) { grid-column: 1 / -1 !important; grid-row: auto !important; min-height: 190px !important; padding: 28px 20px !important; gap: 18px !important; }
  #platform-page footer > div:first-child { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 640px) {
  .platform-header__product { display: none !important; }
  .platform-hero__tabs { grid-template-columns: repeat(3,1fr); }
  #platform-page .platform-mobile-media-stack { grid-template-columns: minmax(0,1fr) !important; gap: 28px !important; min-height: 0 !important; }
  #platform-page .platform-mobile-media-stack > * { min-width: 0; }
  #platform-page .platform-mobile-media-stack--visual-first > :last-child { order: -1; }
  #platform-page .platform-mobile-card-grid { grid-template-columns: minmax(0,1fr) !important; }
  #platform-page .platform-mobile-media-stack img,
  #platform-page .platform-mobile-media-stack svg { max-width: 100%; }
  #platform-page .platform-mobile-fit-media {
    height: auto !important;
    aspect-ratio: 942 / 642;
  }
  #platform-page .platform-mobile-fit-media img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
  .platform-hero__metrics { gap: 20px; }
  .platform-hero__metrics div { width: 100%; border-right: 0; }
  #platform-page [data-prodcard] { position: relative !important; left: auto !important; top: auto !important; transform: none !important; width: 100% !important; margin-bottom: 18px; }
  #platform-page footer > div:first-child { grid-template-columns: 1fr !important; }
}
@media (prefers-reduced-motion: reduce) {
  #platform-page *, #platform-page *::before, #platform-page *::after { animation: none !important; transition-duration: .01ms !important; }
  #platform-page [data-reveal] { opacity: 1 !important; transform: none !important; }
}
