@media (min-width: 901px) and (max-width: 1440px) {
  body.page-v2 .site-header .topbar nav.sf-tab-root {
    gap: clamp(10px, 1.0vw, 22px) !important;
    min-width: 0;
  }
  body.page-v2 .site-header .topbar nav.sf-tab-root > .sf-tab-item {
    flex: 0 0 auto !important;   /* no shrinking = no text overflow */
    white-space: nowrap;
  }
  body.page-v2 .site-header .topbar nav.sf-tab-root .sf-atomic-action-output {
    font-size: clamp(14px, 1.15vw, 17px) !important;
    white-space: nowrap;
  }
}
/* reduce font size */
@media (min-width: 901px) and (max-width: 1300px) {
    body.page-v2 .site-header .topbar nav.sf-tab-root {
        gap: clamp(10px, 0.8vw, 22px) !important;
        min-width: 0;
		        font-size: 13px !important;
    }

  html body header.site-header nav.sf-tab-root {
    --sfpl-nav-size: clamp(13px, 1.1vw, 15px) !important;
   gap: clamp(4px, 0.6vw, 10px) !important;
    column-gap: clamp(4px, 0.6vw, 10px) !important;
  }
	    body.page-v2 .site-header .topbar nav.sf-tab-root {
        gap: clamp(10px, 0.8vw, 22px) !important;
        min-width: 0;
    }
  html body:not(#sfpl-h1):not(#sfpl-h2) header.site-header nav.sf-tab-root .sf-atomic-action-output svg {
    width: 12px !important;
    height: 12px !important;
  }
}
/*  end*/
.elementor-widget-container p.sf-atomic-text-output.inner-red-label {
    font-weight: 700 !important;
}
html body div p.sf-atomic-text-output.rredlabel.rredlabel.rredlabel {
  font-weight: 700 !important;
}
/* h1
===== Global H1 – uniform style =====
html body h1:not(#sfpl-a):not(#sfpl-b) {
  font-size: 48px !important;
  line-height: 58px !important;
  font-weight: 500 !important;
  letter-spacing: -0.25px !important;
  color: #000 !important;
  margin-top: 0 !important;
}

Inner spans (e.g. red "the world") follow the H1 size, but keep their own color
html body h1:not(#sfpl-a):not(#sfpl-b) * {
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
}

Tablet
@media (max-width: 1024px) {
  html body h1:not(#sfpl-a):not(#sfpl-b) {
    font-size: 42px !important;
    line-height: 52px !important;
  }
}

Mobile
@media (max-width: 767px) {
  html body h1:not(#sfpl-a):not(#sfpl-b) {
    font-size: 32px !important;
    line-height: 40px !important;
    letter-spacing: -0.2px !important;
  }
} */
/* 28-10-2026 */
/* ===== SFPL type system – final (matches Font Rules sheet) ===== */

/* F2/F6 – H1: inner 42/500, Home hero 52/500, sentence case */
html body h1:not(#sfpl-a):not(#sfpl-b),
html body h1.sfpl-hero__title:not(#sfpl-a) {
  font-size: 42px !important;
  line-height: 52px !important;
  font-weight: 500 !important;
  letter-spacing: -0.25px !important;
/*   text-transform: none !important; */
  color: #000 !important;
  margin-top: 0 !important;
}
html body.home h1:not(#sfpl-a):not(#sfpl-b) {
  font-size: 52px !important;
  line-height: 62px !important;
}
html body h1:not(#sfpl-a):not(#sfpl-b) * {
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
/*   text-transform: none !important; */
}

/* F7 – H2 section titles: 34/500, sentence case */
html body h2.sf-atomic-text-output:not(#sfpl-a),
html body h2.sf-atomic-rich-text-output:not(#sfpl-a) {
  font-size: 34px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
/*   text-transform: none !important; */
}

/* F1 – H3 card / sub titles: 18/600, keep capitals as typed */
html body h3.sf-atomic-text-output:not(#sfpl-a),
html body h3.sf-atomic-rich-text-output:not(#sfpl-a) {
  font-size: 18px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
/*   text-transform: none !important; */
}

/* F5 – Red eyebrow labels: 13/700, uppercase, 0.5px, #ED1C24 */
html body .red-label, html body .red-kicker,
html body .impact-kicker, html body .partner34 {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .5px !important;
  text-transform: uppercase !important;
  color: #ED1C24 !important;
}

/* F3 – Buttons: 14/600, no letter-spacing */
html body .elementor-button, html body a[class*="btn"], html body a[class*="button"],
html body button:not([data-mega-menu]), html body input[type=submit],
html body .sfpl-eq-btn, html body .sf-entry-submit, html body .sf-atomic-action-output {
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* Tablet */
@media (max-width: 1024px) {
  html body h1:not(#sfpl-a):not(#sfpl-b) { font-size: 36px !important; line-height: 46px !important; }
  html body.home h1:not(#sfpl-a):not(#sfpl-b) { font-size: 42px !important; line-height: 52px !important; }
  html body h2.sf-atomic-text-output:not(#sfpl-a),
  html body h2.sf-atomic-rich-text-output:not(#sfpl-a) { font-size: 30px !important; }
}

/* Mobile */
@media (max-width: 767px) {
  html body h1:not(#sfpl-a):not(#sfpl-b) { font-size: 30px !important; line-height: 38px !important; letter-spacing: -0.2px !important; }
  html body.home h1:not(#sfpl-a):not(#sfpl-b) { font-size: 34px !important; line-height: 42px !important; }
  html body h2.sf-atomic-text-output:not(#sfpl-a),
  html body h2.sf-atomic-rich-text-output:not(#sfpl-a) { font-size: 26px !important; }
  html body h3.sf-atomic-text-output:not(#sfpl-a),
  html body h3.sf-atomic-rich-text-output:not(#sfpl-a) { font-size: 17px !important; }
  html body .red-label, html body .red-kicker,
  html body .impact-kicker, html body .partner34 { font-size: 12px !important; }
}
/* ===== Add-on: catch ALL section H2 / card H3 (not header/footer/popup) ===== */
html body h2:not(#sfpl-a):not(#sfpl-b):not(:is(header, footer, .elementor-location-header, .elementor-location-footer, .sfpl-eq-overlay) *) {
  font-size: 34px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
/*   text-transform: none !important; */
}
html body h3:not(#sfpl-a):not(#sfpl-b):not(:is(header, footer, .elementor-location-header, .elementor-location-footer, .sfpl-eq-overlay) *) {
  font-size: 18px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
/*   text-transform: none !important; */
}
html body :is(h2, h3):not(#sfpl-a):not(#sfpl-b):not(:is(header, footer, .elementor-location-header, .elementor-location-footer, .sfpl-eq-overlay) *) * {
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}
@media (max-width: 1024px) {
  html body h2:not(#sfpl-a):not(#sfpl-b):not(:is(header, footer, .elementor-location-header, .elementor-location-footer, .sfpl-eq-overlay) *) { font-size: 30px !important; }
}
@media (max-width: 767px) {
  html body h2:not(#sfpl-a):not(#sfpl-b):not(:is(header, footer, .elementor-location-header, .elementor-location-footer, .sfpl-eq-overlay) *) { font-size: 26px !important; }
  html body h3:not(#sfpl-a):not(#sfpl-b):not(:is(header, footer, .elementor-location-header, .elementor-location-footer, .sfpl-eq-overlay) *) { font-size: 17px !important; }
}
/*  28-10-2026 end*/
/* enquiry buton hover */
/* Enquire Now – disable hover expand */
html body .sfpl-eq-btn.sfpl-eq-btn:is(:hover,:focus){
  top:50% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
	    border-radius: 4px !important;
}
/* Enquire Now – keep text direction on hover */
html body .sfpl-eq-btn.sfpl-eq-btn:is(:hover,:focus,:focus-visible,:active){
  writing-mode:sideways-lr !important;
}
html body .sfpl-eq-btn.sfpl-eq-btn:is(:hover,:focus,:focus-visible,:active) i{
  transform:rotate(90deg) !important;
  rotate:90deg !important;
}

/* Service cards – padding only at 110% zoom */
/* 110% browser zoom only */
@media (min-width:1025px) and (min-resolution:1.09dppx) and (max-resolution:1.11dppx),
       (min-width:1025px) and (min-resolution:1.36dppx) and (max-resolution:1.39dppx),
       (min-width:1025px) and (min-resolution:1.64dppx) and (max-resolution:1.66dppx){
  html body section#services .service-info-card .service-card-content,
  html body .service-cards-grid .service-info-card .service-card-content{
    padding:18px 9px 15px !important;
  }
}