.spfs {
  --spfs-sticky-offset:112px;
  --spfs-pin-top:var(--spfs-sticky-offset);
  --spfs-window-width:100%;
  --spfs-gradient-start:#d62c2c;
  --spfs-gradient-end:#ee9527;
  --spfs-heading-color:#242323;
  --spfs-body-color:#343434;
  --spfs-frame-width:4px;
  --spfs-frame-color:#fff;
  --spfs-card-radius:8px;
  --spfs-cover-type:100px;
  --spfs-shadow:0 26px 48px -18px #24201c45,0 5px 14px -4px #24201c29;
  position:relative;width:100%;
  height:calc(max(620px,100svh - var(--spfs-pin-top) - 12px) + 130svh);
  margin:0;padding:0;overflow:visible;isolation:isolate;
  color:var(--spfs-body-color);
  font-family:"Poppins","Avenir Next",Arial,sans-serif;
}
.spfs *,.spfs *::before,.spfs *::after {box-sizing:border-box;}
body.admin-bar .spfs {--spfs-sticky-offset:144px;}
.spfs--full-bleed {width:var(--spfs-window-width);max-width:none;margin-inline:calc((100% - var(--spfs-window-width))/2);}
.spfs[data-spfs-timing="custom"] {height:calc(max(620px,100svh - var(--spfs-pin-top) - 12px) + var(--spfs-scroll-travel,130svh));}
.spfs__sticky {
  position:sticky;top:var(--spfs-pin-top);
  height:max(620px,calc(100svh - var(--spfs-pin-top) - 12px));
  width:100%;overflow:clip;background:transparent;isolation:isolate;
}
.spfs__stage,.spfs__cards {position:absolute;inset:0;pointer-events:none;}
.spfs__stage {z-index:5;}
.spfs__cards {transform-style:flat;isolation:isolate;}
.spfs .spfs__card {
  position:absolute;top:50%;left:50%;display:block;width:18%;aspect-ratio:1;
  padding:0;margin:0;opacity:0;transform-origin:center;backface-visibility:hidden;pointer-events:none;
}
.spfs .spfs__card[hidden] {display:none!important;}
.spfs .spfs__card--portrait {aspect-ratio:4/5;}
.spfs[data-spfs-active="true"] .spfs__card:not([hidden]) {will-change:transform;}
.spfs__card-frame {
  position:absolute;inset:0;padding:var(--spfs-frame-width);
  background:var(--spfs-frame-color);border-radius:min(var(--spfs-card-radius),9px);
  box-shadow:var(--spfs-shadow);transform:none;
}
.spfs__card-frame img {
  display:block;width:100%;height:100%;max-width:none;object-fit:cover;
  border-radius:max(0px,calc(min(var(--spfs-card-radius),9px) - var(--spfs-frame-width)));
  -webkit-user-drag:none;
}
.spfs__wash {position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 31% 34% at 50% 50%,#f8f7f5cf,transparent 100%);}
.spfs__intro {position:absolute;top:26%;left:0;width:100%;z-index:10;text-align:center;pointer-events:none;}
.spfs__scroll-cue {display:inline-flex;align-items:center;gap:14px;color:#5b5653;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;}
.spfs__scroll-cue i {position:relative;width:48px;height:2px;background:#42352c26;overflow:hidden;border-radius:3px;}
.spfs__scroll-cue i::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#d62c2c,#ee9527,transparent);animation:spfs-scan 2.2s ease-in-out infinite;animation-play-state:paused;}
.spfs[data-spfs-active="true"] .spfs__scroll-cue i::after {animation-play-state:running;}
@keyframes spfs-scan {from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.spfs__eyebrow {font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;}
.spfs__title {font-size:clamp(36px,4vw,64px);line-height:1;letter-spacing:-.06em;}
.spfs__portal {position:absolute;top:50%;left:50%;width:min(42vw,540px);aspect-ratio:1;border-radius:50%;background:radial-gradient(ellipse,#ed963115,#d9322410 30%,transparent 70%);pointer-events:none;}
.spfs--no-glow .spfs__portal {display:none;}
.spfs .spfs__outro {
  position:absolute;top:50%;left:50%;width:62%;max-width:1040px;
  display:flex;flex-direction:column;align-items:center;gap:15px;
  z-index:20;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,-50%);
}
.spfs .spfs__closing {
  order:0;margin:0!important;max-width:100%;font-family:"Poppins","Avenir Next",Arial,sans-serif;
  font-size:var(--spfs-cover-type);line-height:.93;font-weight:800;letter-spacing:-.043em;text-transform:uppercase;text-wrap:balance;
  background:linear-gradient(110deg,var(--spfs-gradient-start),#d65028 55%,var(--spfs-gradient-end));
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.spfs .spfs__lead {order:-1;max-width:90%;margin:0!important;font-size:16px;line-height:1.45;color:var(--spfs-heading-color);font-weight:600;letter-spacing:-.025em;text-wrap:balance;}
.spfs .spfs__body {order:1;max-width:680px;margin:0!important;font-family:"Gotham","Poppins",Arial,sans-serif;font-size:17px;line-height:1.6;color:var(--spfs-body-color);font-weight:400;letter-spacing:-.015em;text-wrap:pretty;}
/* Clip the actual background without making an overflow scroll container.
   The photos pass behind this arc instead of a straight rectangular edge.
   Keep both sections at the same stacking level so document order also lets
   later sections overlap their own curved tops without being covered. */
.spfs-curve-host {position:relative;z-index:0;}
.spfs-curve-next {
  --spfs-curve-depth:180px;position:relative;z-index:0;
  margin-top:calc(-1 * var(--spfs-curve-depth))!important;
  clip-path:inset(0 round 50% 50% 0 0 / var(--spfs-curve-depth) var(--spfs-curve-depth) 0 0);
}
.spfs-curve-next > .elementor-shape-top {display:none;}
@media(max-width:1100px){
  .spfs {height:calc(max(640px,100svh - var(--spfs-pin-top) - 12px) + 115svh);}
  .spfs__sticky {height:max(640px,calc(100svh - var(--spfs-pin-top) - 12px));}
  .spfs .spfs__outro {width:88%;max-width:840px;gap:14px;}
  .spfs .spfs__lead {font-size:15px;max-width:94%;}
  .spfs .spfs__body {font-size:16px;line-height:1.55;max-width:640px;}
}
@media(max-width:600px){
  .spfs {--spfs-sticky-offset:76px;--spfs-card-radius:7px;--spfs-frame-width:3px;height:calc(max(580px,100svh - var(--spfs-pin-top) - 8px) + 95svh);}
  body.admin-bar .spfs {--spfs-sticky-offset:122px;}
  .spfs__sticky {height:max(580px,calc(100svh - var(--spfs-pin-top) - 8px));}
  .spfs .spfs__outro {width:calc(100% - 32px);max-width:510px;gap:12px;}
  .spfs .spfs__closing {line-height:.96;letter-spacing:-.043em;}
  .spfs .spfs__lead {font-size:13px;line-height:1.5;max-width:94%;}
  .spfs .spfs__body {font-size:14px;line-height:1.6;max-width:420px;}
  .spfs__intro {top:28%;}
}
.spfs[data-spfs-flow="true"] {height:auto!important;}
.spfs[data-spfs-flow="true"] .spfs__sticky {position:relative;top:auto;}
@media(prefers-reduced-motion:reduce){
  .spfs {height:auto!important;}
  .spfs__sticky {position:relative;top:auto;}
  .spfs__intro,.spfs__portal {display:none!important;}
  .spfs .spfs__card,.spfs .spfs__outro {will-change:auto!important;}
}

/* Accessible image inspection. */
.spfs .spfs__photo-open {position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:5px;background:transparent;box-shadow:none;outline-offset:6px;appearance:none;pointer-events:none;color:inherit;cursor:zoom-in;-webkit-tap-highlight-color:transparent;}
.spfs[data-spfs-settled="true"] .spfs__photo-open {pointer-events:auto;}
.spfs .spfs__photo-open:focus-visible {outline:3px solid #df642a;}
.spfs .spfs__photo-open:focus:not(:focus-visible) {outline:none;}
.spfs .spfs__card-frame {position:absolute;inset:0;padding:4px;background:#fff;border-radius:5px;box-shadow:0 20px 36px -17px #1c201f52,0 3px 7px #17212318;transform:none;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;pointer-events:none;}
.spfs .spfs__card-frame img {display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:2px;-webkit-user-drag:none;user-select:none;}
.spfs .spfs__photo-caption {position:absolute;left:4px;right:4px;bottom:4px;padding:28px 14px 12px;background:linear-gradient(transparent,#0009);color:#fff;font:500 12px/1.4 "Poppins",Arial,sans-serif;text-align:left;letter-spacing:.02em;opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s;}
@media(hover:hover) and (pointer:fine){
  .spfs[data-spfs-settled="true"] .spfs__photo-open:hover .spfs__card-frame {transform:translateY(-4px) scale(1.008);box-shadow:0 26px 40px -17px #1c201f65,0 3px 7px #17212318;}
  .spfs[data-spfs-settled="true"] .spfs__photo-open:hover .spfs__photo-caption {opacity:1;transform:none;}
}
.spfs .spfs__photo-open:focus-visible .spfs__photo-caption {opacity:1;transform:none;}

.spfs-lightbox {position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:58px 76px 72px;border:0;background:#151716f7;color:#fff;overflow:hidden;overscroll-behavior:contain;font-family:"Poppins",Arial,sans-serif;}
.spfs-lightbox::backdrop {background:#151716;}
.spfs-lightbox[open] {display:grid;grid-template-rows:minmax(0,1fr);place-items:center;}
.spfs-lightbox figure {display:flex;align-items:center;justify-content:center;flex-direction:column;gap:17px;height:100%;min-height:0;width:100%;max-width:100%;margin:0;pointer-events:none;}
.spfs-lightbox img {display:block;min-height:0;max-width:100%;max-height:calc(100dvh - 190px);width:auto;height:auto;object-fit:contain;box-shadow:0 15px 60px #0005;}
.spfs-lightbox figcaption {display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center;font-size:13px;line-height:1.5;}
.spfs-lightbox figcaption strong {font-weight:500;}
.spfs-lightbox figcaption span {color:#b9bab7;font-weight:400;}
.spfs-lightbox button {position:absolute;display:grid;place-items:center;padding:0;width:46px;height:46px;border:1px solid #ffffff45;border-radius:50%;background:#ffffff08;color:#fff;font:400 24px/1 Arial,sans-serif;cursor:pointer;transition:background .2s;}
.spfs-lightbox button:hover,.spfs-lightbox button:focus-visible {background:#ffffff22;outline:2px solid #ee9527;outline-offset:3px;}
.spfs-lightbox .spfs-lightbox__close {top:15px;right:20px;font-size:31px;}
.spfs-lightbox .spfs-lightbox__previous {left:16px;top:calc(50% - 23px);}
.spfs-lightbox .spfs-lightbox__next {right:16px;top:calc(50% - 23px);}
.spfs-lightbox__count {position:absolute;bottom:20px;left:0;width:100%;margin:0;text-align:center;color:#c7c8c6;font-size:12px;letter-spacing:.15em;}
@media(max-width:600px){
  .spfs-lightbox {padding:76px 16px 106px;}
  .spfs-lightbox figure {height:auto;max-height:100%;gap:14px;}
  .spfs-lightbox img {max-height:calc(100dvh - 240px);}
  .spfs-lightbox figcaption {font-size:12px;gap:6px 12px;}
  .spfs-lightbox .spfs-lightbox__previous {left:calc(50% - 73px);top:auto;bottom:50px;}
  .spfs-lightbox .spfs-lightbox__next {right:calc(50% - 73px);top:auto;bottom:50px;}
  .spfs-lightbox__count {bottom:18px;}
}

/* The portal and particles are transparent effects; photography and text stay
   native, sharp, accessible elements in fixed paint layers. */
.spfs {
  --spfs-stage-size:max(540px,calc(100svh - var(--spfs-pin-top) - 12px));
  --spfs-travel:410svh;
  height:calc(var(--spfs-stage-size) + var(--spfs-travel));
}
.spfs[data-spfs-timing="custom"] {--spfs-travel:var(--spfs-scroll-travel,410svh);height:calc(var(--spfs-stage-size) + var(--spfs-travel));}
.spfs__sticky {height:var(--spfs-stage-size);}
.spfs__cards {z-index:5;}
.spfs__fx {position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;contain:strict;}
.spfs__fx--back {z-index:1;}
.spfs__fx--front {z-index:15;}
.spfs__portal {width:min(60vw,1000px);height:2px;aspect-ratio:auto;transform:translate(-50%,-50%);border-radius:50%;background:linear-gradient(90deg,transparent,#f3a653,#fff4ce,#f3a653,transparent);box-shadow:0 0 24px 6px #ef8a3252;}
.spfs[data-spfs-canvas="true"] .spfs__portal {display:none;}
.spfs[data-spfs-active="true"] .spfs__outro {will-change:transform;}
.spfs .spfs__lead {text-transform:none;}
.spfs .spfs__outro {transform-origin:center;backface-visibility:hidden;}
@media(max-width:1100px){
  .spfs {--spfs-stage-size:max(560px,calc(100svh - var(--spfs-pin-top) - 12px));--spfs-travel:380svh;}
  body:has(.spfs[data-spfs-foreground="true"]) .jupiterx-scroll-top {opacity:0;visibility:hidden;pointer-events:none;}
}
@media(max-width:600px){
  .spfs {--spfs-stage-size:max(540px,calc(100svh - var(--spfs-pin-top) - 8px));--spfs-travel:350svh;}
  body:has(.spfs[data-spfs-foreground="true"]) .jupiterx-scroll-top {opacity:0;visibility:hidden;pointer-events:none;}
}
@media(prefers-reduced-motion:reduce){
  .spfs {padding-bottom:var(--spfs-curve-space,0px);}
  .spfs__fx {display:none;}
  .spfs .spfs__card-frame,.spfs .spfs__photo-caption {transition:none!important;}
}
.spfs[data-spfs-flow="true"] {padding-bottom:var(--spfs-curve-space,0px);}
