.elementor-1644 .elementor-element.elementor-element-60807db{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1644 .elementor-element.elementor-element-ad640ae{--display:flex;--min-height:800px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--overlay-opacity:0.77;--overlay-mix-blend-mode:darken;--padding-top:4rem;--padding-bottom:4rem;--padding-left:0rem;--padding-right:0rem;}.elementor-1644 .elementor-element.elementor-element-ad640ae:not(.elementor-motion-effects-element-type-background), .elementor-1644 .elementor-element.elementor-element-ad640ae > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );background-image:url("https://bugsafepestservice.com.au/wp-content/uploads/2026/07/pest-control-bg.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-1644 .elementor-element.elementor-element-ad640ae::before, .elementor-1644 .elementor-element.elementor-element-ad640ae > .elementor-background-video-container::before, .elementor-1644 .elementor-element.elementor-element-ad640ae > .e-con-inner > .elementor-background-video-container::before, .elementor-1644 .elementor-element.elementor-element-ad640ae > .elementor-background-slideshow::before, .elementor-1644 .elementor-element.elementor-element-ad640ae > .e-con-inner > .elementor-background-slideshow::before, .elementor-1644 .elementor-element.elementor-element-ad640ae > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(274deg, #000000 46%, #000000 52%);}.elementor-1644 .elementor-element.elementor-element-ad640ae.e-con{--align-self:center;}.elementor-1644 .elementor-element.elementor-element-3a72288{--display:flex;}.elementor-1644 .elementor-element.elementor-element-91e8a80{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1644 .elementor-element.elementor-element-1bfe87b .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:17px;font-weight:700;color:var( --e-global-color-782ea73 );}.elementor-1644 .elementor-element.elementor-element-7b898af{width:auto;max-width:auto;background-color:var( --e-global-color-489c038 );padding:0px 9px 5px 9px;border-radius:3px 3px 3px 3px;}.elementor-1644 .elementor-element.elementor-element-7b898af .elementor-heading-title{font-family:"IBM Plex Mono", Sans-serif;font-size:10px;line-height:1px;color:var( --e-global-color-782ea73 );}.elementor-1644 .elementor-element.elementor-element-7b7092d{text-align:start;}.elementor-1644 .elementor-element.elementor-element-86be731 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-1644 .elementor-element.elementor-element-86be731 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-1644 .elementor-element.elementor-element-86be731 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-1644 .elementor-element.elementor-element-86be731 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-1644 .elementor-element.elementor-element-86be731 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-1644 .elementor-element.elementor-element-86be731 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-1644 .elementor-element.elementor-element-86be731 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-1644 .elementor-element.elementor-element-86be731 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-1644 .elementor-element.elementor-element-86be731 .elementor-field-type-html{padding-bottom:0px;}.elementor-1644 .elementor-element.elementor-element-86be731 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-1644 .elementor-element.elementor-element-86be731 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-1644 .elementor-element.elementor-element-86be731 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-1644 .elementor-element.elementor-element-86be731 .elementor-button[type="submit"]{color:#ffffff;}.elementor-1644 .elementor-element.elementor-element-86be731 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-1644 .elementor-element.elementor-element-86be731 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-1644 .elementor-element.elementor-element-86be731 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-1644 .elementor-element.elementor-element-86be731 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-1644 .elementor-element.elementor-element-86be731 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-1644 .elementor-element.elementor-element-86be731 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-1644 .elementor-element.elementor-element-86be731{--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;}.elementor-1644 .elementor-element.elementor-element-9088374{text-align:center;}.elementor-1644 .elementor-element.elementor-element-23e3b0d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1644 .elementor-element.elementor-element-615e92b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:3rem;--padding-bottom:3rem;--padding-left:0rem;--padding-right:0rem;}.elementor-1644 .elementor-element.elementor-element-615e92b:not(.elementor-motion-effects-element-type-background), .elementor-1644 .elementor-element.elementor-element-615e92b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0A101A;}.elementor-1644 .elementor-element.elementor-element-615e92b.e-con{--align-self:center;}.elementor-1644 .elementor-element.elementor-element-b5a78fe{--display:flex;}.elementor-1644 .elementor-element.elementor-element-1b13cea{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;}.elementor-1644 .elementor-element.elementor-element-60bb976 .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:17px;font-weight:700;color:var( --e-global-color-782ea73 );}.elementor-1644 .elementor-element.elementor-element-b293920{width:auto;max-width:auto;background-color:var( --e-global-color-489c038 );padding:0px 9px 5px 9px;border-radius:3px 3px 3px 3px;}.elementor-1644 .elementor-element.elementor-element-b293920 .elementor-heading-title{font-family:"IBM Plex Mono", Sans-serif;font-size:10px;line-height:1px;color:var( --e-global-color-782ea73 );}.elementor-1644 .elementor-element.elementor-element-1aa8d74{text-align:start;}.elementor-1644 .elementor-element.elementor-element-6d32dac .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-1644 .elementor-element.elementor-element-6d32dac .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-1644 .elementor-element.elementor-element-6d32dac .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-1644 .elementor-element.elementor-element-6d32dac .elementor-field-group.recaptcha_v3-bottomleft, .elementor-1644 .elementor-element.elementor-element-6d32dac .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-1644 .elementor-element.elementor-element-6d32dac .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-1644 .elementor-element.elementor-element-6d32dac .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-1644 .elementor-element.elementor-element-6d32dac .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-1644 .elementor-element.elementor-element-6d32dac .elementor-field-type-html{padding-bottom:0px;}.elementor-1644 .elementor-element.elementor-element-6d32dac .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-1644 .elementor-element.elementor-element-6d32dac .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-1644 .elementor-element.elementor-element-6d32dac .elementor-button{font-weight:400;}.elementor-1644 .elementor-element.elementor-element-6d32dac .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-1644 .elementor-element.elementor-element-6d32dac .elementor-button[type="submit"]{color:#ffffff;}.elementor-1644 .elementor-element.elementor-element-6d32dac .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-1644 .elementor-element.elementor-element-6d32dac .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-1644 .elementor-element.elementor-element-6d32dac .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-1644 .elementor-element.elementor-element-6d32dac .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-1644 .elementor-element.elementor-element-6d32dac .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-1644 .elementor-element.elementor-element-6d32dac .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-1644 .elementor-element.elementor-element-6d32dac{--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;}.elementor-1644 .elementor-element.elementor-element-904b33a{text-align:center;}.elementor-1644 .elementor-element.elementor-element-92b6efa{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-1644 .elementor-element.elementor-element-615e92b{--padding-top:3rem;--padding-bottom:3rem;--padding-left:1.5rem;--padding-right:1.5rem;}}@media(min-width:768px){.elementor-1644 .elementor-element.elementor-element-60807db{--content-width:100%;}.elementor-1644 .elementor-element.elementor-element-ad640ae{--content-width:1180px;}.elementor-1644 .elementor-element.elementor-element-23e3b0d{--content-width:100%;}.elementor-1644 .elementor-element.elementor-element-92b6efa{--content-width:100%;}}/* Start custom CSS for container, class: .elementor-element-ad640ae *//* =========================================================================
   BUG SAFE — HERO BANNER for Elementor
   Scope: .hero-banner (the Elementor container) and everything inside it.
   Paste into: Elementor → Site Settings → Custom CSS
               (or Page Settings → Advanced → Custom CSS, or your child theme)
   Everything is !important so the Elementor/theme defaults cannot win.

   NOTE ON FONTS: if Archivo / Public Sans / IBM Plex Mono are not already
   loaded on the site, keep the @import below as the FIRST line of the
   stylesheet. If your custom-CSS box strips @import, load them instead via
   Elementor → Site Settings → Theme Style, or an HTML widget in the header:
   <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;700;800&family=Public+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap">
   ========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;700;800&family=Public+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

/* -------------------------------------------------------------------------
   1. BRAND TOKENS (scoped so they can't leak into the rest of the site)
   ------------------------------------------------------------------------- */
.hero-banner{
  --bs-navy:#0A101A;
  --bs-navy-2:#141B27;
  --bs-red:#FF1000;
  --bs-orange:#FF7000;
  --bs-orange-2:#E56200;
  --bs-amber:#FFA304;
  --bs-paper:#F4F5F7;
  --bs-ink:#0A101A;
  --bs-muted:#56585E;
  --bs-line:#E2E5EA;
  --bs-radius:6px;
  --bs-shadow:0 2px 0 rgba(10,16,26,.04), 0 22px 46px -30px rgba(10,16,26,.5);
  --bs-display:'Sora',system-ui,-apple-system,sans-serif;
  --bs-body:'Public Sans',system-ui,-apple-system,sans-serif;
  --bs-mono:'IBM Plex Mono',ui-monospace,monospace;
}

/* -------------------------------------------------------------------------
   2. SECTION SHELL + BACKGROUND GRADIENTS
   The background IMAGE stays whatever you set in Elementor. The two gradient
   layers (left-to-right scrim + top/bottom fade) are drawn in ::before, and
   the red/orange/amber rule at the bottom edge is drawn in ::after.
   ------------------------------------------------------------------------- */
.hero-banner{
  position:relative !important;
  overflow:hidden !important;
  display:block !important;
  background-color:var(--bs-navy) !important;
  background-position:right center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  color:#fff !important;
  font-family:var(--bs-body) !important;
  font-size:16.5px !important;
  line-height:1.6 !important;
  padding:56px 22px 68px !important;
  -webkit-font-smoothing:antialiased !important;
}

/* gradient overlay: vertical fade layered over the left-to-right scrim */
.hero-banner::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:
    linear-gradient(180deg,
      rgba(10,16,26,.50) 0%,
      rgba(10,16,26,0)   22%,
      rgba(10,16,26,0)   80%,
      rgba(10,16,26,.65) 100%),
    linear-gradient(96deg,
      #0A101A 0%,
      #0A101A 30%,
      rgba(10,16,26,.92) 48%,
      rgba(10,16,26,.55) 68%,
      rgba(10,16,26,.28) 100%) !important;
}

/* three-colour rule along the bottom edge */
.hero-banner::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important; right:0 !important; bottom:0 !important;
  height:6px !important;
  z-index:3 !important;
  pointer-events:none !important;
  background:linear-gradient(90deg,
    var(--bs-red) 0 33%,
    var(--bs-orange) 33% 66%,
    var(--bs-amber) 66% 100%) !important;
}

/* -------------------------------------------------------------------------
   3. TWO-COLUMN LAYOUT (copy left, booking card right)
   ------------------------------------------------------------------------- */
.hero-banner > .e-con-inner{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  align-items:start !important;
  gap:38px !important;
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 !important;
}
.hero-banner > .e-con-inner > .elementor-element{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
}
@media(min-width:1000px){
  .hero-banner > .e-con-inner{
    grid-template-columns:1.06fr .94fr !important;
    gap:50px !important;
  }
}
/* on tablet/mobile the photo sits behind the white card — darken it further */
@media(max-width:999px){
  .hero-banner::before{
    background:linear-gradient(180deg,rgba(10,16,26,.82),rgba(10,16,26,.92)) !important;
  }
}

.hero-banner img{max-width:100% !important;display:block !important;}
.hero-banner p{margin:0 0 .9rem !important;}
.hero-banner p:last-child{margin-bottom:0 !important;}
.hero-banner :focus-visible{outline:3px solid var(--bs-amber) !important;outline-offset:3px !important;}

/* -------------------------------------------------------------------------
   4. LEFT COLUMN — eyebrow, headline, sub copy
   ------------------------------------------------------------------------- */
.hero-banner .banner-sec .eb,
.hero-banner .eb{
  font-family:var(--bs-mono) !important;
  font-size:11px !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  color:var(--bs-amber) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:11px !important;
  margin:0 0 15px !important;
}
.hero-banner .eb::before{display:none !important;}
.hero-banner .eb::after{
  content:"" !important;
  width:26px !important;
  height:2px !important;
  background:var(--bs-red) !important;
  display:block !important;
}

.hero-banner h1{
  font-family:var(--bs-display) !important;
  font-size:clamp(2.3rem,5vw,72px) !important;
  font-weight:600 !important;
  line-height:1.1 !important;
  letter-spacing:-.035em !important;
  font-variation-settings:'wdth' 118 !important;
  color:#fff !important;
  margin:0 0 16px !important;
  text-wrap:balance;
}

.hero-banner .sub{
  font-size:1.1rem !important;
  line-height:1.62 !important;
  color:#C4CBD6 !important;
  max-width:54ch !important;
  margin:0 0 24px !important;
}
.hero-banner .sub b{color:#fff !important;font-weight:600 !important;}

/* -------------------------------------------------------------------------
   5. TRUST CHIPS
   ------------------------------------------------------------------------- */
.hero-banner .hchips{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:9px !important;
  margin:0 0 26px !important;
  max-width:560px !important;
}
@media(min-width:560px){
  .hero-banner .hchips{grid-template-columns:1fr 1fr !important;}
}
.hero-banner .hchip{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.26) !important;
  border-radius:100px !important;
  padding:11px 16px 11px 13px !important;
  font-family:var(--bs-mono) !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
  color:#fff !important;
  line-height:1.15 !important;
}
.hero-banner .hchip .ic{
  width:15px !important;height:15px !important;
  color:var(--bs-amber) !important;
  flex:none !important;stroke-width:2 !important;
}

/* -------------------------------------------------------------------------
   6. HERO BUTTONS
   ------------------------------------------------------------------------- */
.hero-banner .hcta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:11px !important;
  margin:0 0 26px !important;
}
.hero-banner .btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  font-family:var(--bs-display) !important;
  font-weight:700 !important;
  font-size:1rem !important;
  font-variation-settings:'wdth' 108 !important;
  padding:15px 26px !important;
  border-radius:var(--bs-radius) !important;
  border:2px solid transparent !important;
  text-decoration:none !important;
  cursor:pointer !important;
  line-height:1 !important;
  white-space:nowrap !important;
  transition:transform .12s ease,background .16s ease,border-color .16s ease !important;
}
.hero-banner .btn .ic{width:18px !important;height:18px !important;flex:none !important;}
.hero-banner .btn:hover{transform:translateY(-2px) !important;}
.hero-banner .btn-o{background:var(--bs-orange) !important;color:#fff !important;border-color:var(--bs-orange) !important;}
.hero-banner .btn-o:hover{background:var(--bs-orange-2) !important;border-color:var(--bs-orange-2) !important;}
.hero-banner .btn-gh{background:transparent !important;color:#fff !important;border-color:rgba(255,255,255,.45) !important;}
.hero-banner .btn-gh:hover{border-color:#fff !important;background:rgba(255,255,255,.09) !important;}

/* -------------------------------------------------------------------------
   7. GOOGLE REVIEW PROOF ROW
   ------------------------------------------------------------------------- */
.hero-banner .hproof{
  display:flex !important;
  align-items:center !important;
  gap:15px !important;
  padding-top:22px !important;
  border-top:1px solid rgba(255,255,255,.16) !important;
}
.hero-banner .hproof img{height:40px !important;width:auto !important;}
.hero-banner .hproof p{
  font-size:.88rem !important;
  color:#A7AEBB !important;
  margin:0 !important;
  line-height:1.45 !important;
}
.hero-banner .hproof a{color:var(--bs-amber) !important;}

/* -------------------------------------------------------------------------
   8. BOOKING CARD SHELL  (.hero-banner-container)
   ------------------------------------------------------------------------- */
.hero-banner .hero-banner-container{
  background:#fff !important;
  border-radius:var(--bs-radius) !important;
  box-shadow:var(--bs-shadow) !important;
  overflow:hidden !important;
  padding:0 !important;
  gap:0 !important;
  width:100% !important;
  color:var(--bs-ink) !important;
  display:flex !important;
  flex-direction:column !important;
}

/* card header strip (the two heading widgets sit in this child container) */
.hero-banner .hero-banner-container > .e-con{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  width:100% !important;
  background:var(--bs-navy-2) !important;
  border-top:4px solid var(--bs-orange) !important;
  padding:15px 22px !important;
  margin:0 !important;
  border-radius:0 !important;
}
.hero-banner .hero-banner-container > .e-con > .elementor-widget{
  width:auto !important;
  max-width:none !important;
  flex:0 1 auto !important;
  margin:0 !important;
}
/* "Book cockroach control" */
.hero-banner .hero-banner-container > .e-con > .elementor-widget-heading:first-child .elementor-heading-title{
  font-family:var(--bs-display) !important;
  font-size:1.06rem !important;
  font-weight:700 !important;
  letter-spacing:-.025em !important;
  line-height:1.1 !important;
  color:#fff !important;
  margin:0 !important;
}
/* "FREE QUOTE" pill */
.hero-banner .hero-banner-container > .e-con > .elementor-widget-heading:last-child .elementor-heading-title{
  display:inline-block !important;
  font-family:var(--bs-mono) !important;
  font-size:9.5px !important;
  font-weight:500 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:#fff !important;
  background:var(--bs-red) !important;
  padding:5px 9px !important;
  border-radius:3px !important;
  white-space:nowrap !important;
  line-height:1.2 !important;
}

/* -------------------------------------------------------------------------
   9. ELEMENTOR FORM INSIDE THE CARD
   ------------------------------------------------------------------------- */
.hero-banner .hero-banner-container .elementor-widget-form{
  padding:20px 22px 0 !important;
  width:100% !important;
}
.hero-banner .elementor-form-fields-wrapper{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:13px !important;
  margin:0 !important;
}
.hero-banner .elementor-field-group{
  width:100% !important;
  max-width:100% !important;
  flex-basis:100% !important;
  padding:0 !important;
  margin:0 !important;
}
.hero-banner .elementor-field-label{
  display:block !important;
  font-family:var(--bs-mono) !important;
  font-size:10px !important;
  font-weight:500 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:var(--bs-muted) !important;
  margin:0 0 6px !important;
  padding:0 !important;
}

/* text / tel / email / textarea / select */
.hero-banner .elementor-field-textual{
  width:100% !important;
  font-family:var(--bs-body) !important;
  font-size:.99rem !important;
  color:var(--bs-ink) !important;
  padding:12px 13px !important;
  border:1px solid var(--bs-line) !important;
  border-radius:4px !important;
  background-color:var(--bs-paper) !important;
  line-height:1.4 !important;
  min-height:auto !important;
  box-shadow:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.hero-banner textarea.elementor-field-textual{min-height:96px !important;resize:vertical !important;}
.hero-banner .elementor-field-textual::placeholder{color:#8A8F98 !important;opacity:1 !important;}
.hero-banner .elementor-field-textual:focus{
  background-color:#fff !important;
  border-color:var(--bs-orange) !important;
  box-shadow:0 0 0 3px rgba(255,112,0,.16) !important;
  outline:none !important;
}
.hero-banner .elementor-select-wrapper select{padding-right:34px !important;}
.hero-banner .elementor-select-wrapper .select-caret-down-wrapper svg,
.hero-banner .elementor-select-wrapper .select-caret-down-wrapper{
  fill:var(--bs-muted) !important;
  color:var(--bs-muted) !important;
  width:12px !important;
  right:13px !important;
  inset-inline-end:13px !important;
}

/* radio row rendered as a 3-up segmented control */
.hero-banner .elementor-field-subgroup{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:7px !important;
  margin:0 !important;
}
.hero-banner .elementor-field-subgroup .elementor-field-option{
  position:relative !important;
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.hero-banner .elementor-field-subgroup input[type="radio"],
.hero-banner .elementor-field-subgroup input[type="checkbox"]{
  position:absolute !important;
  opacity:0 !important;
  width:1px !important;
  height:1px !important;
  margin:0 !important;
  pointer-events:none !important;
}
.hero-banner .elementor-field-subgroup label{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  width:100% !important;
  margin:0 !important;
  padding:13px 6px !important;
  border:1px solid var(--bs-line) !important;
  border-radius:4px !important;
  background:var(--bs-paper) !important;
  cursor:pointer !important;
  font-family:var(--bs-display) !important;
  font-size:12.5px !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  color:var(--bs-ink) !important;
  line-height:1.2 !important;
  transition:.14s !important;
}
.hero-banner .elementor-field-subgroup input[type="radio"]:checked + label{
  border-color:var(--bs-orange) !important;
  background:#fff !important;
  box-shadow:inset 0 0 0 1px var(--bs-orange) !important;
  color:var(--bs-orange) !important;
}
.hero-banner .elementor-field-subgroup input[type="radio"]:focus-visible + label{
  outline:3px solid var(--bs-amber) !important;
  outline-offset:2px !important;
}

/* submit button */
.hero-banner .elementor-field-type-submit{margin-top:2px !important;}
.hero-banner .elementor-form .elementor-button,
.hero-banner .elementor-form .elementor-button[type="submit"]{
  width:100% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  background-color:var(--bs-orange) !important;
  color:#fff !important;
  border:2px solid var(--bs-orange) !important;
  border-radius:var(--bs-radius) !important;
  font-family:var(--bs-display) !important;
  font-size:1.04rem !important;
  font-weight:700 !important;
  line-height:1 !important;
  padding:17px 24px !important;
  min-height:auto !important;
  cursor:pointer !important;
  transition:transform .12s ease,background .16s ease,border-color .16s ease !important;
}
.hero-banner .elementor-form .elementor-button:hover{
  background-color:var(--bs-orange-2) !important;
  border-color:var(--bs-orange-2) !important;
  transform:translateY(-2px) !important;
}
.hero-banner .elementor-form .elementor-button svg{
  width:16px !important;height:16px !important;fill:#fff !important;
}
.hero-banner .elementor-form .elementor-button-content-wrapper{
  display:inline-flex !important;align-items:center !important;gap:10px !important;
}

/* -------------------------------------------------------------------------
   10. FOOTNOTE UNDER THE FORM (text-editor widget)
   ------------------------------------------------------------------------- */
.hero-banner .hero-banner-container .elementor-widget-text-editor{
  padding:13px 22px 22px !important;
  width:100% !important;
}
.hero-banner .hero-banner-container .elementor-widget-text-editor p{
  font-family:var(--bs-mono) !important;
  font-size:10.5px !important;
  font-weight:500 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
  color:var(--bs-muted) !important;
  text-align:center !important;
  line-height:1.75 !important;
  margin:0 !important;
}

/* -------------------------------------------------------------------------
   11. REDUCED MOTION
   ------------------------------------------------------------------------- */
@media(prefers-reduced-motion:reduce){
  .hero-banner .btn:hover,
  .hero-banner .elementor-form .elementor-button:hover{transform:none !important;}
}

/* =========================================================================
   BUG SAFE — URGENCY RADIO SUB-LABELS
   Adds the second line (URGENT / SOON / NO RUSH) under each option.
   Paste at the BOTTOM of your hero-banner CSS.

   Elementor renders the radio label as a bare text node, so the sub-line is
   drawn with ::after and matched on the input's value attribute. If you edit
   the option text in Elementor, update the three value .elementor-1644 .elementor-element.elementor-element-ad640aes to match.
   ========================================================================= */

/* two-line segment */
.hero-banner .form-styled .elementor-field-subgroup label{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
  width:100% !important;
  margin:0 !important;
  padding:10px 5px !important;
  text-align:center !important;
  border:1px solid var(--bs-line) !important;
  border-radius:4px !important;
  background:var(--bs-paper) !important;
  cursor:pointer !important;
  font-family:var(--bs-display) !important;
  font-size:12.5px !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:uppercase !important;
  line-height:1.25 !important;
  color:var(--bs-ink) !important;
  transition:.14s !important;
}

/* the sub-line */
.hero-banner .form-styled .elementor-field-subgroup label::after{
  display:block !important;
  font-family:var(--bs-mono) !important;
  font-size:9.5px !important;
  font-weight:500 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
  line-height:1.3 !important;
  color:var(--bs-muted) !important;
}

.hero-banner .form-styled input[type="radio"][value="Today"] + label::after{
  content:"Urgent" !important;
}
.hero-banner .form-styled input[type="radio"][value="This Week"] + label::after{
  content:"Soon" !important;
}
.hero-banner .form-styled input[type="radio"][value="Pricing"] + label::after{
  content:"No rush" !important;
}

/* selected state — main line orange, sub-line stays quiet */
.hero-banner .form-styled .elementor-field-subgroup input[type="radio"]:checked + label{
  border-color:var(--bs-orange) !important;
  background:#fff !important;
  box-shadow:inset 0 0 0 1px var(--bs-orange) !important;
  color:var(--bs-orange) !important;
}
.hero-banner .form-styled .elementor-field-subgroup input[type="radio"]:checked + label::after{
  color:var(--bs-muted) !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b5d2cc1 *//* =========================================================================
   BUG SAFE — CTA COPY COLUMN  (.footer-desc-container)
   The left half of the "Book now" block: eyebrow, headline, lede,
   checklist, and phone box. Lives in an Elementor HTML widget.

   Self-contained — no .sec--dark dependency. The dark-section colours are
   baked in, since this widget sits on the navy background. If you ever drop
   it on a white section, add the class .on-light alongside it (last block).

   Fonts (Sora / Public Sans / IBM Plex Mono) are assumed to be loading
   already from your other stylesheet.
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. LOCAL TOKENS + WIDGET RESET
   ------------------------------------------------------------------------- */
.footer-desc-container{
  --bs-red:#FF1000;
  --bs-amber:#FFA304;
  --bs-line-d:rgba(255,255,255,.14);
  --bs-display:'Sora',system-ui,-apple-system,sans-serif;
  --bs-body:'Public Sans',system-ui,-apple-system,sans-serif;
  --bs-mono:'IBM Plex Mono',ui-monospace,monospace;

  width:100% !important;
  font-family:var(--bs-body) !important;
  color:#D7DCE4 !important;
  text-align:left !important;
}
.footer-desc-container p{margin:0 0 .9rem !important;text-wrap:pretty;}
.footer-desc-container p:last-child{margin-bottom:0 !important;}
.footer-desc-container ul{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.footer-desc-container a{text-decoration:none !important;}

/* -------------------------------------------------------------------------
   2. EYEBROW — left aligned, single rule to the right of the text
   ------------------------------------------------------------------------- */
.footer-desc-container .eb{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:11px !important;
  margin:0 0 15px !important;
  font-family:var(--bs-mono) !important;
  font-size:11px !important;
  font-weight:500 !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  line-height:1.4 !important;
  color:var(--bs-amber) !important;
}
.footer-desc-container .eb::before{display:none !important;}
.footer-desc-container .eb::after{
  content:"" !important;
  display:block !important;
  width:26px !important;
  height:2px !important;
  flex:none !important;
  background:var(--bs-red) !important;
}

/* -------------------------------------------------------------------------
   3. HEADLINE + LEDE
   ------------------------------------------------------------------------- */
.footer-desc-container h2{
  font-family:var(--bs-display) !important;
  font-size:clamp(1.75rem,3.2vw,2.5rem) !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  letter-spacing:-.03em !important;
  color:#fff !important;
  margin:0 !important;
  text-wrap:balance;
}
.footer-desc-container .lede{
  font-family:var(--bs-body) !important;
  font-size:1.05rem !important;
  font-weight:400 !important;
  line-height:1.6 !important;
  color:#A7AEBB !important;
  margin:14px 0 22px !important;
}

/* -------------------------------------------------------------------------
   4. CHECKLIST
   ------------------------------------------------------------------------- */
.footer-desc-container .fcheck li{
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
  padding:9px 0 !important;
  margin:0 !important;
  font-size:.98rem !important;
  line-height:1.5 !important;
  color:#D7DCE4 !important;
  list-style:none !important;
}
.footer-desc-container .fcheck .bdg{
  width:24px !important;
  height:24px !important;
  margin:1px 0 0 !important;
}
.footer-desc-container .fcheck .bdg .ic{
  width:12px !important;
  height:12px !important;
}

/* shared badge — red circle holding an icon */
.footer-desc-container .bdg{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:none !important;
  width:46px !important;
  height:46px !important;
  border-radius:50% !important;
  background:var(--bs-red) !important;
  color:#fff !important;
}
.footer-desc-container .bdg .ic{
  width:22px !important;
  height:22px !important;
  display:block !important;
}

/* -------------------------------------------------------------------------
   5. PHONE BOX
   ------------------------------------------------------------------------- */
.footer-desc-container .callbox{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:15px !important;
  margin-top:24px !important;
  padding-top:22px !important;
  border-top:1px solid var(--bs-line-d) !important;
}
.footer-desc-container .callbox .bdg{margin:0 !important;}
.footer-desc-container .callbox small{
  display:block !important;
  font-family:var(--bs-mono) !important;
  font-size:10px !important;
  font-weight:500 !important;
  letter-spacing:.15em !important;
  text-transform:uppercase !important;
  line-height:1.4 !important;
  color:var(--bs-amber) !important;
  margin-bottom:2px !important;
}
.footer-desc-container .callbox a{
  display:inline-block !important;
  font-family:var(--bs-display) !important;
  font-size:1.8rem !important;
  font-weight:700 !important;
  line-height:1.15 !important;
  letter-spacing:-.025em !important;
  color:#fff !important;
  text-decoration:none !important;
  transition:color .16s ease !important;
}
.footer-desc-container .callbox a:hover,
.footer-desc-container .callbox a:focus{
  color:var(--bs-amber) !important;
}

/* -------------------------------------------------------------------------
   6. FOCUS RING
   ------------------------------------------------------------------------- */
.footer-desc-container :focus-visible{
  outline:3px solid var(--bs-amber) !important;
  outline-offset:3px !important;
  border-radius:3px !important;
}

/* -------------------------------------------------------------------------
   7. OPTIONAL — same block on a white or paper section
   Add the class .on-light to the widget:  footer-desc-container on-light
   ------------------------------------------------------------------------- */
.footer-desc-container.on-light{color:#56585E !important;}
.footer-desc-container.on-light .eb{color:#FF7000 !important;}
.footer-desc-container.on-light h2{color:#0A101A !important;}
.footer-desc-container.on-light .lede{color:#56585E !important;}
.footer-desc-container.on-light .fcheck li{color:#0A101A !important;}
.footer-desc-container.on-light .callbox{border-top-color:#E2E5EA !important;}
.footer-desc-container.on-light .callbox small{color:#FF7000 !important;}
.footer-desc-container.on-light .callbox a{color:#0A101A !important;}
.footer-desc-container.on-light .callbox a:hover,
.footer-desc-container.on-light .callbox a:focus{color:#FF7000 !important;}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b5a78fe *//* =========================================================================
   BUG SAFE — BOOKING CARD  (.form-container-styled)
   Self-contained. Drop the class on any Elementor container that holds:

     .form-container-styled
       └ container            → card header (2 heading widgets)
       └ text editor          → optional intro paragraph  (before the form)
       └ form widget          → the fields
       └ text editor          → footnote                  (after the form)

   Nothing here depends on .hero-banner, so the same card works in the hero,
   mid-page, or in the final CTA. Tokens are redeclared locally.

   Fonts (Sora / Public Sans / IBM Plex Mono) are assumed to be loading
   already. If this is the only stylesheet on the page, add them via
   Elementor → Site Settings → Theme Style or a header <link>.
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. LOCAL TOKENS
   ------------------------------------------------------------------------- */
.form-container-styled{
  --bs-navy-2:#141B27;
  --bs-red:#FF1000;
  --bs-orange:#FF7000;
  --bs-orange-2:#E56200;
  --bs-amber:#FFA304;
  --bs-paper:#F4F5F7;
  --bs-ink:#0A101A;
  --bs-muted:#56585E;
  --bs-line:#E2E5EA;
  --bs-radius:6px;
  --bs-shadow:0 2px 0 rgba(10,16,26,.04), 0 22px 46px -30px rgba(10,16,26,.5);
  --bs-display:'Sora',system-ui,-apple-system,sans-serif;
  --bs-body:'Public Sans',system-ui,-apple-system,sans-serif;
  --bs-mono:'IBM Plex Mono',ui-monospace,monospace;
}

/* -------------------------------------------------------------------------
   2. CARD SHELL
   ------------------------------------------------------------------------- */
.form-container-styled{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  width:100% !important;
  padding:0 !important;
  background:#fff !important;
  border-radius:var(--bs-radius) !important;
  box-shadow:var(--bs-shadow) !important;
  overflow:hidden !important;
  color:var(--bs-ink) !important;
  font-family:var(--bs-body) !important;
  text-align:left !important;
}

/* -------------------------------------------------------------------------
   3. CARD HEADER  (the child container with the two heading widgets)
   ------------------------------------------------------------------------- */
.form-container-styled > .e-con{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  width:100% !important;
  margin:0 !important;
  padding:15px 22px !important;
  background:var(--bs-navy-2) !important;
  border-top:4px solid var(--bs-orange) !important;
  border-radius:0 !important;
}
.form-container-styled > .e-con > .elementor-widget{
  width:auto !important;
  max-width:none !important;
  flex:0 1 auto !important;
  margin:0 !important;
}

/* card title */
.form-container-styled > .e-con > .elementor-widget-heading:first-child .elementor-heading-title{
  display:block !important;
  font-family:var(--bs-display) !important;
  font-size:1.06rem !important;
  font-weight:700 !important;
  letter-spacing:-.025em !important;
  line-height:1.15 !important;
  color:#fff !important;
  margin:0 !important;
}

/* "FREE QUOTE" pill */
.form-container-styled > .e-con > .elementor-widget-heading:last-child .elementor-heading-title{
  display:inline-block !important;
  font-family:var(--bs-mono) !important;
  font-size:9.5px !important;
  font-weight:500 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  line-height:1.2 !important;
  color:#fff !important;
  background:var(--bs-red) !important;
  padding:5px 9px !important;
  border-radius:3px !important;
  white-space:nowrap !important;
  margin:0 !important;
}

/* -------------------------------------------------------------------------
   4. INTRO PARAGRAPH — any text editor placed BEFORE the form widget
   ------------------------------------------------------------------------- */
.form-container-styled > .elementor-widget-text-editor{
  width:100% !important;
  padding:20px 22px 0 !important;
}
.form-container-styled > .elementor-widget-text-editor p{
  font-family:var(--bs-body) !important;
  font-size:.94rem !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  line-height:1.55 !important;
  color:var(--bs-muted) !important;
  text-align:left !important;
  margin:0 !important;
}

/* -------------------------------------------------------------------------
   5. FORM BODY
   ------------------------------------------------------------------------- */
.form-container-styled > .elementor-widget-form{
  width:100% !important;
  padding:16px 22px 0 !important;
}
/* if there is no intro paragraph, restore the full top padding */
.form-container-styled > .elementor-widget-form:first-child,
.form-container-styled > .e-con + .elementor-widget-form{
  padding-top:20px !important;
}

.form-container-styled .elementor-form-fields-wrapper{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:13px !important;
  margin:0 !important;
}
.form-container-styled .elementor-field-group{
  width:100% !important;
  max-width:100% !important;
  flex-basis:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.form-container-styled .elementor-field-label{
  display:block !important;
  font-family:var(--bs-mono) !important;
  font-size:10px !important;
  font-weight:500 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  line-height:1.4 !important;
  color:var(--bs-muted) !important;
  margin:0 0 6px !important;
  padding:0 !important;
}

/* inputs, selects, textareas */
.form-container-styled .elementor-field-textual{
  width:100% !important;
  font-family:var(--bs-body) !important;
  font-size:.99rem !important;
  font-weight:400 !important;
  color:var(--bs-ink) !important;
  padding:12px 13px !important;
  border:1px solid var(--bs-line) !important;
  border-radius:4px !important;
  background-color:var(--bs-paper) !important;
  line-height:1.4 !important;
  min-height:auto !important;
  box-shadow:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease !important;
}
.form-container-styled textarea.elementor-field-textual{
  min-height:96px !important;
  resize:vertical !important;
}
.form-container-styled .elementor-field-textual::placeholder{
  color:#8A8F98 !important;
  opacity:1 !important;
}
.form-container-styled .elementor-field-textual:hover{
  border-color:#C9CFD8 !important;
}
.form-container-styled .elementor-field-textual:focus{
  background-color:#fff !important;
  border-color:var(--bs-orange) !important;
  box-shadow:0 0 0 3px rgba(255,112,0,.16) !important;
  outline:none !important;
}
.form-container-styled .elementor-select-wrapper select{
  padding-right:34px !important;
}
.form-container-styled .elementor-select-wrapper .select-caret-down-wrapper,
.form-container-styled .elementor-select-wrapper .select-caret-down-wrapper svg{
  width:12px !important;
  fill:var(--bs-muted) !important;
  color:var(--bs-muted) !important;
  right:13px !important;
  inset-inline-end:13px !important;
}

/* -------------------------------------------------------------------------
   6. URGENCY RADIOS AS A SEGMENTED CONTROL (two lines per option)
   Sub-lines are matched on the input value. If you rename an option in
   Elementor, update the matching .elementor-1644 .elementor-element.elementor-element-b5a78fe below.
   ------------------------------------------------------------------------- */
.form-container-styled .elementor-field-subgroup{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:7px !important;
  margin:0 !important;
}
.form-container-styled .elementor-field-subgroup .elementor-field-option{
  position:relative !important;
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.form-container-styled .elementor-field-subgroup input[type="radio"],
.form-container-styled .elementor-field-subgroup input[type="checkbox"]{
  position:absolute !important;
  opacity:0 !important;
  width:1px !important;
  height:1px !important;
  margin:0 !important;
  pointer-events:none !important;
}
.form-container-styled .elementor-field-subgroup label{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
  width:100% !important;
  margin:0 !important;
  padding:10px 5px !important;
  text-align:center !important;
  border:1px solid var(--bs-line) !important;
  border-radius:4px !important;
  background:var(--bs-paper) !important;
  cursor:pointer !important;
  font-family:var(--bs-display) !important;
  font-size:12.5px !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:uppercase !important;
  line-height:1.25 !important;
  color:var(--bs-ink) !important;
  transition:border-color .14s ease,background .14s ease,box-shadow .14s ease !important;
}
.form-container-styled .elementor-field-subgroup label::after{
  display:block !important;
  font-family:var(--bs-mono) !important;
  font-size:9.5px !important;
  font-weight:500 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
  line-height:1.3 !important;
  color:var(--bs-muted) !important;
}
.form-container-styled input[type="radio"][value="Today"] + label::after{content:"Urgent" !important;}
.form-container-styled input[type="radio"][value="This Week"] + label::after{content:"Soon" !important;}
.form-container-styled input[type="radio"][value="Pricing"] + label::after{content:"No rush" !important;}

.form-container-styled .elementor-field-subgroup label:hover{
  border-color:#C9CFD8 !important;
}
.form-container-styled .elementor-field-subgroup input[type="radio"]:checked + label{
  border-color:var(--bs-orange) !important;
  background:#fff !important;
  box-shadow:inset 0 0 0 1px var(--bs-orange) !important;
  color:var(--bs-orange) !important;
}
.form-container-styled .elementor-field-subgroup input[type="radio"]:checked + label::after{
  color:var(--bs-muted) !important;
}
.form-container-styled .elementor-field-subgroup input[type="radio"]:focus-visible + label{
  outline:3px solid var(--bs-amber) !important;
  outline-offset:2px !important;
}

/* -------------------------------------------------------------------------
   7. SUBMIT BUTTON
   ------------------------------------------------------------------------- */
.form-container-styled .elementor-field-type-submit{
  margin-top:2px !important;
}
.form-container-styled .elementor-form .elementor-button,
.form-container-styled .elementor-form .elementor-button[type="submit"]{
  width:100% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  padding:17px 24px !important;
  min-height:auto !important;
  background-color:var(--bs-orange) !important;
  color:#fff !important;
  border:2px solid var(--bs-orange) !important;
  border-radius:var(--bs-radius) !important;
  font-family:var(--bs-display) !important;
  font-size:1.04rem !important;
  font-weight:700 !important;
  line-height:1 !important;
  cursor:pointer !important;
  transition:transform .12s ease,background-color .16s ease,border-color .16s ease !important;
}
.form-container-styled .elementor-form .elementor-button:hover,
.form-container-styled .elementor-form .elementor-button:focus{
  background-color:var(--bs-orange-2) !important;
  border-color:var(--bs-orange-2) !important;
  color:#fff !important;
  transform:translateY(-2px) !important;
}
.form-container-styled .elementor-form .elementor-button-content-wrapper{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
}
.form-container-styled .elementor-form .elementor-button svg{
  width:16px !important;
  height:16px !important;
  fill:#fff !important;
}

/* -------------------------------------------------------------------------
   8. FOOTNOTE — any text editor placed AFTER the form widget
   ------------------------------------------------------------------------- */
.form-container-styled > .elementor-widget-form ~ .elementor-widget-text-editor{
  padding:13px 22px 22px !important;
}
.form-container-styled > .elementor-widget-form ~ .elementor-widget-text-editor p{
  font-family:var(--bs-mono) !important;
  font-size:10.5px !important;
  font-weight:500 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
  line-height:1.75 !important;
  color:var(--bs-muted) !important;
  text-align:center !important;
  margin:0 !important;
}

/* -------------------------------------------------------------------------
   9. SUCCESS / ERROR MESSAGES
   ------------------------------------------------------------------------- */
.form-container-styled .elementor-message{
  font-family:var(--bs-body) !important;
  font-size:.92rem !important;
  line-height:1.5 !important;
  margin-top:10px !important;
}
.form-container-styled .elementor-message.elementor-message-success{color:#1BA85B !important;}
.form-container-styled .elementor-message.elementor-message-danger{color:var(--bs-red) !important;}

/* -------------------------------------------------------------------------
   10. REDUCED MOTION
   ------------------------------------------------------------------------- */
@media(prefers-reduced-motion:reduce){
  .form-container-styled .elementor-form .elementor-button:hover,
  .form-container-styled .elementor-form .elementor-button:focus{
    transform:none !important;
  }
}/* End custom CSS */