/* EDS 2.0 — Elementor bridge (generated by tools/build_css.py; edit theme/bridge-base.css in the project, not the output).
   Loaded after eds2.css. EDS pages are native Elementor containers/widgets that carry the
   EDS 2.0 classes. These rules make Elementor's defaults step aside so eds2.css renders
   exactly as the original markup did, while any value set in the Elementor panel still wins
   (Elementor's per-element CSS is more specific than these resets). */

/* ---------- Containers marked "x" behave like the plain HTML element they replaced ---------- */
.e-con.x{
  --display:block;--flex-direction:row;--flex-wrap:nowrap;--justify-content:normal;--align-items:normal;--align-content:normal;
  --flex-basis:auto;--flex-grow:0;--flex-shrink:1;--gap:normal;--row-gap:normal;--column-gap:normal;
  --padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;
  --margin-top:0px;--margin-right:0px;--margin-bottom:0px;--margin-left:0px;
  --width:auto;--min-height:auto;--height:auto;--position:static;--z-index:auto;--text-align:inherit;
  --container-widget-width:auto;--container-widget-flex-grow:0;--container-widget-align-self:auto;
  --content-width:100%;--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;--kit-widget-spacing:0px;
  transition:none
}
/* real properties: beat Elementor's .e-con base and per-element --display, lose to every eds2.css class rule */
.e-con.x{display:block;min-width:auto;max-width:none}
.e-con.x:where(a){color:inherit}

/* ---------- Widgets: on the live page the wrapper steps out of the layout (display:contents),
   so the heading/paragraph/button/image is laid out as a direct child, like the original.
   In the Elementor editor the wrapper stays a box so it can be selected and dragged. ---------- */
body:not(.elementor-editor-active) .elementor-widget.x-w,
body:not(.elementor-editor-active) .elementor-widget.x-w>.elementor-widget-container,
body:not(.elementor-editor-active) .elementor-widget.x-wl .elementor-heading-title,
.elementor-widget.x-w .elementor-button-wrapper,
.elementor-widget.x-w .elementor-button-content-wrapper,
.elementor-widget.x-w .elementor-button-text{display:contents}
.elementor-widget.x-w{margin:0;min-width:0;max-width:none;width:auto}
.elementor-widget.x-acc,.elementor-widget.x-form{width:auto}

/* Heading widget: no Elementor typography of its own */
.elementor-heading-title:is(span,div,p,h5,h6){line-height:inherit}

/* Button widget: the <a> carries the EDS .btn classes */
.elementor-button.btn,.elementor-button.btn:visited,.elementor-button.btn:hover,.elementor-button.btn:focus{
  background:transparent;border-radius:0;color:inherit;font-size:inherit;line-height:inherit;padding:0;fill:currentColor;text-align:inherit;transition:none;width:auto
}

/* Image widget */
.x-w img{vertical-align:baseline;display:block}
body.eds2 .ph.is-img>.elementor-widget-image img,body.eds2 .ph.is-img>.elementor-widget-image>.elementor-widget-container>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1}
.elementor-editor-active .ph.is-img>.elementor-widget-image{position:static}

/* Text Editor */
.elementor-widget.x-w.elementor-widget-text-editor{color:inherit;font:inherit}

/* Nested Accordion (FAQ): keep the EDS details/summary look */
.elementor-widget-n-accordion.x-acc{
  --n-accordion-border-width:0px;--n-accordion-padding:0px;--n-accordion-title-font-size:inherit;
  --n-accordion-title-normal-color:inherit;--n-accordion-title-hover-color:inherit;--n-accordion-title-active-color:inherit;
  --n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-icon-gap:0px
}
.x-acc .e-n-accordion-item-title-icon{display:none}
.x-acc .e-n-accordion-item-title-header,.x-acc .e-n-accordion-item-title-text{display:contents}
.x-acc .e-n-accordion-item{display:block}
.x-acc .e-n-accordion-item>.e-con{border:0}
.x-acc.elementor-widget-n-accordion .e-n-accordion-item-title-text{font:inherit;color:inherit}

/* JetForm widget inside an EDS form box */
.elementor-widget.x-form{display:block}

/* Raw HTML kept only for interactive controls (toggle buttons, search box) */
body:not(.elementor-editor-active) .elementor-widget.x-raw,body:not(.elementor-editor-active) .elementor-widget.x-raw>.elementor-widget-container{display:contents}
/* JetForm widget defaults (per-element CSS) must not override the EDS form design */
body.eds2 .eds2-form .x-form .jet-form-builder__field-wrap.checkradio-wrap input+span{gap:4px}
/* Header: former HTML-widget wrappers (logo, utilities, drawer) are now "x-wrap" containers */
.site-header .header-inner>.e-con.x-wrap{width:auto;max-width:none;flex:0 0 auto}


/* ---------- Tag twins (generated) ---------- */
/* from eds2.css */
body.eds2 :where(.x-ul),body.eds2 :where(.x-ol),body.eds2 :where(.x-figure),body.eds2 :where(.x-blockquote),body.eds2 :where(.x-dl),body.eds2 :where(.x-dd){margin:0}
body.eds2 :where(.x-ul)[role="list"],body.eds2 :where(.x-ol)[role="list"]{list-style:none;padding:0}
body.eds2 :where(.x-mark).hl{background:var(--c-highlight);color:inherit;padding:0 .15em}
body.eds2 .primary-nav>:where(.x-li){display:flex;align-items:center;position:static}
body.eds2 .mm-facts :where(.x-b){display:block;font:500 1.75rem/1.1 var(--font-display)}
body.eds2 .breadcrumbs :where(.x-ol){display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0;font:500 var(--t-meta)/1.5 var(--font-mono);letter-spacing:.04em;color:var(--text-muted)}
body.eds2 .breadcrumbs :where(.x-li)+:where(.x-li)::before{content:"/";margin-right:6px;color:var(--border-strong)}
body.eds2 .bg-ink .breadcrumbs :where(.x-ol){color:var(--text-inverse-muted)}
body.eds2 .grm-strip :where(.x-b){display:block;font:500 12px/1 var(--font-mono);letter-spacing:.08em;color:var(--c-ink-900);margin-bottom:8px}
body.eds2 .grm-strip a:hover :where(.x-b){color:var(--accent)}
body.eds2 .svc-rows :where(.x-li){border-bottom:1px solid var(--border-subtle)}
body.eds2 .bg-ink .svc-rows :where(.x-li){border-bottom-color:var(--c-ink-700)}
body.eds2 .fact-rail :where(.x-dt){font:500 11px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
body.eds2 .fact-rail :where(.x-dd){font-size:.9375rem;margin-top:2px}
body.eds2 .headline-list :where(.x-li){border-top:1px solid var(--border-subtle)}
body.eds2 .pf-bar :where(.x-i){width:8px;height:8px;border-radius:50%;background:var(--c-ink-700)}
body.eds2 .pf-kpis :where(.x-b){display:block;font:500 1.375rem/1.1 var(--font-sans);color:var(--text-inverse)}
body.eds2 .pf-bars :where(.x-s){display:block;height:8px;background:var(--c-ink-700);margin-top:6px;text-decoration:none}
body.eds2 .pf-bars :where(.x-s) :where(.x-i){display:block;height:100%;background:var(--c-blue-logo)}
body.eds2 .pf-bars :where(.x-s) :where(.x-i).y{background:var(--c-yellow-500)}
body.eds2 .testimonial :where(.x-blockquote){font:500 clamp(1.5rem,1.1rem + 1.4vw,2.25rem)/1.3 var(--font-display);letter-spacing:-.01em}
body.eds2 .testimonial :where(.x-blockquote)::before{content:"“";display:block;font-size:4rem;line-height:.6;color:var(--accent);margin-bottom:var(--s-4)}
body.eds2 .testimonial :where(.x-figcaption){margin-top:var(--s-6);display:flex;gap:var(--s-4);align-items:center;flex-wrap:wrap}
body.eds2 .next-steps :where(.x-li){counter-increment:step;display:grid;grid-template-columns:36px 1fr;padding:var(--s-3) 0;border-bottom:1px solid rgba(18,22,28,.2);font-size:.9375rem}
body.eds2 .next-steps :where(.x-li)::before{content:"0" counter(step);font:500 12px/1.6 var(--font-mono)}
body.eds2 .field :where(.x-label){font-weight:600;font-size:.875rem}
body.eds2 .segmented :where(.x-label){display:block;position:relative;cursor:pointer}
body.eds2 .segmented span :where(.x-small){font-weight:400;color:var(--text-muted);font-size:.8125rem}
body.eds2 .faq :where(.x-summary){display:flex;justify-content:space-between;gap:var(--s-5);align-items:center;min-height:64px;padding:var(--s-4) 0;cursor:pointer;list-style:none;font:500 1.1875rem/1.35 var(--font-display)}
body.eds2 .faq :where(.x-summary)::-webkit-details-marker{display:none}
body.eds2 .faq :where(.x-summary)::after{content:"+";font:400 1.5rem/1 var(--font-sans);flex-shrink:0;transition:transform var(--dur-base) var(--ease-standard)}
body.eds2 .faq details[open] :where(.x-summary)::after{transform:rotate(45deg)}
body.eds2 .process :where(.x-li){padding:var(--s-5) var(--s-5) 0 0;position:relative}
body.eds2 .process :where(.x-li)::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;background:var(--c-ink-900)}
body.eds2 .bg-ink .process :where(.x-li)::before{background:var(--c-yellow-500)}
@media (max-width:767px){body.eds2 .process :where(.x-li){padding:0}body.eds2 .process :where(.x-li)::before{left:calc(-1*var(--s-5) - 5px);top:2px}}
body.eds2 .deliverables :where(.x-li){break-inside:avoid;padding:var(--s-3) 0 var(--s-3) 28px;border-top:1px solid var(--border-subtle);position:relative}
body.eds2 .deliverables :where(.x-li)::before{content:"";position:absolute;left:0;top:calc(var(--s-3) + .55em);width:14px;height:1.5px;background:var(--accent)}
body.eds2 .tier .price :where(.x-small){font:500 12px/1 var(--font-mono);color:var(--text-muted);display:block;margin-top:6px}
body.eds2 .tier :where(.x-ul){list-style:none;padding:0;margin:0;font-size:.9375rem;display:grid;gap:6px}
body.eds2 .logo-wall :where(.x-li){list-style:none;min-height:96px;display:grid;place-items:center;text-align:center;padding:var(--s-4);border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);font:500 .8125rem/1.3 var(--font-sans);color:var(--text-muted)}
body.eds2 .logo-wall :where(.x-li) :where(.x-small){display:block;font:500 9.5px/1.3 var(--font-mono);letter-spacing:.06em;color:var(--c-warning);margin-top:4px;text-transform:uppercase}
body.eds2 .wf-node :where(.x-b){display:block;margin:8px 0 4px;font-weight:600}
body.eds2 .roadmap :where(.x-b){font:500 12px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
body.eds2 .toc :where(.x-ol){list-style:none;padding:0;margin:var(--s-3) 0 0;border-left:1px solid var(--border-subtle)}
body.eds2 .prose :where(.x-ul),body.eds2 .prose :where(.x-ol){padding-left:1.2em}
body.eds2 .prose :where(.x-li)+:where(.x-li){margin-top:.4em}
body.eds2 .prose :where(.x-figure) .ph{aspect-ratio:16/9}
body.eds2 .prose :where(.x-figcaption){margin-top:var(--s-3)}
body.eds2 .prose :where(.x-blockquote){border-left:3px solid var(--accent);padding-left:var(--s-5);font:500 1.375rem/1.4 var(--font-display);color:var(--c-ink-900)}
body.eds2 .cs-facts :where(.x-dt){font:500 11px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
body.eds2 .cs-facts :where(.x-dd){margin-top:4px;font-size:.9375rem}
body.eds2 .outcome-list :where(.x-li){display:grid;grid-template-columns:28px 1fr;gap:var(--s-3);padding:var(--s-4) 0;border-top:1px solid var(--border-subtle)}
body.eds2 .outcome-list :where(.x-li)::before{content:"✓";color:var(--c-success);font-weight:700}
body.eds2 .footer-brand :where(.x-address){font-style:normal;font-size:.875rem;color:var(--text-inverse-muted);line-height:1.6;margin-top:var(--s-4)}
body.eds2 .site-footer :where(.x-ul){list-style:none;padding:0;margin:0}
body.eds2 .site-footer :where(.x-li) a{display:inline-block;padding:5px 0;color:var(--text-inverse);text-decoration:none;font-size:.9375rem}
body.eds2 .site-footer :where(.x-li) a:hover{text-decoration:underline}
@media (max-width:767px){body.eds2 .footer-col :where(.x-ul)[hidden]{display:none}body.eds2 .footer-col :where(.x-ul){padding-bottom:var(--s-4)}}
body.eds2 .annot :where(.x-b){font-weight:600}
body.eds2 .outcome-list :where(.x-li){display:block;position:relative;padding-left:36px}
body.eds2 .outcome-list :where(.x-li)::before{position:absolute;left:0;top:var(--s-4)}
body.eds2 .site-footer :where(.x-li) a{display:inline-flex;align-items:center;min-height:40px}
@media (max-width:1023px){body.eds2 .site-footer :where(.x-li) a{min-height:44px}}
body.eds2 .timeline :where(.x-li){padding:var(--s-4) var(--s-5) 0 0}
body.eds2 .timeline :where(.x-b){display:block;font:500 1.5rem/1.1 var(--font-display);margin-bottom:6px}
body.eds2 .ind-problems :where(.x-li){padding:var(--s-3) 0;border-top:1px solid var(--border-subtle);display:grid;grid-template-columns:120px 1fr;gap:var(--s-4)}
body.eds2 .ind-problems :where(.x-b){font:500 11px/1.6 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
@media (max-width:767px){body.eds2 .ind-problems :where(.x-li){grid-template-columns:1fr;gap:2px}}
body.eds2 .eds2-form .field-type-radio-field input+span :where(.x-small){font-weight:400;color:var(--text-muted);font-size:.8125rem}
body.eds2 .product-stage .breadcrumbs :where(.x-li){color:var(--text-inverse-muted)}
body.eds2 .team :where(.x-b){display:block;font:500 1.1875rem/1.3 var(--font-display);color:var(--c-ink-900)}
/* from eds2-chrome.css */
#jet-theme-core-footer) :where(.x-ul),#jet-theme-core-footer) :where(.x-ol),#jet-theme-core-footer) :where(.x-figure),#jet-theme-core-footer) :where(.x-blockquote),#jet-theme-core-footer) :where(.x-dl),#jet-theme-core-footer) :where(.x-dd){margin:0}
#jet-theme-core-footer) :where(.x-ul)[role="list"],#jet-theme-core-footer) :where(.x-ol)[role="list"]{list-style:none;padding:0}
#jet-theme-core-footer) .mm-facts :where(.x-b){display:block;font:500 1.75rem/1.1 var(--font-display)}
#jet-theme-core-footer) .footer-brand :where(.x-address){font-style:normal;font-size:.875rem;color:var(--text-inverse-muted);line-height:1.6;margin-top:var(--s-4)}
#jet-theme-core-footer) .site-footer :where(.x-ul){list-style:none;padding:0;margin:0}
#jet-theme-core-footer) .site-footer :where(.x-li) a{display:inline-block;padding:5px 0;color:var(--text-inverse);text-decoration:none;font-size:.9375rem}
#jet-theme-core-footer) .site-footer :where(.x-li) a:hover{text-decoration:underline}
@media (max-width:767px){#jet-theme-core-footer) .footer-col :where(.x-ul)[hidden]{display:none}#jet-theme-core-footer) .footer-col :where(.x-ul){padding-bottom:var(--s-4)}}
#jet-theme-core-footer) .site-footer :where(.x-li) a{display:inline-flex;align-items:center;min-height:40px}
@media (max-width:1023px){#jet-theme-core-footer) .site-footer :where(.x-li) a{min-height:44px}}

/* ---------- Utility classes that replaced inline styles (generated) ---------- */
:is(body.eds2,body.eds2-chrome) .u-align-items-end{align-items:end !important}
:is(body.eds2,body.eds2-chrome) .u-align-items-start{align-items:start !important}
:is(body.eds2,body.eds2-chrome) .u-color-inherit{color:inherit !important}
:is(body.eds2,body.eds2-chrome) .u-display-block{display:block !important}
:is(body.eds2,body.eds2-chrome) .u-display-grid{display:grid !important}
:is(body.eds2,body.eds2-chrome) .u-font-display{font-family:var(--font-display) !important}
:is(body.eds2,body.eds2-chrome) .u-font-sans{font-family:var(--font-sans) !important}
:is(body.eds2,body.eds2-chrome) .u-font-size-1-1875rem{font-size:1.1875rem !important}
:is(body.eds2,body.eds2-chrome) .u-font-size-1-5rem{font-size:1.5rem !important}
:is(body.eds2,body.eds2-chrome) .u-font-size-clamp-1-5rem-1-2rem-1vw-2rem{font-size:clamp(1.5rem,1.2rem + 1vw,2rem) !important}
:is(body.eds2,body.eds2-chrome) .u-font-size-t-h2{font-size:var(--t-h2) !important}
:is(body.eds2,body.eds2-chrome) .u-font-size-t-label{font-size:var(--t-label) !important}
:is(body.eds2,body.eds2-chrome) .u-font-weight-500{font-weight:500 !important}
:is(body.eds2,body.eds2-chrome) .u-font-weight-600{font-weight:600 !important}
:is(body.eds2,body.eds2-chrome) .u-gap-12px{gap:12px !important}
:is(body.eds2,body.eds2-chrome) .u-gap-16px{gap:16px !important}
:is(body.eds2,body.eds2-chrome) .u-gap-24px{gap:24px !important}
:is(body.eds2,body.eds2-chrome) .u-justify-content-flex-start{justify-content:flex-start !important}
:is(body.eds2,body.eds2-chrome) .u-justify-content-space-between{justify-content:space-between !important}
:is(body.eds2,body.eds2-chrome) .u-margin-bottom-0{margin-bottom:0 !important}
:is(body.eds2,body.eds2-chrome) .u-margin-bottom-14px{margin-bottom:14px !important}
:is(body.eds2,body.eds2-chrome) .u-margin-bottom-48px{margin-bottom:48px !important}
:is(body.eds2,body.eds2-chrome) .u-margin-bottom-s-6{margin-bottom:var(--s-6) !important}
:is(body.eds2,body.eds2-chrome) .u-margin-bottom-s-9{margin-bottom:var(--s-9) !important}
:is(body.eds2,body.eds2-chrome) .u-margin-left-auto{margin-left:auto !important}
:is(body.eds2,body.eds2-chrome) .u-margin-top-12px{margin-top:12px !important}
:is(body.eds2,body.eds2-chrome) .u-max-width-15ch{max-width:15ch !important}
:is(body.eds2,body.eds2-chrome) .u-max-width-16ch{max-width:16ch !important}
:is(body.eds2,body.eds2-chrome) .u-padding-bottom-s-11{padding-bottom:var(--s-11) !important}
:is(body.eds2,body.eds2-chrome) .u-padding-bottom-s-7{padding-bottom:var(--s-7) !important}
:is(body.eds2,body.eds2-chrome) .u-padding-clamp-20px-3vw-32px{padding:clamp(20px,3vw,32px) !important}
:is(body.eds2,body.eds2-chrome) .u-padding-clamp-20px-3vw-40px{padding:clamp(20px,3vw,40px) !important}
:is(body.eds2,body.eds2-chrome) .u-product-accent-c-blue-logo{--product-accent:var(--c-blue-logo)}
:is(body.eds2,body.eds2-chrome) .u-product-accent-c-yellow-500{--product-accent:var(--c-yellow-500)}
:is(body.eds2,body.eds2-chrome) .u-row-gap-s-8{row-gap:var(--s-8) !important}
:is(body.eds2,body.eds2-chrome) .u-steps-4{--steps:4}
:is(body.eds2,body.eds2-chrome) .u-steps-5{--steps:5}
:is(body.eds2,body.eds2-chrome) .u-text-decoration-none{text-decoration:none !important}

