/* Zaftrus media layer: full-bleed photo panels, shaded overlay, text on top (SpaceX-style) */
.fs{position:relative;isolation:isolate;display:flex;align-items:flex-end;height:100vh;height:100svh;min-height:560px;overflow:hidden;color:#eaf0f6;background:#06090d}
.fs__media{position:absolute;inset:-7% 0;z-index:-3;transform:translate3d(0,var(--py,0%),0);will-change:transform}
.fs__media img{width:100%;height:100%;object-fit:cover;object-position:var(--pos-m,50% 50%);display:block;transform:scale(1.14);transition:transform 2.8s cubic-bezier(.2,.7,.1,1);filter:saturate(1) contrast(1.06) brightness(1.08)}
.fs.is-in .fs__media img{transform:scale(1.02)}
@media(min-width:861px){.fs__media img{object-position:var(--pos-d,50% 50%)}}
/* cool tint to unify warm photos with the dark-blue site palette */
.fs__tint{position:absolute;inset:0;z-index:-2;background:#0a2a40;mix-blend-mode:multiply;opacity:.22;pointer-events:none}
/* the shade: left-weighted for text + heavy base + soft top */
.fs__shade{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
   linear-gradient(90deg,rgba(6,9,13,.74) 0%,rgba(6,9,13,.36) 40%,rgba(6,9,13,0) 74%),
   linear-gradient(180deg,rgba(6,9,13,.5) 0%,rgba(6,9,13,0) 24%,rgba(6,9,13,.18) 52%,rgba(6,9,13,.9) 100%)}
.fs--right .fs__shade{background:
   linear-gradient(270deg,rgba(6,9,13,.74) 0%,rgba(6,9,13,.36) 40%,rgba(6,9,13,0) 74%),
   linear-gradient(180deg,rgba(6,9,13,.5) 0%,rgba(6,9,13,0) 24%,rgba(6,9,13,.18) 52%,rgba(6,9,13,.9) 100%)}
/* seamless blend into neighbouring sections */
.fs:before,.fs:after{content:"";position:absolute;left:0;right:0;z-index:0;pointer-events:none}
.fs:before{top:0;height:16%;background:linear-gradient(180deg,#080c11,transparent)}
.fs:after{bottom:0;height:20%;background:linear-gradient(0deg,#080c11,transparent)}
.fs__in{position:relative;z-index:1;width:100%;padding-block:0 clamp(84px,13vh,140px)}
.fs--right .fs__in{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.fs__eyebrow{margin:0 0 18px}
.fs__title{font-family:var(--f-orb);font-weight:600;text-transform:uppercase;font-size:clamp(1.9rem,4.4vw,4.4rem);line-height:1.04;letter-spacing:.01em;max-width:12.5em;margin:0;text-wrap:balance;text-shadow:0 2px 40px rgba(0,0,0,.5)}
.fs__title em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.fs__text{max-width:46ch;margin:22px 0 0;font-size:clamp(15px,1.25vw,18px);line-height:1.6;color:#eaf0f6d9;text-shadow:0 1px 18px rgba(0,0,0,.6)}
.fs__in .btn-row{margin-top:30px}
.fs__meta{position:absolute;left:0;right:0;bottom:clamp(22px,4vh,38px);z-index:2}
.fs__meta .wrap{display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid rgba(234,240,246,.22);padding-top:14px}
.fs__meta .label{color:#eaf0f6b3;font-size:10.5px}
.fs__count b{color:#eaf0f6;font-weight:600}
.fs__chip{display:inline-flex;gap:10px;align-items:center}
.fs__chip i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);animation:fs-pulse 2.4s ease-in-out infinite}
@keyframes fs-pulse{50%{opacity:.35}}
/* facts strip under a panel */
.fs-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:18px;overflow:hidden;margin-top:0}
.fs-facts>div{background:#0b131a;padding:26px 24px}
.fs-facts b{display:block;font-family:var(--f-orb);font-weight:600;font-size:clamp(1.05rem,1.8vw,1.6rem);letter-spacing:.03em}
.fs-facts span{display:block;margin-top:8px;font-family:var(--f-orb);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
@media(max-width:860px){
  .fs{min-height:520px}
  .fs__shade{background:linear-gradient(180deg,rgba(6,9,13,.6) 0%,rgba(6,9,13,.1) 26%,rgba(6,9,13,.55) 52%,rgba(6,9,13,.96) 100%)}
  .fs--right .fs__in{align-items:flex-start;text-align:left}
  .fs__meta .label.hide-sm{display:none}
  .fs-facts{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){.fs__media{transform:none!important}.fs__media img,.fs.is-in .fs__media img{transform:none;transition:none}.fs__chip i{animation:none}}
/* events page lead */
.fs--lead{height:100vh;height:100svh}
.fs--lead .fs__title{font-size:clamp(2.1rem,5.2vw,5.4rem)}
.fs-intro{padding-block:clamp(70px,11vh,130px) clamp(30px,5vh,60px)}
.fs-intro .h2{max-width:20ch}

/* ---- split panels: whole photo shown uncropped on a blurred full-bleed backdrop ---- */
.fs--split .fs__bg img{filter:blur(26px) saturate(1.05) brightness(.9);transform:scale(1.25)!important;transition:none;object-position:50% 50%}
.fs__figure{position:absolute;z-index:0;top:50%;right:max(4vw,calc((100vw - 1320px)/2 + 24px));height:min(84vh,84svh,900px);aspect-ratio:var(--ar,3/4);max-width:46vw;margin:0;transform:translateY(-50%) translateY(var(--fy,0px)) scale(.97);opacity:0;transition:opacity 1.2s cubic-bezier(.2,.7,.1,1),transform 1.6s cubic-bezier(.2,.7,.1,1);border-radius:6px;overflow:hidden;box-shadow:0 40px 120px -20px rgba(0,0,0,.8),0 0 0 1px rgba(234,240,246,.22)}
.fs.is-in .fs__figure{opacity:1;transform:translateY(-50%) scale(1)}
.fs__figure img{width:100%;height:100%;object-fit:cover;display:block}
.fs__figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(6,9,13,.5));pointer-events:none}
.fs__figure figcaption{position:absolute;left:14px;bottom:12px;z-index:1;font-family:var(--f-orb);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#eaf0f6cc}
.fs--split.fs--right .fs__figure{right:auto;left:max(4vw,calc((100vw - 1320px)/2 + 24px))}
.fs--split .fs__in{max-width:min(1320px,100%)}
.fs--split .fs__title,.fs--split .fs__text{max-width:min(12.5em,46%)}
.fs--split .fs__text{max-width:min(46ch,44%)}
.fs--split.fs--right .fs__in{align-items:flex-end;text-align:right}
.fs--split .fs__shade{background:linear-gradient(180deg,rgba(6,9,13,.45) 0%,rgba(6,9,13,.1) 30%,rgba(6,9,13,.2) 60%,rgba(6,9,13,.9) 100%)}
@media(max-width:860px){
  .fs__figure{display:none}
  .fs--split .fs__bg img{filter:none;transform:scale(1.04)!important;object-position:var(--pos-m,50% 50%)}
  .fs--split .fs__title,.fs--split .fs__text{max-width:100%}
  .fs--split.fs--right .fs__in{align-items:flex-start;text-align:left}
}
.zf-pod{pointer-events:none}
