.sfc-carousel{
  --sfc-h-d:900px;
  --sfc-h-t:760px;
  --sfc-h-m:720px;
  --sfc-h-xl:1140px;
  --sfc-safe-gap-xl:48px;
  --sfc-bg:#e9e7e2;
  --sfc-nav:#4c4c4c;
  --sfc-dot:#4c4c4c;
  --sfc-arrow-d:42px;
  --sfc-arrow-m:36px;
  --sfc-arrow-stroke:1px;
  --sfc-nav-inset-d:22px;
  --sfc-nav-inset-m:8px;
  --sfc-nav-top-d:50%;
  --sfc-nav-top-m:32%;
  --sfc-reveal-duration:900ms;
  --sfc-reveal-stagger:140ms;
  position:relative;
  width:100%;
  height:var(--sfc-h-d);
  background:var(--sfc-bg);
  overflow:hidden;
}
.sfc-carousel *{box-sizing:border-box}
.sfc-carousel .swiper{position:relative;width:100%;height:100%;overflow:hidden}
.sfc-carousel .swiper-wrapper{display:flex;width:100%;height:100%;transition-property:transform;box-sizing:content-box}
.sfc-carousel .swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative}
.sfc-slide{overflow:hidden;background:var(--slide-bg,transparent);color:var(--text-color,#4c4c4c)}
.sfc-image{position:absolute;z-index:2;display:block;height:auto;max-width:none;object-fit:cover;width:var(--img-w-d);top:var(--img-top-d);left:var(--img-left-d);right:var(--img-right-d)}

/* Optional row-triggered image reveal. The clip opens from the bottom upward. */
.sfc-scroll-reveal-enabled .sfc-image{
  opacity:0;
  clip-path:inset(100% 0 0 0);
  -webkit-clip-path:inset(100% 0 0 0);
  will-change:clip-path,opacity;
  transition:
    clip-path var(--sfc-reveal-duration,900ms) cubic-bezier(.22,.61,.36,1),
    -webkit-clip-path var(--sfc-reveal-duration,900ms) cubic-bezier(.22,.61,.36,1),
    opacity calc(var(--sfc-reveal-duration,900ms) * .65) ease;
  transition-delay:var(--sfc-reveal-delay,0ms);
}
.sfc-scroll-reveal-enabled .sfc-image.sfc-reveal-active{
  opacity:1;
  clip-path:inset(0 0 0 0);
  -webkit-clip-path:inset(0 0 0 0);
}
.sfc-scroll-reveal-disabled .sfc-image{
  opacity:1;
  clip-path:none;
  -webkit-clip-path:none;
}
.sfc-line{position:absolute;z-index:1;pointer-events:none;width:var(--line-w-d);height:auto;max-width:none;top:var(--line-top-d);left:var(--line-left-d);opacity:var(--line-opacity,1)}
.sfc-content{position:absolute;z-index:4;width:var(--content-w-d);top:var(--content-top-d);left:var(--content-left-d);text-align:center;color:var(--text-color,#4c4c4c)}
.sfc-heading{margin:0 0 .58em;font:inherit;font-size:var(--heading-d);font-weight:var(--heading-weight,300);line-height:1.18;letter-spacing:.01em;color:inherit}
.sfc-description{font:inherit;font-size:var(--body-d);line-height:1.45;color:inherit}
.sfc-description p{margin:0 0 1em}
.sfc-button{display:inline-flex;align-items:center;justify-content:center;margin-top:.55em;font:inherit;font-size:16px;font-weight:600;line-height:1.2;text-decoration:none;color:var(--button-color,#111);transition:opacity .2s ease,background-color .2s ease,color .2s ease}
.sfc-button:hover{opacity:.7}
.sfc-button-text{padding:6px 0}
.sfc-button-outline{padding:11px 20px;border:1px solid currentColor}
.sfc-button-solid{padding:12px 21px;background:var(--button-bg,#111);color:#fff}

/* Large, thin editorial navigation arrows. The visible chevron is large while the click target stays generous. */
.sfc-prev,.sfc-next{
  position:absolute;
  z-index:20;
  top:var(--sfc-nav-top-d);
  width:92px;
  height:92px;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  cursor:pointer;
  padding:0;
  color:var(--sfc-nav);
  -webkit-tap-highlight-color:transparent;
}
.sfc-prev{left:var(--sfc-nav-inset-d)}
.sfc-next{right:var(--sfc-nav-inset-d)}
.sfc-prev:before,.sfc-next:before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:var(--sfc-arrow-d);
  height:var(--sfc-arrow-d);
  border-top:var(--sfc-arrow-stroke) solid currentColor;
  border-right:var(--sfc-arrow-stroke) solid currentColor;
  transform-origin:center;
}
.sfc-prev:before{transform:translate(-35%,-50%) rotate(-135deg)}
.sfc-next:before{transform:translate(-65%,-50%) rotate(45deg)}
.sfc-prev:hover,.sfc-next:hover{opacity:.72}
.sfc-prev:focus-visible,.sfc-next:focus-visible{outline:1px solid currentColor;outline-offset:2px}

.sfc-pagination{position:absolute;z-index:10;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:8px}
.sfc-pagination .swiper-pagination-bullet{display:block;width:7px;height:7px;border-radius:50%;background:var(--sfc-dot);opacity:.32;cursor:pointer;border:0;padding:0}
.sfc-pagination .swiper-pagination-bullet-active{opacity:1}
.sfc-carousel .swiper-button-disabled{opacity:.25;cursor:default}


@media (min-width:1600px){
  .sfc-carousel{height:var(--sfc-h-xl)}
  .sfc-image{transform:translateY(var(--sfc-wide-safe-shift,0px))}
}

@media (max-width:1199px){
  .sfc-carousel{height:var(--sfc-h-t)}
  .sfc-image{width:var(--img-w-t);top:var(--img-top-t);left:var(--img-left-t);right:var(--img-right-t)}
  .sfc-line{width:var(--line-w-t);top:var(--line-top-t);left:var(--line-left-t)}
  .sfc-content{width:var(--content-w-t);top:var(--content-top-t);left:var(--content-left-t)}
  .sfc-heading{font-size:var(--heading-t)}
  .sfc-description{font-size:var(--body-t)}
}

@media (max-width:767px){
  .sfc-carousel{height:var(--sfc-h-m)}
  .sfc-image{width:var(--img-w-m);top:var(--img-top-m);left:var(--img-left-m);right:var(--img-right-m)}
  .sfc-line{width:var(--line-w-m);top:var(--line-top-m);left:var(--line-left-m)}
  .sfc-content{width:var(--content-w-m);top:var(--content-top-m);left:var(--content-left-m)}
  .sfc-heading{font-size:var(--heading-m)}
  .sfc-description{font-size:var(--body-m)}
  .sfc-hide-mobile{display:none!important}

  .sfc-prev,.sfc-next{
    top:var(--sfc-nav-top-m);
    width:82px;
    height:82px;
  }
  .sfc-prev{left:var(--sfc-nav-inset-m)}
  .sfc-next{right:var(--sfc-nav-inset-m)}
  .sfc-prev:before,.sfc-next:before{width:var(--sfc-arrow-m);height:var(--sfc-arrow-m)}
  .sfc-pagination{bottom:12px}

  /* Stacked editorial mobile layout: natural height, alternating image alignment, text inserted within the sequence. */
  .sfc-carousel.sfc-has-stacked-mobile{
    height:auto;
    overflow:hidden;
  }
  .sfc-carousel.sfc-has-stacked-mobile .sfc-swiper,
  .sfc-carousel.sfc-has-stacked-mobile .swiper-wrapper{
    height:auto;
  }
  .sfc-carousel.sfc-has-stacked-mobile .swiper-wrapper{align-items:flex-start}
  .sfc-carousel.sfc-has-stacked-mobile .sfc-mobile-stacked{
    height:auto!important;
    min-height:0;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding:34px var(--mobile-side-pad,18px) 70px;
    overflow:hidden;
  }
  .sfc-mobile-stacked .sfc-image{
    position:relative;
    z-index:2;
    display:block;
    flex:0 0 auto;
    width:min(var(--img-stack-w-m,80%),100%);
    max-width:100%;
    height:auto;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    margin:0 auto var(--img-stack-gap-m,28px);
    order:var(--img-order-m,10);
    align-self:center;
  }
  .sfc-mobile-stacked .sfc-stack-align-left,
  .sfc-mobile-stacked .sfc-stack-align-center,
  .sfc-mobile-stacked .sfc-stack-align-right{align-self:center}
  .sfc-mobile-stacked .sfc-image-2{margin-top:-10px}
  .sfc-mobile-stacked .sfc-image-4{margin-top:-6px}
  .sfc-mobile-stacked .sfc-content{
    position:relative;
    z-index:4;
    order:var(--content-order-m,25);
    width:100%;
    max-width:520px;
    top:auto!important;
    left:auto!important;
    align-self:center;
    padding:var(--content-stack-gap-top-m,18px) 12px var(--content-stack-gap-bottom-m,42px);
    text-align:center;
  }
  .sfc-mobile-stacked .sfc-heading{margin-bottom:.62em;line-height:1.12}
  .sfc-mobile-stacked .sfc-description{max-width:34em;margin-left:auto;margin-right:auto}
  .sfc-mobile-stacked .sfc-line{
    position:absolute;
    z-index:1;
    width:175%;
    max-width:none;
    top:18%;
    left:-38%;
    opacity:calc(var(--line-opacity,1) * .72);
  }
  .sfc-carousel.sfc-has-stacked-mobile .sfc-pagination{bottom:18px}
}

@media (prefers-reduced-motion:reduce){
  .sfc-button{transition:none}
  .sfc-scroll-reveal-enabled .sfc-image{opacity:1;clip-path:none;-webkit-clip-path:none;transition:none}
}
