/*
Theme Name: EDF Workbench Child
Description: Version-controlled presentation layer for the EDF Workbench website.
Author: EDF Workbench
Template: hello-elementor
Version: 0.1.0
Text Domain: edf-workbench
*/

@font-face {
  font-display: swap;
  font-family: "Lato";
  font-style: normal;
  font-weight: 400;
  src: url("assets/fonts/Lato-Regular-LatinExt.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-display: swap;
  font-family: "Lato";
  font-style: normal;
  font-weight: 400;
  src: url("assets/fonts/Lato-Regular-Latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-display: swap;
  font-family: "Lato";
  font-style: normal;
  font-weight: 700;
  src: url("assets/fonts/Lato-Bold-LatinExt.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-display: swap;
  font-family: "Lato";
  font-style: normal;
  font-weight: 700;
  src: url("assets/fonts/Lato-Bold-Latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-display: swap;
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 100 700;
  src: url("assets/fonts/IBMPlexMono-Variable.woff2") format("woff2-variations");
}

:root {
  --ew-color-background: #f7f9fc;
  --ew-color-surface: #ffffff;
  --ew-color-heading: #31335a;
  --ew-color-text: #4f5278;
  --ew-color-secondary: #5e6084;
  --ew-color-accent: #5669ec;
  --ew-color-accent-hover: #4554bd;
  --ew-color-accent-soft: #eff1ff;
  --ew-color-dark: #1c2654;
  --ew-color-border: #dfe3f0;
  --ew-color-muted: #f1f3fb;
  --ew-color-on-accent: #ffffff;
  --ew-ink-950: var(--ew-color-heading);
  --ew-ink-800: var(--ew-color-text);
  --ew-ink-650: var(--ew-color-secondary);
  --ew-brand-700: var(--ew-color-accent-hover);
  --ew-brand-600: var(--ew-color-accent);
  --ew-brand-500: var(--ew-color-accent);
  --ew-surface: var(--ew-color-surface);
  --ew-soft: var(--ew-color-muted);
  --ew-line: var(--ew-color-border);
  --ew-amber: #b66a00;
  --ew-space-1: 4px;
  --ew-space-2: 8px;
  --ew-space-3: 12px;
  --ew-space-4: 16px;
  --ew-motion-fast: 160ms;
  --ew-motion-medium: 420ms;
  --ew-motion-slow: 560ms;
  --ew-motion-distance: 24px;
  --ew-motion-ease: cubic-bezier(.22,1,.36,1);
  --ew-space-6: 24px;
  --ew-space-8: 32px;
  --ew-space-12: 48px;
  --ew-space-16: 64px;
  --ew-space-24: 96px;
  --ew-space-32: 128px;
  --ew-width-reading: 780px;
  --ew-width-content: 1180px;
  --ew-width-wide: 1440px;
  --ew-radius-small: 8px;
  --ew-radius-medium: 12px;
  --ew-radius-large: 18px;
  --ew-radius: var(--ew-radius-medium);
  --ew-shadow-small: 0 8px 22px rgba(28, 38, 84, 0.08);
  --ew-shadow-medium: 0 18px 48px rgba(28, 38, 84, 0.13);
  --ew-shadow: var(--ew-shadow-medium);
  --ew-focus-width: 3px;
  --ew-focus-offset: 3px;
  --ew-diagonal-depth: clamp(36px, 5vw, 72px);
  --ew-font-sans: "Lato", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --ew-font-mono: "IBM Plex Mono", "Cascadia Code", "SFMono-Regular", Consolas, monospace;
}

html { scroll-behavior: smooth; }
body { background: var(--ew-color-background); color: var(--ew-ink-800); font-family: var(--ew-font-sans); font-size: 16px; line-height: 1.6; text-rendering: optimizeLegibility; }
button, input, select, textarea { font-family: var(--ew-font-sans); }
.site-header,
.site-footer,
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-button .elementor-button { font-family: var(--ew-font-sans) !important; }
a { color: var(--ew-brand-700); }
a:hover { color: var(--ew-brand-600); }
:focus-visible { outline: var(--ew-focus-width) solid var(--ew-color-accent); outline-offset: var(--ew-focus-offset); }

/* Epic #34 foundation primitives. These semantic classes are independent of
   Elementor-generated IDs and can be reused by later visual-refresh stories. */
.ew-foundation-preview { background: var(--ew-color-background); color: var(--ew-color-text); margin: 0; }
.ew-foundation-preview *,
.ew-foundation-preview *::before,
.ew-foundation-preview *::after { box-sizing: border-box; }
.ew-foundation-preview h1,
.ew-foundation-preview h2,
.ew-foundation-preview h3 { color: var(--ew-color-heading); font-weight: 700; margin-top: 0; }
.ew-foundation-preview h1 { font-size: clamp(2.8rem, 7vw, 5.4rem); letter-spacing: -.045em; line-height: .98; max-width: 12ch; }
.ew-foundation-preview h2 { font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -.03em; line-height: 1.06; }
.ew-foundation-preview h3 { font-size: 1.3rem; line-height: 1.25; }
.ew-foundation-preview-inner { margin-inline: auto; max-width: var(--ew-width-content); padding-inline: var(--ew-space-6); position: relative; width: 100%; z-index: 1; }
.ew-foundation-preview-hero { padding: clamp(76px, 10vw, 144px) 0 clamp(96px, 12vw, 176px); }
.ew-foundation-preview-section { padding: clamp(64px, 8vw, 112px) 0; }
.ew-foundation-eyebrow { color: var(--ew-color-accent-hover); font-size: .78rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.ew-foundation-lead { color: var(--ew-color-secondary); font-size: clamp(1.1rem, 2vw, 1.3rem); max-width: 720px; }
.ew-foundation-actions { display: flex; flex-wrap: wrap; gap: var(--ew-space-4); margin-top: var(--ew-space-8); }
.ew-foundation-button { align-items: center; background: var(--ew-color-accent); border: 2px solid var(--ew-color-accent); border-radius: var(--ew-radius-small); color: var(--ew-color-on-accent); display: inline-flex; font-weight: 700; justify-content: center; min-height: 48px; padding: 11px 22px; text-decoration: none; }
.ew-foundation-button:hover { background: var(--ew-color-accent-hover); border-color: var(--ew-color-accent-hover); color: var(--ew-color-on-accent); }
.ew-foundation-button-secondary { background: transparent; color: var(--ew-color-accent-hover); }
.ew-foundation-button-secondary:hover { color: var(--ew-color-on-accent); }
.ew-foundation-preview-grid { display: grid; gap: var(--ew-space-6); grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--ew-space-12); }
.ew-foundation-card { background: var(--ew-color-surface); border: 1px solid var(--ew-color-border); border-radius: var(--ew-radius-medium); box-shadow: var(--ew-shadow-small); padding: var(--ew-space-8); }
.ew-foundation-card-number { color: var(--ew-color-accent-hover); display: block; font-family: var(--ew-font-mono); font-size: .8rem; font-weight: 700; margin-bottom: var(--ew-space-12); }
.ew-foundation-card-dark { background: var(--ew-color-dark); border-color: var(--ew-color-dark); color: #d8dbef; }
.ew-foundation-card-dark h3 { color: #fff; }
.ew-foundation-card-dark .ew-foundation-card-number { color: #b7c0ff; }
.ew-foundation-surface-soft { background: var(--ew-color-accent-soft); }
.ew-foundation-technical { font-family: var(--ew-font-mono); font-size: .88rem; overflow-wrap: anywhere; }
.ew-foundation-diagonal { background: var(--ew-color-surface); overflow: hidden; position: relative; }
.ew-foundation-diagonal::after { background: var(--ew-color-accent-soft); bottom: calc(var(--ew-diagonal-depth) * -.55); content: ""; height: var(--ew-diagonal-depth); left: -2%; position: absolute; transform: rotate(-2deg); width: 104%; }
.ew-foundation-swatches { display: grid; gap: var(--ew-space-4); grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: var(--ew-space-8); }
.ew-foundation-swatches > div { background: #fff; border: 1px solid var(--ew-color-border); border-radius: var(--ew-radius-small); display: grid; gap: var(--ew-space-2); padding: var(--ew-space-4); }
.ew-foundation-swatches span { background: var(--swatch); border: 1px solid rgba(28,38,84,.12); border-radius: 6px; display: block; height: 72px; }
.ew-foundation-swatches code { background: transparent; color: var(--ew-color-heading); font-family: var(--ew-font-mono); padding: 0; }
.ew-foundation-swatches small { color: var(--ew-color-secondary); }

@media (max-width: 900px) {
  .ew-foundation-preview-grid { grid-template-columns: 1fr; }
  .ew-foundation-swatches { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .ew-foundation-preview-inner { padding-inline: 18px; }
  .ew-foundation-actions { align-items: stretch; flex-direction: column; }
  .ew-foundation-button { width: 100%; }
  .ew-foundation-swatches { grid-template-columns: 1fr; }
}

.site-header { background: rgba(255,255,255,.96); border-bottom: 1px solid var(--ew-line); position: sticky; top: 0; z-index: 100; }
.site-header .header-inner { align-items: center; max-width: 1180px; min-height: 74px; padding: 10px 16px; }
.site-header .site-branding { flex-direction: row; }
.site-header .site-title { font-size: 1.08rem !important; font-weight: 760; letter-spacing: -.02em; }
.site-header .site-title a { align-items: center; display: inline-flex; gap: .7rem; }
.site-header .site-title a::before { background: url("assets/logo-mark.svg") center/contain no-repeat; content: ""; display: block; height: 38px; width: 38px; }
.site-header .site-description { display: none !important; }
.site-header .site-title a, .site-header .site-navigation ul.menu li a { color: var(--ew-ink-950); text-decoration: none; }
.site-header .site-navigation ul.menu li a { border-radius: 8px; font-size: .96rem; font-weight: 600; }
.site-header .site-navigation ul.menu li a:hover, .site-header .site-navigation ul.menu li.current-menu-item > a { background: var(--ew-soft); color: var(--ew-brand-700); }
.site-header .site-navigation ul.menu > li:last-child > a { background: var(--ew-brand-600); color: #fff; margin-left: 8px; padding-inline: 16px; }
.site-header .site-navigation ul.menu > li:last-child > a:hover { background: var(--ew-brand-700); color: #fff; }
.site-footer { background: var(--ew-ink-950); color: #d6e7eb; padding: 34px 24px; }
.site-footer .footer-inner { max-width: 1180px; }
.site-footer a, .site-footer .site-title a, .site-footer .copyright p { color: #fff; }
.ew-site-footer { border-top: 1px solid #27404d; padding: 40px 24px 22px; }
.ew-footer-grid { display: grid; gap: 32px; grid-template-columns: 1.4fr repeat(3,1fr); margin-inline: auto; max-width: 1180px; }
.ew-footer-grid h2 { color: #fff; font-size: 1rem; margin: 0 0 12px; }
.ew-site-footer .ew-footer-grid a { color: #b9d4dd !important; display: block; margin: 7px 0; text-decoration: none; }
.ew-site-footer .ew-footer-grid a:hover { color: #8ce6ef !important; }
.ew-footer-brand > a { align-items: center; color: #fff; display: inline-flex; font-size: 1.08rem; gap: 11px; line-height: 1; }
.ew-footer-brand strong { align-items: center; color: #fff; display: inline-flex; min-height: 38px; }
.ew-footer-brand img { display: block; flex: 0 0 38px; height: 38px; margin: 0; width: 38px; }
.ew-footer-brand p { color: #d4e1e6; max-width: 320px; }
.ew-footer-bottom { border-top: 1px solid #27404d; color: #8fa7b3; font-size: .84rem; margin: 32px auto 0; max-width: 1180px; padding-top: 18px; }
.elementor-page .page-header { display: none; }

.ew-section { padding: clamp(64px,8vw,104px) 24px; }
.ew-section-soft { background: var(--ew-soft); }
.ew-page-hero { background: var(--ew-soft); border-bottom: 1px solid var(--ew-line); padding: clamp(64px,8vw,104px) 24px; }
.ew-breadcrumbs { color: var(--ew-ink-650); font-size: .9rem; margin-bottom: 28px; }
.ew-breadcrumbs nav { align-items: center; display: flex; gap: 9px; }
.ew-breadcrumbs a { color: var(--ew-brand-700); font-weight: 650; text-decoration: none; }
.ew-breadcrumbs a:hover { text-decoration: underline; }
.ew-page-title { max-width: 900px; }
.ew-page-title .elementor-heading-title { color: var(--ew-ink-950) !important; font-size: clamp(2.6rem,6vw,4.8rem) !important; font-weight: 740; letter-spacing: -.035em; line-height: 1.04; }
.ew-page-lead { max-width: 780px; }
.ew-hero { background: var(--ew-color-background); min-height: 0; overflow: hidden; padding: clamp(64px,7vw,104px) 16px clamp(56px,7vw,96px); position: relative; }
.ew-hero > .e-con-inner { position: relative; z-index: 1; }
.ew-hero-grid > .e-con-inner { align-items: center; display: grid !important; gap: clamp(44px,5vw,72px); grid-template-columns: minmax(0,1fr); margin-inline: auto; max-width: 1320px; width: 100%; }
.ew-two-column > .e-con-inner { align-items: center; display: grid !important; gap: clamp(36px,6vw,84px); grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); margin-inline: auto; max-width: 1180px; width: 100%; }
.ew-inner > .e-con-inner { margin-inline: auto; max-width: 1180px; width: 100%; }
.ew-narrow > .e-con-inner { margin-inline: auto; max-width: 780px; width: 100%; }
.ew-eyebrow .elementor-heading-title { color: var(--ew-brand-700); font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.ew-hero-copy > .e-con-inner { align-items: center; text-align: center; }
.ew-hero-copy .ew-lead,.ew-hero-copy .ew-fine-print { max-width: 780px; }
.ew-hero-copy .ew-actions > .e-con-inner { justify-content: center; }
.ew-hero-title { max-width: 940px; }
.ew-hero-title .elementor-heading-title { color: var(--ew-ink-950) !important; font-size: clamp(2.75rem,5vw,4.5rem) !important; font-weight: 740; letter-spacing: -.035em; line-height: 1.03; }
.ew-section-title .elementor-heading-title { color: var(--ew-ink-950) !important; font-size: clamp(2rem,4vw,3.25rem) !important; font-weight: 740; letter-spacing: -.025em; line-height: 1.12; }
.ew-lead { color: var(--ew-ink-650); font-size: clamp(1.08rem,2vw,1.28rem); }
.ew-fine-print { color: var(--ew-ink-650); font-size: .9rem; }
.ew-actions > .e-con-inner { align-items: center; display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 12px; }
.ew-actions > .e-con-inner > .elementor-widget-button { flex: 0 0 auto; width: auto; }
.ew-button .elementor-button { background: var(--ew-brand-600) !important; border: 2px solid var(--ew-brand-600); border-radius: 9px; color: #fff !important; font-weight: 700; min-height: 48px; padding: 13px 22px; }
.ew-button .elementor-button:hover,
.ew-button .elementor-button:focus-visible {
  background: var(--ew-brand-700) !important;
  border-color: var(--ew-brand-700) !important;
  color: #fff !important;
}
.ew-button-secondary .elementor-button { background: transparent !important; color: var(--ew-brand-700) !important; }
.ew-button-secondary .elementor-button:hover,
.ew-button-secondary .elementor-button:focus-visible {
  background: var(--ew-brand-700) !important;
  border-color: var(--ew-brand-700) !important;
  color: #fff !important;
}
.ew-hero-image { justify-self: center; max-width: 1180px; min-height: 0; width: 100%; }
.ew-hero-image figure { margin: 0; }
.ew-hero-image picture { display: block; }
.ew-hero-image img { background: #fff; border: 1px solid var(--ew-line); border-radius: 14px; box-shadow: 0 30px 70px rgba(7,27,42,.18); display: block; height: auto; max-width: 100%; width: 100%; }

.ew-trust-grid > .e-con-inner, .ew-card-grid > .e-con-inner, .ew-workflow-grid > .e-con-inner { display: grid !important; gap: 18px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.ew-trust { border-bottom: 1px solid var(--ew-line); border-top: 1px solid var(--ew-line); padding: 28px 24px; }
.ew-trust-grid > .e-con-inner { gap: 0; }
.ew-trust-item { border-right: 1px solid var(--ew-line); padding: 0 20px; }
.ew-trust-item:last-child { border-right: 0; }
.ew-trust-item strong { color: var(--ew-ink-950); display: block; }
.ew-trust-item span { color: var(--ew-ink-650); font-size: .9rem; }
.ew-card-grid > .e-con-inner { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ew-card { background: #fff; border: 1px solid var(--ew-line); border-radius: 1rem !important; box-shadow: 0 8px 24px rgba(7,27,42,.08) !important; min-height: 250px; overflow: hidden; padding: clamp(20px,3vw,32px); transition: box-shadow .2s; }
.ew-card:hover { box-shadow: var(--ew-shadow); }
.ew-card-number {
  align-items: center;
  align-self: flex-start;
  background: transparent;
  display: flex;
  flex: 0 0 42px;
  height: 42px !important;
  justify-content: center;
  max-height: 42px;
  max-width: 42px;
  min-height: 42px;
  min-width: 42px;
  overflow: hidden;
  width: 42px !important;
}
.ew-card-number > .elementor-widget-container {
  display: grid !important;
  height: 100% !important;
  place-items: center !important;
  width: 100% !important;
}
.ew-card-number .elementor-heading-title {
  align-items: center;
  background: #e8f4f6;
  border-radius: .7rem;
  color: var(--ew-brand-700) !important;
  display: flex !important;
  font-size: .82rem;
  font-weight: 800;
  height: 42px !important;
  justify-content: center;
  letter-spacing: .06em;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
  width: 42px !important;
}
.ew-card > .e-con-inner { align-content: start; align-items: stretch; justify-content: flex-start; }
.ew-card .ew-card-title,
.ew-card .elementor-widget-text-editor { opacity: 1 !important; visibility: visible !important; }
.ew-card-title .elementor-heading-title { color: var(--ew-ink-950) !important; font-size: 1.35rem; }
.ew-feature-card-grid > .e-con-inner { display: grid !important; gap: 18px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.ew-detail-card { min-height: 390px; }
.ew-detail-card-title .elementor-heading-title { font-size: 1.6rem !important; }
.ew-product-shot { margin-bottom: 20px; width: 100%; }
.ew-product-shot picture { display: block; }
.ew-product-shot img { background: #fff; border: 1px solid var(--ew-line); border-radius: 10px; box-shadow: 0 2px 8px rgba(23,33,43,.06); display: block; height: auto; max-width: 100%; width: 100%; }
.ew-capability-list ul { margin: 0; padding-left: 1.2rem; }
.ew-capability-list li { color: var(--ew-ink-650); margin: 0 0 .62rem; padding-left: .18rem; }
.ew-capability-list li::marker { color: var(--ew-brand-600); }
.ew-notice { border: 1px solid #efcf8c; border-left: 5px solid var(--ew-amber); border-radius: .7rem; margin-top: 28px; padding: 20px 22px; }
.ew-notice-warning { background: #fff8e8; }
.ew-notice p { margin: 0; }
.ew-boundaries > .e-con-inner { align-items: flex-start; }
.ew-section-soft,
.ew-section-soft > .e-con-inner,
.ew-feature-layout,
.ew-feature-layout > .e-con-inner { overflow: visible !important; }
.ew-feature-layout > .e-con-inner { align-items: start; display: grid !important; gap: clamp(32px,7vw,96px); grid-template-columns: .85fr 1.15fr; }
.ew-feature-copy {
  align-self: stretch;
  height: auto;
  position: relative !important;
  z-index: 2;
}
.ew-feature-copy > .e-con-inner {
  align-content: flex-start;
  align-self: flex-start;
  flex: 0 0 auto !important;
  height: max-content !important;
  min-height: 0 !important;
  position: sticky !important;
  top: 110px;
}
.ew-feature-list > .e-con-inner { display: grid; gap: 0; }
.ew-feature-row { border-top: 1px solid var(--ew-line); min-height: 156px; padding: 28px 0; }
.ew-feature-row:first-child { border-top: 0; }
.ew-feature-row > .e-con-inner { display: grid !important; gap: 16px; grid-template-columns: 48px 1fr; }
.ew-feature-number .elementor-heading-title { color: var(--ew-brand-600) !important; font-family: var(--ew-font-mono) !important; font-size: .85rem; font-weight: 800; }
.ew-dark { background: var(--ew-ink-950); color: #d6e7eb; }
.ew-dark .elementor-heading-title { color: #fff; }
.ew-dark .ew-card-title .elementor-heading-title, .ew-dark .ew-section-title .elementor-heading-title { color: #fff !important; }
.ew-dark .elementor-widget-text-editor { color: #b9ccd5; }
.ew-workflow-grid > .e-con-inner { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ew-workflow-card { background: rgba(255,255,255,.06); border-top: 3px solid var(--ew-brand-500); padding: 26px; }
.ew-workflow-number .elementor-heading-title { color: #76dbe4 !important; font-family: var(--ew-font-mono) !important; font-size: .9rem; margin-bottom: 26px; }
.ew-cta-section { background: var(--ew-ink-950); border-top: 1px solid #27404d; padding: 0 24px; }
.ew-cta { background: transparent; border-radius: 0; color: #fff; padding: clamp(44px,5vw,64px) 0; }
.ew-cta .elementor-heading-title, .ew-cta .elementor-widget-text-editor { color: #fff; }
.ew-cta > .e-con-inner { align-items: center; display: grid !important; gap: 32px; grid-template-columns: 1fr auto; }
.ew-cta .ew-section-title .elementor-heading-title { color: #fff !important; }
.ew-cta .ew-section-title .elementor-heading-title { font-size: clamp(2rem,3.5vw,3rem) !important; max-width: 760px; }
.ew-cta-copy .elementor-widget-text-editor { color: #b9ccd5; max-width: 720px; }
.ew-cta .ew-button-secondary .elementor-button { border-color: #fff; color: #fff !important; }

/* WordPress user guide, published from the canonical static documentation. */
.edf-workbench-docs .site-main { max-width: none; padding: 0; }
.edf-workbench-docs .page-header { display: none; }
.edf-workbench-docs .page-content { margin: 0; }
.ew-docs-page { color: var(--ew-ink-950); }
.ew-docs-page * { box-sizing: border-box; }
.ew-docs-page .container { margin-inline: auto; width: min(calc(100% - 32px),1180px); }
.ew-docs-page .section { padding: clamp(64px,8vw,120px) 0; }
.ew-docs-page .page-hero { background: var(--ew-soft); border-bottom: 1px solid var(--ew-line); padding: clamp(64px,8vw,112px) 0 56px; }
.ew-docs-page .docs-intro { max-width: 880px; }
.ew-docs-page .breadcrumbs { color: var(--ew-ink-650); font-size: .9rem; margin-bottom: 32px; }
.ew-docs-page .breadcrumbs a { color: inherit; }
.ew-docs-page .eyebrow { color: var(--ew-brand-700); font-size: .78rem; font-weight: 800; letter-spacing: .12em; margin: 0 0 13px; text-transform: uppercase; }
.ew-docs-page h1,.ew-docs-page h2,.ew-docs-page h3 { color: var(--ew-ink-950); font-weight: 740; letter-spacing: -.025em; line-height: 1.12; }
.ew-docs-page h1 { font-size: clamp(2.55rem,6vw,5rem); margin: 0 0 12px; max-width: 820px; }
.ew-docs-page .lead { color: var(--ew-ink-650); font-size: clamp(1.12rem,2vw,1.35rem); max-width: 720px; }
.ew-docs-page .docs-meta { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.ew-docs-page .tag { align-items: center; background: var(--ew-color-accent-soft); border-radius: 6px; color: var(--ew-brand-700); display: inline-flex; font-size: .78rem; font-weight: 750; padding: 4px 11px; }
.ew-docs-page .doc-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.ew-docs-page .button { align-items: center; background: var(--ew-brand-600); border: 1px solid transparent; border-radius: 9px; color: #fff; display: inline-flex; font-weight: 720; justify-content: center; line-height: 1.2; min-height: 44px; padding: 12px 18px; text-decoration: none; }
.ew-docs-page .button:hover { background: var(--ew-brand-700); color: #fff; }
.ew-docs-page .button-secondary { background: #fff; border-color: var(--ew-line); color: var(--ew-ink-950); }
.ew-docs-page .button-secondary:hover { background: #e8f4f6; border-color: var(--ew-brand-600); color: var(--ew-brand-700); }
.ew-docs-page .docs-shell { align-items: start; display: grid; gap: clamp(32px,5vw,72px); grid-template-columns: 260px minmax(0,1fr); }
.ew-docs-page .docs-toc { background: #fff; border: 1px solid var(--ew-line); border-radius: 14px; max-height: calc(100vh - 122px); overflow-y: auto; padding: 16px; position: sticky; top: 98px; }
.ew-docs-page .docs-toc h2 { font-size: .78rem; letter-spacing: .1em; margin: 0 0 11px; text-transform: uppercase; }
.ew-docs-page .docs-toc ol { counter-reset: docs; list-style: none; margin: 0; padding: 0; }
.ew-docs-page .docs-toc li { counter-increment: docs; margin: 0; }
.ew-docs-page .docs-toc a { border-radius: 6px; color: var(--ew-ink-650); display: grid; font-size: .88rem; gap: 6px; grid-template-columns: 32px 1fr; line-height: 1.35; padding: 6px; text-decoration: none; }
.ew-docs-page .docs-toc a::before { color: var(--ew-brand-600); content: counter(docs,decimal-leading-zero); font-family: var(--ew-font-mono); font-size: .78rem; }
.ew-docs-page .docs-toc a:hover { background: var(--ew-soft); color: var(--ew-brand-700); }
.ew-docs-page .docs-content { min-width: 0; }
.ew-docs-page .doc-section { padding: 0 0 64px; scroll-margin-top: 100px; }
.ew-docs-page .doc-section + .doc-section { border-top: 1px solid var(--ew-line); padding-top: 64px; }
.ew-docs-page .doc-section > h2 { font-size: clamp(1.8rem,3vw,2.55rem); margin: 0 0 12px; max-width: 850px; }
.ew-docs-page .doc-section > h3 { font-size: 1.3rem; margin: 32px 0 12px; }
.ew-docs-page .doc-section p,.ew-docs-page .doc-section li { max-width: 850px; }
.ew-docs-page .doc-section ul,.ew-docs-page .doc-section ol { padding-left: 22px; }
.ew-docs-page .doc-section li { margin-bottom: 9px; }
.ew-docs-page .notice { background: #e8f4f6; border-left: 4px solid var(--ew-brand-500); border-radius: 0 9px 9px 0; margin: 24px 0; max-width: 900px; padding: 16px 19px; }
.ew-docs-page .notice-warning { background: #fff7e6; border-color: var(--ew-amber); }
.ew-docs-page code,.ew-docs-page kbd { background: #edf3f5; border-radius: 5px; font-family: var(--ew-font-mono); font-size: .88em; padding: 2px 6px; }
.ew-docs-page kbd { background: #fff; border: 1px solid #b8c8ce; border-bottom-width: 2px; white-space: nowrap; }
.ew-docs-page pre { background: var(--ew-ink-950); border-radius: 9px; color: #e9f4f6; max-width: 900px; overflow-x: auto; padding: 16px; }
.ew-docs-page pre code { background: transparent; color: inherit; padding: 0; }
.ew-docs-page .steps { counter-reset: step; display: grid; gap: 14px; list-style: none; margin: 19px 0 26px; padding: 0 !important; }
.ew-docs-page .steps > li { border-left: 2px solid var(--ew-line); min-height: 46px; padding: 11px 13px 11px 58px; position: relative; }
.ew-docs-page .steps > li::before { align-items: center; background: var(--ew-brand-600); border-radius: 50%; color: #fff; content: counter(step); counter-increment: step; display: flex; font-weight: 800; height: 32px; justify-content: center; left: 10px; position: absolute; top: 9px; width: 32px; }
.ew-docs-page .doc-figure { background: #fff; border: 1px solid var(--ew-line); border-radius: 14px; box-shadow: var(--ew-shadow); margin: 26px 0 32px; max-width: 980px; overflow: hidden; }
.ew-docs-page .doc-figure img { display: block; height: auto; margin-inline: auto; max-width: 100%; width: auto; }
.ew-docs-page .doc-figure figcaption { border-top: 1px solid var(--ew-line); color: var(--ew-ink-650); font-size: .88rem; padding: 13px 16px; }
.ew-docs-page .doc-figure-grid { align-items: start; display: grid; gap: 20px; grid-template-columns: repeat(auto-fit,minmax(min(100%,360px),1fr)); margin: 26px 0 32px; max-width: 1180px; }
.ew-docs-page .doc-figure-grid .doc-figure { margin: 0; width: 100%; }
.ew-docs-page .doc-figure-portrait { max-width: 720px; }
.ew-docs-page .inline-list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0 !important; }
.ew-docs-page .inline-list li { background: var(--ew-soft); border: 1px solid var(--ew-line); border-radius: 6px; font-size: .88rem; margin: 0; padding: 4px 11px; }
.ew-docs-page .table-wrap { overflow-x: auto; }
.ew-docs-page table { border-collapse: collapse; width: 100%; }
.ew-docs-page th,.ew-docs-page td { border-bottom: 1px solid var(--ew-line); padding: 14px; text-align: left; vertical-align: top; }
.ew-docs-page th { background: var(--ew-soft); }
.ew-docs-page .shortcut-table td:first-child { white-space: nowrap; width: 220px; }

/* Support page and storage-free support form. */
.edf-workbench-support .site-main { max-width: none; padding: 0; }
.edf-workbench-support .page-header { display: none; }
.edf-workbench-support .page-content { margin: 0; }
.ew-support-page * { box-sizing: border-box; }
.ew-support-container { margin-inline: auto; width: min(calc(100% - 32px),1180px); }
.ew-support-hero { background: var(--ew-color-background); border-bottom: 1px solid var(--ew-line); padding: clamp(64px,8vw,112px) 0 56px; }
.ew-support-breadcrumbs { color: var(--ew-ink-650); font-size: .9rem; margin-bottom: 32px; }
.ew-support-breadcrumbs a { color: inherit; }
.ew-support-eyebrow { color: var(--ew-brand-700); font-size: .78rem; font-weight: 800; letter-spacing: .12em; margin: 0 0 13px; text-transform: uppercase; }
.ew-support-hero h1 { color: var(--ew-ink-950); font-size: clamp(2.6rem,6vw,4.8rem); font-weight: 740; letter-spacing: -.035em; line-height: 1.04; margin: 0 0 18px; max-width: 940px; }
.ew-support-lead { color: var(--ew-ink-650); font-size: clamp(1.12rem,2vw,1.35rem); max-width: 780px; }
.ew-support-section { padding: clamp(64px,8vw,104px) 0; }
.ew-support-layout { align-items: start; display: grid; gap: clamp(44px,6vw,84px); grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); }
.ew-support-layout h2 { color: var(--ew-ink-950); font-size: clamp(1.8rem,3vw,2.55rem); font-weight: 740; letter-spacing: -.025em; line-height: 1.12; margin: 0 0 14px; }
.ew-support-warning { background: #fff7e6; border-left: 4px solid var(--ew-amber); border-radius: 0 9px 9px 0; margin: 24px 0; padding: 16px 19px; }
.ew-support-form-wrap { margin-top: 28px; }
.ew-support-form { display: grid; gap: 22px; }
.ew-form-grid { display: grid; gap: 18px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.ew-field { display: grid; gap: 7px; }
.ew-field-wide { grid-column: 1 / -1; }
.ew-field label { color: var(--ew-ink-950); font-weight: 700; }
.ew-field input,.ew-field select,.ew-field textarea { background: #fff; border: 1px solid #9fb3bc; border-radius: 9px; color: var(--ew-ink-950); font: inherit; padding: 12px 13px; width: 100%; }
.ew-field textarea { min-height: 180px; resize: vertical; }
.ew-field input:focus,.ew-field select:focus,.ew-field textarea:focus { border-color: var(--ew-brand-600); box-shadow: 0 0 0 3px rgba(8,127,140,.14); outline: none; }
.ew-field-help { color: var(--ew-ink-650); font-size: .84rem; }
.ew-confirm { align-items: flex-start; display: flex; gap: 10px; }
.ew-confirm input { flex: 0 0 auto; margin-top: 6px; }
.ew-submit { background: var(--ew-brand-600); border: 1px solid var(--ew-brand-600); border-radius: 9px; color: #fff; cursor: pointer; font: inherit; font-weight: 720; justify-self: start; min-height: 46px; padding: 11px 20px; }
.ew-submit:hover { background: var(--ew-brand-700); border-color: var(--ew-brand-700); }
.ew-form-status { border-left: 4px solid var(--ew-brand-600); border-radius: 0 9px 9px 0; margin-bottom: 22px; padding: 14px 17px; }
.ew-form-status-success { background: #e8f6f1; color: #0d654f; }
.ew-form-status-error { background: #fff1ef; border-color: #b42318; color: #8a1c14; }
.ew-honeypot { height: 1px; left: -10000px; overflow: hidden; position: absolute; top: auto; width: 1px; }
.ew-support-aside { display: grid; gap: 18px; position: sticky; top: 98px; }
.ew-support-card { background: var(--ew-soft); border: 1px solid var(--ew-line); border-radius: 14px; padding: clamp(22px,3vw,30px); }
.ew-support-card h2 { font-size: 1.35rem; }
.ew-support-card ol { margin-bottom: 0; padding-left: 20px; }
.ew-support-card li { margin-bottom: 10px; }
.ew-support-card p:last-child { margin-bottom: 0; }

@media (max-width:900px) {
  .ew-hero-grid > .e-con-inner, .ew-two-column > .e-con-inner { grid-template-columns: 1fr; }
  .ew-feature-layout > .e-con-inner { grid-template-columns: 1fr; }
  .ew-feature-copy { position: static !important; }
  .ew-feature-copy > .e-con-inner { position: static !important; }
  .ew-feature-row { min-height: 0; }
  .ew-trust-grid > .e-con-inner, .ew-card-grid > .e-con-inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ew-feature-card-grid > .e-con-inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ew-workflow-grid > .e-con-inner { grid-template-columns: 1fr; }
  .ew-cta > .e-con-inner { grid-template-columns: 1fr; }
  .ew-footer-grid { grid-template-columns: repeat(2,1fr); }
  .ew-hero { min-height: auto; }
  .ew-docs-page .docs-shell { grid-template-columns: 1fr; }
  .ew-docs-page .docs-toc { max-height: none; position: static; }
  .ew-support-layout { grid-template-columns: 1fr; }
  .ew-support-aside { position: static; }
}
@media (max-width:560px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .elementor-element.e-con { min-width: 0; width: 100%; }
  .site-header .header-inner { padding-inline: 16px; }
  .site-header .site-title { font-size: 1.08rem !important; }
  .ew-section, .ew-hero { padding-inline: 18px; }
  .ew-hero > .e-con-inner, .ew-hero-grid > .e-con-inner, .ew-hero-grid > .e-con-inner > .e-con, .ew-actions > .e-con-inner { min-width: 0; width: 100%; }
  .ew-hero-title { max-width: 100%; }
  .ew-hero-title .elementor-heading-title { font-size: 2.55rem !important; overflow-wrap: anywhere; }
  .ew-lead, .ew-fine-print, .elementor-widget-text-editor { min-width: 0; overflow-wrap: anywhere; }
  .ew-trust-grid > .e-con-inner, .ew-card-grid > .e-con-inner { grid-template-columns: 1fr; }
  .ew-feature-card-grid > .e-con-inner { grid-template-columns: 1fr; }
  .ew-detail-card { min-height: 0; }
  .ew-actions > .e-con-inner { align-items: stretch; flex-direction: column !important; }
  .ew-actions .elementor-widget-button, .ew-actions .elementor-button { width: 100%; }
  .ew-footer-grid { grid-template-columns: 1fr; }
  .ew-docs-page .section { padding: 56px 0; }
  .ew-docs-page .doc-actions { align-items: stretch; flex-direction: column; }
  .ew-docs-page .doc-actions .button { width: 100%; }
  .ew-form-grid { grid-template-columns: 1fr; }
  .ew-field-wide { grid-column: auto; }
  .ew-submit { justify-self: stretch; width: 100%; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior: auto !important; transition: none !important; } }

@media print {
  .edf-workbench-docs .site-header,.edf-workbench-docs .site-footer,.ew-docs-page .docs-toc,.ew-docs-page .doc-actions { display: none !important; }
  .ew-docs-page .section,.ew-docs-page .page-hero { padding: 24px 0; }
  .ew-docs-page .docs-shell { display: block; }
  .ew-docs-page .doc-section { break-before: page; }
  .ew-docs-page .doc-section:first-child { break-before: auto; }
  .ew-docs-page .doc-figure { break-inside: avoid; box-shadow: none; }
}

.ew-releases-container { margin: 0 auto; max-width: 1160px; padding-inline: 24px; }
.ew-releases-hero { background: var(--ew-soft); padding: clamp(64px,8vw,104px) 0; }
.ew-releases-hero h1 { color: var(--ew-ink-950); font-size: clamp(2.4rem,5vw,4.5rem); line-height: 1.02; margin: 16px 0; }
.ew-releases-section { padding: clamp(64px,8vw,104px) 0; }
.ew-release-list { display: grid; gap: 20px; margin-bottom: 56px; }
.ew-release-card { border: 1px solid var(--ew-line); border-radius: 14px; padding: clamp(22px,3vw,32px); }
.ew-release-card h2 { margin: 12px 0 8px; }
.ew-release-card code { display: block; overflow-wrap: anywhere; white-space: normal; }
.ew-release-status { color: var(--ew-brand-700); font-size: .78rem; font-weight: 760; letter-spacing: .11em; text-transform: uppercase; }
.ew-release-download { background: var(--ew-brand-600); border-radius: 9px; color: #fff; display: inline-block; font-weight: 720; padding: 11px 18px; }
.ew-release-download:hover { background: var(--ew-brand-700); color: #fff; }
.ew-release-warning { background: #fff1ef; border-left: 4px solid #b42318; padding: 12px 16px; }

/* Download page. The primary action remains non-interactive until a qualified artifact exists. */
.edf-workbench-download .site-main { max-width: none; padding: 0; }
.edf-workbench-download .page-header { display: none; }
.edf-workbench-download .page-content { margin: 0; }
.ew-download-page * { box-sizing: border-box; }
.ew-download-container { margin-inline: auto; width: min(calc(100% - 32px),1180px); }
.ew-download-hero { background: var(--ew-color-background); border-bottom: 1px solid var(--ew-line); padding: clamp(64px,8vw,112px) 0 58px; }
.ew-download-breadcrumbs { color: var(--ew-ink-650); font-size: .9rem; margin-bottom: 32px; }
.ew-download-breadcrumbs a { color: inherit; }
.ew-download-eyebrow { color: var(--ew-brand-700); font-size: .78rem; font-weight: 800; letter-spacing: .12em; margin: 0 0 13px; text-transform: uppercase; }
.ew-download-hero h1 { color: var(--ew-ink-950); font-size: clamp(2.7rem,6vw,5rem); font-weight: 760; letter-spacing: -.04em; line-height: 1.02; margin: 0 0 18px; }
.ew-download-lead { color: var(--ew-ink-650); font-size: clamp(1.12rem,2vw,1.35rem); margin: 0; max-width: 790px; }
.ew-download-section { padding: clamp(64px,8vw,104px) 0; }
.ew-download-layout { align-items: start; display: grid; gap: clamp(42px,7vw,96px); grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr); }
.ew-download-primary h2,.ew-download-heading h2,.ew-download-privacy h2 { color: var(--ew-ink-950); font-size: clamp(1.9rem,3.4vw,3rem); font-weight: 740; letter-spacing: -.03em; line-height: 1.1; margin: 14px 0; }
.ew-download-primary > p { color: var(--ew-ink-650); font-size: 1.08rem; max-width: 690px; }
.ew-download-status { background: var(--ew-color-accent-soft); border-radius: 6px; color: var(--ew-brand-700); display: inline-flex; font-size: .78rem; font-weight: 760; padding: 5px 12px; }
.ew-download-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0; }
.ew-download-button { align-items: center; background: var(--ew-brand-600); border: 1px solid var(--ew-brand-600); border-radius: 9px; color: #fff; display: inline-flex; font-weight: 720; justify-content: center; min-height: 48px; padding: 12px 20px; text-decoration: none; }
.ew-download-button:hover { background: var(--ew-brand-700); color: #fff; }
.ew-download-button-secondary { background: #fff; border-color: var(--ew-line); color: var(--ew-ink-950); }
.ew-download-button-secondary:hover { background: var(--ew-soft); border-color: var(--ew-brand-600); color: var(--ew-brand-700); }
.ew-download-button.is-disabled { background: #d8e2e5; border-color: #d8e2e5; color: #60747e; cursor: not-allowed; }
.ew-download-notice { background: #fff7e6; border-left: 4px solid var(--ew-amber); border-radius: 0 9px 9px 0; max-width: 720px; padding: 16px 19px; }
.ew-download-facts { background: var(--ew-soft); border: 1px solid var(--ew-line); border-radius: 14px; padding: clamp(22px,3vw,32px); }
.ew-download-facts h2 { color: var(--ew-ink-950); font-size: 1.35rem; margin: 0 0 16px; }
.ew-download-facts dl { margin: 0 0 20px; }
.ew-download-facts dl div { border-top: 1px solid var(--ew-line); display: grid; gap: 18px; grid-template-columns: 130px minmax(0,1fr); padding: 11px 0; }
.ew-download-facts dl div:first-child { border-top: 0; }
.ew-download-facts dt { color: var(--ew-ink-650); }
.ew-download-facts dd { color: var(--ew-ink-950); font-weight: 680; margin: 0; overflow-wrap: anywhere; }
.ew-download-soft { background: var(--ew-soft); border-block: 1px solid var(--ew-line); }
.ew-download-heading { max-width: 760px; }
.ew-download-cards { display: grid; gap: 18px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 32px; }
.ew-download-cards article { background: #fff; border: 1px solid var(--ew-line); border-radius: 14px; padding: clamp(22px,3vw,30px); }
.ew-download-cards h3 { color: var(--ew-ink-950); font-size: 1.25rem; margin: 0 0 10px; }
.ew-download-cards p { color: var(--ew-ink-650); margin: 0; }
.ew-download-privacy { align-items: start; display: grid; gap: clamp(32px,6vw,80px); grid-template-columns: .8fr 1.2fr; }
.ew-download-privacy h2 { margin-top: 0; }
.ew-download-privacy p { color: var(--ew-ink-650); margin-top: 0; }

@media (max-width:900px) {
  .ew-download-layout,.ew-download-privacy { grid-template-columns: 1fr; }
  .ew-download-cards { grid-template-columns: 1fr; }
}
@media (max-width:560px) {
  .ew-download-actions { align-items: stretch; flex-direction: column; }
  .ew-download-button { width: 100%; }
  .ew-download-facts dl div { gap: 4px; grid-template-columns: 1fr; }
}

/* Issue #280: restrained technical design system. */
.ew-hero,
.ew-support-hero,
.ew-download-hero { background: var(--ew-color-background); }

.elementor-widget-heading .elementor-heading-title,
h1, h2, h3, h4, h5, h6 { color: var(--ew-color-text); font-family: var(--ew-font-sans); font-weight: 600; }

.ew-button .elementor-button,
.ew-download-button,
.ew-submit-button,
button,
input[type="button"],
input[type="submit"] { border-radius: 6px; min-height: 46px; }

.ew-button .elementor-button { border-width: 1px; padding: 11px 20px; }
.ew-button .elementor-button:hover,
.ew-button .elementor-button:focus-visible,
.ew-download-button:hover,
.ew-submit-button:hover { background: var(--ew-color-accent-hover) !important; border-color: var(--ew-color-accent-hover); color: #fff !important; }

.ew-card,
.ew-release-card,
.ew-support-card,
.ew-download-cards article,
.ew-download-facts,
.ew-docs-page .doc-figure { border-color: var(--ew-color-border); border-radius: 10px !important; box-shadow: 0 2px 8px rgba(23,33,43,.06) !important; }

.ew-card:hover { box-shadow: 0 2px 8px rgba(23,33,43,.06) !important; }
.ew-hero-image img { border-color: var(--ew-color-border); border-radius: 10px; box-shadow: 0 10px 28px rgba(23,33,43,.10); }

.ew-docs-page .tag,
.ew-docs-page .inline-list li,
.ew-download-status { border-radius: 6px; }

.ew-field input,
.ew-field select,
.ew-field textarea { border-color: var(--ew-color-border); border-radius: 6px; }

.ew-field input:focus,
.ew-field select:focus,
.ew-field textarea:focus { border-color: var(--ew-color-accent); box-shadow: 0 0 0 3px rgba(8,124,134,.16); }

code, kbd, samp, pre,
.ew-release-card code,
.ew-download-facts dd { font-family: var(--ew-font-mono); }

/* Issue #282: download-led navigation and product hero. */
.site-header .header-inner { max-width: 1380px; min-height: 70px; }
.site-header .site-navigation ul.menu li a { border-radius: 6px; font-size: .94rem; font-weight: 500; padding-inline: 11px; }
.site-header .site-navigation ul.menu > li:last-child > a { border-radius: 6px; font-weight: 600; margin-left: 6px; min-height: 40px; padding: 9px 16px; }

.ew-hero { padding: clamp(54px,6vw,88px) 24px clamp(50px,6vw,80px); }
.ew-hero-grid > .e-con-inner {
  align-items: center;
  gap: clamp(36px,4vw,64px);
  grid-template-columns: minmax(340px,2fr) minmax(0,3fr);
  max-width: 1440px;
}
.ew-hero-copy > .e-con-inner { align-items: flex-start; text-align: left; }
.ew-hero-copy .ew-lead,.ew-hero-copy .ew-fine-print { max-width: 590px; }
.ew-hero-copy .ew-actions > .e-con-inner { justify-content: flex-start; }
.ew-hero-title { max-width: 650px; }
.ew-hero-title .elementor-heading-title { font-size: clamp(3rem,4.2vw,4rem) !important; font-weight: 600; line-height: 1.04; }
.ew-preview-label { margin-bottom: 4px; }
.ew-preview-label .elementor-heading-title { letter-spacing: .11em; }
.ew-hero-copy .ew-lead { font-size: clamp(1.05rem,1.45vw,1.2rem); line-height: 1.6; }
.ew-hero-copy .ew-actions { margin-top: 8px; }
.ew-hero-copy .ew-actions > .e-con-inner { gap: 18px; }
.ew-hero-copy .ew-actions > .e-con-inner > .elementor-widget-html { width: auto; }
.ew-hero-secondary-link { align-items: center; color: var(--ew-brand-700); display: inline-flex; font-weight: 600; min-height: 46px; text-decoration: none; }
.ew-hero-secondary-link:hover { color: var(--ew-brand-600); text-decoration: underline; text-underline-offset: 4px; }
.ew-release-meta { color: var(--ew-ink-950); display: flex; flex-wrap: wrap; font-family: var(--ew-font-mono); font-size: .78rem; gap: 5px 0; line-height: 1.45; margin: 8px 0 0; }
.ew-release-meta span { align-items: center; display: inline-flex; white-space: nowrap; }
.ew-release-meta span + span::before { color: #9aa8b2; content: "\00b7"; margin: 0 8px; }
.ew-hero-copy .ew-fine-print { font-size: .82rem; margin-top: -2px; }
.ew-hero-image { justify-self: stretch; max-width: none; }
.ew-hero-image img { border-radius: 10px; box-shadow: 0 12px 30px rgba(23,33,43,.12); }

/* Issue #291: balanced homepage hero and release trust strip. */
.ew-hero {
  isolation: isolate;
  padding-block: clamp(68px,7.5vw,112px) clamp(62px,7vw,100px);
}
.ew-hero::before,
.ew-hero::after {
  content: "";
  pointer-events: none;
  position: absolute;
  z-index: 0;
}
.ew-hero::before {
  background: linear-gradient(145deg, rgba(239,241,255,.92), rgba(239,241,255,.18));
  clip-path: polygon(22% 0,100% 0,100% 100%,0 72%);
  height: min(720px,88%);
  right: -9%;
  top: 0;
  width: min(830px,52vw);
}
.ew-hero::after {
  background: rgba(86,105,236,.07);
  clip-path: polygon(0 22%,100% 0,78% 100%,0 76%);
  height: 190px;
  left: -90px;
  top: 44px;
  transform: rotate(-5deg);
  width: 290px;
}
.ew-hero-grid > .e-con-inner {
  gap: clamp(48px,5vw,86px);
  grid-template-columns: minmax(380px,.92fr) minmax(540px,1.25fr);
  max-width: 1320px;
}
.ew-hero-copy { position: relative; z-index: 2; }
.ew-hero-copy > .e-con-inner { gap: 15px; }
.ew-hero-title { max-width: 630px; }
.ew-hero-title .elementor-heading-title {
  font-size: clamp(3.25rem,4.5vw,4.65rem) !important;
  letter-spacing: -.045em;
  line-height: .99;
}
.ew-hero-copy .ew-lead { max-width: 570px; }
.ew-hero-visual {
	align-self: center;
  padding: clamp(10px,1vw,16px);
  position: relative;
  z-index: 1;
}
.ew-hero-visual > .e-con-inner { min-height: 0; }
.ew-hero-visual::before {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 18px;
  box-shadow: 0 34px 80px rgba(49,51,90,.18);
  content: "";
  inset: 0;
  position: absolute;
  transform: rotate(1.4deg);
}
.ew-hero-image { position: relative; z-index: 1; }
.ew-hero-image img {
  border-color: rgba(49,51,90,.16);
  border-radius: 12px;
  box-shadow: 0 18px 46px rgba(49,51,90,.16);
}
.ew-hero-trust {
  background: var(--ew-color-surface);
  border-bottom: 1px solid var(--ew-color-border);
  border-top: 1px solid var(--ew-color-border);
  padding: 0 24px;
}
.ew-hero-trust > .e-con-inner,
.ew-hero-trust-content { width: 100%; }
.ew-hero-trust > .e-con-inner { margin-inline: auto; max-width: 1320px; }
.ew-hero-trust-facts {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin: 0;
}
.ew-hero-trust-facts > div {
  border-right: 1px solid var(--ew-color-border);
  min-width: 0;
  padding: 22px clamp(18px,2vw,32px);
}
.ew-hero-trust-facts > div:first-child { padding-left: 0; }
.ew-hero-trust-facts > div:last-child { border-right: 0; padding-right: 0; }
.ew-hero-trust-facts dt {
  color: var(--ew-color-secondary);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.ew-hero-trust-facts dd {
  color: var(--ew-color-heading);
  font-size: .98rem;
  font-weight: 700;
  margin: 5px 0 0;
}

@media (max-width:900px) {
  .ew-hero-grid > .e-con-inner { grid-template-columns: 1fr; }
  .ew-hero-copy { order: 1; }
  .ew-hero-image { order: 2; }
	.ew-hero-visual { order: 2; }
	.ew-hero::before { height: 58%; width: 76vw; }
	.ew-hero-trust-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ew-hero-trust-facts > div { border-bottom: 1px solid var(--ew-color-border); }
	.ew-hero-trust-facts > div:nth-child(2) { border-right: 0; padding-right: 0; }
	.ew-hero-trust-facts > div:nth-child(3) { border-bottom: 0; padding-left: 0; }
	.ew-hero-trust-facts > div:nth-child(4) { border-bottom: 0; }
}

@media (max-width:560px) {
  .ew-hero { padding-block: 44px 52px; }
  .ew-hero-title .elementor-heading-title { font-size: 2.5rem !important; }
  .ew-hero-copy .ew-actions > .e-con-inner { align-items: flex-start; }
  .ew-hero-copy .ew-actions .ew-hero-secondary { width: auto; }
  .ew-hero-secondary-link { min-height: 38px; }
  .ew-release-meta { font-size: .74rem; }
	.ew-hero::before { height: 42%; right: -28%; width: 110vw; }
	.ew-hero::after { display: none; }
	.ew-hero-copy > .e-con-inner { gap: 12px; }
	.ew-hero-title .elementor-heading-title { font-size: 2.7rem !important; }
	.ew-hero-visual { padding: 7px; }
	.ew-hero-trust { padding-inline: 18px; }
	.ew-hero-trust-facts { grid-template-columns: 1fr 1fr; }
	.ew-hero-trust-facts > div { padding: 16px 12px; }
	.ew-hero-trust-facts dt { font-size: .65rem; }
	.ew-hero-trust-facts dd { font-size: .86rem; }
}

/* Issue #283: screenshot-led homepage capabilities. */
.ew-capabilities { background: #fff; }
.ew-capability-stack > .e-con-inner { display: grid !important; gap: clamp(64px,8vw,112px); }
.ew-capability-row > .e-con-inner { align-items: center; display: grid !important; gap: clamp(32px,5vw,80px); grid-template-columns: minmax(280px,4fr) minmax(0,6fr); grid-template-areas: "copy image"; }
.ew-capability-image-first > .e-con-inner { grid-template-columns: minmax(0,6fr) minmax(280px,4fr); grid-template-areas: "image copy"; }
.ew-capability-copy { grid-area: copy; }
.ew-capability-copy .ew-section-title .elementor-heading-title { font-size: clamp(1.9rem,3.2vw,2.8rem); }
.ew-capability-copy .elementor-widget-text-editor { color: var(--ew-ink-650); font-size: 1.08rem; }
.ew-capability-image { grid-area: image; }
.ew-capability-image figure { margin: 0; }
.ew-capability-image img { background: #fff; border: 1px solid var(--ew-line); border-radius: 10px; box-shadow: var(--ew-shadow); display: block; height: auto; width: 100%; }
.ew-capability-copy .ew-button-secondary { margin-top: 10px; }

.ew-overview-section { background: var(--ew-soft); }
.ew-overview-layout > .e-con-inner { align-items: start; display: grid !important; gap: clamp(40px,7vw,112px); grid-template-columns: minmax(260px,.75fr) minmax(0,1.25fr); }
.ew-feature-overview-list { border-top: 1px solid var(--ew-line); display: grid; gap: 0 32px; grid-template-columns: repeat(2,minmax(0,1fr)); list-style: none; margin: 0; padding: 0; }
.ew-feature-overview-list li { border-bottom: 1px solid var(--ew-line); color: var(--ew-ink-800); min-height: 68px; padding: 18px 6px 18px 24px; position: relative; }
.ew-feature-overview-list li::before { background: var(--ew-brand-600); border-radius: 50%; content: ""; height: 8px; left: 0; position: absolute; top: 25px; width: 8px; }

.ew-technical-section { background: var(--ew-ink-950); color: #fff; }
.ew-technical-section .ew-eyebrow .elementor-heading-title { color: #70dce7 !important; }
.ew-technical-section .ew-section-title .elementor-heading-title { color: #fff !important; }
.ew-technical-section .elementor-widget-text-editor { color: #b9ccd5; }
.ew-technical-section .ew-button-secondary .elementor-button { background: transparent !important; border-color: #64808d !important; color: #fff !important; }
.ew-technical-section .ew-button-secondary .elementor-button:hover { background: rgba(255,255,255,.06) !important; border-color: #8ce6ef !important; color: #fff !important; }
.ew-technical-layout > .e-con-inner { align-items: start; display: grid !important; gap: clamp(40px,7vw,112px); grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); }
.ew-technical-facts { background: #314651; border: 1px solid #314651; display: grid; gap: 1px; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; }
.ew-technical-facts > div { background: #102936; min-width: 0; padding: 16px 18px; }
.ew-technical-facts dt { color: #9db3bd; font-size: .76rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.ew-technical-facts dd { color: #fff; font-weight: 600; margin: 4px 0 0; overflow-wrap: anywhere; }
.ew-technical-facts code { font-size: .75rem; font-weight: 400; }
.ew-technical-checksum { grid-column: 1 / -1; }

.ew-final-download-section { background: #fff; }
.ew-final-download { border-bottom: 1px solid var(--ew-line); border-top: 1px solid var(--ew-line); padding-block: clamp(32px,5vw,60px); }
.ew-final-download > .e-con-inner { align-items: center; display: grid !important; gap: 32px; grid-template-columns: minmax(0,1fr) auto; }
.ew-final-download .ew-section-title .elementor-heading-title { font-size: clamp(2rem,4vw,3rem); }
.ew-final-download-copy .elementor-widget-text-editor { color: var(--ew-ink-650); }
.ew-final-download-action { min-width: 260px; }
.ew-final-download-action .elementor-button { width: 100%; }
.ew-final-download-action .ew-release-meta { justify-content: center; margin-bottom: 0; }

@media (max-width:900px) {
  .ew-capability-row > .e-con-inner, .ew-capability-image-first > .e-con-inner { grid-template-columns: 1fr; grid-template-areas: "copy" "image"; }
  .ew-overview-layout > .e-con-inner, .ew-technical-layout > .e-con-inner { grid-template-columns: 1fr; }
  .ew-final-download > .e-con-inner { grid-template-columns: 1fr; }
  .ew-final-download-action { max-width: 360px; min-width: 0; }
}

@media (max-width:560px) {
  .ew-capability-stack > .e-con-inner { gap: 60px; }
  .ew-feature-overview-list, .ew-technical-facts { grid-template-columns: 1fr; }
  .ew-technical-checksum { grid-column: auto; }
  .ew-final-download-action { max-width: none; }
}

/* Issue #284: technical Download and Releases pages. */
.ew-download-hero,.ew-releases-hero { padding-bottom: clamp(44px,5vw,64px); }
.ew-download-button:not(.ew-download-button-secondary),.ew-release-download { color: #fff !important; font-size: 1rem !important; line-height: 1.2; }
.ew-download-button:not(.ew-download-button-secondary):hover,.ew-release-download:hover { color: #fff !important; }
.ew-download-button-secondary { color: var(--ew-ink-950) !important; font-size: 1rem !important; line-height: 1.2; }
.ew-download-button-secondary:hover { color: var(--ew-brand-700) !important; }
.ew-download-layout { grid-template-columns: minmax(0,1.05fr) minmax(340px,.95fr); }
.ew-download-facts { border-radius: 0; }
.ew-download-facts dd { font-family: var(--ew-font-sans); }
.ew-download-facts .ew-mono,.ew-release-facts .ew-mono { font-family: var(--ew-font-mono); font-size: .88rem; }
.ew-checksum-value,.ew-release-checksum dd { align-items: flex-start; display: flex; gap: 12px; min-width: 0; }
.ew-checksum-value code,.ew-release-checksum code { min-width: 0; overflow-wrap: anywhere; }
.ew-copy-button { background: #fff; border: 1px solid var(--ew-line); border-radius: 6px; color: var(--ew-brand-700); cursor: pointer; flex: 0 0 auto; font-size: .78rem; font-weight: 700; min-height: 32px; padding: 5px 10px; }
.ew-copy-button:hover { background: var(--ew-color-accent-soft); border-color: var(--ew-brand-600); }
.ew-download-guidance { display: grid; gap: clamp(32px,6vw,80px); grid-template-columns: repeat(2,minmax(0,1fr)); }
.ew-download-guidance article { min-width: 0; }
.ew-download-guidance h2 { color: var(--ew-ink-950); font-size: clamp(1.65rem,3vw,2.3rem); margin: 0 0 16px; }
.ew-download-guidance p { color: var(--ew-ink-650); }

.ew-release-list { display: grid; gap: 24px; margin-bottom: clamp(48px,7vw,96px); }
.ew-release-card { background: #fff; border: 1px solid var(--ew-line); border-left: 4px solid #9fb0b8; border-radius: 0; padding: clamp(20px,3vw,32px); }
.ew-release-current { border-left-color: var(--ew-brand-600); }
.ew-release-withdrawn { background: #fffafa; border-left-color: #b42318; }
.ew-release-card header { align-items: center; display: flex; gap: 16px; justify-content: space-between; }
.ew-release-card header h2 { margin: 0; }
.ew-release-facts { border-top: 1px solid var(--ew-line); display: grid; gap: 0 32px; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 24px 0; }
.ew-release-facts > div { border-bottom: 1px solid var(--ew-line); min-width: 0; padding: 12px 0; }
.ew-release-facts dt { color: var(--ew-ink-650); font-size: .8rem; }
.ew-release-facts dd { color: var(--ew-ink-950); font-weight: 600; margin: 2px 0 0; overflow-wrap: anywhere; }
.ew-release-checksum { grid-column: 1 / -1; }
.ew-release-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 16px; }
.ew-release-warning { border-left: 4px solid #b42318; padding-left: 16px; }
.ew-release-policy { border-top: 1px solid var(--ew-line); display: grid; gap: clamp(32px,6vw,80px); grid-template-columns: repeat(2,minmax(0,1fr)); padding-top: 40px; }
.ew-release-policy h2 { color: var(--ew-ink-950); font-size: 1.5rem; }

@media (max-width:760px) {
  .ew-download-layout,.ew-download-guidance,.ew-release-facts,.ew-release-policy { grid-template-columns: 1fr; }
  .ew-release-checksum { grid-column: auto; }
  .ew-release-card header { align-items: flex-start; flex-direction: column-reverse; }
  .ew-checksum-value,.ew-release-checksum dd { flex-direction: column; }
}

/* Issue #285: factual About and product-trust content. */
.ew-about-page { color:var(--ew-ink-950); font-family:var(--ew-font-sans); }
.ew-about-container { margin:0 auto; max-width:1180px; padding-inline:24px; }
.ew-about-hero { background:var(--ew-color-background); padding:clamp(72px,9vw,120px) 0; }
.ew-about-breadcrumbs { color:var(--ew-ink-650); margin-bottom:32px; }
.ew-about-breadcrumbs a { color:var(--ew-brand-700); }
.ew-about-eyebrow { color:var(--ew-brand-700); font-size:.78rem; font-weight:800; letter-spacing:.12em; margin:0 0 13px; text-transform:uppercase; }
.ew-about-hero h1 { font-size:clamp(2.75rem,6vw,5.3rem); letter-spacing:-.045em; line-height:.98; margin:0; max-width:12ch; }
.ew-about-lead { color:var(--ew-ink-650); font-size:clamp(1.1rem,2vw,1.35rem); line-height:1.65; margin:28px 0 0; max-width:760px; }
.ew-about-section { padding:clamp(64px,8vw,104px) 0; }
.ew-about-section h2 { font-size:clamp(2rem,4vw,3.25rem); letter-spacing:-.035em; line-height:1.08; margin:0 0 24px; }
.ew-about-section p { color:var(--ew-ink-650); line-height:1.7; }
.ew-about-intro,.ew-about-preview { display:grid; gap:clamp(32px,6vw,80px); grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); }
.ew-about-intro h2,.ew-about-preview h2,.ew-about-section-soft h2 { max-width:18ch; }
.ew-about-identity { align-self:start; background:var(--ew-soft); border:1px solid var(--ew-line); margin:0; padding:clamp(20px,3vw,32px); }
.ew-about-identity div { border-bottom:1px solid var(--ew-line); display:grid; gap:16px; grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr); padding:13px 0; }
.ew-about-identity div:last-child { border-bottom:0; }
.ew-about-identity dt { color:var(--ew-ink-650); }
.ew-about-identity dd { font-weight:650; margin:0; }
.ew-about-section-soft { background:var(--ew-soft); }
.ew-about-principles { display:grid; gap:0 40px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:32px; }
.ew-about-principles article { border-top:1px solid var(--ew-line); padding:22px 0; }
.ew-about-principles h3 { font-size:1.15rem; margin:0 0 8px; }
.ew-about-principles p { margin:0; }
.ew-about-disclaimer { border-left:3px solid var(--ew-brand-600); font-size:.93rem; margin-top:32px; padding-left:16px; }
.ew-about-links { border-top:1px solid var(--ew-line); display:grid; }
.ew-about-links a { border-bottom:1px solid var(--ew-line); color:var(--ew-ink-950); display:grid; gap:3px; padding:16px 4px; text-decoration:none; }
.ew-about-links a:hover,.ew-about-links a:focus-visible { background:var(--ew-soft); padding-left:12px; }
.ew-about-links strong { color:var(--ew-brand-700); }
.ew-about-links span { color:var(--ew-ink-650); }
@media (max-width:760px) {
  .ew-about-container { padding-inline:18px; }
  .ew-about-intro,.ew-about-preview,.ew-about-principles { grid-template-columns:1fr; }
  .ew-about-identity { padding:16px; }
  .ew-about-identity div { grid-template-columns:1fr; gap:3px; }
}

/* Issue #286: responsive and accessibility qualification. */
main, section, article, aside, nav, header, footer, div, dl, dd,
.elementor-element, .e-con, .e-con-inner { min-width: 0; }
p, li, dd, figcaption, label, .elementor-widget-text-editor,
.ew-support-lead, .ew-field-help { overflow-wrap: break-word; }
.ew-mono, code, samp, pre, .ew-checksum-value, .ew-release-checksum { overflow-wrap: anywhere; }
.site-header .site-navigation ul.menu li a,
.site-header .site-navigation-dropdown ul.menu li a,
.ew-site-footer a,
.ew-docs-page .docs-toc a { align-items: center; display: flex; min-height: 44px; }
.site-navigation-toggle { min-height: 44px; min-width: 44px; }
.ew-confirm { min-height: 44px; }
.ew-confirm input { flex: 0 0 auto; }
.ew-copy-button { min-height: 44px; min-width: 44px; }
.ew-docs-page .table-wrap { scrollbar-gutter: stable; }
.ew-docs-page .table-wrap:focus-within { outline: 2px solid var(--ew-brand-600); outline-offset: 2px; }
.ew-form-status:focus { outline: 3px solid var(--ew-brand-600); outline-offset: 3px; }

@media (max-width: 767px) {
  .site-header .site-navigation-dropdown { max-height: calc(100vh - 80px); overflow-y: auto; }
  .site-header .site-navigation-dropdown ul.menu li a { padding-block: 10px; }
}

@media (max-width: 560px) {
  .ew-hero-image { border: 1px solid var(--ew-line); border-radius: 10px; overflow: hidden; width: 100%; }
  .ew-hero-image .elementor-widget-container,
  .ew-hero-image figure { height: 250px; margin: 0; overflow: hidden; width: 100%; }
  .ew-hero-image img { border: 0; border-radius: 0; height: 250px !important; max-width: none !important; object-fit: cover; object-position: 38% top; width: 100% !important; }
  .ew-release-actions { align-items: stretch; flex-direction: column; }
  .ew-release-actions .ew-release-download { text-align: center; width: 100%; }
  .ew-checksum-value, .ew-release-checksum dd { align-items: stretch; flex-direction: column; }
  .ew-copy-button { align-self: flex-start; }
}

@media (forced-colors: active) {
  :focus-visible { outline: 3px solid Highlight !important; }
  .ew-button .elementor-button, .ew-download-button, .ew-submit,
  .ew-release-status, .ew-form-status { border: 1px solid CanvasText !important; }
}

/* Issue #290: shared navigation and footer shell. */
.site-header {
  background: #fff;
  border-bottom: 1px solid var(--ew-color-border);
  box-shadow: 0 0 0 rgba(28,38,84,0);
  padding: 0;
  position: sticky;
  top: 0;
  transition: box-shadow .18s ease, border-color .18s ease;
}
.site-header.ew-header-scrolled {
  border-bottom-color: transparent;
  box-shadow: 0 10px 28px rgba(28,38,84,.11);
}
.site-header .header-inner {
  align-items: center;
  flex-wrap: nowrap;
  margin-inline: auto;
  max-width: var(--ew-width-content);
  min-height: 64px;
  padding: 8px 24px;
  width: 100%;
}
.site-header .site-branding { flex: 0 1 auto; min-width: 0; }
.site-header .site-title { font-size: 1rem !important; font-weight: 700; line-height: 1.1; }
.site-header .site-title a { gap: 10px; min-height: 44px; white-space: nowrap; }
.site-header .site-title a::before { flex: 0 0 32px; height: 32px; width: 32px; }
.site-header .site-navigation { margin-left: auto; }
.site-header .site-navigation ul.menu { align-items: center; flex-wrap: nowrap; gap: 2px; margin: 0; }
.site-header .site-navigation ul.menu li a {
  background: transparent;
  border-radius: var(--ew-radius-small);
  color: var(--ew-color-heading);
  font-size: .91rem;
  font-weight: 700;
  min-height: 44px;
  padding: 9px 11px;
}
.site-header .site-navigation ul.menu li a:hover,
.site-header .site-navigation ul.menu li a:focus-visible,
.site-header .site-navigation ul.menu li.current-menu-item > a {
  background: var(--ew-color-accent-soft);
  color: var(--ew-color-accent-hover);
}
.site-header .site-navigation ul.menu li.ew-nav-download > a {
  background: var(--ew-color-accent);
  border: 2px solid var(--ew-color-accent);
  color: var(--ew-color-on-accent);
  margin-left: 8px;
  padding-inline: 17px;
}
.site-header .site-navigation ul.menu li.ew-nav-download > a:hover,
.site-header .site-navigation ul.menu li.ew-nav-download > a:focus-visible,
.site-header .site-navigation ul.menu li.ew-nav-download.current-menu-item > a {
  background: var(--ew-color-accent-hover);
  border-color: var(--ew-color-accent-hover);
  color: var(--ew-color-on-accent);
}
.site-navigation-toggle-holder { margin-left: auto; padding: 0; }
.site-navigation-toggle-holder .site-navigation-toggle {
  background: var(--ew-color-accent-soft);
  border: 1px solid var(--ew-color-border);
  border-radius: var(--ew-radius-small);
  color: var(--ew-color-heading);
  min-height: 44px;
  min-width: 44px;
  padding: 10px;
}
.site-navigation-toggle-holder .site-navigation-toggle:hover { background: #e3e6ff; color: var(--ew-color-accent-hover); }
.site-header .site-navigation-dropdown {
  background: var(--ew-color-dark);
  bottom: auto;
  box-shadow: 0 20px 42px rgba(28,38,84,.22);
  left: 0;
  margin: 0;
  max-height: calc(100dvh - 64px);
  overflow-y: auto;
  overscroll-behavior: contain;
  position: absolute;
  right: 0;
  top: 100%;
  width: 100%;
}
.site-header .site-navigation-dropdown ul.menu {
  background: var(--ew-color-dark);
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 14px max(20px, calc((100vw - var(--ew-width-content)) / 2 + 24px)) 22px;
  position: static;
  width: 100%;
}
.site-header .site-navigation-dropdown ul.menu li a {
  background: transparent;
  border-radius: var(--ew-radius-small);
  box-shadow: none;
  color: #f7f8ff;
  font-size: 1rem;
  font-weight: 700;
  min-height: 48px;
  padding: 12px 14px;
}
.site-header .site-navigation-dropdown ul.menu li a:hover,
.site-header .site-navigation-dropdown ul.menu li a:focus-visible,
.site-header .site-navigation-dropdown ul.menu li.current-menu-item > a {
  background: rgba(255,255,255,.10);
  color: #fff;
}
.site-header .site-navigation-dropdown ul.menu li.ew-nav-download > a {
  background: var(--ew-color-accent);
  color: #fff;
  margin-top: 8px;
  width: 100%;
}
.site-header .site-navigation-dropdown ul.menu li.ew-nav-download > a:hover,
.site-header .site-navigation-dropdown ul.menu li.ew-nav-download > a:focus-visible { background: #6b7af1; }
body.ew-mobile-menu-open { overflow: hidden; }

.ew-site-footer {
  background: var(--ew-color-dark);
  border-top: 0;
  color: #d8dbef;
  padding: clamp(48px,6vw,72px) 24px 24px;
}
.ew-footer-grid {
  gap: clamp(30px,5vw,64px);
  grid-template-columns: minmax(240px,1.5fr) repeat(3,minmax(120px,.75fr));
  max-width: var(--ew-width-content);
}
.ew-footer-grid h2 { color: #fff; font-size: .95rem; font-weight: 700; letter-spacing: .02em; margin-bottom: 14px; }
.ew-site-footer .ew-footer-grid a {
  border-radius: 4px;
  color: #d8dbef !important;
  margin: 0;
  min-height: 40px;
  padding: 7px 0;
  width: fit-content;
}
.ew-site-footer .ew-footer-grid a:hover,
.ew-site-footer .ew-footer-grid a:focus-visible { color: #fff !important; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.ew-footer-brand > a { font-size: 1.05rem; gap: 10px; min-height: 44px; }
.ew-site-footer .ew-footer-brand > a { align-items: center; display: inline-flex; }
.ew-footer-brand strong { min-height: 32px; }
.ew-footer-brand img { flex-basis: 32px; height: 32px; width: 32px; }
.ew-footer-brand p { color: #c3c7df; line-height: 1.6; margin: 14px 0 0; max-width: 320px; }
.ew-footer-bottom {
  border-top: 1px solid rgba(255,255,255,.16);
  color: #aeb4d0;
  font-size: .82rem;
  margin-top: clamp(32px,5vw,52px);
  max-width: var(--ew-width-content);
  padding-top: 20px;
}

@media (max-width: 992px) {
  body { padding-top: 65px; }
  .site-header { left: 0; position: fixed; right: 0; width: 100%; }
  .site-header .header-inner { padding-inline: 20px; }
  .site-header .site-navigation-dropdown ul.menu { padding-inline: 20px; }
}

body.admin-bar .site-header { top: 32px; }

@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}

@media (max-width: 760px) {
  .ew-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ew-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 480px) {
  .site-header .header-inner { padding-inline: 16px; }
  .site-header .site-title { font-size: .96rem !important; }
  .site-header .site-navigation-dropdown ul.menu { padding-inline: 16px; }
  .ew-site-footer { padding-inline: 18px; }
  .ew-footer-grid { grid-template-columns: 1fr; }
  .ew-footer-brand { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header { transition: none; }
}

/* Issue #294: one visual system for all inner pages. */
.edf-workbench-inner-page .site-main {
  background: #fff;
  color: var(--ew-color-text);
}
.edf-workbench-inner-page :is(
  .ew-page-hero,
  .ew-download-hero,
  .ew-releases-hero,
  .ew-support-hero,
  .ew-about-hero,
  .ew-docs-page .page-hero
) {
  background:
    linear-gradient(138deg, rgba(239,241,255,.96), rgba(247,249,255,.62) 58%, #fff 58%);
  border-bottom: 1px solid var(--ew-color-border);
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(62px,7vw,96px) clamp(48px,5vw,68px);
  position: relative;
}
.edf-workbench-inner-page :is(
  .ew-page-hero,
  .ew-download-hero,
  .ew-releases-hero,
  .ew-support-hero,
  .ew-about-hero,
  .ew-docs-page .page-hero
)::after {
  background: rgba(86,105,236,.08);
  clip-path: polygon(25% 0,100% 0,78% 100%,0 72%);
  content: "";
  height: 210px;
  pointer-events: none;
  position: absolute;
  right: -72px;
  top: 0;
  width: min(440px,38vw);
  z-index: -1;
}
.edf-workbench-inner-page :is(
  .ew-breadcrumbs,
  .ew-download-breadcrumbs,
  .ew-support-breadcrumbs,
  .ew-about-breadcrumbs,
  .ew-docs-page .breadcrumbs
) {
  color: var(--ew-color-secondary);
  font-size: .84rem;
  margin-bottom: 26px;
}
.edf-workbench-inner-page :is(
  .ew-breadcrumbs,
  .ew-download-breadcrumbs,
  .ew-support-breadcrumbs,
  .ew-about-breadcrumbs,
  .ew-docs-page .breadcrumbs
) a {
  color: var(--ew-color-accent-hover);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.edf-workbench-inner-page :is(
  .ew-page-title .elementor-heading-title,
  .ew-download-hero h1,
  .ew-releases-hero h1,
  .ew-support-hero h1,
  .ew-about-hero h1,
  .ew-docs-page h1
) {
  color: var(--ew-color-heading) !important;
  font-size: clamp(2.7rem,5.2vw,4.65rem) !important;
  font-weight: 700 !important;
  letter-spacing: -.045em;
  line-height: 1.01;
  max-width: 16ch;
}
.edf-workbench-inner-page :is(
  .ew-page-lead,
  .ew-download-lead,
  .ew-support-lead,
  .ew-about-lead,
  .ew-docs-page .lead
) {
  color: var(--ew-color-secondary);
  font-size: clamp(1.05rem,1.7vw,1.25rem);
  line-height: 1.65;
  max-width: 760px;
}
.edf-workbench-inner-page :is(
  .ew-section-title .elementor-heading-title,
  .ew-download-section h2,
  .ew-releases-section h2,
  .ew-support-section h2,
  .ew-about-section h2,
  .ew-docs-page .doc-section > h2
) {
  color: var(--ew-color-heading);
  letter-spacing: -.035em;
}

/* Screenshot and capability surfaces. */
.edf-workbench-inner-page .ew-product-shot img,
.edf-workbench-inner-page .ew-docs-page .doc-figure {
  border-color: var(--ew-color-border);
  border-radius: 14px;
  box-shadow: 0 18px 48px rgba(49,51,90,.11);
}
.edf-workbench-inner-page :is(.ew-card,.ew-detail-card,.ew-workflow-card) {
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(49,51,90,.07);
}
.edf-workbench-inner-page .ew-section-soft {
  background:
    linear-gradient(180deg, rgba(239,241,255,.66), rgba(247,249,255,.96));
}

/* Technical download and release surfaces retain their data-first layout. */
.edf-workbench-inner-page :is(.ew-download-primary,.ew-download-facts,.ew-release-card) {
  background: #fff;
  border: 1px solid var(--ew-color-border);
  border-radius: 14px;
  box-shadow: 0 14px 38px rgba(49,51,90,.07);
}
.edf-workbench-inner-page .ew-download-primary { padding: clamp(24px,3vw,38px); }
.edf-workbench-inner-page .ew-download-facts { box-shadow: none; overflow: hidden; }
.edf-workbench-inner-page .ew-release-card {
  border-left: 1px solid var(--ew-color-border);
  overflow: hidden;
  position: relative;
}
.edf-workbench-inner-page .ew-release-card::before {
  background: #9ba5bd;
  content: "";
  inset: 0 auto 0 0;
  position: absolute;
  width: 4px;
}
.edf-workbench-inner-page .ew-release-current::before { background: var(--ew-color-accent); }
.edf-workbench-inner-page .ew-release-withdrawn::before { background: #b42318; }
.edf-workbench-inner-page .ew-release-status {
  border-radius: 999px;
  padding-inline: 12px;
}
.edf-workbench-inner-page :is(.ew-download-guidance,.ew-release-policy) article {
  border-top: 3px solid var(--ew-color-accent);
  padding-top: 20px;
}

/* Documentation stays editorial and dense, with resilient technical content. */
.edf-workbench-inner-page .ew-docs-page .docs-shell { grid-template-columns: 250px minmax(0,1fr); }
.edf-workbench-inner-page .ew-docs-page .docs-toc {
  border-color: var(--ew-color-border);
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(49,51,90,.07);
}
.edf-workbench-inner-page .ew-docs-page .doc-section { position: relative; }
.edf-workbench-inner-page .ew-docs-page .doc-section::before {
  background: var(--ew-color-accent);
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  top: -1px;
  width: 42px;
}
.edf-workbench-inner-page .ew-docs-page .doc-section:first-child::before { display: none; }
.edf-workbench-inner-page .ew-docs-page :is(pre,.table-wrap) { max-width: 100%; }

/* Support and About use the same card and editorial treatments. */
.edf-workbench-inner-page :is(.ew-support-card,.ew-support-aside,.ew-support-form-wrap,.ew-about-identity) {
  background: #fff;
  border: 1px solid var(--ew-color-border);
  border-radius: 14px;
  box-shadow: 0 14px 38px rgba(49,51,90,.07);
}
.edf-workbench-inner-page .ew-support-card { border-top: 3px solid var(--ew-color-accent); }
.edf-workbench-inner-page .ew-about-principles article { border-top-color: var(--ew-color-border); }
.edf-workbench-inner-page .ew-about-principles article::before {
  background: var(--ew-color-accent);
  content: "";
  display: block;
  height: 3px;
  margin: -23px 0 20px;
  width: 36px;
}
.edf-workbench-inner-page .ew-about-links a {
  transition: background-color var(--ew-motion-fast) ease, color var(--ew-motion-fast) ease;
}
.edf-workbench-inner-page .ew-about-links a:hover,
.edf-workbench-inner-page .ew-about-links a:focus-visible { padding-left: 4px; }

/* Privacy intentionally keeps the standard WordPress content, but presents it
   as the same narrow editorial document as the guide and policy surfaces. */
.edf-workbench-privacy .site-main { max-width: none; padding: 0; }
.edf-workbench-privacy .page-header {
  background: linear-gradient(138deg, rgba(239,241,255,.96), #fff 72%);
  border-bottom: 1px solid var(--ew-color-border);
  margin: 0;
  padding: clamp(62px,7vw,96px) max(24px,calc((100vw - 1180px)/2));
}
.edf-workbench-privacy .page-title {
  color: var(--ew-color-heading);
  font-size: clamp(2.7rem,5.2vw,4.65rem);
  letter-spacing: -.045em;
  line-height: 1.01;
}
.edf-workbench-privacy .page-content {
  margin: 0 auto;
  max-width: 820px;
  padding: clamp(56px,7vw,92px) 24px;
}
.edf-workbench-privacy .page-content :is(h2,h3) { color: var(--ew-color-heading); letter-spacing: -.025em; }
.edf-workbench-privacy .page-content :is(p,li) { color: var(--ew-color-text); line-height: 1.75; }
.edf-workbench-privacy .page-content a { color: var(--ew-color-accent-hover); }
.edf-workbench-privacy .ew-privacy-meta { color: var(--ew-color-secondary); font-size: .92rem; margin: 0 0 14px; }
.edf-workbench-privacy .ew-privacy-lead { color: var(--ew-color-heading); font-size: clamp(1.12rem,2vw,1.3rem); line-height: 1.65; margin: 0 0 34px; }
.edf-workbench-privacy .ew-privacy-summary { background: var(--ew-color-accent-soft); border: 1px solid var(--ew-color-border); border-radius: 14px; margin: 0 0 42px; padding: clamp(22px,4vw,34px); }
.edf-workbench-privacy .ew-privacy-summary h2 { margin-top: 0; }
.edf-workbench-privacy .ew-privacy-summary li:last-child { margin-bottom: 0; }
.edf-workbench-privacy .ew-privacy-notice > h2 { border-top: 1px solid var(--ew-color-border); margin-top: 42px; padding-top: 38px; }
.edf-workbench-privacy .ew-privacy-notice > h3 { font-size: 1.2rem; margin-top: 28px; }
.ew-form-privacy { color: var(--ew-color-secondary); font-size: .92rem; line-height: 1.6; margin: 20px 0 14px; }

@media (max-width: 760px) {
  .edf-workbench-inner-page :is(
    .ew-page-hero,
    .ew-download-hero,
    .ew-releases-hero,
    .ew-support-hero,
    .ew-about-hero,
    .ew-docs-page .page-hero
  )::after { height: 150px; opacity: .7; right: -100px; width: 270px; }
  .edf-workbench-inner-page .ew-docs-page .docs-shell { grid-template-columns: 1fr; }
  .edf-workbench-inner-page .ew-docs-page .docs-toc { box-shadow: none; position: static; }
  .edf-workbench-inner-page :is(.ew-download-primary,.ew-release-card,.ew-support-card,.ew-support-aside,.ew-support-form-wrap,.ew-about-identity) {
    border-radius: 10px;
  }
}

@media (forced-colors: active) {
  .edf-workbench-inner-page :is(
    .ew-page-hero,
    .ew-download-hero,
    .ew-releases-hero,
    .ew-support-hero,
    .ew-about-hero,
    .ew-docs-page .page-hero
  )::after { display: none; }
  .edf-workbench-inner-page :is(.ew-download-primary,.ew-download-facts,.ew-release-card,.ew-support-card,.ew-support-aside,.ew-support-form-wrap,.ew-about-identity) {
    border-color: CanvasText;
    box-shadow: none;
  }
}

@media (forced-colors: active) {
  .site-header,
  .site-header .site-navigation-dropdown,
  .ew-site-footer { border: 1px solid CanvasText; }
  .ew-hero::before, .ew-hero::after, .ew-hero-visual::before { display: none; }
  .ew-hero-trust, .ew-hero-trust-facts > div { border-color: CanvasText; }
}

/* Keep small uppercase labels above AA contrast on muted surfaces. */
.ew-eyebrow .elementor-heading-title,
.ew-preview-label .elementor-heading-title { color: #044e54 !important; }

/* Issue #292: screenshot-led homepage composition and diagonal final CTA. */
.ew-capabilities {
  background: linear-gradient(180deg,#fff 0,#f8f9ff 36%,#fff 100%);
  overflow: hidden;
  position: relative;
}
.ew-capabilities::before {
  background: var(--ew-color-accent-soft);
  clip-path: polygon(0 0,100% 28%,82% 100%,0 72%);
  content: "";
  height: 330px;
  pointer-events: none;
  position: absolute;
  right: -190px;
  top: 130px;
  width: 460px;
}
.ew-capabilities-intro { margin-bottom: clamp(48px,7vw,88px); text-align: center; }
.ew-capabilities-intro > .e-con-inner { align-items: center; }
.ew-capabilities-intro .ew-section-title { max-width: 760px; }
.ew-capability-stack > .e-con-inner { gap: clamp(34px,5vw,64px); }
.ew-capability-row {
  background: rgba(255,255,255,.96);
  border: 1px solid var(--ew-color-border);
  border-radius: 18px;
  box-shadow: 0 18px 48px rgba(49,51,90,.08);
  overflow: hidden;
  padding: clamp(26px,4vw,54px);
  position: relative;
}
.ew-capability-row::after {
  background: var(--ew-color-accent-soft);
  clip-path: polygon(38% 0,100% 0,100% 100%,0 74%);
  content: "";
  height: 74px;
  pointer-events: none;
  position: absolute;
  right: -28px;
  top: -22px;
  width: 128px;
}
.ew-capability-row > .e-con-inner { gap: clamp(34px,5vw,72px); position: relative; z-index: 1; }
.ew-capability-image img { border-radius: 12px; box-shadow: 0 16px 34px rgba(49,51,90,.12); }
.ew-capability-copy > .e-con-inner { gap: 12px; }
.ew-capability-copy .elementor-widget-text-editor { max-width: 480px; }

.ew-overview-section { background: #fff; padding-block: clamp(72px,9vw,124px); }
.ew-overview-layout > .e-con-inner { display: block !important; }
.ew-overview-copy { margin: 0 auto clamp(36px,5vw,58px); max-width: 760px; text-align: center; }
.ew-overview-copy > .e-con-inner { align-items: center; }
.ew-feature-overview-list {
  border: 0;
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4,minmax(0,1fr));
}
.ew-feature-overview-list li {
  background: var(--ew-color-muted);
  border: 1px solid var(--ew-color-border);
  border-radius: 10px;
  color: var(--ew-color-heading);
  font-weight: 600;
  min-height: 124px;
  padding: 48px 20px 20px;
}
.ew-feature-overview-list li::before {
  border-radius: 2px;
  height: 5px;
  left: 20px;
  top: 25px;
  width: 36px;
}

.ew-technical-section {
  background: linear-gradient(180deg,var(--ew-color-muted),#fff);
  color: var(--ew-color-text);
  padding-block: clamp(72px,8vw,112px);
}
.ew-technical-layout {
  background: #fff;
  border: 1px solid var(--ew-color-border);
  border-radius: 16px;
  box-shadow: 0 18px 50px rgba(49,51,90,.08);
  padding: clamp(28px,4.5vw,60px);
}
.ew-technical-section .ew-eyebrow .elementor-heading-title { color: #044e54 !important; }
.ew-technical-section .ew-section-title .elementor-heading-title { color: var(--ew-color-heading) !important; }
.ew-technical-section .elementor-widget-text-editor { color: var(--ew-color-text); }
.ew-technical-section .ew-button-secondary .elementor-button {
  border-color: var(--ew-color-accent) !important;
  color: var(--ew-color-accent-hover) !important;
}
.ew-technical-section .ew-button-secondary .elementor-button:hover {
  background: var(--ew-color-accent-soft) !important;
  border-color: var(--ew-color-accent-hover) !important;
  color: var(--ew-color-accent-hover) !important;
}
.ew-technical-facts { background: var(--ew-color-border); border-color: var(--ew-color-border); border-radius: 10px; overflow: hidden; }
.ew-technical-facts > div { background: #f8f9ff; }
.ew-technical-facts dt { color: var(--ew-color-secondary); }
.ew-technical-facts dd { color: var(--ew-color-heading); }

.ew-final-download-section {
  background: var(--ew-color-dark);
  clip-path: polygon(0 var(--ew-diagonal-depth),100% 0,100% 100%,0 100%);
  color: #fff;
  overflow: hidden;
  padding: var(--ew-diagonal-depth) 24px 0;
  position: relative;
}
.ew-final-download-section::after {
  background: rgba(86,105,236,.28);
  clip-path: polygon(24% 0,100% 0,78% 100%,0 70%);
  content: "";
  height: 230px;
  pointer-events: none;
  position: absolute;
  right: -100px;
  top: 0;
  width: 520px;
}
.ew-final-download { border: 0; padding-block: clamp(56px,7vw,88px); position: relative; z-index: 1; }
.ew-final-download .ew-eyebrow .elementor-heading-title { color: #70dce7 !important; }
.ew-final-download .ew-section-title .elementor-heading-title { color: #fff !important; }
.ew-final-download-action { min-width: 440px; }
.ew-final-download-action > .e-con-inner {
  align-items: center;
  display: grid !important;
  gap: 12px;
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.ew-final-download-action .ew-button-secondary .elementor-button {
  background: transparent !important;
  border-color: rgba(255,255,255,.78) !important;
  color: #fff !important;
}
.ew-final-download-action .ew-button-secondary .elementor-button:hover { background: rgba(255,255,255,.1) !important; }
.ew-final-download-action .ew-final-release-meta { grid-column: 1 / -1; }
.ew-final-download-action .ew-release-meta { color: #d9e0ff; }

@media (max-width: 900px) {
  .ew-feature-overview-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ew-final-download-action { min-width: 0; width: min(100%,520px); }
}

@media (max-width: 560px) {
  .ew-capabilities-intro { margin-bottom: 36px; }
  .ew-capability-row { border-radius: 12px; padding: 22px 18px; }
  .ew-feature-overview-list { grid-template-columns: 1fr; }
  .ew-feature-overview-list li { min-height: 96px; }
  .ew-technical-layout { padding: 24px 18px; }
  .ew-final-download-section { padding-inline: 18px; }
  .ew-final-download-action > .e-con-inner { grid-template-columns: 1fr; }
  .ew-final-download-action .ew-final-release-meta { grid-column: auto; }
  .ew-final-download-action .ew-release-meta { justify-content: flex-start; }
}

@media (forced-colors: active) {
  .ew-capabilities::before, .ew-capability-row::after, .ew-final-download-section::after { display: none; }
  .ew-capability-row, .ew-feature-overview-list li, .ew-technical-layout { border-color: CanvasText; box-shadow: none; }
  .ew-final-download-section { clip-path: none; }
}

/* Issue #293: native, one-time progressive motion. Base content remains visible. */
.elementor-button,
.ew-capability-row,
.ew-feature-overview-list li {
  transition:
    background-color var(--ew-motion-fast) ease,
    border-color var(--ew-motion-fast) ease,
    box-shadow var(--ew-motion-fast) ease,
    color var(--ew-motion-fast) ease;
}
.elementor-button:hover { box-shadow: 0 8px 20px rgba(49,51,90,.16); }
.ew-capability-row:hover { box-shadow: 0 22px 56px rgba(49,51,90,.12); }
.ew-feature-overview-list li:hover { border-color: #cbd1ef; box-shadow: 0 8px 22px rgba(49,51,90,.07); }

.ew-motion-ready .site-header,
.ew-motion-ready .ew-hero-copy,
.ew-motion-ready .ew-hero-visual {
  opacity: 0;
  transition:
    opacity var(--ew-motion-slow) var(--ew-motion-ease),
    transform var(--ew-motion-slow) var(--ew-motion-ease),
    box-shadow var(--ew-motion-fast) ease,
    border-color var(--ew-motion-fast) ease;
  will-change: opacity, transform;
}
.ew-motion-ready .site-header { transform: translateY(calc(var(--ew-motion-distance) * -.5)); }
.ew-motion-ready .ew-hero-copy { transform: translateY(var(--ew-motion-distance)); }
.ew-motion-ready .ew-hero-visual { transform: translateX(var(--ew-motion-distance)); }
.ew-motion-ready.ew-motion-started .site-header,
.ew-motion-ready.ew-motion-started .ew-hero-copy,
.ew-motion-ready.ew-motion-started .ew-hero-visual {
  opacity: 1;
  transform: none;
}
.ew-motion-ready.ew-motion-started .ew-hero-copy { transition-delay: 70ms; }
.ew-motion-ready.ew-motion-started .ew-hero-visual { transition-delay: 130ms; }

.ew-motion-ready .ew-motion-item {
  opacity: 0;
  transform: translateY(var(--ew-motion-distance));
  transition:
    opacity var(--ew-motion-medium) var(--ew-motion-ease) var(--ew-motion-delay,0ms),
    transform var(--ew-motion-medium) var(--ew-motion-ease) var(--ew-motion-delay,0ms);
  will-change: opacity, transform;
}
.ew-motion-ready .ew-capability-image-first .ew-capability-image.ew-motion-item {
  transform: translateX(calc(var(--ew-motion-distance) * -1));
}
.ew-motion-ready .ew-capability-image-last .ew-capability-image.ew-motion-item {
  transform: translateX(var(--ew-motion-distance));
}
.ew-motion-ready .ew-motion-item.ew-motion-visible {
  opacity: 1;
  transform: none;
  will-change: auto;
}

.ew-motion-ready .site-navigation-dropdown {
  opacity: 0;
  transform: translateY(-8px);
  transition:
    opacity var(--ew-motion-fast) ease,
    transform var(--ew-motion-fast) var(--ew-motion-ease);
}
.ew-motion-ready body.ew-mobile-menu-open .site-navigation-dropdown {
  opacity: 1;
  transform: none;
}

@media (max-width: 560px) {
  html { scroll-behavior: auto; }
  .elementor-button,
  .ew-capability-row,
  .ew-feature-overview-list li { transition-duration: 100ms; }
}

@media (prefers-reduced-motion: reduce) {
  .ew-motion-ready .site-header,
  .ew-motion-ready .ew-hero-copy,
  .ew-motion-ready .ew-hero-visual,
  .ew-motion-ready .ew-motion-item,
  .ew-motion-ready .site-navigation-dropdown {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .elementor-button,
  .ew-capability-row,
  .ew-feature-overview-list li { transition: none !important; }
}
