.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-64b72eb:#FFFFFF;--e-global-color-1f74dce:#000000;--e-global-color-265f139:#F47A20;--e-global-color-89d35f5:#4053A2;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-6ed9ef2-font-family:"IBM Plex Mono";--e-global-typography-6ed9ef2-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =================================================================
   ZEOS-AI Pilot Circle - shared styles
   Paste into: Elementor > Site Settings > Custom CSS
   Fonts load separately - see zeos-fonts-head.html
   All .elementor-kit-6s are zp- prefixed and safe to apply site-wide.
   ================================================================= */
html{scroll-behavior:smooth;scroll-padding-top:86px}

/* ---------- legacy neutralisers ----------
   Older versions of these templates embedded their own <style> block and drew
   the step number with a pseudo-element. If such a page is still live, that
   block sits in the <body> and would beat this stylesheet on a tie, so these
   rules use !important to switch the old drawing off for good.
   The step number is now a real heading widget (.zp-num). */
.zp-step:before,.zp-step:after,.zp-steps:before{content:none!important;display:none!important}

/* ---------- no hover movement, site-wide ----------
   Nothing lifts, grows or shifts on hover. Colour and brightness feedback is
   kept. !important is deliberate: it also cancels the lift baked into any
   older embedded <style> block still sitting on a page, and Elementor's own
   button hover animations (elementor-animation-grow, -float, etc.). */
.elementor-button:hover,.elementor-button:focus,
.zp-card:hover,.zp-step:hover,.zp-pathway:hover,
.zp-navbtn:hover,.zp-header .elementor-button:hover,
.zp-logo a:hover img,.zp-list .elementor-icon-list-item:hover{transform:none!important}

/* ---------- square corners: no radius, no chamfer ---------- */
.zp-card,.zp-step,.zp-num .elementor-heading-title,.zp-chip,.zp-note,.zp-draft,
.zp-btn .elementor-button,.zp-btn-ghost .elementor-button,
.zp-form .elementor-button,.zp-form .elementor-field,.zp-form .zp-fnote,
.zp-acc .elementor-accordion-item,.zp-acc .elementor-tab-title,.zp-acc .elementor-tab-content,
.zp-video .elementor-wrapper,.zp-video iframe,.zp-rlist .st,
table.zp-price,table.zp-price th,table.zp-price td{border-radius:0!important;clip-path:none!important}

/* ---------- site header ----------
   The .zp-navbtn rules also square the chamfer on an older header that still
   carries its own inline <style> block, since !important beats it regardless
   of load order. Safe to keep after that header is replaced. */
.zp-header{backdrop-filter:blur(8px)}
.zp-navwrap{width:auto!important;flex-grow:0!important}
.zp-nav .elementor-nav-menu a{font-family:'IBM Plex Sans',sans-serif;font-weight:500;text-decoration:none}
.zp-nav .elementor-nav-menu--dropdown a{font-family:'IBM Plex Sans',sans-serif}
.zp-navbtn,.zp-navbtn .elementor-button,.zp-nav a.zp-navbtn,
.zp-header .elementor-button,.zp-header a[class*=btn]{border-radius:0!important;clip-path:none!important}
/* This is not a size. Themes commonly ship "img{width:100%}", which stretches
   a logo to fill its column; width:auto restores the image's own dimensions.
   No !important, so any Width / Max Width you set on the image widget still
   wins and the size stays editable in Elementor. */
.zp-logo img,.zp-flogo img{width:auto;max-width:100%;height:auto}

/* ---------- site footer ----------
   Nothing here sizes the logo - set Width / Max Width on the image widget. */
.zp-foot-grid{display:grid!important;grid-template-columns:2fr 1fr 1fr;gap:40px!important}
.zp-foot-grid>.elementor-element{width:auto!important;max-width:none!important}
.zp-tagline .elementor-heading-title{font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:500;letter-spacing:.22em;color:#C7D0EA}
/* Theme list styling routinely outranks Elementor's icon-list reset, which
   brings back markers and a ~40px indent and pushes the links out of line with
   the column heading above them. Forced here, including the link colour, which
   otherwise falls through to the theme's default link colour. */
.zp-flinks .elementor-icon-list-items,
.zp-flinks ul{list-style:none!important;margin:0!important;padding:0!important}
.zp-flinks .elementor-icon-list-item{list-style:none!important;margin:0 0 5px 0!important;padding:0!important}
.zp-flinks .elementor-icon-list-item::marker{content:none}
.zp-flinks .elementor-icon-list-icon{display:none!important}
.zp-flinks .elementor-icon-list-item>a,
.zp-flinks .elementor-icon-list-text{color:#FFFFFF;text-decoration:none;padding-left:0!important;font-family:'IBM Plex Sans',sans-serif;font-size:14.1px}
.zp-flinks .elementor-icon-list-item>a:hover,
.zp-flinks .elementor-icon-list-item>a:hover .elementor-icon-list-text{color:#F47A20}
/* .zp-t.zp-legal, not .zp-legal: it has to outrank ".zp-t p+p" below, which
   ties on specificity and would otherwise win on document order. */
.zp-t.zp-legal p+p{margin-top:6px}

/* ---------- grids ---------- */
.zp-grid2,.zp-grid3,.zp-grid4,.zp-hero-grid,.zp-partner-grid{display:grid!important}
.zp-grid2>.elementor-element,.zp-grid3>.elementor-element,.zp-grid4>.elementor-element,.zp-hero-grid>.elementor-element,.zp-partner-grid>.elementor-element{width:auto!important;max-width:none!important}
.zp-grid2{grid-template-columns:repeat(2,1fr);gap:20px!important}
.zp-grid3{grid-template-columns:repeat(3,1fr);gap:20px!important}
.zp-grid4{grid-template-columns:repeat(4,1fr);gap:22px!important}
.zp-hero-grid{grid-template-columns:1.1fr .9fr;gap:56px!important;align-items:center}
.zp-partner-grid{grid-template-columns:1.2fr .8fr;gap:44px!important;align-items:center}
/* ---------- text ---------- */
.zp-t p{margin:0}
.zp-t p+p{margin-top:1em}
.zp-t a{color:#2E6FB5}
.zp-narrow{max-width:560px;margin-left:auto!important;margin-right:auto!important}
.zp-narrow-wide{max-width:730px;margin-left:auto!important;margin-right:auto!important}
/* ---------- eyebrow ---------- */
.zp-eyebrow .elementor-heading-title{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#F47A20;display:inline-flex;align-items:center;gap:9.6px;line-height:1.4}
.zp-eyebrow .elementor-heading-title:before{content:"";width:26px;height:2px;background:#F47A20;flex:0 0 auto}
/* ---------- card ---------- */
/* no hover lift - see the "no hover movement" block near the top */
/* ---------- icon lists ---------- */
.zp-list .elementor-icon-list-icon{align-self:flex-start;margin-top:.62em}
.zp-list .elementor-icon-list-item{align-items:flex-start}
.zp-list .elementor-icon-list-text{font-family:'IBM Plex Sans',sans-serif;line-height:1.6}
/* ---------- pathways ---------- */
.zp-pathway{border-top:4px solid #4053A2!important}
.zp-p2{border-top-color:#2E6FB5!important}
.zp-p3{border-top-color:#F47A20!important}
.zp-tag .elementor-heading-title{font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#5B6480}
.zp-label .elementor-heading-title{font-family:'IBM Plex Mono',monospace;font-size:11.2px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#1B2A5E}
/* ---------- note ---------- */
.zp-note{border-left:3px solid #F47A20;background:#fff;padding:11px 16px}
/* ---------- steps ----------
   The connector line is the only pseudo-element left here. It sits at z-index 0
   and the cards at z-index 1, so the dashes show through the gaps only. */
.zp-steps{position:relative}
.zp-steps:after{content:""!important;display:block!important;position:absolute;top:21px;left:4%;right:4%;bottom:auto;width:auto!important;height:2px!important;border:none!important;border-radius:0;opacity:.55;mix-blend-mode:normal;pointer-events:none;z-index:0!important;background:repeating-linear-gradient(90deg,#F47A20 0 8px,transparent 8px 15px)}
.zp-step{position:relative!important;z-index:1!important;background:#fff}
.zp-num .elementor-heading-title{display:inline-block;font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:13.6px;line-height:1.5;color:#fff;background:#4053A2;padding:2px 9px}
/* ---------- use-case rows ---------- */
.zp-uc{list-style:none;margin:0;padding:0}
.zp-uc li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8.8px 0;border-bottom:1px dashed #DCE2F0;font-size:15px;line-height:1.5;color:#232A44;font-family:'IBM Plex Sans',sans-serif}
.zp-uc li:last-child{border-bottom:none}
.zp-chip{font-family:'IBM Plex Mono',monospace;font-size:9.9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;white-space:nowrap}
.zp-chip.live{color:#1E7A4F;background:#E7F4EC}
.zp-chip.plan{color:#4053A2;background:#ECF0FB}
/* ---------- resource rows (badge + text) ---------- */
.zp-rlist{list-style:none;margin:0;padding:0}
.zp-rlist li{display:flex;gap:14px;align-items:flex-start;padding:11px 0;border-bottom:1px dashed #DCE2F0;font-size:15px;line-height:1.6;color:#232A44;font-family:'IBM Plex Sans',sans-serif}
.zp-rlist li:last-child{border-bottom:none}
.zp-rlist .st{font-family:'IBM Plex Mono',monospace;font-size:9.9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;white-space:nowrap;margin-top:3px;flex:0 0 auto}
.zp-rlist .st.ready{color:#1E7A4F;background:#E7F4EC}
.zp-rlist .st.soon{color:#9A5B00;background:#FDEFDD}
/* ---------- pricing table ---------- */
.zp-price-wrap{overflow-x:auto}
table.zp-price{width:100%;border-collapse:collapse;background:#fff;font-size:14.9px;font-family:'IBM Plex Sans',sans-serif}
table.zp-price th{background:#4053A2;color:#fff;text-align:left;padding:11px 14px;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:14.1px}
table.zp-price td{padding:11px 14px;border-bottom:1px solid #DCE2F0;color:#232A44;vertical-align:top}
table.zp-price td:last-child{font-family:'IBM Plex Mono',monospace;white-space:nowrap}
/* ---------- accordion ---------- */
.zp-acc .elementor-accordion-item{border-color:#DCE2F0;margin-bottom:12px}
.zp-acc .elementor-tab-title{font-family:'Space Grotesk',sans-serif;font-weight:600}
.zp-acc .elementor-tab-content{font-family:'IBM Plex Sans',sans-serif}
.zp-acc .elementor-tab-content p{margin:0}
.zp-acc .elementor-tab-content a{color:#2E6FB5}
/* ---------- forms ---------- */
.zp-form .elementor-field-group>label{font-family:'IBM Plex Sans',sans-serif;font-size:13.6px;font-weight:600;color:#1B2A5E;margin-bottom:5px}
.zp-form .elementor-field-group .elementor-field{font-family:'IBM Plex Sans',sans-serif;font-size:15.2px;line-height:1.5;color:#232A44;padding:11px 13px;height:auto;box-sizing:border-box}
.zp-form select.elementor-field{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2012%208'%3E%3Cpath%20fill='none'%20stroke='%235B6480'%20stroke-width='1.6'%20d='M1%201.5%206%206.5%2011%201.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:11px 7px}
.zp-form .elementor-field-textual:focus{border-color:#2E6FB5;outline:2px solid #2E6FB5;outline-offset:1px}
.zp-form textarea.elementor-field-textual{min-height:110px}
.zp-form .elementor-field-required .elementor-field-label:after,.zp-form .elementor-mark-required .elementor-field-label:after{color:#F47A20}
.zp-form .elementor-field-type-checkbox .elementor-field-subgroup{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 16px}
.zp-form .elementor-field-subgroup .elementor-field-option label{font-weight:400;font-size:14.4px;color:#232A44}
.zp-form .zp-fs{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:16.8px;color:#1B2A5E;padding-top:14px;margin-top:6px;border-top:1px solid #DCE2F0}
.zp-form .elementor-field-group:first-child .zp-fs{border-top:none;padding-top:0;margin-top:0}
.zp-form .zp-fnote{font-family:'IBM Plex Sans',sans-serif;font-size:13.5px;color:#5B6480;background:#FFF6EE;border:1px solid #F8D9BC;padding:12px 16px}
.zp-form .elementor-message-success{background:#E7F4EC;border:1px solid #BFE3CD;color:#1E7A4F;padding:16px 20px;font-family:'IBM Plex Sans',sans-serif}
/* ---------- gravity forms ----------
   Mirrors the Elementor form styling above. Scoped to .gform_wrapper, so it
   applies to every Gravity Form on the site rather than one embed. Selectors
   cover both the GF 2.5+ grid markup and the 2.7+ orbital theme, which draws
   its own radii from custom properties. */
.gform_wrapper{--gf-ctrl-border-radius:0;--gf-ctrl-btn-border-radius:0;--gf-ctrl-choice-border-radius:0;--gf-field-choice-border-radius:0}
.gform_wrapper input,.gform_wrapper select,.gform_wrapper textarea,
.gform_wrapper button,.gform_wrapper .gform_button,
.gform_wrapper .gform_footer input[type=submit],
.gform_wrapper .gform_validation_errors,.gform_wrapper .validation_message,
.gform_confirmation_wrapper{border-radius:0!important}
/* field grid gaps - matches the 14px row/column gap on the Elementor forms */
.gform_wrapper .gform_fields{row-gap:14px;column-gap:14px}
/* labels */
.gform_wrapper .gfield_label,.gform_wrapper legend.gfield_label{font-family:'IBM Plex Sans',sans-serif;font-size:13.6px;font-weight:600;color:#1B2A5E;margin-bottom:5px}
.gform_wrapper .gfield_required,.gform_wrapper .gfield_required .gfield_required{color:#F47A20}
/* text controls */
.gform_wrapper .gform_fields input[type=text],.gform_wrapper .gform_fields input[type=email],
.gform_wrapper .gform_fields input[type=tel],.gform_wrapper .gform_fields input[type=url],
.gform_wrapper .gform_fields input[type=number],.gform_wrapper .gform_fields input[type=password],
.gform_wrapper .gform_fields select,.gform_wrapper .gform_fields textarea{width:100%;box-sizing:border-box;font-family:'IBM Plex Sans',sans-serif;font-size:15.2px;line-height:1.5;color:#232A44;background-color:#fff;border:1px solid #DCE2F0;padding:11px 13px;height:auto}
.gform_wrapper .gform_fields textarea{min-height:110px;resize:vertical}
/* Selects need normalising or they will not match the text inputs.
   appearance:none removes the platform's own control chrome - that is what
   paints the hatched pattern across the closed box while the list is open.
   Gravity Forms also pins an explicit height on selects, which pushes the
   value down inside the box and leaves the control shorter than its
   neighbours, so height is forced back to auto and the arrow is redrawn. */
.gform_wrapper .gform_fields select{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:auto!important;min-height:0;padding:11px 36px 11px 13px;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2012%208'%3E%3Cpath%20fill='none'%20stroke='%235B6480'%20stroke-width='1.6'%20d='M1%201.5%206%206.5%2011%201.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:11px 7px}
.gform_wrapper .gform_fields select::-ms-expand{display:none}
.gform_wrapper .gform_fields select option{color:#232A44;background:#fff}
.gform_wrapper .gform_fields input:focus,.gform_wrapper .gform_fields select:focus,
.gform_wrapper .gform_fields textarea:focus{border-color:#2E6FB5;outline:2px solid #2E6FB5;outline-offset:1px}
.gform_wrapper ::placeholder{color:#8D96AE;opacity:1}
/* Section breaks - same treatment as the Elementor fieldset headings: a
   divider above each group, none on the first, and never one underneath.
   Uses ".gsection~.gsection" rather than ":first-child" because Gravity Forms
   emits markup ahead of the first section, so :first-child never matches.
   !important is needed to beat ".gform_wrapper.gravity-theme .gsection", which
   is more specific than anything scoped to .gform_wrapper alone. */
.gform_wrapper .gsection{border-top:0!important;border-bottom:0!important;padding:0!important;margin:6px 0 0}
.gform_wrapper .gsection~.gsection{border-top:1px solid #DCE2F0!important;padding-top:14px!important}
.gform_wrapper .gsection .gsection_title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:16.8px;line-height:1.3;color:#1B2A5E;margin:0}
/* choices */
.gform_wrapper .gfield_checkbox,.gform_wrapper .gfield_radio{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 16px}
.gform_wrapper .gfield_checkbox label,.gform_wrapper .gfield_radio label{font-family:'IBM Plex Sans',sans-serif;font-weight:400;font-size:14.4px;color:#232A44}
/* html blocks */
.gform_wrapper .gfield_html{font-family:'IBM Plex Sans',sans-serif;font-size:13.5px;line-height:1.6;color:#5B6480}
/* submit */
.gform_wrapper .gform_footer input[type=submit],.gform_wrapper .gform_footer .gform_button,
.gform_wrapper .gform_page_footer input[type=submit]{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:15.7px;color:#fff;background:#F47A20;border:none;padding:13px 26px;cursor:pointer;transition:filter .15s;width:auto}
.gform_wrapper .gform_footer input[type=submit]:hover,.gform_wrapper .gform_footer .gform_button:hover{filter:brightness(1.06)}
/* messages */
.gform_confirmation_wrapper,.gform_wrapper .gform_confirmation_message{background:#E7F4EC;border:1px solid #BFE3CD;color:#1E7A4F;padding:16px 20px;font-family:'IBM Plex Sans',sans-serif;line-height:1.6}
.gform_wrapper .gform_validation_errors{background:#FFF6EE;border:1px solid #F8D9BC}
.gform_wrapper .gform_validation_errors h2,.gform_wrapper .gform_validation_errors>h2{font-family:'Space Grotesk',sans-serif;font-size:15.7px;color:#9A5B00}
.gform_wrapper .validation_message{font-family:'IBM Plex Sans',sans-serif;font-size:13.3px;color:#9A5B00;background:none;border:none;padding:4px 0 0}

/* ---------- misc blocks ---------- */
.zp-draft{background:#FFF6EE!important;border:1px solid #F8D9BC;padding:12px 18px;font-family:'IBM Plex Mono',monospace!important;color:#9A5B00!important;letter-spacing:.04em}
.zp-video .elementor-wrapper{background:#0E1836}
/* ---------- buttons ---------- */
.zp-btn .elementor-button{transition:filter .15s}
.zp-btn .elementor-button:hover{filter:brightness(1.06)}
.zp-actions>.elementor-element,.zp-cta-actions>.elementor-element{width:auto!important}
/* ---------- hero flow diagram ---------- */
.zp-flow{width:100%;height:auto;display:block}
.zp-flow .zp-lab{font:500 11px 'IBM Plex Mono',monospace;fill:#5B6480;letter-spacing:.08em}
.zp-flow .zp-box{fill:#fff;stroke:#DCE2F0;stroke-width:1.5}
.zp-flow .zp-core{fill:#4053A2}
.zp-flow .zp-dash{stroke:#F47A20;stroke-width:2;fill:none}
@media (prefers-reduced-motion:no-preference){.zp-flow .zp-dash{stroke-dasharray:6 7;animation:zpflow 2.6s linear infinite}@keyframes zpflow{to{stroke-dashoffset:-52}}}
/* ---------- responsive ---------- */
@media(max-width:900px){
.zp-grid2,.zp-grid3,.zp-hero-grid,.zp-partner-grid,.zp-foot-grid{grid-template-columns:1fr!important}
.zp-grid4{grid-template-columns:1fr 1fr!important}
.zp-steps:after{display:none!important}
.zp-form .elementor-field-type-checkbox .elementor-field-subgroup{grid-template-columns:1fr}
.gform_wrapper .gfield_checkbox,.gform_wrapper .gfield_radio{grid-template-columns:1fr}
}
@media(max-width:560px){.zp-grid4{grid-template-columns:1fr!important}}/* End custom CSS */