@media (max-width: 767px) {

  /* Panel: no scroll, no clipping */
  .elementor-element-1c72ef0.document-panel {
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
  }

  /* Every card link fits the panel */
  .elementor-element-1c72ef0 .document-download {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* Grid row: shrink columns instead of pushing width */
  .elementor-element-1c72ef0 .document-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .elementor-element-1c72ef0 .document-row > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* Long title/meta wrap instead of overflowing */
  .elementor-element-1c72ef0 .document-row :is(h1, h2, h3, h4, h5, h6, p, span) {
    white-space: normal !important;
    overflow-wrap: break-word;
  }
}
/*  Services page arrow*/
@media (max-width: 767px) {

  /* Track: 5 columns in one row */
  body .elementor-element-4c58363.service-flow-track {
    --flow-top: 7px; /* vertical position of line + arrow, adjust to align with numbers */
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 0 6px !important;
    position: relative !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  /* Any extra widget inside the track goes to its own row */
  body .elementor-element-4c58363.service-flow-track > .elementor-widget {
    grid-column: 1 / -1 !important;
  }

  /* Each step: stacked and centered like desktop */
  body .elementor-element-4c58363 > .service-flow-step {
	   display: none !important;
/*     display: flex !important; */
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    grid-template-columns: none !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: 0 !important;
    width: auto !important;
    gap: 4px !important;
  }
  body .elementor-element-4c58363 > .service-flow-step * {
    text-align: center !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }

  /* Type scale to fit 5 columns */
  body .elementor-element-4c58363 > .service-flow-step {
    font-size: 10px !important;
    line-height: 1.35 !important;
  }
  body .elementor-element-4c58363 > .service-flow-step :is(h1,h2,h3,h4,h5,h6,.elementor-heading-title) {
    font-size: 13px !important;
    line-height: 1.2 !important;
    word-break: normal !important;
  }
  body .elementor-element-4c58363 > .service-flow-step p {
    font-size: 10px !important;
    line-height: 1.35 !important;
  }

  /* Horizontal line */
  body .elementor-element-4c58363.service-flow-track::before {
    left: 10% !important;
    right: 10% !important;
    top: var(--flow-top) !important;
    bottom: auto !important;
    width: auto !important;
    height: 1px !important;
  }

  /* Moving arrow */
  body .elementor-element-4c58363.service-flow-track::after {
    content: "" !important;
/*     display: block !important; */
	  display: none !important;
    position: absolute !important;
    top: var(--flow-top) !important;
    left: 10%;
    right: auto !important;
    bottom: auto !important;
    width: 0 !important;
    height: 0 !important;
    background: none !important;
    clip-path: none !important;
    -webkit-mask: none !important;
    mask: none !important;
    border-left: 9px solid #ed1c24 !important;
    border-top: 5px solid transparent !important;
    border-bottom: 5px solid transparent !important;
    border-right: 0 !important;
    transform: translate(-50%, -50%) !important;
    z-index: 2 !important;
    opacity: 1;
    animation: sfFlowArrowM 4s linear infinite !important;
  }
}

@keyframes sfFlowArrowM {
  0%   { left: 10%; opacity: 0; }
  8%   { opacity: 1; }
  92%  { opacity: 1; }
  100% { left: 90%; opacity: 0; }
}
/*  home page image*/
/* Service cards: equal height, image pinned to bottom, no gap */
body .service-cards-grid {
  align-items: stretch !important;
}

body .service-cards-grid > .service-info-card {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  padding-bottom: 0 !important;
}

/* Wrapper (link) inside some cards: fill full card height */
body .service-info-card > .sf-native-tag-a,
body .service-info-card > a {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 100% !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

body .service-info-card .service-card-content {
  flex: 1 1 auto !important;
}

body .service-info-card .service-image {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  height: 160px !important;
  overflow: hidden !important;
  line-height: 0 !important;
}

body .service-info-card .service-image::before {
  display: none !important;
}

body .service-info-card .service-image .elementor-widget,
body .service-info-card .service-image .elementor-widget-container {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .service-info-card .service-image img.sf-atomic-image-output {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  margin: 0 !important;
}
/* Carousels: auto height (no cut) + no vertical scroll */
html body .service-carousel-viewport,
html body .elementor-element-e9cc13c,
html body div.service-carousel-viewport[style],
html body .achievement-carousel-viewport,
html body .elementor-element-1f2d51f,
html body div.achievement-carousel-viewport[style],
html body .achievement-carousel.is-active .achievement-carousel-viewport {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding-bottom: 2px !important;
}

html body .service-carousel,
html body .achievement-carousel {
  height: auto !important;
  overflow-y: hidden !important;
}

html body .service-cards-grid,
html body .achievement-carousel-viewport > * {
  height: auto !important;
  align-items: stretch !important;
}
/* Carousels: fixed 430px height */
html body .service-carousel-viewport,
html body .elementor-element-e9cc13c,
html body .achievement-carousel-viewport,
html body .elementor-element-1f2d51f {
  height: 430px !important;
}
/* Achievement carousel: force 430px (beats theme .is-active rule) */
html body .achievement-carousel.is-active .achievement-carousel-viewport.elementor-element-1f2d51f,
html body .achievement-carousel .achievement-carousel-viewport.elementor-element-1f2d51f,
html body div.achievement-carousel-viewport.elementor-element-1f2d51f[style] {
  height: 430px !important;
  min-height: 0 !important;
  max-height: 430px !important;
}
/*  video*/
/* Cover video: control size with max-width */
.sfpl-cover-video{
  max-width:620px;            /* desktop size, lower = smaller */
  width:100%;
}

.sfpl-cover-video .elementor-wrapper{
  aspect-ratio:16/9 !important;
  height:auto;
  position:relative;
  overflow:hidden;
  container-type:size;
  background:transparent;
}

/* Self-hosted MP4 */
.sfpl-cover-video .elementor-wrapper video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  mix-blend-mode:multiply;    /* hides the video's off-white background */
}

/* YouTube / Vimeo iframe */
.sfpl-cover-video .elementor-wrapper iframe{
  position:absolute;
  top:50%;
  left:50%;
  width:max(100cqw, 177.78cqh);
  height:max(100cqh, 56.25cqw);
  transform:translate(-50%,-50%);
  pointer-events:none;
}

@media (max-width:1024px){ .sfpl-cover-video{ max-width:520px; } }
@media (max-width:767px){  .sfpl-cover-video{ max-width:100%; } }

/*  home*/
:where(body.page-v2.sf-native-elementor-page) .solar-note p {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}
.elementor-element-33c7f8a .sf-atomic-rich-text-output {
    font-size: 14px !important;
}
.achievement-carousel-controls{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  margin-left:auto!important;
  align-self:flex-end!important;
  gap:10px;
}

/* ===== Footer – Tablet fix ===== */
/* ===== Footer – Tablet fix ===== */
@media (min-width:768px) and (max-width:1100px){
  body .corporate-footer .footer-grid.elementor-element-eebc367{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    gap:30px 24px!important;
    align-items:start!important;
    padding-bottom:30px!important;
  }
  body .corporate-footer .footer-grid.elementor-element-eebc367 > *{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    order:0!important;
    align-self:start!important;
  }

  /* brand – full row on top */
  body .corporate-footer .footer-grid > .elementor-element-9461f8f{
    grid-column:1 / -1!important;
    grid-row:1!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px 30px!important;
    padding-bottom:24px!important;
    border-bottom:1px solid #e1e6ec!important;
  }

  /* 4 columns in row 2 */
  body .corporate-footer .footer-grid > .elementor-element-96ae421{grid-column:1!important;grid-row:2!important}
  body .corporate-footer .footer-grid > .elementor-element-70b7a51{grid-column:2!important;grid-row:2!important}
  body .corporate-footer .footer-grid > .elementor-element-db7edaf{grid-column:3!important;grid-row:2!important}
  body .corporate-footer .footer-grid > .elementor-element-b558a8f{grid-column:4!important;grid-row:2!important}

  body .corporate-footer .footer-brand p{max-width:420px!important;margin:0!important;font-size:14px!important;line-height:1.6!important}
  body .corporate-footer .footer-grid a,
  body .corporate-footer .footer-grid li,
  body .corporate-footer .footer-contact span{font-size:14px!important;line-height:1.4!important}
  body .corporate-footer .footer-grid h2,
  body .corporate-footer .footer-grid h3,
  body .corporate-footer .footer-grid h4{font-size:15px!important;margin:0 0 14px!important}
}

/* 768–900px: 2 x 2 */
@media (min-width:768px) and (max-width:900px){
  body .corporate-footer .footer-grid.elementor-element-eebc367{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:28px 30px!important;
  }
  body .corporate-footer .footer-grid > .elementor-element-96ae421{grid-column:1!important;grid-row:2!important}
  body .corporate-footer .footer-grid > .elementor-element-70b7a51{grid-column:2!important;grid-row:2!important}
  body .corporate-footer .footer-grid > .elementor-element-db7edaf{grid-column:1!important;grid-row:3!important}
  body .corporate-footer .footer-grid > .elementor-element-b558a8f{grid-column:2!important;grid-row:3!important}
}
/* ===== Footer – Mobile: 2 columns ===== */
@media (max-width:767px){
  body .corporate-footer .footer-grid.elementor-element-eebc367{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    gap:26px 18px!important;
    align-items:start!important;
    padding-bottom:24px!important;
  }
  body .corporate-footer .footer-grid.elementor-element-eebc367 > *{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    order:0!important;
    align-self:start!important;
  }

  /* brand – full row on top */
  body .corporate-footer .footer-grid > .elementor-element-9461f8f{
    grid-column:1 / -1!important;
    grid-row:1!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:14px!important;
    padding-bottom:20px!important;
    border-bottom:1px solid #e1e6ec!important;
  }

  /* 2 x 2 */
  body .corporate-footer .footer-grid > .elementor-element-96ae421{grid-column:1!important;grid-row:2!important}
  body .corporate-footer .footer-grid > .elementor-element-70b7a51{grid-column:2!important;grid-row:2!important}
  body .corporate-footer .footer-grid > .elementor-element-db7edaf{grid-column:1!important;grid-row:3!important}
  body .corporate-footer .footer-grid > .elementor-element-b558a8f{grid-column:2!important;grid-row:3!important}

  body .corporate-footer .footer-brand p{max-width:100%!important;margin:0!important;font-size:14px!important;line-height:1.6!important}
  body .corporate-footer .footer-grid a,
  body .corporate-footer .footer-grid li,
  body .corporate-footer .footer-contact span{font-size:13px!important;line-height:1.4!important;overflow-wrap:anywhere!important;word-break:break-word!important}
  body .corporate-footer .footer-grid h2,
  body .corporate-footer .footer-grid h3,
  body .corporate-footer .footer-grid h4{font-size:14px!important;margin:0 0 12px!important}
}
/* ===== About values – Tablet: 2 columns ===== */
@media (min-width:768px) and (max-width:1100px){
  body .about-values.elementor-element-fbb5f0d{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0!important;
    width:100%!important;
  }
  body .about-values.elementor-element-fbb5f0d > *{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    padding:12px 10px!important;
    text-align:left!important;
    border:0!important;
    border-bottom:1px solid #e1e6ec!important;
  }
  body .about-values.elementor-element-fbb5f0d > *:nth-child(odd){border-right:1px solid #e1e6ec!important}
  body .about-values.elementor-element-fbb5f0d > *:nth-last-child(-n+2){border-bottom:0!important}

  body .about-values.elementor-element-fbb5f0d svg,
  body .about-values.elementor-element-fbb5f0d img{
    width:20px!important;
    height:20px!important;
    flex:0 0 20px!important;
    margin:0!important;
  }
  body .about-values.elementor-element-fbb5f0d > * *{
    font-size:13px!important;
    line-height:1.3!important;
    margin:0!important;
  }
}
/*  Journey */
/* Journey line – Elementor wrapper fix */
body:not(.elementor-editor-active) .journey-line.e-con{
  display:block !important;
}

/* Remove widget wrapper boxes so .journey-fill sizes against .journey-line */
body:not(.elementor-editor-active) .journey-line > .elementor-widget:not(.journey-fill){
  display:contents !important;
}

/* Hide imported checkpoint widgets (JS adds its own <i> markers) */
body:not(.elementor-editor-active) .journey-line > .elementor-widget:not(.journey-fill):not(:has(.journey-fill)){
  display:none !important;
}

/* Keep fill and plane positioned against the line */
.journey-line > .elementor-widget .journey-fill,
.journey-line > .journey-fill,
.journey-line > .journey-plane{
  position:absolute !important;
}
@media (max-width: 767px){
  .journey-line,
  .journey-plane,
  .journey-fill,
  .journey-dot,
  .hero-route-plane{
    display:none !important;
  }
}
/*  titl on image*/
/* html body .service-cards-grid > .service-info-card{
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  min-height:0!important;
  padding-bottom:0!important;
  overflow:hidden!important;
}
html body .service-cards-grid > .service-info-card > .e-con{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
  padding-bottom:0!important;
  position:relative!important;
}
html body .service-cards-grid .service-card-content{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  flex:0 0 auto!important;
  height:auto!important;
  margin:0!important;
  padding-bottom:20px!important;
}
html body .service-cards-grid .service-image{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  flex:0 0 auto!important;
  margin-top:auto!important;
  height:200px!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
}
html body .service-cards-grid .service-image img{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  margin:0!important;
} */
/*  title on image end*/
/* blog */
.elementskit-post-image-card .entry-title,
.elementskit-post-image-card .entry-title a {
    overflow-wrap: break-word !important;
    min-width: 0;
}

/*  blog single*/
.sfpl-post.e-con,.sfpl-post .e-con-inner{gap:0!important}
.sfpl-post .e-con-inner{max-width:820px}
.sfpl-post{color:var(--text)}

/*  our equipment gap */
:where(body).page-v2:where(.sf-native-elementor-page) .service-carousel-viewport {
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    outline: none;
    padding-top: -6px;
    margin-top: -26px!important;
}
body .service-cards-grid{
  align-items: flex-start !important;
}

body .service-info-card{
  height: auto !important;
  min-height: 0 !important;
}

body .service-info-card > .sf-native-tag-a,
body .service-info-card > a{
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  gap: 12px !important; /* text-to-image spacing */
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

body .service-info-card .service-card-content{
  position: relative !important;
  inset: auto !important;
  order: 1 !important;
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding-bottom: 0 !important;
  transform: none !important;
}

body .service-info-card .service-image{
  position: relative !important;
  inset: auto !important;
  order: 2 !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  height: 160px !important;
  margin: 0 !important;
  overflow: hidden !important;
  transform: none !important;
}

body .service-info-card .service-image img{
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
:where(body).page-v2:where(.sf-native-elementor-page) .service-carousel-footer {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 24px;
    margin-top: 0px!important;
    --display: grid !important;
    display: grid !important;
    --gap: 24px !important;
    gap: 24px !important;
    --align-items: center !important;
    align-items: center !important;
}/*  oeg end*/