/* === Bauerschmidt Sticky Cards (inline CSS) === */
.bs-sc{
  --bs-sc-sticky-top: 0px;
  --bs-sc-card-height: 800px;
  --bs-sc-stack-gap: 800px;
  --bs-sc-content-col: 50%;
  --bs-sc-radius: 0px;
  --bs-sc-pad-top: 64px;
  --bs-sc-pad-right: 64px;
  --bs-sc-pad-bottom: 64px;
  --bs-sc-pad-left: 64px;
  --bs-sc-content-bg: #0077C8;
  --bs-sc-content-text: #FFFFFF;
  --bs-sc-align-items: flex-start;
  --bs-sc-justify: flex-start;
  --bs-sc-text-align: left;
  --bs-sc-gap-title-badge: 14px;
  --bs-sc-gap-badge-text: 18px;
  --bs-sc-gap-text-button: 30px;
  --bs-sc-badge-text: #FFFFFF;
  --bs-sc-badge-border: rgba(255,255,255,.70);
  --bs-sc-badge-bg: transparent;
  --bs-sc-badge-radius: 999px;
  --bs-sc-badge-pad-y: 8px;
  --bs-sc-badge-pad-x: 14px;
  --bs-sc-btn-bg: #FFFFFF;
  --bs-sc-btn-text: #0077C8;
  --bs-sc-btn-bg-hover: #F2F6FA;
  --bs-sc-btn-text-hover: #0077C8;
  --bs-sc-btn-radius: 30px;
  --bs-sc-btn-pad-y: 12px;
  --bs-sc-btn-pad-x: 24px;
  --bs-sc-num-color: rgba(255,255,255,.12);
  --bs-sc-num-size: 260px;
  --bs-sc-num-x: 65%;
  --bs-sc-num-y: 45%;
  --bs-sc-img-overlay: rgba(77,173,57,.35);
  --bs-sc-img-scale: 100%;
  --bs-sc-img-fit: cover;
  --bs-sc-img-pos-x: 50%;
  --bs-sc-img-pos-y: 50%;
  --bs-sc-text-max: 560px;
}
.bs-sc-list{ display: block; }
.bs-sc-card{
  position: relative;
  height: calc(var(--bs-sc-card-height) + var(--bs-sc-stack-gap));
  margin: 0;
}
.bs-sc.is-sticky .bs-sc-card{
  position: sticky;
  top: var(--bs-sc-sticky-top) !important;
}
.bs-sc-inner{
  position: relative;
  height: var(--bs-sc-card-height);
  display: flex;
  overflow: hidden;
  border-radius: var(--bs-sc-radius);
  z-index: var(--bs-sc-z, 1);
}
.bs-sc.img-left .bs-sc-col--content{ order: 2; }
.bs-sc.img-left .bs-sc-col--image{ order: 1; }
.bs-sc-col--content{
  position: relative;
  width: var(--bs-sc-content-col);
  flex-shrink: 0;
  padding: var(--bs-sc-pad-top) var(--bs-sc-pad-right) var(--bs-sc-pad-bottom) var(--bs-sc-pad-left);
  background: var(--bs-sc-content-bg);
  color: var(--bs-sc-content-text);
  display: flex;
  flex-direction: column;
  align-items: var(--bs-sc-align-items);
  justify-content: var(--bs-sc-justify);
  text-align: var(--bs-sc-text-align);
  overflow: hidden;
}
.bs-sc-num{
  position: absolute;
  left: var(--bs-sc-num-x);
  top: var(--bs-sc-num-y);
  transform: translate(-50%, -50%);
  color: var(--bs-sc-num-color);
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
  z-index: 0;
  font-size: var(--bs-sc-num-size);
  line-height: 0.9;
  font-weight: 700;
}
.bs-sc-content-wrap{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: inherit;
  width: 100%;
}
.bs-sc-title{
  margin: 0 0 var(--bs-sc-gap-title-badge) 0;
  font-size: clamp(32px, 4.5vw, 52px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-weight: 700;
  color: inherit;
  overflow-wrap: break-word;
  word-wrap: break-word;
  hyphens: auto;
}
.bs-sc-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 var(--bs-sc-gap-badge-text) 0;
  justify-content: var(--bs-sc-align-items);
}
.bs-sc-badge{
  display: inline-block;
  padding: var(--bs-sc-badge-pad-y) var(--bs-sc-badge-pad-x);
  border-radius: var(--bs-sc-badge-radius);
  border: 1px solid var(--bs-sc-badge-border);
  color: var(--bs-sc-badge-text);
  background: var(--bs-sc-badge-bg);
  font-size: 14px;
  letter-spacing: 0.02em;
  font-weight: 500;
}
.bs-sc-text{
  max-width: var(--bs-sc-text-max);
  font-size: 16px;
  line-height: 1.7;
  opacity: .95;
  margin: 0;
}
.bs-sc-btn{
  margin-top: var(--bs-sc-gap-text-button);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--bs-sc-btn-pad-y) var(--bs-sc-btn-pad-x);
  border-radius: var(--bs-sc-btn-radius);
  border: 2px solid var(--bs-sc-btn-bg);
  background: var(--bs-sc-btn-bg);
  color: var(--bs-sc-btn-text);
  text-decoration: none;
  transition: transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
  font-family: "Funnel Sans", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0;
}
.bs-sc-btn:hover{
  background: var(--bs-sc-btn-bg-hover);
  color: var(--bs-sc-btn-text-hover);
  transform: translateY(-1px);
}
.bs-sc-col--image{
  position: relative;
  flex: 1;
  min-width: 0;
  background-color: #0077C8;
  background-size: var(--bs-sc-img-fit);
  background-position: var(--bs-sc-img-pos-x) var(--bs-sc-img-pos-y);
  background-repeat: no-repeat;
}
.bs-sc-col--image::before{
  content: '';
  position: absolute;
  inset: 0;
  background-image: inherit;
  background-size: inherit;
  background-position: inherit;
  background-repeat: inherit;
  transform: scale(calc(var(--bs-sc-img-scale) / 100));
  transform-origin: center;
  z-index: 0;
}
.bs-sc-overlay{
  position: absolute;
  inset: 0;
  background: var(--bs-sc-img-overlay);
  pointer-events: none;
  z-index: 1;
}
@media (max-width: 767px){
  .bs-sc.mobile-stack .bs-sc-inner{ flex-direction: column; height: auto; min-height: var(--bs-sc-card-height); }
  .bs-sc.mobile-stack .bs-sc-card{ height: auto; min-height: calc(var(--bs-sc-card-height) + var(--bs-sc-stack-gap)); }
  .bs-sc.mobile-stack .bs-sc-col--content{
    width: 100%;
    padding: 32px 20px;
  }
  .bs-sc.mobile-stack.mobile-image-first .bs-sc-col--image{ order: 1; }
  .bs-sc.mobile-stack.mobile-image-first .bs-sc-col--content{ order: 2; }
  .bs-sc.mobile-stack:not(.mobile-image-first) .bs-sc-col--content{ order: 1; }
  .bs-sc.mobile-stack:not(.mobile-image-first) .bs-sc-col--image{ order: 2; }
  .bs-sc.mobile-stack .bs-sc-col--image{ position: relative; min-height: 240px; height: 38vh; flex: 0 0 auto; }
  .bs-sc-title{ font-size: 28px; line-height: 1.15; }
  .bs-sc-text{ font-size: 15px; line-height: 1.65; }
  .bs-sc-num{ font-size: 120px; }
  .bs-sc-btn{ width: 100%; justify-content: center; padding: 14px 20px; min-height: 48px; }
}

@media (max-width: 480px){
  .bs-sc.mobile-stack .bs-sc-col--content{ padding: 28px 16px; }
  .bs-sc.mobile-stack .bs-sc-col--image{ min-height: 200px; height: 32vh; }
  .bs-sc-title{ font-size: 24px; }
  .bs-sc-num{ font-size: 96px; }
}
