/* AFT 1.3 optional content refinement. Existing header/footer CSS is unchanged.
   Font family follows the site's --aft-font variable. Install Barlow and set
   the Atomic aft-font variable to Barlow to use the accompanying proposal. */
.elementor .aft-scope:not(.aft-header):not(.aft-footer) {--aft-body:20px;--aft-h1:clamp(60px,6.3vw,92px);--aft-h2:clamp(40px,4.2vw,60px);--aft-h3:28px;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) :is(.aft-heading,.elementor-heading-title,.aft-body,.aft-body .elementor-widget-container,.aft-form,.aft-link .elementor-button) {font-family:var(--aft-font,Arial),Arial,sans-serif;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) :is(.aft-h1,.aft-h1 .elementor-heading-title) {font-size:var(--aft-h1);line-height:1.04;letter-spacing:-.025em;font-weight:400;text-wrap:balance;max-width:24ch;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) :is(.aft-h2,.aft-h2 .elementor-heading-title) {font-size:var(--aft-h2);line-height:1.1;letter-spacing:-.02em;font-weight:400;text-wrap:balance;max-width:26ch;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) :is(.aft-h3,.aft-h3 .elementor-heading-title) {font-size:28px;line-height:1.2;letter-spacing:-.01em;font-weight:500;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) :is(.aft-body,.aft-body .elementor-widget-container) {font-size:20px;line-height:1.5;font-weight:400;letter-spacing:0;max-width:65ch;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) :is(.aft-eyebrow,.aft-eyebrow .elementor-widget-container) {font-size:13px;line-height:1.4;font-weight:600;letter-spacing:.09em;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) :is(.aft-caption,.aft-note,.aft-caption .elementor-widget-container,.aft-note .elementor-widget-container) {font-size:14px;line-height:1.5;letter-spacing:0;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) .aft-inner > .aft-eyebrow:not(.aft-home-hero *)::before {content:"";display:block;width:64px;height:3px;background:var(--aft-blue);margin:0 0 28px;}
.elementor .aft-scope.aft-home-hero .aft-split {align-items:flex-start;}
.elementor .aft-scope.aft-home-hero .aft-col {gap:24px;}
.elementor .aft-scope.aft-home-hero .aft-hero-copy {max-width:50ch;}
.elementor .aft-scope.aft-home-hero .aft-home-video .elementor-wrapper,.elementor .aft-scope.aft-home-hero .aft-home-poster img {aspect-ratio:5/4;}
.elementor .aft-scope.aft-stats-section {padding-block:72px;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer).aft-stats-section :is(.aft-stat-value,.aft-stat-value .elementor-heading-title) {font-size:clamp(48px,5.2vw,74px);line-height:1;letter-spacing:-.03em;font-weight:400;white-space:nowrap;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer).aft-stats-section :is(.aft-stat-label,.aft-stat-label .elementor-widget-container) {font-size:14px;line-height:1.4;letter-spacing:.04em;font-weight:600;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) .aft-link .elementor-button {font-size:17px;font-weight:600;line-height:1.4;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) .aft-link:not(.aft-button) .elementor-button {display:block;width:100%;max-width:400px;padding:14px 0;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) .aft-link .elementor-button-content-wrapper {display:flex;align-items:center;width:100%;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) .elementor-button-text {display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) .aft-link:not(.aft-button) .elementor-button-text {width:100%;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) .aft-ui-icon {display:inline-block;vertical-align:middle;width:24px;height:24px;min-width:24px;flex:0 0 24px;stroke:currentColor;fill:none;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) .aft-button .elementor-button {padding:16px 24px;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) .aft-series-nav a {color:var(--aft-blue);font-size:17px;font-weight:600;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) .aft-series-nav a:hover {color:var(--aft-ink);}
.elementor .aft-scope:not(.aft-header):not(.aft-footer) .aft-series-nav a[aria-current=page] {border-bottom-color:var(--aft-blue);}
.elementor .aft-scope:not(.aft-header):not(.aft-footer).aft-product-card :is(.aft-body,.aft-body .elementor-widget-container) {font-size:18px;line-height:1.5;}
.elementor .aft-scope:not(.aft-header):not(.aft-footer).aft-product-card :is(.aft-eyebrow,.aft-eyebrow .elementor-widget-container) {font-size:13px;font-weight:600;letter-spacing:.06em;}
.elementor .aft-scope.aft-enquiry {padding:96px 40px;background:var(--aft-grey);}
.elementor .aft-scope.aft-enquiry .aft-inner {max-width:1280px;width:100%;margin-inline:auto;}
.elementor .aft-scope.aft-enquiry .aft-split {display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:72px;width:100%;align-items:start;}
.elementor .aft-scope.aft-enquiry .aft-col {width:100%;min-width:0;gap:24px;}
.elementor .aft-scope.aft-enquiry .aft-form {padding:0;background:transparent;}
.elementor .aft-scope.aft-enquiry .elementor-field-textual {background:transparent;font-size:18px;}
.elementor .aft-scope.aft-enquiry .elementor-field-label {font-size:15px;}
.elementor .aft-scope.aft-enquiry .elementor-field-option {font-family:var(--aft-font,Arial),Arial,sans-serif;font-size:15px;}
.elementor .aft-scope.aft-enquiry .elementor-field-type-submit {justify-content:flex-start;}
.elementor .aft-scope.aft-enquiry .elementor-button {width:auto;min-width:220px;font-size:17px;font-weight:600;}
@media(max-width:1024px){
 .elementor .aft-scope:not(.aft-header):not(.aft-footer){--aft-h1:66px;--aft-h2:48px;}
 .elementor .aft-scope.aft-enquiry {padding:72px 32px;}
 .elementor .aft-scope.aft-enquiry .aft-split {grid-template-columns:1fr;gap:48px;}
 .elementor .aft-scope.aft-home-hero .aft-home-video .elementor-wrapper,.elementor .aft-scope.aft-home-hero .aft-home-poster img {aspect-ratio:16/9;}
}
@media(max-width:767px){
 .elementor .aft-scope:not(.aft-header):not(.aft-footer){--aft-h1:clamp(42px,11vw,58px);--aft-h2:38px;}
 .elementor .aft-scope:not(.aft-header):not(.aft-footer) :is(.aft-body,.aft-body .elementor-widget-container){font-size:18px;}
 .elementor .aft-scope:not(.aft-header):not(.aft-footer) :is(.aft-eyebrow,.aft-eyebrow .elementor-widget-container,.aft-caption,.aft-note){font-size:13px;}
 .elementor .aft-scope.aft-stats-section {padding-block:44px;}
 .elementor .aft-scope:not(.aft-header):not(.aft-footer).aft-stats-section :is(.aft-stat-value,.aft-stat-value .elementor-heading-title) {font-size:clamp(32px,9.2vw,46px);}
 .elementor .aft-scope:not(.aft-header):not(.aft-footer).aft-stats-section :is(.aft-stat-label,.aft-stat-label .elementor-widget-container) {font-size:12px;}
 .elementor .aft-scope.aft-enquiry {padding:56px 20px;}
 .elementor .aft-scope.aft-enquiry .aft-split {gap:36px;}
 .elementor .aft-scope.aft-enquiry .elementor-button {min-width:0;}
}
@media(prefers-reduced-motion:reduce){.elementor .aft-scope:not(.aft-header):not(.aft-footer) .aft-motion-arrow{transition:none!important;transform:none!important;}}

/* 1.3.1: the product CTA owns the separator; avoid a second rule below it. */
.elementor .aft-scope:not(.aft-header):not(.aft-footer).aft-product-card {
  border-bottom:0;
  padding-bottom:0;
}
