.sssc-carousel{
  --sssc-bg:#f4f1ec;
  --sssc-nav:#4a4a4a;
  --sssc-dot:#4a4a4a;
  --sssc-arrow-d:42px;
  --sssc-arrow-m:34px;
  --sssc-arrow-stroke:1px;
  --sssc-nav-inset-d:22px;
  --sssc-nav-inset-m:10px;
  --sssc-design-max:1800px;
  position:relative;
  width:100%;
  background:var(--sssc-bg);
  overflow:hidden;
}
.sssc-carousel *{box-sizing:border-box}
.sssc-carousel .swiper{position:relative;width:100%;height:auto;overflow:hidden}
.sssc-carousel .swiper-wrapper{display:flex;width:100%;height:auto;align-items:flex-start;transition-property:transform;box-sizing:content-box}
.sssc-carousel .swiper-slide{flex-shrink:0;width:100%;height:auto;position:relative}
.sssc-slide{background:var(--sssc-slide-bg,transparent);color:var(--sssc-text,#4a4a4a)}

/*
 * Desktop is built on the exact proportions of the approved 1672 × 941 concept.
 * The stage scales as one piece, so positions do not drift on wide screens.
 */
.sssc-stage{
  position:relative;
  width:min(100%,var(--sssc-design-max));
  aspect-ratio:1672/941;
  min-height:0;
  margin:0 auto;
  overflow:hidden;
}
.sssc-content-wrap,.sssc-hero,.sssc-support,.sssc-number,.sssc-decor{position:absolute;z-index:2}
.sssc-frame{position:absolute;overflow:hidden;background:rgba(255,255,255,.08);border-radius:var(--sssc-image-radius,0px)}
.sssc-image-el{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;border-radius:inherit}
.sssc-curtain-show .sssc-frame::after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--sssc-curtain-height,30%);pointer-events:none;z-index:2;background:linear-gradient(to top,var(--sssc-curtain-solid,rgba(244,241,236,.72)) 0%,var(--sssc-curtain-soft,rgba(244,241,236,.32)) 52%,var(--sssc-curtain-clear,rgba(244,241,236,0)) 100%);}
.sssc-curtain-hide .sssc-frame::after{display:none}

.sssc-reveal-show .sssc-frame .sssc-image-el{
  opacity:0;
  clip-path:inset(100% 0 0 0);
  transform:translateY(14%);
  will-change:clip-path,transform,opacity;
  transition:
    clip-path var(--sssc-reveal-duration,900ms) cubic-bezier(.22,.61,.36,1),
    transform var(--sssc-reveal-duration,900ms) cubic-bezier(.22,.61,.36,1),
    opacity calc(var(--sssc-reveal-duration,900ms) * .7) ease;
  transition-delay:var(--sssc-reveal-delay,0ms);
}
.sssc-reveal-show .sssc-frame.sssc-reveal-active .sssc-image-el{
  opacity:1;
  clip-path:inset(0 0 0 0);
  transform:translateY(0);
}

.sssc-scroll-reveal-disabled .sssc-reveal-show .sssc-frame .sssc-image-el{
  opacity:1!important;
  clip-path:inset(0 0 0 0)!important;
  transform:none!important;
  transition:none!important;
}
.sssc-reveal-hide .sssc-frame .sssc-image-el,
.sssc-reveal-show .sssc-frame.sssc-reveal-ready .sssc-image-el{
  backface-visibility:hidden;
}

.sssc-hero{aspect-ratio:468/603;z-index:3}
.sssc-support-top{aspect-ratio:220/247;z-index:3}
.sssc-support-bottom{aspect-ratio:224/248;z-index:4}
.sssc-hide{display:none!important}

/* Approved concept preset. */
.sssc-preset-approved .sssc-content-wrap{width:20.2%;left:19.9%;top:41.5%;z-index:5}
.sssc-preset-approved .sssc-hero{width:28.1%;left:47.1%;top:17.3%}
.sssc-preset-approved .sssc-support-top{width:13.15%;left:9.25%;top:10.2%}
.sssc-preset-approved .sssc-support-bottom{width:13.4%;left:74.15%;top:63.65%}
.sssc-preset-approved .sssc-number{left:5.95%;bottom:7.3%}

/* Mirror the approved composition when a right-hand text layout is chosen. */
.sssc-preset-approved.sssc-layout-right .sssc-content-wrap{left:auto;right:19.9%}
.sssc-preset-approved.sssc-layout-right .sssc-hero{left:auto;right:47.1%}
.sssc-preset-approved.sssc-layout-right .sssc-support-top{left:auto;right:9.25%}
.sssc-preset-approved.sssc-layout-right .sssc-support-bottom{left:auto;right:74.15%}
.sssc-preset-approved.sssc-layout-right .sssc-number{left:auto;right:5.95%}
.sssc-preset-approved.sssc-layout-auto:nth-child(even) .sssc-content-wrap{left:auto;right:19.9%}
.sssc-preset-approved.sssc-layout-auto:nth-child(even) .sssc-hero{left:auto;right:47.1%}
.sssc-preset-approved.sssc-layout-auto:nth-child(even) .sssc-support-top{left:auto;right:9.25%}
.sssc-preset-approved.sssc-layout-auto:nth-child(even) .sssc-support-bottom{left:auto;right:74.15%}
.sssc-preset-approved.sssc-layout-auto:nth-child(even) .sssc-number{left:auto;right:5.95%}

/* Advanced custom desktop positioning. */
.sssc-preset-custom .sssc-content-wrap{width:var(--sssc-content-w-d);left:var(--sssc-content-x-d);top:var(--sssc-content-y-d);z-index:5}
.sssc-preset-custom .sssc-hero{width:var(--sssc-hero-w-d);left:var(--sssc-hero-x-d);top:var(--sssc-hero-y-d)}
.sssc-preset-custom .sssc-support-top{width:var(--sssc-top-w-d);left:var(--sssc-top-x-d);top:var(--sssc-top-y-d)}
.sssc-preset-custom .sssc-support-bottom{width:var(--sssc-bottom-w-d);left:var(--sssc-bottom-x-d);top:var(--sssc-bottom-y-d)}
.sssc-preset-custom .sssc-number{left:var(--sssc-number-x-d);bottom:var(--sssc-number-bottom-d)}
.sssc-preset-custom.sssc-layout-right .sssc-content-wrap{left:auto;right:var(--sssc-content-x-d)}
.sssc-preset-custom.sssc-layout-right .sssc-hero{left:auto;right:var(--sssc-hero-x-d)}
.sssc-preset-custom.sssc-layout-right .sssc-support-top{left:auto;right:var(--sssc-top-x-d)}
.sssc-preset-custom.sssc-layout-right .sssc-support-bottom{left:auto;right:var(--sssc-bottom-x-d)}
.sssc-preset-custom.sssc-layout-right .sssc-number{left:auto;right:var(--sssc-number-x-d)}
.sssc-preset-custom.sssc-layout-auto:nth-child(even) .sssc-content-wrap{left:auto;right:var(--sssc-content-x-d)}
.sssc-preset-custom.sssc-layout-auto:nth-child(even) .sssc-hero{left:auto;right:var(--sssc-hero-x-d)}
.sssc-preset-custom.sssc-layout-auto:nth-child(even) .sssc-support-top{left:auto;right:var(--sssc-top-x-d)}
.sssc-preset-custom.sssc-layout-auto:nth-child(even) .sssc-support-bottom{left:auto;right:var(--sssc-bottom-x-d)}
.sssc-preset-custom.sssc-layout-auto:nth-child(even) .sssc-number{left:auto;right:var(--sssc-number-x-d)}

.sssc-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;font-size:clamp(10px,calc(var(--sssc-design-max) * .0084),var(--sssc-eyebrow-d));line-height:1.15;letter-spacing:.08em;text-transform:uppercase;color:inherit;opacity:.88}
.sssc-eyebrow-line{display:inline-block;width:28px;height:1px;background:currentColor;opacity:.55}
.sssc-heading{margin:0 0 .66em;font-family:Georgia,"Times New Roman",serif;font-size:clamp(24px,2.15vw,var(--sssc-heading-d));font-weight:var(--sssc-heading-weight,300);line-height:1.16;letter-spacing:.01em;color:inherit}
.sssc-description{font-size:clamp(12px,.98vw,var(--sssc-body-d));line-height:1.65;color:inherit;max-width:32em}
.sssc-description p{margin:0 0 1em}
.sssc-button{display:inline-flex;align-items:center;justify-content:center;margin-top:var(--sssc-button-gap);font-size:clamp(12px,.96vw,16px);line-height:1.2;color:var(--sssc-button-color,#3f3f3f);text-decoration:none;transition:opacity .2s ease,background-color .2s ease,color .2s ease}
.sssc-button:hover{opacity:.75}
.sssc-button-text{padding-bottom:4px;border-bottom:1px solid currentColor}
.sssc-button-outline{padding:11px 18px;border:1px solid currentColor}
.sssc-button-solid{padding:12px 19px;background:var(--sssc-button-bg,#3f3f3f);color:#fff}
.sssc-number{z-index:5;color:var(--sssc-text,#4a4a4a)}
.sssc-numbering-disabled .sssc-number{display:none!important}
.sssc-number-current{font-family:Georgia,"Times New Roman",serif;font-size:clamp(20px,1.75vw,var(--sssc-number-d));line-height:1;font-weight:400}
.sssc-number-sep,.sssc-number-total{font-size:clamp(12px,1.05vw,calc(var(--sssc-number-d) * .68));opacity:.72}

.sssc-decor-lines{z-index:1;opacity:.56;top:-2%;right:-1%;width:40%;height:42%;background:url('../svg/contour-lines.svg') top right / contain no-repeat}
.sssc-decor-leaf{z-index:1;left:4%;bottom:8%;width:12%;height:42%;background:url('../svg/leaf-branch.svg') center / contain no-repeat;opacity:.45}
.sssc-layout-right .sssc-decor-lines,.sssc-layout-auto:nth-child(even) .sssc-decor-lines{right:auto;left:-1%;transform:scaleX(-1)}
.sssc-layout-right .sssc-decor-leaf,.sssc-layout-auto:nth-child(even) .sssc-decor-leaf{left:auto;right:4%;transform:scaleX(-1)}

.sssc-prev,.sssc-next{
  position:absolute;z-index:20;top:50%;width:92px;height:92px;transform:translateY(-50%);
  border:0;background:transparent;cursor:pointer;padding:0;color:var(--sssc-nav);-webkit-tap-highlight-color:transparent;
}
.sssc-prev{left:var(--sssc-nav-inset-d)}
.sssc-next{right:var(--sssc-nav-inset-d)}
.sssc-prev:before,.sssc-next:before{
  content:"";position:absolute;top:50%;left:50%;width:var(--sssc-arrow-d);height:var(--sssc-arrow-d);
  border-top:var(--sssc-arrow-stroke) solid currentColor;border-right:var(--sssc-arrow-stroke) solid currentColor;transform-origin:center;
}
.sssc-prev:before{transform:translate(-35%,-50%) rotate(-135deg)}
.sssc-next:before{transform:translate(-65%,-50%) rotate(45deg)}
.sssc-prev:hover,.sssc-next:hover{opacity:.72}
.sssc-prev:focus-visible,.sssc-next:focus-visible{outline:1px solid currentColor;outline-offset:2px}
.sssc-pagination{position:absolute;z-index:10;left:50%;bottom:2.1%;transform:translateX(-50%);display:flex;gap:8px}
.sssc-pagination .swiper-pagination-bullet{display:block;width:7px;height:7px;border-radius:50%;background:var(--sssc-dot);opacity:.32;cursor:pointer;border:0;padding:0}
.sssc-pagination .swiper-pagination-bullet-active{opacity:1}
.sssc-carousel .swiper-button-disabled{opacity:.25;cursor:default}

/* Tablet gets its own layout rather than shrinking the desktop artboard. */
@media (min-width:768px) and (max-width:1099px){
  .sssc-stage{width:100%;aspect-ratio:4/3;min-height:720px}
  .sssc-preset-approved .sssc-content-wrap,
  .sssc-preset-custom .sssc-content-wrap{width:34%;left:10%;top:42%}
  .sssc-preset-approved .sssc-hero,
  .sssc-preset-custom .sssc-hero{width:42%;left:51%;top:16%}
  .sssc-preset-approved .sssc-support-top,
  .sssc-preset-custom .sssc-support-top{width:17%;left:8%;top:8%}
  .sssc-preset-approved .sssc-support-bottom,
  .sssc-preset-custom .sssc-support-bottom{width:19%;left:76%;top:68%}
  .sssc-preset-approved .sssc-number,
  .sssc-preset-custom .sssc-number{left:7%;right:auto;bottom:6%}

  .sssc-layout-right .sssc-content-wrap,
  .sssc-layout-auto:nth-child(even) .sssc-content-wrap{left:auto!important;right:10%!important}
  .sssc-layout-right .sssc-hero,
  .sssc-layout-auto:nth-child(even) .sssc-hero{left:auto!important;right:51%!important}
  .sssc-layout-right .sssc-support-top,
  .sssc-layout-auto:nth-child(even) .sssc-support-top{left:auto!important;right:8%!important}
  .sssc-layout-right .sssc-support-bottom,
  .sssc-layout-auto:nth-child(even) .sssc-support-bottom{left:auto!important;right:76%!important}
  .sssc-layout-right .sssc-number,
  .sssc-layout-auto:nth-child(even) .sssc-number{left:auto!important;right:7%!important}

  .sssc-heading{font-size:var(--sssc-heading-t)}
  .sssc-description{font-size:var(--sssc-body-t)}
  .sssc-eyebrow{font-size:var(--sssc-eyebrow-t)}
  .sssc-number-current{font-size:calc(var(--sssc-number-d) * .88)}
}

/* Mobile: deliberately separate editorial stack. No desktop absolute positions survive here. */
@media (max-width:767px){
  .sssc-carousel .swiper-wrapper,.sssc-carousel .swiper-slide{height:auto}
  .sssc-stage{
    width:100%;
    aspect-ratio:auto;
    min-height:0;
    padding:42px 20px 92px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:26px;
    overflow:hidden;
  }
  .sssc-content-wrap,.sssc-hero,.sssc-support,.sssc-number,.sssc-decor{
    position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;
  }
  .sssc-support-top{order:0;width:var(--sssc-top-w-m)!important;max-width:280px;align-self:center}
  .sssc-hero{order:1;width:var(--sssc-hero-w-m)!important;max-width:520px;align-self:center}
  .sssc-content-wrap{order:2;width:var(--sssc-content-w-m)!important;max-width:520px;align-self:center;text-align:left;z-index:5}
  .sssc-support-bottom{order:3;width:var(--sssc-bottom-w-m)!important;max-width:360px;align-self:center}
  .sssc-number{order:4;width:var(--sssc-content-w-m)!important;max-width:520px;align-self:center;margin-top:4px}
  .sssc-hide-mobile{display:none!important}
  .sssc-heading{font-size:var(--sssc-heading-m);line-height:1.15}
  .sssc-description{font-size:var(--sssc-body-m);line-height:1.6}
  .sssc-eyebrow{font-size:var(--sssc-eyebrow-m);margin-bottom:18px}
  .sssc-button{margin-top:22px;font-size:14px}
  .sssc-number-current{font-size:var(--sssc-number-m)}
  .sssc-number-sep,.sssc-number-total{font-size:calc(var(--sssc-number-m) * .68)}
  .sssc-decor-lines{display:block!important;position:absolute!important;top:-12px!important;right:-20px!important;left:auto!important;width:68%!important;height:190px!important;opacity:.38}
  .sssc-decor-leaf{display:block!important;position:absolute!important;left:0!important;right:auto!important;bottom:72px!important;width:120px!important;height:180px!important;opacity:.26}

  .sssc-prev,.sssc-next{top:auto;bottom:12px;width:76px;height:60px;transform:none}
  .sssc-prev{left:var(--sssc-nav-inset-m)}
  .sssc-next{right:var(--sssc-nav-inset-m)}
  .sssc-prev:before,.sssc-next:before{width:var(--sssc-arrow-m);height:var(--sssc-arrow-m)}
  .sssc-pagination{bottom:30px}
}

@media (max-width:420px){
  .sssc-stage{padding-left:16px;padding-right:16px;gap:22px}
  .sssc-support-top{max-width:230px}
  .sssc-heading{font-size:min(var(--sssc-heading-m),32px)}
  .sssc-description{font-size:min(var(--sssc-body-m),17px)}
}

@media (prefers-reduced-motion:reduce){
  .sssc-button{transition:none}
  .sssc-reveal-show .sssc-frame .sssc-image-el{opacity:1;clip-path:inset(0 0 0 0);transform:none;transition:none}
}
