.elementor-18905 .elementor-element.elementor-element-4259f9bd{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:100px;--padding-bottom:100px;--padding-left:25px;--padding-right:25px;}.elementor-18905 .elementor-element.elementor-element-4259f9bd:not(.elementor-motion-effects-element-type-background), .elementor-18905 .elementor-element.elementor-element-4259f9bd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#18181A;}.elementor-18905 .elementor-element.elementor-element-430dbebe{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-18905 .elementor-element.elementor-element-2725ce16 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-18905 .elementor-element.elementor-element-2725ce16 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-18905 .elementor-element.elementor-element-2725ce16 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-18905 .elementor-element.elementor-element-2725ce16 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-18905 .elementor-element.elementor-element-2725ce16 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-18905 .elementor-element.elementor-element-2725ce16 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-18905 .elementor-element.elementor-element-2725ce16 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-18905 .elementor-element.elementor-element-2725ce16 .elementor-field-type-html{padding-bottom:0px;}.elementor-18905 .elementor-element.elementor-element-2725ce16 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-18905 .elementor-element.elementor-element-2725ce16 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-18905 .elementor-element.elementor-element-2725ce16 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-18905 .elementor-element.elementor-element-2725ce16 .elementor-button[type="submit"]{color:#ffffff;}.elementor-18905 .elementor-element.elementor-element-2725ce16 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-18905 .elementor-element.elementor-element-2725ce16 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-18905 .elementor-element.elementor-element-2725ce16 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-18905 .elementor-element.elementor-element-2725ce16 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-18905 .elementor-element.elementor-element-2725ce16 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-18905 .elementor-element.elementor-element-2725ce16 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-18905 .elementor-element.elementor-element-2725ce16{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}@media(min-width:768px){.elementor-18905 .elementor-element.elementor-element-430dbebe{--content-width:1280px;}}@media(max-width:767px){.elementor-18905 .elementor-element.elementor-element-4259f9bd{--padding-top:44px;--padding-bottom:52px;--padding-left:20px;--padding-right:20px;}}/* Start custom CSS for container, class: .elementor-element-4259f9bd *//* ==========================================================================
   AppliedeX - Floor Readiness Assessment
   The whole survey lives in this one HTML widget: this stylesheet, the 16
   .aex-step screens below it, and the script at the end. Nothing here depends
   on Elementor or the theme.

   Colours are the house tokens: near-black #18181A band, plum #63143D on
   buttons and selected rows, plum #4A0E2E on the divider, white headings,
   #9CA3AF body, #9DA5AE overlines, rgba(255,255,255,.14) keylines. Square
   corners on everything; the only radius on the page is 10px on the two
   photographs.

   Every .elementor-18905 .elementor-element.elementor-element-4259f9bd is prefixed with .aex-survey on purpose - see scope_css() in
   the generator.
   ========================================================================== */
.aex-survey{--aex-black:#18181A;--aex-plum:#4A0E2E;--aex-plum-btn:#63143D;
  --aex-muted:#9CA3AF;--aex-steel:#9DA5AE;--aex-line:rgba(255,255,255,.14);
  --aex-line-hi:rgba(255,255,255,.42);--aex-outline:rgba(255,255,255,.4);
  --aex-glass:rgba(255,255,255,.05);
  max-width:720px;margin:0 auto;color:#fff;text-align:left;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
.aex-survey *,
.aex-survey *::before,
.aex-survey *::after{box-sizing:border-box}
/* Reset only what nothing else sets: `.aex-survey button` is 0,1,1 and would
   out-specify every 0,1,0 component class it shares a property with. */
.aex-survey button{font:inherit;margin:0;cursor:pointer;border-radius:0;white-space:normal;
  -webkit-appearance:none;appearance:none}
.aex-survey :focus-visible{outline:2px solid #fff;outline-offset:2px}
/* Every step change focuses its heading so a screen reader lands on the new
   question. That heading is tabindex="-1" - unreachable by Tab - so the ring is
   pure noise, and on the first screen it painted a white box around the h1.
   Real controls keep theirs. */
.aex-survey [tabindex="-1"]:focus,
.aex-survey [tabindex="-1"]:focus-visible{outline:none}
/* ---- brand lockup ----
   This is a Canvas page, so there is no site header, and it is the one page on
   the site that asks for an email and a phone number - the visitor needs to see
   whose form it is before they type. Deliberately NOT a link: a logo that
   navigates away is an exit on a funnel page. It sits outside the stage, so it
   is on screen for all 16 steps, not just the first. */
.aex-survey .aex-brand{margin-bottom:40px}
.aex-survey .aex-brand__mark{display:inline-block;
  font-family:Montserrat,Inter,Helvetica,Arial,sans-serif;font-weight:800;font-size:15px;
  letter-spacing:3px;text-transform:uppercase;color:#fff}
.aex-survey .aex-brand img{display:block;height:26px;width:auto}
/* ---- chrome: back, progress, counter ---- */
.aex-survey .aex-survey__bar{display:flex;align-items:center;gap:16px;margin-bottom:34px}
.aex-survey .aex-survey__bar[hidden]{display:none}
.aex-survey .aex-survey__back{width:40px;height:40px;flex:0 0 40px;border:1px solid var(--aex-line);
  background:transparent;color:#fff;
  display:flex;align-items:center;justify-content:center;transition:border-color .18s,background-color .18s}
.aex-survey .aex-survey__back svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:1.6}
.aex-survey .aex-survey__back:hover{border-color:var(--aex-line-hi);background:rgba(255,255,255,.04)}
.aex-survey .aex-survey__back[disabled]{opacity:.3;cursor:default}
.aex-survey .aex-survey__back[disabled]:hover{border-color:var(--aex-line);background:none}
.aex-survey .aex-survey__track{flex:1 1 auto;height:2px;background:var(--aex-line);position:relative;overflow:hidden}
.aex-survey .aex-survey__fill{position:absolute;inset:0 auto 0 0;width:0;background:#fff;
  transition:width .34s cubic-bezier(.4,0,.2,1)}
.aex-survey .aex-survey__count{flex:0 0 auto;font-size:12px;font-weight:700;letter-spacing:1.4px;
  color:var(--aex-steel);font-variant-numeric:tabular-nums}
/* ---- stage + steps ---- */
.aex-survey .aex-survey__stage{position:relative;min-height:440px}
.aex-survey .aex-step{display:none}
.aex-survey .aex-step.is-active{display:block;animation:aex-step-in .28s cubic-bezier(.2,.7,.3,1) both}
@keyframes aex-step-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.aex-survey .aex-step__overline{font-size:12px;font-weight:700;letter-spacing:2.4px;line-height:16px;
  text-transform:uppercase;color:var(--aex-steel);margin:0 0 18px}
/* House h2 is Montserrat 700 / 48px / 51px / 1px letter-spacing. The intro
   heading is exactly that; the question headings are the same face stepped down,
   with the letter-spacing scaled to match. */
.aex-survey .aex-step__q{font-family:Montserrat,Inter,Helvetica,Arial,sans-serif;font-weight:700;
  font-size:34px;line-height:1.14;letter-spacing:.7px;color:#fff;margin:0}
.aex-survey .aex-step__help{font-size:15px;line-height:1.6;color:var(--aex-muted);margin:14px 0 0;max-width:60ch}
.aex-survey .aex-step__q + .aex-opts,
.aex-survey .aex-step__help + .aex-opts,
.aex-survey .aex-step__q + .aex-form,
.aex-survey .aex-step__help + .aex-form{margin-top:30px}
/* ---- options ---- */
.aex-survey .aex-opts{display:flex;flex-direction:column;gap:10px}
.aex-survey .aex-opt{display:flex;align-items:flex-start;gap:14px;width:100%;text-align:left;
  padding:17px 20px;border:1px solid var(--aex-line);background:transparent;color:#fff;
  transition:background-color .16s,border-color .16s,color .16s}
.aex-survey .aex-opt:hover{border-color:var(--aex-line-hi);background:var(--aex-glass)}
.aex-survey .aex-opt__key{flex:0 0 22px;width:22px;height:22px;border:1px solid var(--aex-line);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;
  color:var(--aex-steel);margin-top:1px;transition:inherit}
.aex-survey .aex-opt__text{flex:1 1 auto;min-width:0}
/* The theme sets `white-space:nowrap` on `button`, and it INHERITS into every
   span inside an option row - so any label longer than one line ran straight
   out past the row and off the screen. 53 labels were cut off at 320px, 11 even
   at 375px. The reset above turns it off; these two re-state it locally, and
   overflow-wrap catches a long unbroken token (a URL, a part number). */
.aex-survey .aex-opt__label{display:block;font-size:16px;line-height:1.4;font-weight:500;color:#fff;
  white-space:normal;overflow-wrap:anywhere}
.aex-survey .aex-opt__sub{display:block;font-size:13px;line-height:1.45;color:var(--aex-muted);margin-top:3px;
  white-space:normal;overflow-wrap:anywhere}
/* Selected rows take the house dark-band treatment: plum fill with a solid
   white hairline, exactly like the hero button on the case-study page. A white
   fill was the first attempt and it is off-house - the boss's rule is that dark
   sections carry no white cards. */
.aex-survey .aex-opt.is-on{background:var(--aex-plum-btn);border-color:#fff;color:#fff}
.aex-survey .aex-opt.is-on .aex-opt__label{color:#fff}
.aex-survey .aex-opt.is-on .aex-opt__sub{color:rgba(255,255,255,.72)}
.aex-survey .aex-opt.is-on .aex-opt__key{border-color:#fff;background:#fff;color:var(--aex-plum-btn)}
/* Q5 is the only multi-select. Its rows carry a checkbox rather than a number,
   and the screen is labelled, so the Continue button below reads as expected
   rather than as a one-off. */
.aex-survey .aex-opts[data-multi] .aex-opt.is-on .aex-opt__key::after{content:"\2713";font-size:13px;line-height:1}
.aex-survey .aex-multi-hint{display:inline-flex;align-items:center;gap:9px;margin:30px 0 14px;
  padding:7px 13px;border:1px solid var(--aex-line);
  font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--aex-steel)}
.aex-survey .aex-multi-hint::before{content:"";width:11px;height:11px;flex:0 0 11px;
  border:1px solid var(--aex-steel)}
/* ---- fields ---- */
.aex-survey .aex-form{display:flex;flex-direction:column;gap:14px;max-width:520px}
.aex-survey .aex-field{display:block}
.aex-survey .aex-field__label{display:block;font-size:12px;font-weight:700;letter-spacing:1.4px;
  text-transform:uppercase;color:var(--aex-steel);margin-bottom:8px}
.aex-survey .aex-field input{width:100%;padding:15px 18px;border:1px solid var(--aex-line);
  background:rgba(255,255,255,.03);color:#fff;font-size:16px;line-height:1.3;border-radius:0;
  transition:border-color .16s,background-color .16s;-webkit-appearance:none;appearance:none}
.aex-survey .aex-field input::placeholder{color:#6B7280}
.aex-survey .aex-field input:focus{outline:none;border-color:#fff;background:rgba(255,255,255,.06)}
.aex-survey .aex-field input:-webkit-autofill{-webkit-text-fill-color:#fff;
  -webkit-box-shadow:0 0 0 1000px #202024 inset}
.aex-survey .aex-err{font-size:13px;line-height:1.4;color:#E4677F;margin:0}
.aex-survey .aex-err[hidden]{display:none}
.aex-survey .aex-note{font-size:12px;line-height:1.5;color:#6B7280;margin:2px 0 0}
/* ---- buttons ---- */
/* Verbatim the house button, read off build_case_study.py's `button()`: plum
   #63143D, white text, Montserrat 800 / 12px / uppercase / 1.4px, 17x38, square,
   and a 40% white hairline so it still has an edge on the near-black band. Hover
   takes that hairline to solid white, which is the house hover. An earlier build
   inverted this to a white fill - wrong, and it put a big white block on a dark
   section. */
.aex-survey .aex-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  align-self:flex-start;padding:17px 38px;background:var(--aex-plum-btn);color:#fff;
  border:1px solid var(--aex-outline);
  font-family:Montserrat,Inter,Helvetica,Arial,sans-serif;font-weight:800;font-size:12px;
  letter-spacing:1.4px;line-height:1.4;text-transform:uppercase;text-decoration:none;
  white-space:normal;transition:background-color .25s,border-color .25s,color .25s}
.aex-survey .aex-btn:hover{background:var(--aex-plum-btn);border-color:#fff;color:#fff}
.aex-survey .aex-btn[disabled]{opacity:.32;cursor:default}
.aex-survey .aex-btn[disabled]:hover{border-color:var(--aex-outline)}
.aex-survey .aex-link{background:none;border:0;padding:0;font-size:13px;color:var(--aex-steel);
  text-decoration:underline;text-underline-offset:3px}
.aex-survey .aex-link:hover{color:#fff}
/* ---- intro ---- */
.aex-survey .aex-hero{display:block;width:100%;height:210px;object-fit:cover;border-radius:10px;
  margin-bottom:30px}
.aex-survey .aex-intro__lede{font-size:18px;line-height:1.6;color:var(--aex-muted);margin:18px 0 0;max-width:62ch}
/* The house divider, as the boss settled it on the case-studies carousel: an
   `hr` the full width of the container, 4px, plum #4A0E2E. It measures 1.18:1 on
   this band, which is the point - it reads as a deliberate dark plum rule, not a
   bright line. Never use that plum for text here. */
.aex-survey .aex-rule{border:0;height:4px;width:100%;background:var(--aex-plum);margin:32px 0 0}
.aex-survey .aex-intro__stat{color:#fff;font-weight:700;font-size:21px;letter-spacing:-.2px}
.aex-survey .aex-intro__meta{font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--aex-steel);margin:26px 0 0}
.aex-survey .aex-rule + .aex-intro__meta{margin-top:24px}
.aex-survey .aex-intro .aex-btn{margin-top:14px}
.aex-survey .aex-intro__q{font-size:48px;line-height:1.0625;letter-spacing:1px}
/* ---- analyzing ---- */
.aex-survey .aex-wait{display:flex;flex-direction:column;align-items:flex-start;
  justify-content:center;min-height:440px}
.aex-survey .aex-wait__ring{width:44px;height:44px;border:2px solid var(--aex-line);
  border-top-color:#fff;border-radius:50%;animation:aex-spin .9s linear infinite;margin-bottom:26px}
@keyframes aex-spin{to{transform:rotate(360deg)}}
.aex-survey .aex-wait__line{font-size:15px;color:var(--aex-muted);margin:0;min-height:1.5em}
/* ---- result ---- */
/* The 0-100 score and its Platinum/Gold/Silver/Bronze tier are NOT shown to the
   visitor - they are grading for the salesperson, and they now travel out on the
   form submission instead. This block recaps what the visitor told us, which is
   worth more to them and keeps the same visual weight at the top of the result. */
.aex-survey .aex-res__head{padding-bottom:26px;border-bottom:1px solid var(--aex-line)}
.aex-survey .aex-res__label{font-size:12px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;
  color:var(--aex-steel);margin:0 0 12px}
.aex-survey .aex-res__recap{font-family:Montserrat,Inter,Helvetica,Arial,sans-serif;font-weight:700;
  font-size:24px;line-height:1.34;color:#fff;margin:0}
.aex-survey .aex-tier{display:none}
.aex-survey .aex-tier.is-on{display:block}
.aex-survey .aex-tier__h{font-family:Montserrat,Inter,Helvetica,Arial,sans-serif;font-weight:700;
  font-size:26px;line-height:1.2;color:#fff;margin:30px 0 0}
.aex-survey .aex-tier__p{font-size:16px;line-height:1.65;color:var(--aex-muted);margin:14px 0 0;max-width:60ch}
.aex-survey .aex-tier .aex-btn{margin-top:26px}
.aex-survey .aex-res__foot{margin-top:30px;padding-top:22px;border-top:1px solid var(--aex-line);
  font-size:13px;line-height:1.6;color:#6B7280}
.aex-survey .aex-res__foot b{color:var(--aex-steel);font-weight:500}
/* ---- debug readout: /page/?debug=1 ---- */
.aex-survey .aex-debug{position:fixed;right:14px;bottom:14px;z-index:9999;max-width:290px;
  padding:14px 16px;background:#0d0d0f;border:1px solid var(--aex-line);
  font-size:11px;line-height:1.6;color:var(--aex-muted);white-space:pre-wrap}
.aex-survey .aex-debug b{color:#fff;font-weight:700}
@media (max-width:767px){
/* No forced stage height on a phone. It exists to stop the layout jumping
     between steps on a big screen; on a phone it only pads short steps out
     with dead space. The waiting screen keeps a floor so it does not collapse. */
.aex-survey .aex-survey__stage{min-height:0}
.aex-survey .aex-wait{min-height:300px}
.aex-survey .aex-brand{margin-bottom:26px}
.aex-survey .aex-brand__mark{font-size:14px;letter-spacing:2.6px}
.aex-survey .aex-survey__bar{margin-bottom:22px}
.aex-survey .aex-opt{padding:14px 15px;gap:11px}
.aex-survey .aex-step__help{margin-top:12px}
.aex-survey .aex-step__q + .aex-opts,
.aex-survey .aex-step__help + .aex-opts,
.aex-survey .aex-step__q + .aex-form,
.aex-survey .aex-step__help + .aex-form{margin-top:24px}
.aex-survey .aex-step__q{font-size:25px;letter-spacing:.5px}
.aex-survey .aex-intro__q{font-size:31px;letter-spacing:.6px}
.aex-survey .aex-intro__lede{font-size:16px}
.aex-survey .aex-hero{height:160px;margin-bottom:24px}
.aex-survey .aex-opt{padding:15px 16px;gap:12px}
.aex-survey .aex-opt__label{font-size:15px}
.aex-survey .aex-btn{width:100%;padding:17px 24px}
.aex-survey .aex-res__recap{font-size:19px}
.aex-survey .aex-debug{display:none}
}
@media (prefers-reduced-motion:reduce){
.aex-survey *,
.aex-survey *::before,
.aex-survey *::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important}
.aex-survey .aex-wait__ring{animation:aex-spin 1.4s linear infinite!important}
}

/* The theme paints <body> white. On a short step the near-black band stopped
   partway down the phone screen and the rest of the viewport showed through as
   a white strip - the "white space at the bottom". Paint the page to match, and
   guarantee the band covers the screen even on overscroll. */

#floor-readiness{min-height:100vh;min-height:100svh}

/* The Elementor form that carries the answers to the CRM. Visually hidden rather
   than display:none: a display:none form will not run native submission, and the
   whole point is that Elementor's own submit path fires so their hook does too.
   Not scoped under .aex-survey - it is a sibling widget, not part of the survey. */
.aex-lead-form{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}/* End custom CSS */