/* SR24 typography defaults: Poppins headings, Inter body copy. */
:root{
  --sr-heading-font:'Poppins',Arial,Helvetica,sans-serif;
  --sr-body-font:'Inter',Arial,Helvetica,sans-serif;
}

/* SR widget default body font. Widget typography controls can still override this. */
.sr-header,
.sr-footer,
.sr-leadership-hero,
.sr-exact-hero,
.sr-story-widget,
.sr-principles-widget,
.sr-journey-widget,
.sr-capabilities-widget,
.sr-impact-widget,
.sr-philosophy-widget,
.sr-insights-widget{
  font-family:var(--sr-body-font) !important;
}

/* Force the default heading/title family to Poppins with higher specificity than legacy widget CSS. */
.sr-header h1,.sr-header h2,.sr-header h3,.sr-header h4,.sr-header h5,.sr-header h6,
.sr-footer h1,.sr-footer h2,.sr-footer h3,.sr-footer h4,.sr-footer h5,.sr-footer h6,
.sr-leadership-hero h1,.sr-leadership-hero h2,.sr-leadership-hero h3,.sr-leadership-hero h4,.sr-leadership-hero h5,.sr-leadership-hero h6,
.sr-exact-hero h1,.sr-exact-hero h2,.sr-exact-hero h3,.sr-exact-hero h4,.sr-exact-hero h5,.sr-exact-hero h6,
.sr-story-widget h1,.sr-story-widget h2,.sr-story-widget h3,.sr-story-widget h4,.sr-story-widget h5,.sr-story-widget h6,
.sr-principles-widget h1,.sr-principles-widget h2,.sr-principles-widget h3,.sr-principles-widget h4,.sr-principles-widget h5,.sr-principles-widget h6,
.sr-journey-widget h1,.sr-journey-widget h2,.sr-journey-widget h3,.sr-journey-widget h4,.sr-journey-widget h5,.sr-journey-widget h6,
.sr-capabilities-widget h1,.sr-capabilities-widget h2,.sr-capabilities-widget h3,.sr-capabilities-widget h4,.sr-capabilities-widget h5,.sr-capabilities-widget h6,
.sr-impact-widget h1,.sr-impact-widget h2,.sr-impact-widget h3,.sr-impact-widget h4,.sr-impact-widget h5,.sr-impact-widget h6,
.sr-philosophy-widget h1,.sr-philosophy-widget h2,.sr-philosophy-widget h3,.sr-philosophy-widget h4,.sr-philosophy-widget h5,.sr-philosophy-widget h6,
.sr-insights-widget h1,.sr-insights-widget h2,.sr-insights-widget h3,.sr-insights-widget h4,.sr-insights-widget h5,.sr-insights-widget h6,
.sr-header [class*="__title"],.sr-header [class*="__heading"],.sr-header [class*="__brand-name"],
.sr-footer [class*="__title"],.sr-footer [class*="__heading"],.sr-footer [class*="__brand-name"],
.sr-leadership-hero [class*="__title"],.sr-leadership-hero [class*="__heading"],.sr-leadership-hero [class*="__name"],
.sr-exact-hero [class*="__title"],.sr-exact-hero [class*="__heading"],.sr-exact-hero [class*="__name"],
.sr-story-widget [class*="__title"],.sr-story-widget [class*="__heading"],
.sr-principles-widget [class*="__title"],.sr-principles-widget [class*="__heading"],
.sr-journey-widget [class*="__title"],.sr-journey-widget [class*="__heading"],.sr-journey-widget [class*="__year"],
.sr-capabilities-widget [class*="__title"],.sr-capabilities-widget [class*="__heading"],.sr-capabilities-widget [class*="__name"],
.sr-impact-widget [class*="__title"],.sr-impact-widget [class*="__heading"],
.sr-philosophy-widget [class*="__title"],.sr-philosophy-widget [class*="__heading"],
.sr-insights-widget [class*="__title"],.sr-insights-widget [class*="__heading"]{
  font-family:var(--sr-heading-font) !important;
}

/* Whole homepage: standard Elementor widgets outside the SR plugin follow the same typography. */
body.home .elementor{
  font-family:var(--sr-body-font) !important;
}
body.home .elementor p,
body.home .elementor li,
body.home .elementor a:not(.elementor-icon),
body.home .elementor button,
body.home .elementor input,
body.home .elementor textarea,
body.home .elementor select,
body.home .elementor label,
body.home .elementor .elementor-button,
body.home .elementor .elementor-button-text{
  font-family:var(--sr-body-font) !important;
}
body.home .elementor h1,
body.home .elementor h2,
body.home .elementor h3,
body.home .elementor h4,
body.home .elementor h5,
body.home .elementor h6,
body.home .elementor .elementor-heading-title{
  font-family:var(--sr-heading-font) !important;
}


/* SR29 homepage spacing system.
   No external section margins. The visual gap is created inside the next section,
   so full-width section backgrounds meet cleanly without white strips between them. */
body.home .elementor .sr-story-widget,
body.home .elementor .sr-principles-widget,
body.home .elementor .sr-journey-widget,
body.home .elementor .sr-capabilities-widget,
body.home .elementor .sr-impact-widget,
body.home .elementor .sr-philosophy-widget,
body.home .elementor .sr-insights-widget,
body.home .elementor .sr-footer{
  margin-top:0!important;
  margin-bottom:0!important;
}

/* Header + hero always remain attached. */
body.home .elementor .sr-header,
body.home .elementor .sr-leadership-hero,
body.home .elementor .sr-exact-hero{
  margin-top:0!important;
  margin-bottom:0!important;
}

/* Desktop: one consistent 75px INTERNAL top spacing for content sections. */
@media(min-width:1025px){
  /* Story background begins immediately after the hero/stat block; content begins at 75px. */
  body.home .elementor .sr-story-widget__card{top:75px!important}

  /* Four Principles: preserve the original header-to-card relationship while moving the
     section heading to the requested 75px internal start position. */
  body.home .elementor .sr-principles-widget__stage{padding-top:0!important}
  body.home .elementor .sr-principles-widget__header{padding-top:75px!important}
  body.home .elementor .sr-principles-widget__cards{top:197px!important}

  body.home .elementor .sr-journey-widget__stage{padding-top:75px!important;padding-bottom:0!important}
  body.home .elementor .sr-capabilities-widget__stage{padding-top:75px!important;padding-bottom:0!important}
  body.home .elementor .sr-impact-widget__stage{padding-top:75px!important;padding-bottom:0!important}
  body.home .elementor .sr-philosophy-widget__content{padding-top:75px!important}
  body.home .elementor .sr-philosophy-widget__inner{padding-bottom:0!important}
  body.home .elementor .sr-insights__stage{padding-top:75px!important;padding-bottom:0!important}
}

/* Tablet/mobile keep internal spacing, never external margins. */
@media(max-width:1024px){
  body.home .elementor .sr-story-widget,
  body.home .elementor .sr-principles-widget,
  body.home .elementor .sr-journey-widget,
  body.home .elementor .sr-capabilities-widget,
  body.home .elementor .sr-impact-widget,
  body.home .elementor .sr-philosophy-widget,
  body.home .elementor .sr-insights-widget,
  body.home .elementor .sr-footer{margin:0!important}

  body.home .elementor .sr-principles-widget__header{padding-top:55px!important}
  body.home .elementor .sr-journey-widget__stage{padding-top:55px!important}
  body.home .elementor .sr-capabilities-widget__stage{padding-top:55px!important}
  body.home .elementor .sr-impact-widget__stage{padding-top:55px!important}
  body.home .elementor .sr-philosophy-widget__content{padding-top:55px!important}
  body.home .elementor .sr-insights__stage{padding-top:55px!important}
}
@media(max-width:767px){
  body.home .elementor .sr-principles-widget__header{padding-top:40px!important}
  body.home .elementor .sr-journey-widget__stage{padding-top:40px!important}
  body.home .elementor .sr-capabilities-widget__stage{padding-top:40px!important}
  body.home .elementor .sr-impact-widget__stage{padding-top:40px!important}
  body.home .elementor .sr-philosophy-widget__content{padding-top:40px!important}
  body.home .elementor .sr-insights__stage{padding-top:40px!important}
}

/* SR35 removals: protect against cached Elementor markup from older plugin versions. */
.sr-leadership-hero__stats-zone,
.sr-exact-hero__stats-zone,
.sr-leadership-hero__stats-wrap,
.sr-exact-hero__stats-wrap,
.sr-story-widget__steps{display:none!important;}
.sr-leadership-hero__stats-zone,
.sr-exact-hero__stats-zone{height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;}


/* SR38 consistency note: the widget styles now repeat the 75 / 55 / 40px
   top-spacing system locally as well. This keeps Elementor editor preview and
   frontend output identical even when WordPress body classes differ. */


/* SR39: one spacing + button system across the complete homepage.
   These tokens are repeated in individual widget styles as final overrides so
   Elementor editor and frontend render the same way. */
:root{
  --sr-section-top-desktop:75px;
  --sr-section-top-tablet:55px;
  --sr-section-top-mobile:40px;
  --sr-cta-bg:#0f73ef;
  --sr-cta-bg-hover:#075fce;
  --sr-cta-color:#ffffff;
  --sr-cta-height:48px;
  --sr-cta-radius:8px;
  --sr-cta-font-size:15px;
  --sr-cta-pad-x:24px;
  --sr-cta-gap:12px;
}

/* Elementor itself must not inject a second gap around SR sections. */
.elementor-widget-sr_story,
.elementor-widget-sr_principles,
.elementor-widget-sr_journey,
.elementor-widget-sr_capabilities,
.elementor-widget-sr_impact,
.elementor-widget-sr_philosophy,
.elementor-widget-sr_insights{
  margin-top:0!important;
  margin-bottom:0!important;
}
.elementor-widget-sr_story>.elementor-widget-container,
.elementor-widget-sr_principles>.elementor-widget-container,
.elementor-widget-sr_journey>.elementor-widget-container,
.elementor-widget-sr_capabilities>.elementor-widget-container,
.elementor-widget-sr_impact>.elementor-widget-container,
.elementor-widget-sr_philosophy>.elementor-widget-container,
.elementor-widget-sr_insights>.elementor-widget-container{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
