body{--tx-gold:var(--e-global-color-primary);--tx-ease:cubic-bezier(.22,.61,.36,1);--tx-grad:linear-gradient(135deg,var(--e-global-color-goldbr) 0%,var(--e-global-color-primary) 52%,var(--e-global-color-accent) 100%);}.tx-h1 .elementor-heading-title{font-size:clamp(2.7rem,7.4vw,4.75rem);line-height:1.02;}.tx-h2 .elementor-heading-title{font-size:clamp(2.1rem,4.6vw,3.15rem);line-height:1.08;}.tx-h3 .elementor-heading-title{font-size:1.42rem;line-height:1.2;}.tx-lede p{font-size:clamp(1rem,1.9vw,1.12rem);}.tx-small p{font-size:14.5px;}.tx-stepnum .elementor-heading-title{font-size:3.6rem;font-style:italic;line-height:1;}.tx-h1 em,.tx-h2 em,.tx-h3 em{color:var(--tx-gold);font-style:italic;}.tx-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:12px;}.tx-eyebrow .elementor-heading-title:before,.tx-eyebrow .elementor-heading-title:after{content:"";width:28px;height:1px;background:currentColor;opacity:.55;}.tx-eyebrow--pill .elementor-heading-title{padding:9px 22px;border:1px solid rgba(197,160,89,.3);border-radius:999px;background:rgba(197,160,89,.07);}.tx-eyebrow--pill .elementor-heading-title:before,.tx-eyebrow--pill .elementor-heading-title:after{display:none;}#tx-hero{position:relative;overflow:hidden;}#tx-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(14,21,17,.5) 0%,rgba(18,26,21,0) 42%,rgba(14,21,17,.65) 100%);}#tx-hero-inner{position:relative;z-index:2;}.tx-pills .elementor-icon-list-item{border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:8px 18px;background:rgba(255,255,255,.04);}.tx-pills .elementor-icon-list-text{font-size:11px;letter-spacing:.16em;text-transform:uppercase;}.tx-btn .elementor-button{background-image:var(--tx-grad);box-shadow:0 8px 24px rgba(197,160,89,.32);transition:transform .28s var(--tx-ease),box-shadow .28s var(--tx-ease),filter .28s var(--tx-ease);}.tx-btn .elementor-button:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(197,160,89,.44);filter:saturate(1.12) brightness(1.04);}.tx-btn .elementor-button:active{transform:translateY(0);}#tx-cards>.e-con,#tx-quotes>.e-con{display:flex;}#tx-cards>.e-con>.e-con{box-shadow:0 2px 4px rgba(18,26,21,.04),0 12px 32px rgba(18,26,21,.07);transition:transform .4s var(--tx-ease),box-shadow .4s var(--tx-ease),border-color .4s var(--tx-ease);height:100%;}#tx-cards>.e-con:hover>.e-con{transform:translateY(-7px);box-shadow:0 6px 12px rgba(18,26,21,.07),0 26px 56px rgba(18,26,21,.14);border-color:rgba(197,160,89,.45);}.tx-card-img{position:relative;overflow:hidden;line-height:0;}.tx-card-img img{transition:transform .7s var(--tx-ease);}#tx-cards>.e-con:hover .tx-card-img img{transform:scale(1.07);}.tx-card-img:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background-image:var(--tx-grad);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--tx-ease);}#tx-cards>.e-con:hover .tx-card-img:after{transform:scaleX(1);}.tx-card-text p{font-size:14.7px;line-height:1.68;}.tx-why-box{border:1px solid rgba(197,160,89,.22);border-radius:12px;background:rgba(255,255,255,.035);transition:background .32s var(--tx-ease),border-color .32s var(--tx-ease),transform .32s var(--tx-ease);height:100%;}.tx-why-box:hover{background:rgba(197,160,89,.1);border-color:rgba(197,160,89,.55);transform:translateY(-3px);}.tx-strip-box .elementor-icon-box-title{margin:0 0 2px;}#tx-quotes>.e-con>.e-con{transition:transform .35s var(--tx-ease),box-shadow .35s var(--tx-ease);height:100%;}#tx-quotes>.e-con:hover>.e-con{transform:translateY(-5px);box-shadow:0 6px 12px rgba(18,26,21,.07),0 26px 56px rgba(18,26,21,.14);}.tx-quote .elementor-testimonial-content{font-style:normal;line-height:1.5;}.tx-cta-rule{opacity:.4;}.tx-faq .elementor-accordion-item{border-radius:12px;overflow:hidden;margin-bottom:14px;background:var(--e-global-color-whitesd);}.tx-faq .elementor-tab-title{padding:22px 26px;transition:color .25s var(--tx-ease);}.tx-faq .elementor-tab-content{padding:0 26px 24px;font-size:15.3px;line-height:1.72;}.tx-faq .elementor-accordion-icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(28,43,34,.12);transition:transform .3s var(--tx-ease),background .3s var(--tx-ease);}.tx-faq .elementor-active .elementor-accordion-icon{background:rgba(197,160,89,.12);border-color:rgba(197,160,89,.5);}.tx-contact-list .elementor-icon-list-text{font-size:15px;}#tx-form-card .wpforms-field-label{font-family:var(--e-global-typography-secondary-font-family);font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--e-global-color-text);margin-bottom:8px;}#tx-form-card .wpforms-field input[type=text],#tx-form-card .wpforms-field input[type=email],#tx-form-card .wpforms-field select,#tx-form-card .wpforms-field textarea{width:100%;border:1px solid rgba(28,43,34,.16);border-radius:10px;padding:13px 15px;font-family:var(--e-global-typography-text-font-family);font-size:15.5px;color:var(--e-global-color-text);background:var(--e-global-color-creamlt);transition:border-color .25s var(--tx-ease),box-shadow .25s var(--tx-ease),background .25s var(--tx-ease);}#tx-form-card .wpforms-field input:focus,#tx-form-card .wpforms-field select:focus,#tx-form-card .wpforms-field textarea:focus{outline:none;border-color:var(--tx-gold);box-shadow:0 0 0 3px rgba(197,160,89,.22);background:var(--e-global-color-whitesd);}#tx-form-card .wpforms-field textarea{min-height:130px;resize:vertical;}#tx-form-card .wpforms-submit{background-image:var(--tx-grad);color:#fff;border:0;border-radius:999px;padding:17px 38px;font-family:var(--e-global-typography-accent-font-family);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:0 8px 24px rgba(197,160,89,.32);transition:transform .28s var(--tx-ease),box-shadow .28s var(--tx-ease),filter .28s var(--tx-ease);}#tx-form-card .wpforms-submit:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(197,160,89,.44);filter:saturate(1.12) brightness(1.04);}#tx-form-card .wpforms-required-label{color:var(--e-global-color-accent);}@media(max-width:1024px){#tx-cards>.e-con{width:50%;}#tx-why-text,#tx-why-grid{width:100%;}#tx-why-text{padding-right:0;padding-bottom:40px;}#tx-contact-text,#tx-form-card{width:100%;}#tx-contact-text{padding-right:0;padding-bottom:36px;}#tx-strip>.e-con{width:50%;}}@media(max-width:880px){#tx-quotes>.e-con{width:100%;}#tx-steps>.e-con{width:100%;}}@media(max-width:600px){#tx-cards>.e-con{width:100%;}#tx-strip>.e-con{width:100%;}.tx-why-box{}#tx-why-grid>.e-con{width:100%;}}#tx-form-card .wpforms-container{--wpforms-button-background-color:var(--e-global-color-primary);--wpforms-button-text-color:#ffffff;--wpforms-button-border-radius:999px;--wpforms-field-border-radius:10px;--wpforms-field-border-color:rgba(28,43,34,.16);--wpforms-field-background-color:var(--e-global-color-creamlt);--wpforms-field-text-color:var(--e-global-color-text);--wpforms-label-color:var(--e-global-color-text);}#tx-form-card .wpforms-field select{min-height:54px;height:auto;padding:15px 44px 15px 15px;line-height:1.5;font-size:15.5px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 16px center;background-size:13px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23C5A059%27 stroke-width=%272.6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M6 9l6 6 6-6%27/%3E%3C/svg%3E");}#tx-form-card button[type=submit],#tx-form-card .wpforms-submit{background-image:var(--tx-grad)!important;background-color:var(--e-global-color-primary)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:17px 38px!important;font-family:var(--e-global-typography-accent-font-family)!important;font-size:13px!important;font-weight:700!important;letter-spacing:.1em!important;text-transform:uppercase!important;box-shadow:0 8px 24px rgba(197,160,89,.32)!important;}#tx-form-card button[type=submit]:hover,#tx-form-card .wpforms-submit:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(197,160,89,.44)!important;filter:saturate(1.12) brightness(1.04);}#tx-form-card .wpforms-field select{min-height:54px!important;height:auto!important;line-height:1.5!important;padding:15px 44px 15px 15px!important;}#tx-header .elementor-nav-menu--main>li>a{white-space:nowrap;}#tx-header .elementor-nav-menu--main{flex-wrap:nowrap;}#tx-header-cta .elementor-button{white-space:nowrap;}.tx-why-box .elementor-icon-box-title{font-size:14.5px!important;line-height:1.35!important;margin:0!important;}.tx-why-box{padding:26px 20px!important;}#tx-strip .elementor-icon-box-title{font-size:13px!important;line-height:1.3!important;}.tx-logo img{background:var(--e-global-color-creamlt);padding:10px 16px;border-radius:10px;}#tx-tiers>.e-con{display:flex;}.tx-tier{height:100%;border:1px solid #E3DED2;border-radius:18px;overflow:hidden;background:var(--e-global-color-whitesd);box-shadow:0 2px 4px rgba(18,26,21,.04),0 12px 32px rgba(18,26,21,.07);transition:transform .35s var(--tx-ease),box-shadow .35s var(--tx-ease);}#tx-tiers>.e-con:hover .tx-tier{transform:translateY(-6px);box-shadow:0 6px 12px rgba(18,26,21,.07),0 26px 56px rgba(18,26,21,.14);}.tx-tier--featured{border-color:var(--e-global-color-primary);border-width:2px;}.tx-tier .elementor-price-table__feature-inner{font-size:13.6px;line-height:1.55;}.tx-tier .elementor-price-table__features-list li{padding:7px 18px;}.tx-tier .elementor-price-table__button{background-image:var(--tx-grad);white-space:nowrap;}.tx-tier .elementor-price-table__additional_info{font-size:12.5px;line-height:1.5;}.tx-addon-box{height:100%;border:1px solid #E3DED2;border-radius:14px;background:var(--e-global-color-whitesd);transition:transform .3s var(--tx-ease),border-color .3s var(--tx-ease);}#tx-addons>.e-con{display:flex;}#tx-addons>.e-con:hover .tx-addon-box{transform:translateY(-4px);border-color:rgba(197,160,89,.5);}.tx-addon-box .elementor-icon-box-title{font-size:15px!important;line-height:1.35!important;}.tx-addon-box .elementor-icon-box-description{font-size:13.4px;line-height:1.6;}.tx-owner .elementor-icon-box-title{font-size:15px!important;}.tx-owner .elementor-icon-box-description{font-size:13px;line-height:1.55;}@media(max-width:1024px){#tx-tiers>.e-con{width:50%;}#tx-addons>.e-con{width:50%;}}@media(max-width:600px){#tx-tiers>.e-con{width:100%;}#tx-addons>.e-con{width:100%;}}.tx-tier .elementor-price-table__button{background-image:var(--tx-grad)!important;box-shadow:0 8px 24px rgba(197,160,89,.32);transition:transform .28s var(--tx-ease),box-shadow .28s var(--tx-ease),filter .28s var(--tx-ease);}.tx-tier .elementor-price-table__button:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(197,160,89,.44);filter:saturate(1.12) brightness(1.04);}.tx-tier .elementor-price-table__button,.tx-tier .elementor-price-table__button:hover,.tx-tier .elementor-price-table__button:focus{color:var(--e-global-color-secondary)!important;font-weight:700!important;}.tx-tier .elementor-price-table__additional_info{color:var(--e-global-color-text)!important;}.tx-addon-box .elementor-icon-box-icon{display:none!important;}.tx-addon-box .elementor-icon-box-wrapper{display:flex;flex-direction:column;justify-content:center;height:100%;}.tx-addon-box .elementor-icon-box-title{margin:0 0 10px!important;}.tx-addon-box .elementor-icon-box-description{margin:0;}#tx-addons>.e-con{display:flex;align-items:stretch;}.tx-addon-box{min-height:172px;}#tx-header .tx-logo img{background:transparent!important;padding:0!important;border-radius:0!important;}#tx-header{border-bottom:1px solid rgba(28,43,34,.10);box-shadow:0 1px 0 rgba(28,43,34,.04);}#tx-header.elementor-sticky--effects{box-shadow:0 6px 24px rgba(18,26,21,.10);}#tx-header .elementor-nav-menu--dropdown{background-color:var(--e-global-color-whitesd)!important;border-top:1px solid rgba(28,43,34,.10);}#tx-header .elementor-nav-menu--dropdown a{color:var(--e-global-color-text)!important;}#tx-header .elementor-nav-menu--dropdown a:hover{color:var(--e-global-color-primary)!important;}.tx-addon-box{min-height:206px;}.tx-addon-box .elementor-icon-box-title{margin:0 0 15px!important;font-size:15.5px!important;line-height:1.4!important;letter-spacing:.01em;}.tx-addon-box .elementor-icon-box-description{font-size:13.8px!important;line-height:1.85!important;margin:0!important;}.tx-addon-box .elementor-icon-box-content{max-width:100%;}

/* =========================================================================
   Xpro remap - the old host used Elementor Pro's price-table and nav-menu.
   Those widgets are Pro-only, so the same design is reapplied here onto
   Xpro's markup (.xpro-pricing-* / .xpro-elementor-*).
   ========================================================================= */

/* ---- Pricing tiers ---- */
.tx-tier .xpro-pricing-icon{display:none!important;}
.tx-tier .xpro-pricing-item{
  height:100%;display:flex;flex-direction:column;overflow:hidden;
  background:var(--e-global-color-whitesd);
  border:1px solid #E3DED2;border-radius:18px;
  box-shadow:0 2px 4px rgba(18,26,21,.04),0 12px 32px rgba(18,26,21,.07);
  transition:transform .35s var(--tx-ease),box-shadow .35s var(--tx-ease);
}
#tx-tiers>.e-con:hover .tx-tier .xpro-pricing-item{
  transform:translateY(-6px);
  box-shadow:0 6px 12px rgba(18,26,21,.07),0 26px 56px rgba(18,26,21,.14);
}
.tx-tier--featured .xpro-pricing-item{border-color:var(--e-global-color-primary);border-width:2px;}

.tx-tier .xpro-pricing-title-wrapper{
  background:var(--e-global-color-secondary);padding:24px 18px 20px;margin:0;
}
.tx-tier .xpro-pricing-title{
  font-family:var(--e-global-typography-primary-font-family),serif;
  font-size:28px;line-height:1.1;color:var(--e-global-color-whitesd);margin:0;
}

.tx-tier .xpro-pricing-price-box{padding:24px 18px 6px;margin:0;}
.tx-tier .xpro-pricing-price{
  font-family:var(--e-global-typography-text-font-family),sans-serif;
  font-size:46px;font-weight:700;color:var(--e-global-color-text);line-height:1;
}
.tx-tier .xpro-pricing-currency{font-size:26px;font-weight:700;color:var(--e-global-color-primary);vertical-align:super;}
.tx-tier .xpro-pricing-price-period{
  font-size:13px;color:var(--e-global-color-inkmut);margin:8px 0 0;letter-spacing:.02em;
}

.tx-tier .xpro-pricing-features{padding:14px 0 4px;flex:1;}
.tx-tier .xpro-pricing-features-list{margin:0;padding:0;list-style:none;}
.tx-tier .xpro-pricing-features-list li{
  display:flex;align-items:flex-start;gap:9px;padding:7px 20px;text-align:left;
}
.tx-tier .xpro-pricing-feature-icon svg{width:13px;height:13px;fill:var(--e-global-color-primary);margin-top:4px;flex:0 0 auto;}
.tx-tier .xpro-pricing-feature-title{
  font-size:13.6px;line-height:1.55;color:var(--e-global-color-inkmut);
}

.tx-tier .xpro-pricing-description-wrapper:empty,
.tx-tier .xpro-pricing-description:empty{display:none;}
.tx-tier .xpro-pricing-description{
  font-size:12.5px;line-height:1.5;color:var(--e-global-color-text);padding:0 20px 4px;
}

.tx-tier .xpro-pricing-btn-wrapper{padding:16px 20px 26px;margin-top:auto;}
.tx-tier .xpro-pricing-btn{
  display:inline-block;width:auto;
  background-image:var(--tx-grad);background-color:var(--e-global-color-primary);
  color:var(--e-global-color-secondary)!important;
  font-family:var(--e-global-typography-accent-font-family),sans-serif;
  font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:15px 26px;border-radius:999px;border:0;white-space:nowrap;
  box-shadow:0 8px 24px rgba(197,160,89,.32);
  transition:transform .28s var(--tx-ease),box-shadow .28s var(--tx-ease),filter .28s var(--tx-ease);
}
.tx-tier .xpro-pricing-btn:hover{
  color:var(--e-global-color-secondary)!important;transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(197,160,89,.44);filter:saturate(1.12) brightness(1.04);
}

/* ---- Header menu ---- */
.tx-nav .xpro-elementor-horizontal-navbar{flex-wrap:nowrap;}
.tx-nav .xpro-elementor-nav-link{
  white-space:nowrap;padding:10px 11px;font-size:13.5px;font-weight:500;
  color:var(--e-global-color-text);transition:color .25s var(--tx-ease);
}
.tx-nav .xpro-elementor-nav-link:hover,
.tx-nav .current-menu-item>.xpro-elementor-nav-link{color:var(--e-global-color-primary);}
.tx-nav .xpro-elementor-horizontal-menu-toggler{color:var(--e-global-color-text);}
.tx-nav .xpro-elementor-horizontal-menu-toggler:hover{color:var(--e-global-color-primary);}

@media(max-width:1024px){
  .tx-nav .xpro-elementor-horizontal-navbar{background:var(--e-global-color-whitesd);}
  .tx-nav .xpro-elementor-nav-link{font-size:16px;padding:14px 18px;}
}


/* =========================================================================
   Header nav refinement + sticky polish
   The nav was inheriting the serif display font; force the body face and
   restore the gold underline hover from the original design.
   Positioning is left to Xpro (it fixes .xpro-theme-builder-header-nav).
   ========================================================================= */

.tx-nav .xpro-elementor-nav-link{
  font-family:var(--e-global-typography-text-font-family),sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:.2px;
  text-transform:none;
  color:var(--e-global-color-text);
  position:relative;
  padding:10px 14px;
  transition:color .25s var(--tx-ease);
}
.tx-nav .xpro-elementor-nav-link:hover,
.tx-nav .current-menu-item > .xpro-elementor-nav-link{
  color:var(--e-global-color-primary);
}

/* gold underline sweep on hover */
.tx-nav .xpro-elementor-nav-link::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:3px;
  height:1.5px;
  background:var(--e-global-color-primary);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s var(--tx-ease);
}
.tx-nav .xpro-elementor-nav-link:hover::after,
.tx-nav .current-menu-item > .xpro-elementor-nav-link::after{
  transform:scaleX(1);
}

/* keep the bar opaque and lift it once it detaches */
.xtb-header-sticky.xtb-appear .xpro-theme-builder-header-nav{
  background:var(--e-global-color-whitesd);
  box-shadow:0 6px 24px rgba(18,26,21,.10);
}

@media (max-width:1024px){
  .tx-nav .xpro-elementor-nav-link{font-size:16px;padding:14px 18px;}
  .tx-nav .xpro-elementor-nav-link::after{display:none;}
}


/* =========================================================================
   Header nav - final fit
   Items measured 715px inside a 640px bar. The column now has more room and
   the padding is tighter, which brings the seven items onto one line.
   Xpro's menu style ships its own underline pseudo-element; it was rendering
   at full scale permanently. Both its and ours are forced to hover-only.
   ========================================================================= */

.tx-nav .xpro-elementor-nav-link{
  padding:10px 11px;
  text-decoration:none;
}

/* collapse ANY underline pseudo-element by default, whoever owns it */
.tx-nav .xpro-elementor-nav-link::after,
.tx-nav .xpro-elementor-nav-link::before,
.tx-nav .xpro-elementor-nav-link .menu-link-line{
  transform:scaleX(0)!important;
  transform-origin:left!important;
  transition:transform .3s var(--tx-ease)!important;
}

/* ...and reveal it on hover / current page only */
.tx-nav .xpro-elementor-nav-link:hover::after,
.tx-nav .xpro-elementor-nav-link:hover::before,
.tx-nav .current-menu-item > .xpro-elementor-nav-link::after,
.tx-nav .current-menu-item > .xpro-elementor-nav-link::before{
  transform:scaleX(1)!important;
}

/* never let the bar wrap */
.tx-nav .xpro-elementor-horizontal-navbar{flex-wrap:nowrap!important;}
.tx-nav .xpro-elementor-horizontal-navbar > li{flex:0 0 auto;}
.tx-nav .xpro-elementor-nav-link{white-space:nowrap;}

@media (max-width:1024px){
  .tx-nav .xpro-elementor-horizontal-navbar{flex-wrap:wrap!important;}
  .tx-nav .xpro-elementor-nav-link{padding:14px 18px;}
}


/* =========================================================================
   PRICING TIERS - redesign
   Root cause of the broken cards: .xpro-pricing-item was shrink-to-fit
   (137px inside a 275px column), so every child collapsed and the button
   overflowed into overflow:hidden and got clipped. Everything below starts
   by forcing the card to fill its column.
   ========================================================================= */

/* --- 1. Fill the column, equal heights --- */
#tx-tiers > .e-con{align-items:stretch;}
.tx-tier,
.tx-tier > .elementor-widget-container{width:100%;height:100%;}

.tx-tier .xpro-pricing-item{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  text-align:left;
  overflow:hidden;
  background:var(--e-global-color-whitesd);
  border:1px solid #E3DED2;
  border-radius:16px;
  box-shadow:0 2px 4px rgba(18,26,21,.04),0 12px 32px rgba(18,26,21,.07);
  transition:transform .35s var(--tx-ease),box-shadow .35s var(--tx-ease);
}
.tx-tier .xpro-pricing-item > *{width:100%;}
#tx-tiers > .e-con:hover .tx-tier .xpro-pricing-item{
  transform:translateY(-6px);
  box-shadow:0 6px 12px rgba(18,26,21,.07),0 26px 56px rgba(18,26,21,.14);
}
.tx-tier--featured .xpro-pricing-item{border:2px solid var(--e-global-color-primary);}

/* --- 2. Header band: full width, flush to the card edge --- */
.tx-tier .xpro-pricing-title-wrapper{
  background:var(--e-global-color-secondary);
  padding:20px 20px 18px;
  margin:0;
  text-align:center;
}
.tx-tier .xpro-pricing-title{
  font-family:var(--e-global-typography-primary-font-family),serif;
  font-size:26px;
  line-height:1.1;
  font-weight:400;
  color:var(--e-global-color-whitesd);
  margin:0;
}

/* --- 3. Price block --- */
.tx-tier .xpro-pricing-price-box{
  padding:26px 20px 20px;
  margin:0;
  text-align:center;
  border-bottom:1px solid #EFEAE0;
}
.tx-tier .xpro-pricing-price-tag{display:inline-flex;align-items:flex-start;justify-content:center;gap:2px;}
.tx-tier .xpro-pricing-currency{
  font-size:22px;font-weight:700;color:var(--e-global-color-primary);line-height:1.5;
}
.tx-tier .xpro-pricing-price{
  font-family:var(--e-global-typography-text-font-family),sans-serif;
  font-size:44px;font-weight:700;line-height:1;color:var(--e-global-color-text);
}
.tx-tier .xpro-pricing-price-period{
  display:block;margin:10px 0 0;
  font-size:12.5px;line-height:1.4;color:var(--e-global-color-inkmut);
  text-align:center;white-space:normal;
}

/* --- 4. Features: left aligned, readable --- */
.tx-tier .xpro-pricing-features{padding:18px 0 6px;flex:1 1 auto;}
.tx-tier .xpro-pricing-features-list{margin:0;padding:0;list-style:none;}
.tx-tier .xpro-pricing-features-list li{
  display:flex;align-items:flex-start;gap:10px;
  padding:8px 20px;text-align:left;
}
.tx-tier .xpro-pricing-feature-icon{flex:0 0 auto;line-height:1;margin-top:3px;}
.tx-tier .xpro-pricing-feature-icon svg{width:12px;height:12px;fill:var(--e-global-color-primary);}
.tx-tier .xpro-pricing-feature-title{
  font-size:13px;line-height:1.6;color:var(--e-global-color-inkmut);text-align:left;
}

/* --- 5. Footnote (bi-monthly option) --- */
.tx-tier .xpro-pricing-description-wrapper{padding:4px 20px 0;}
.tx-tier .xpro-pricing-description{
  font-size:12px;line-height:1.5;color:var(--e-global-color-text);
  text-align:left;padding:10px 0 0;border-top:1px dashed #E3DED2;
}

/* --- 6. Button: full width, never clipped --- */
.tx-tier .xpro-pricing-btn-wrapper{padding:18px 18px 22px;margin-top:auto;text-align:center;}
.tx-tier .xpro-pricing-btn{
  display:block;width:100%;box-sizing:border-box;
  background-image:var(--tx-grad);
  background-color:var(--e-global-color-primary);
  color:var(--e-global-color-secondary)!important;
  font-family:var(--e-global-typography-accent-font-family),sans-serif;
  font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  line-height:1.2;
  padding:14px 8px;
  border:0;border-radius:999px;
  white-space:nowrap;text-align:center;
  box-shadow:0 6px 18px rgba(197,160,89,.30);
  transition:transform .28s var(--tx-ease),box-shadow .28s var(--tx-ease),filter .28s var(--tx-ease);
}
.tx-tier .xpro-pricing-btn:hover{
  color:var(--e-global-color-secondary)!important;
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(197,160,89,.42);
  filter:saturate(1.1) brightness(1.04);
}

/* --- 7. Responsive --- */
@media (max-width:1024px){
  #tx-tiers > .e-con{width:50%;}
  .tx-tier .xpro-pricing-btn{font-size:12.5px;}
}
@media (max-width:600px){
  #tx-tiers > .e-con{width:100%;}
  .tx-tier .xpro-pricing-feature-title{font-size:14px;}
  .tx-tier .xpro-pricing-btn{font-size:13px;padding:16px 10px;}
}


/* =========================================================================
   MOBILE FIXES
   1. Header CTA shows only "CALL" under 768px - the full number was running
      off the right edge. The link still dials the full number.
   2. Kill the sideways scroll caused by the off-canvas menu parked off-screen.
   3. Centre the why-us / owner block on small screens.
   ========================================================================= */

/* --- 2. no sideways scroll --- */
html{overflow-x:hidden;}
body{overflow-x:hidden;max-width:100%;position:relative;}
.xpro-elementor-horizontal-menu-overlay,
.xpro-elementor-horizontal-navbar-wrapper{max-width:100vw;}

@media (max-width:1024px){
  /* the closed slide-in menu must not extend the scrollable area */
  .xpro-elementor-horizontal-navbar-wrapper{overflow-x:clip;}
}

@media (max-width:767px){

  /* --- 1. "CALL" only, number hidden but still dialled --- */
  #tx-header-cta .elementor-button-text{
    font-size:0!important;
    letter-spacing:0!important;
  }
  #tx-header-cta .elementor-button-text::after{
    content:"CALL";
    font-size:12px;
    font-weight:700;
    letter-spacing:.09em;
    text-transform:uppercase;
  }
  #tx-header-cta .elementor-button{
    padding:11px 18px!important;
    white-space:nowrap;
  }
  #tx-header-cta{justify-content:flex-end;}

  /* header breathing room */
  #tx-header > .e-con-inner{gap:6px;}
  #tx-header .tx-logo img{width:110px!important;}

  /* --- 3. centre the why-us column contents --- */
  #tx-why-text{align-items:center!important;text-align:center;}
  #tx-why-text .elementor-widget-button{width:100%;}
  #tx-why-text .elementor-button-wrapper{text-align:center;}
  #tx-why-text .elementor-heading-title,
  #tx-why-text .elementor-widget-text-editor{text-align:center;}
  .tx-owner .elementor-icon-box-wrapper{
    flex-direction:column;align-items:center;text-align:center;
  }
  .tx-owner .elementor-icon-box-icon{margin:0 0 10px!important;}
  .tx-owner .elementor-icon-box-content{text-align:center;}
}


/* =========================================================================
   PALETTE SWAP - flyer blue + green
   Globals now carry blue/green, but a number of rules above still hardcode
   the old gold rgba() shadows and warm borders. Everything below re-declares
   those with the new palette. Later rules win, so this overrides cleanly.

   Blue  #2E4B9B  rgb(46,75,155)   - buttons, links, key accents
   Green #A4CE39  rgb(164,206,57)  - icons, rules, highlights (accent only,
                                     it is ~1.9:1 on white so never used for text)
   ========================================================================= */

/* --- gradient: blue family, green reserved for accents --- */
body{
  --tx-grad:linear-gradient(135deg,#4A6BC4 0%,#2E4B9B 55%,#243D80 100%);
  --tx-glow:rgba(46,75,155,.30);
  --tx-glow-strong:rgba(46,75,155,.42);
  --tx-line:#DDE3EC;
}

/* --- primary buttons --- */
.tx-btn .elementor-button{
  background-image:var(--tx-grad);
  color:#FFFFFF!important;
  box-shadow:0 8px 24px var(--tx-glow);
}
.tx-btn .elementor-button:hover{
  color:#FFFFFF!important;
  box-shadow:0 12px 32px var(--tx-glow-strong);
  filter:saturate(1.08) brightness(1.06);
}

/* --- hero eyebrow pill --- */
.tx-eyebrow--pill .elementor-heading-title{
  border:1px solid rgba(164,206,57,.45);
  background:rgba(164,206,57,.10);
}

/* --- service cards --- */
.card, #tx-cards > .e-con > .e-con{border-color:var(--tx-line);}
#tx-cards > .e-con:hover > .e-con{border-color:rgba(46,75,155,.45);}
.tx-card-img:after{background-image:linear-gradient(90deg,#2E4B9B 0%,#A4CE39 100%);}

/* --- why-us boxes --- */
.tx-why-box{
  border:1px solid rgba(164,206,57,.28);
  background:rgba(255,255,255,.05);
}
.tx-why-box:hover{
  background:rgba(164,206,57,.12);
  border-color:rgba(164,206,57,.60);
}

/* --- add-on / quote cards --- */
.tx-addon-box, .quote, #tx-quotes > .e-con > .e-con{border-color:var(--tx-line);}
#tx-addons > .e-con:hover .tx-addon-box{border-color:rgba(46,75,155,.5);}

/* --- FAQ --- */
.tx-faq .elementor-accordion-item{border-color:var(--tx-line);}
.tx-faq details[open], .tx-faq .elementor-active{border-color:rgba(46,75,155,.5);}
.tx-faq .elementor-accordion-icon{border:1px solid var(--tx-line);}
.tx-faq .elementor-active .elementor-accordion-icon{
  background:rgba(46,75,155,.12);
  border-color:rgba(46,75,155,.5);
}

/* --- contact form --- */
#tx-form-card{border-color:var(--tx-line);}
#tx-form-card .wpforms-container{
  --wpforms-button-background-color:#2E4B9B;
  --wpforms-button-text-color:#FFFFFF;
  --wpforms-field-border-color:#DDE3EC;
  --wpforms-field-background-color:#F7F8FA;
  --wpforms-field-text-color:#1C2233;
  --wpforms-label-color:#1C2233;
}
#tx-form-card .wpforms-field input:focus,
#tx-form-card .wpforms-field select:focus,
#tx-form-card .wpforms-field textarea:focus{
  border-color:#2E4B9B;
  box-shadow:0 0 0 3px rgba(46,75,155,.20);
}
#tx-form-card .wpforms-field select{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%232E4B9B%27 stroke-width=%272.6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M6 9l6 6 6-6%27/%3E%3C/svg%3E");
}
#tx-form-card .wpforms-container button[type=submit],
#tx-form-card .wpforms-submit{
  background-image:var(--tx-grad)!important;
  background-color:#2E4B9B!important;
  color:#FFFFFF!important;
  box-shadow:0 8px 24px var(--tx-glow)!important;
}
#tx-form-card .wpforms-container button[type=submit]:hover,
#tx-form-card .wpforms-submit:hover{box-shadow:0 12px 32px var(--tx-glow-strong)!important;}

/* --- header --- */
#tx-header{border-bottom:1px solid rgba(28,34,51,.10);box-shadow:0 1px 0 rgba(28,34,51,.04);}
.xtb-header-sticky.xtb-appear .xpro-theme-builder-header-nav{box-shadow:0 6px 24px rgba(28,34,51,.10);}

/* --- stars stay green so they read as a highlight, not a link --- */
.elementor-star-rating i:before{color:#A4CE39!important;}

/* --- section divider rules --- */
.tx-cta-rule{opacity:.5;}


/* =========================================================================
   GREEN-FORWARD PASS - mirrors the flyer's structure
   Flyer system: green field, blue bars with white text, white content panels.
     Header      -> green field (logo purple on green measures 9.1:1)
     Strip       -> blue bar, white text (the flyer's section-header bars)
     Eyebrows    -> blue bars with white text
     Bullets     -> green dots, as on the flyer
   ========================================================================= */

/* --- header now sits on green --- */
#tx-header{
  border-bottom:3px solid #2E4B9B;   /* blue rule under the green band */
  box-shadow:none;
}
.tx-nav .xpro-elementor-nav-link{color:#1B2A5E;}
.tx-nav .xpro-elementor-nav-link:hover,
.tx-nav .current-menu-item > .xpro-elementor-nav-link{color:#16224D;}
/* green underline would vanish on green - use navy */
.tx-nav .xpro-elementor-nav-link::after{background:#1B2A5E;}
.xtb-header-sticky.xtb-appear .xpro-theme-builder-header-nav{
  background:#A4CE39;
  box-shadow:0 6px 20px rgba(27,42,94,.18);
}
/* burger reads navy on green */
.tx-nav .xpro-elementor-horizontal-menu-toggler{color:#1B2A5E;}

/* --- credibility strip is now a blue bar: force its content white --- */
#tx-strip .elementor-icon-box-title,
#tx-strip .elementor-icon-box-title a{color:#FFFFFF!important;}
#tx-strip .elementor-icon-box-description{color:rgba(255,255,255,.82)!important;}
#tx-strip .elementor-icon svg,
#tx-strip .elementor-icon-box-icon svg{fill:#A4CE39!important;color:#A4CE39!important;}

/* --- section eyebrows as blue bars with white text, like the flyer --- */
.tx-eyebrow .elementor-heading-title{
  background:#2E4B9B;
  color:#FFFFFF;
  padding:7px 18px;
  border-radius:4px;
  gap:0;
}
.tx-eyebrow .elementor-heading-title::before,
.tx-eyebrow .elementor-heading-title::after{display:none;}
/* the hero pill keeps its outline treatment on the dark photo */
.tx-eyebrow--pill .elementor-heading-title{
  background:rgba(164,206,57,.14);
  color:#A4CE39;
  border:1px solid rgba(164,206,57,.5);
  border-radius:999px;
  padding:9px 22px;
}

/* --- green bullets, as on the flyer --- */
.tx-card-img:after{background-image:linear-gradient(90deg,#A4CE39 0%,#2E4B9B 100%);}
.elementor-icon-list-icon svg{fill:#A4CE39!important;}
.tx-faq .elementor-accordion-icon{color:#2E4B9B;}

/* --- headings: green accent word, so green shows in the type --- */
.tx-h1 em, .tx-h2 em, .tx-h3 em{color:#A4CE39;}
/* on light backgrounds green type is too weak - use blue there */
.section:not(.section--dark) .tx-h2 em,
#services .tx-h2 em, #process .tx-h2 em, #reviews .tx-h2 em,
#faq .tx-h2 em, #contact .tx-h2 em{color:#2E4B9B;}

/* --- process step numbers pick up green --- */
.tx-stepnum .elementor-heading-title{color:#A4CE39;}
.tx-step .elementor-divider-separator{border-top-color:#A4CE39!important;}

@media (max-width:767px){
  .tx-eyebrow .elementor-heading-title{padding:6px 14px;}
  #tx-header{border-bottom-width:2px;}
}


/* =========================================================================
   FIX: eyebrow bars rendered blue-on-blue (1:1, invisible).
   Each heading widget emits its own colour rule from the global, which
   outranks a plain class selector - so the text colour needs !important.
   Step numbers stay BLUE: the process band is now green tint, and green
   on green tint would be ~1.5:1.
   ========================================================================= */

.tx-eyebrow .elementor-heading-title{
  color:#FFFFFF!important;
  background:#2E4B9B;
  display:inline-block;
  padding:7px 18px;
  border-radius:4px;
  letter-spacing:.18em;
}

/* hero pill keeps the outline treatment on the dark photo */
.tx-eyebrow--pill .elementor-heading-title{
  color:#A4CE39!important;
  background:rgba(164,206,57,.14);
  border:1px solid rgba(164,206,57,.5);
  border-radius:999px;
  padding:9px 22px;
}

/* revert: keep step numbers blue on the green-tint band */
.tx-stepnum .elementor-heading-title{color:#2E4B9B!important;}
.tx-step .elementor-divider-separator{border-top-color:#2E4B9B!important;}

/* green accent word needs !important for the same reason */
#why-us .tx-h2 em, .section--dark .tx-h2 em, .tx-h1 em{color:#A4CE39!important;}


/* =========================================================================
   HEADER NAV -> WHITE (matches the flyer's white type on the green band)
   Note: white on #A4CE39 measures ~1.83:1. The weight bump and the very
   light shadow below claw back some legibility without changing the brand
   green. Delete the text-shadow line if it reads too heavy.
   ========================================================================= */

.tx-nav .xpro-elementor-nav-link,
.tx-nav .xpro-elementor-nav-link:visited{
  color:#FFFFFF !important;
  font-weight:700;
  letter-spacing:.4px;
  text-shadow:0 1px 2px rgba(27,42,94,.28);
}
.tx-nav .xpro-elementor-nav-link:hover,
.tx-nav .current-menu-item > .xpro-elementor-nav-link{
  color:#FFFFFF !important;
}

/* white underline sweep so the hover state still reads */
.tx-nav .xpro-elementor-nav-link::after{
  background:#FFFFFF !important;
  height:2px;
}

/* burger + close icon to match */
.tx-nav .xpro-elementor-horizontal-menu-toggler,
.tx-nav .xpro-elementor-horizontal-menu-close{
  color:#FFFFFF !important;
}
.tx-nav .xpro-elementor-horizontal-menu-toggler svg,
.tx-nav .xpro-elementor-horizontal-menu-close svg{
  fill:#FFFFFF !important;
}

/* the slide-in panel on mobile is white, so links there must stay dark */
@media (max-width:1024px){
  .tx-nav .xpro-elementor-horizontal-navbar .xpro-elementor-nav-link{
    color:#1B2A5E !important;
    text-shadow:none;
  }
  .tx-nav .xpro-elementor-horizontal-navbar .xpro-elementor-nav-link::after{
    background:#2E4B9B !important;
  }
}


/* =========================================================================
   Client revisions - "Get In Touch" promoted now that the
   "Request Your Inspection" heading above it has been removed.
   ========================================================================= */

.tx-eyebrow--lg .elementor-heading-title{
  font-size:20px !important;
  letter-spacing:.14em;
  padding:11px 26px;
  border-radius:5px;
}

@media (max-width:767px){
  .tx-eyebrow--lg .elementor-heading-title{font-size:17px !important;padding:9px 20px;}
}
