:root {
  --black: #050506;
  --black-2: #08080a;
  --white: #f2f3f4;
  --muted: rgba(242, 243, 244, .64);
  --dim: rgba(242, 243, 244, .37);
  --line: rgba(242, 243, 244, .12);
  --cyan: #51d7ee;
  --magenta: #d54eb7;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --display: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --max: 1450px;
  --gutter: clamp(22px, 4.2vw, 72px);
  --header: 84px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); }
body { margin: 0; min-width: 320px; overflow-x: hidden; background: var(--black); color: var(--white); font-family: var(--display); -webkit-font-smoothing: antialiased; text-rendering: geometricPrecision; }
body.fs-menu-open { overflow: hidden; }
body, button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img { max-width: 100%; }
button { color: inherit; font: inherit; }

.fs-skip { position: fixed; z-index: 500; top: 12px; left: 12px; padding: 10px 14px; transform: translateY(-150%); background: var(--white); color: var(--black); text-decoration: none; }
.fs-skip:focus { transform: translateY(0); }
.fs-page { position: relative; background: var(--black); }
.fs-shell { position: relative; z-index: 5; width: min(calc(100% - (var(--gutter) * 2)), var(--max)); margin-inline: auto; }

.fs-topbar { position: fixed; z-index: 100; inset: 0 0 auto; height: var(--header); display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-inline: var(--gutter); border-bottom: 1px solid transparent; background: linear-gradient(180deg, rgba(5,5,6,.78), rgba(5,5,6,0)); transition: height .28s ease, background .28s ease, border-color .28s ease; }
.fs-topbar.is-scrolled { height: 68px; border-color: rgba(242,243,244,.08); background: rgba(5,5,6,.84); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.fs-brand { display: inline-flex; width: clamp(150px, 13vw, 205px); text-decoration: none; }
.fs-brand img { display: block; width: 100%; height: auto; }
.fs-topbar__right { display: flex; align-items: center; gap: 18px; }
.fs-topbar__label { color: rgba(242,243,244,.4); font: 650 8px/1 var(--mono); letter-spacing: .2em; text-transform: uppercase; }
.fs-topbar__cta { position: relative; padding: 12px 14px 11px; border: 1px solid rgba(242,243,244,.22); font: 700 8px/1 var(--mono); letter-spacing: .15em; text-decoration: none; text-transform: uppercase; transition: border-color .22s ease, background .22s ease, transform .22s ease; }
.fs-topbar__cta::after { content: ""; position: absolute; inset: auto 0 -1px; height: 1px; background: linear-gradient(90deg, var(--cyan), var(--magenta)); }
.fs-topbar__cta:hover, .fs-topbar__cta:focus-visible { border-color: rgba(242,243,244,.52); background: rgba(255,255,255,.04); transform: translateY(-1px); }
.fs-menu-trigger { width: 42px; height: 42px; padding: 12px 8px; display: grid; align-content: center; gap: 7px; border: 0; background: transparent; cursor: pointer; }
.fs-menu-trigger span { width: 100%; height: 1px; background: var(--white); transition: width .25s ease; }
.fs-menu-trigger span:last-child { width: 64%; justify-self: end; }
.fs-menu-trigger:hover span:last-child { width: 100%; }

.fs-menu { position: fixed; z-index: 300; inset: 0; visibility: hidden; overflow: hidden; background: rgba(2,3,4,.97); opacity: 0; transform: translateY(-12px); transition: opacity .32s ease, transform .48s cubic-bezier(.16,1,.3,1), visibility 0s linear .48s; }
.fs-menu.is-open { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
.fs-menu::before { content: ""; position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(81,215,238,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(81,215,238,.08) 1px, transparent 1px); background-size: 76px 76px; -webkit-mask-image: radial-gradient(circle at 75% 45%, #000, transparent 62%); mask-image: radial-gradient(circle at 75% 45%, #000, transparent 62%); }
.fs-menu__close { position: absolute; z-index: 4; top: 22px; right: var(--gutter); width: 42px; height: 42px; border: 0; background: transparent; cursor: pointer; }
.fs-menu__close span { position: absolute; left: 8px; right: 8px; top: 20px; height: 1px; background: var(--white); transform: rotate(45deg); }
.fs-menu__close span:last-child { transform: rotate(-45deg); }
.fs-menu__inner { position: relative; z-index: 2; width: min(calc(100% - (var(--gutter) * 2)), 1050px); min-height: 100svh; margin-inline: auto; padding: clamp(120px, 15vh, 180px) 0 50px; display: flex; flex-direction: column; justify-content: center; }
.fs-menu__eyebrow, .fs-menu__footer { color: var(--dim); font: 700 8px/1.4 var(--mono); letter-spacing: .2em; text-transform: uppercase; }
.fs-menu__nav { margin-top: 32px; border-top: 1px solid var(--line); }
.fs-menu__nav > a, .fs-menu__disabled, .fs-menu__contact-title { min-height: 112px; padding: 22px 0; display: grid; grid-template-columns: 54px 1fr auto; align-items: center; border-bottom: 1px solid var(--line); text-decoration: none; }
.fs-menu__nav small { color: var(--dim); font: 700 8px/1 var(--mono); letter-spacing: .17em; }
.fs-menu__nav strong { font-size: clamp(36px, 5vw, 68px); font-weight: 580; letter-spacing: -.05em; line-height: .9; text-transform: uppercase; }
.fs-menu__nav > a > span { color: var(--cyan); }
.fs-menu__nav > a { transition: padding .3s ease, background .3s ease; }
.fs-menu__nav > a:hover, .fs-menu__nav > a:focus-visible { padding-inline: 16px; background: rgba(255,255,255,.025); outline: none; }
.fs-menu__disabled { color: rgba(242,243,244,.36); }
.fs-menu__disabled em { color: rgba(213,78,183,.62); font: 700 7px/1 var(--mono); font-style: normal; letter-spacing: .15em; text-transform: uppercase; }
.fs-menu__contact { border-bottom: 1px solid var(--line); }
.fs-menu__contact-title { border-bottom: 0; }
.fs-menu__contact-actions { padding: 0 0 24px 54px; display: flex; flex-wrap: wrap; gap: 10px; }
.fs-menu__contact-actions a { padding: 13px 15px; border: 1px solid rgba(242,243,244,.14); color: rgba(242,243,244,.7); font: 700 8px/1.25 var(--mono); letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.fs-menu__contact-actions a span { color: var(--cyan); }
.fs-menu__contact-actions a:hover, .fs-menu__contact-actions a:focus-visible { border-color: var(--cyan); color: var(--white); outline: none; }
.fs-menu__nav > .fs-menu__redeem { min-height: 0; margin-top: 20px; padding: 17px 19px; display: grid; grid-template-columns: 1fr; gap: 8px; border: 1px solid rgba(213,78,183,.34); background: linear-gradient(110deg, rgba(213,78,183,.08), rgba(81,215,238,.035)); }
.fs-menu__redeem small { grid-column: 1; color: rgba(213,78,183,.72); }
.fs-menu__redeem strong { grid-column: 1; font: 700 13px/1.2 var(--mono); letter-spacing: .1em; }
.fs-menu__redeem-actions { margin-top: 8px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.fs-menu__redeem-actions a { padding: 11px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid rgba(242,243,244,.13); font: 700 7px/1.3 var(--mono); letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.fs-menu__redeem-actions b { color: var(--white); font-weight: 700; }
.fs-menu__redeem-actions span { color: var(--magenta); }
.fs-menu__redeem-actions a:hover, .fs-menu__redeem-actions a:focus-visible { border-color: var(--magenta); background: rgba(213,78,183,.06); outline: none; }
.fs-menu__footer { margin: 28px 0 0; }
.fs-menu__signal { position: absolute; right: -7vw; top: 50%; width: min(48vw, 720px); aspect-ratio: 1; transform: translateY(-50%); opacity: .56; }
.fs-menu__signal i, .fs-menu__signal b { position: absolute; left: 50%; top: 50%; display: block; transform: translate(-50%, -50%); }
.fs-menu__signal i { width: 78%; aspect-ratio: 1; border: 1px solid rgba(81,215,238,.13); border-radius: 50%; animation: fs-ring 26s linear infinite; }
.fs-menu__signal i:nth-child(2) { width: 45%; border-radius: 0; border-color: rgba(213,78,183,.17); transform: translate(-50%,-50%) rotate(45deg); animation-duration: 18s; animation-direction: reverse; }
.fs-menu__signal b { width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 20px var(--cyan), 0 0 80px rgba(81,215,238,.6); }

.fs-rail { position: fixed; z-index: 90; right: 18px; top: 50%; display: flex; flex-direction: column; gap: 9px; transform: translateY(-50%); }
.fs-rail a { position: relative; width: 28px; height: 24px; display: grid; place-items: center; color: rgba(242,243,244,.25); font: 700 8px/1 var(--mono); text-decoration: none; transition: color .22s ease; }
.fs-rail a::after { content: ""; position: absolute; right: 0; width: 4px; height: 1px; background: currentColor; transition: width .22s ease; }
.fs-rail a.is-active { color: rgba(242,243,244,.86); }
.fs-rail a.is-active::after { width: 12px; background: linear-gradient(90deg, var(--cyan), var(--magenta)); }

.fs-section { position: relative; min-height: 100svh; overflow: hidden; isolation: isolate; border-top: 1px solid rgba(242,243,244,.055); background: var(--black); }
.fs-section:nth-of-type(even) { background: var(--black-2); }
.fs-section::before { content: ""; position: absolute; z-index: 2; inset: 0 0 auto; height: 1px; opacity: .5; background: linear-gradient(90deg, transparent 2%, rgba(81,215,238,.44) 24%, rgba(213,78,183,.28) 58%, transparent 94%); }
.fs-section__wash { position: absolute; z-index: -2; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(5,5,6,.99), rgba(5,5,6,.95) 38%, rgba(5,5,6,.72) 72%), linear-gradient(180deg, rgba(5,5,6,.8), rgba(5,5,6,.12) 30%, rgba(5,5,6,.98)); }
.fs-section__wash--left { background: linear-gradient(90deg, rgba(8,8,10,.76), rgba(8,8,10,.72) 27%, rgba(8,8,10,.96) 62%), linear-gradient(180deg, rgba(8,8,10,.9), rgba(8,8,10,.2) 30%, rgba(8,8,10,.98)); }
.fs-section__wash--right { background: linear-gradient(90deg, var(--black), rgba(5,5,6,.96) 46%, rgba(5,5,6,.76)), linear-gradient(180deg, rgba(5,5,6,.9), rgba(5,5,6,.24) 35%, rgba(5,5,6,.99)); }
.fs-section__wash--deep { background: radial-gradient(circle at 68% 36%, rgba(5,5,6,.52), rgba(5,5,6,.9) 53%, var(--black) 82%), linear-gradient(180deg, rgba(5,5,6,.88), rgba(5,5,6,.3) 34%, var(--black)); }
.fs-media { position: absolute; z-index: -3; pointer-events: none; background-repeat: no-repeat; filter: grayscale(1) contrast(1.08) brightness(.62); mix-blend-mode: luminosity; transform: scale(1.035); }
.fs-media--hero { inset: 0 0 0 38%; opacity: .13; background: url("assets/foundation-conversation.webp") 54% 50%/cover no-repeat; -webkit-mask-image: linear-gradient(90deg, transparent, #000 25%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 25%, #000 90%, transparent); }
.fs-media--dj { inset: 0 49% 0 0; opacity: .09; background: url("assets/foundation-dj.webp") 53% center/cover no-repeat; -webkit-mask-image: linear-gradient(90deg, #000, #000 62%, transparent); mask-image: linear-gradient(90deg, #000, #000 62%, transparent); }
.fs-media--equipment { inset: 8% -8% 0 43%; opacity: .07; background: url("assets/foundation-equipment.webp") 48% center/cover no-repeat; -webkit-mask-image: radial-gradient(ellipse at 58% 52%, #000 10%, rgba(0,0,0,.76) 50%, transparent 82%); mask-image: radial-gradient(ellipse at 58% 52%, #000 10%, rgba(0,0,0,.76) 50%, transparent 82%); }
.fs-media--room { inset: 0 0 0 42%; opacity: .065; background: url("assets/foundation-room-angle.webp") center/cover no-repeat; -webkit-mask-image: linear-gradient(90deg, transparent, #000 28%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 28%, #000 88%, transparent); }
.fs-noise { position: absolute; z-index: 15; inset: 0; pointer-events: none; opacity: .075; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }

.fs-kicker { display: flex; align-items: center; gap: 13px; margin-bottom: clamp(20px, 2.5vh, 30px); color: rgba(242,243,244,.54); font: 700 clamp(8px, .64vw, 10px)/1 var(--mono); letter-spacing: .2em; text-transform: uppercase; }
.fs-kicker__line { width: clamp(34px, 4vw, 62px); height: 1px; flex: 0 0 auto; background: linear-gradient(90deg, var(--cyan), var(--magenta)); }
.fs-kicker__dot { width: 3px; height: 3px; border-radius: 50%; background: rgba(242,243,244,.38); }
.fs-chapter, .fs-section-number { color: rgba(242,243,244,.34); font: 700 8px/1 var(--mono); letter-spacing: .2em; text-transform: uppercase; }
.fs-chapter { position: absolute; top: calc(var(--header) + 28px); right: 0; display: flex; gap: 16px; }
.fs-section-number { position: absolute; z-index: 8; top: calc(var(--header) + 26px); right: var(--gutter); display: flex; gap: 16px; }
.fs-chapter strong, .fs-section-number strong { color: rgba(242,243,244,.76); }

.fs-hero__shell { min-height: 100svh; display: flex; align-items: center; padding-block: calc(var(--header) + 70px) 116px; }
.fs-legacy-alert { position: absolute; z-index: 20; top: var(--header); left: 0; right: 0; border-top: 1px solid rgba(213,78,183,.18); border-bottom: 1px solid var(--line); background: rgba(5,5,6,.72); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.fs-legacy-alert__inner { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.fs-legacy-alert p { margin: 0; display: flex; align-items: center; gap: 18px; }
.fs-legacy-alert strong { font: 700 8px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; }
.fs-legacy-alert p span { color: rgba(242,243,244,.48); font-size: 12px; }
.fs-legacy-alert__actions { flex: 0 0 auto; display: flex; gap: 8px; }
.fs-legacy-alert a { flex: 0 0 auto; padding: 10px 12px; border: 1px solid rgba(213,78,183,.28); color: rgba(242,243,244,.76); font: 700 7px/1 var(--mono); letter-spacing: .13em; text-decoration: none; text-transform: uppercase; }
.fs-legacy-alert a b { margin-right: 10px; color: var(--white); font-weight: 700; }
.fs-legacy-alert a span { color: var(--magenta); }
.fs-legacy-alert a:hover, .fs-legacy-alert a:focus-visible { border-color: var(--magenta); color: var(--white); outline: none; }
.fs-hero__content { max-width: 900px; }
.fs-hero h1, .fs-section h2 { margin: 0; text-wrap: balance; text-transform: uppercase; }
.fs-hero h1 { max-width: 870px; font-size: clamp(60px, 6.7vw, 108px); font-weight: 610; letter-spacing: -.064em; line-height: .86; }
.fs-hero__lede { max-width: 650px; margin: clamp(28px, 4vh, 42px) 0 0; color: var(--muted); font-size: clamp(16px, 1.1vw, 19px); line-height: 1.58; letter-spacing: -.01em; }
.fs-actions { margin-top: clamp(30px, 4.5vh, 48px); display: flex; align-items: center; flex-wrap: wrap; gap: 20px 28px; }
.fs-button { position: relative; isolation: isolate; min-width: 275px; min-height: 58px; padding: 0 19px 0 22px; display: inline-flex; align-items: center; justify-content: space-between; gap: 34px; overflow: hidden; border: 1px solid rgba(242,243,244,.27); background: rgba(5,5,6,.34); font: 740 9px/1 var(--mono); letter-spacing: .15em; text-decoration: none; text-transform: uppercase; transition: transform .22s ease, border-color .22s ease, background .22s ease; }
.fs-button::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: 0; background: linear-gradient(110deg, rgba(81,215,238,.1), rgba(213,78,183,.08)); transition: opacity .22s ease; }
.fs-button::after { content: ""; position: absolute; inset: auto 0 0; height: 1px; background: linear-gradient(90deg, var(--cyan), var(--magenta)); }
.fs-button:hover, .fs-button:focus-visible { transform: translateY(-2px); border-color: rgba(242,243,244,.55); background: rgba(5,5,6,.62); outline: none; }
.fs-button:hover::before, .fs-button:focus-visible::before { opacity: 1; }
.fs-button:focus-visible, .fs-topbar__cta:focus-visible, .fs-menu-trigger:focus-visible, .fs-menu__close:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
.fs-micro { margin: 0; display: flex; align-items: center; gap: 10px; color: rgba(242,243,244,.36); font: 700 8px/1.5 var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.fs-micro i { width: 3px; height: 3px; border-radius: 50%; background: rgba(242,243,244,.34); }
.fs-enter { position: absolute; z-index: 8; right: var(--gutter); bottom: 32px; display: flex; align-items: center; gap: 12px; color: rgba(242,243,244,.36); font: 700 8px/1 var(--mono); letter-spacing: .2em; text-decoration: none; text-transform: uppercase; }
.fs-enter__line { width: 58px; height: 1px; overflow: hidden; background: rgba(242,243,244,.16); }
.fs-enter__line::after { content: ""; display: block; width: 28px; height: 1px; background: linear-gradient(90deg, var(--cyan), var(--magenta)); animation: fs-line 2.2s ease-in-out infinite; }

.fs-split { min-height: 100svh; padding-block: calc(var(--header) + 76px) 100px; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr); gap: clamp(55px, 8vw, 135px); align-items: center; }
.fs-split__title h2 { max-width: 820px; font-size: clamp(52px, 5.6vw, 92px); font-weight: 590; letter-spacing: -.06em; line-height: .88; }
.fs-split__copy { max-width: 540px; justify-self: end; align-self: end; padding-bottom: 36px; }
.fs-copy { margin: 18px 0 0; color: var(--muted); font-size: clamp(15px, 1.02vw, 18px); line-height: 1.68; letter-spacing: -.01em; }
.fs-copy--lead { margin-top: 0; color: rgba(242,243,244,.88); font-size: clamp(20px, 1.45vw, 25px); line-height: 1.43; }
.fs-copy--wide { max-width: 700px; }
.fs-mantra { margin: 32px 0 0; padding-top: 18px; border-top: 1px solid rgba(242,243,244,.1); color: rgba(242,243,244,.46); font: 700 8px/1.7 var(--mono); letter-spacing: .16em; text-transform: uppercase; }

.fs-included__shell { min-height: 100svh; padding-block: calc(var(--header) + 70px) 105px; display: flex; flex-direction: column; justify-content: center; }
.fs-section-heading { max-width: 960px; }
.fs-section-heading h2 { max-width: 920px; font-size: clamp(52px, 5.6vw, 92px); font-weight: 590; letter-spacing: -.06em; line-height: .88; }
.fs-heading-copy { max-width: 670px; margin: 28px 0 0; color: var(--muted); font-size: clamp(15px, 1.04vw, 18px); line-height: 1.62; }
.fs-included-grid { margin-top: clamp(50px, 7vh, 78px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: rgba(242,243,244,.1); }
.fs-module { min-height: 310px; padding: clamp(26px, 2.9vw, 42px); background: rgba(5,5,6,.92); }
.fs-module__top { padding-bottom: 18px; display: flex; justify-content: space-between; gap: 18px; border-bottom: 1px solid rgba(242,243,244,.1); color: var(--dim); font: 700 8px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; }
.fs-module__top span { color: rgba(242,243,244,.78); }
.fs-module__top strong { color: rgba(81,215,238,.68); font-weight: 700; }
.fs-module h3 { margin: 28px 0 0; font-size: clamp(28px, 2.5vw, 42px); font-weight: 590; letter-spacing: -.045em; line-height: .94; text-transform: uppercase; }
.fs-module p { max-width: 430px; margin: 18px 0 0; color: var(--muted); font-size: clamp(14px, .98vw, 17px); line-height: 1.62; }

.fs-choose { min-height: auto; }
.fs-choose__grid { min-height: 100svh; padding-block: calc(var(--header) + 80px) 95px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(400px, .7fr); gap: clamp(56px, 8vw, 130px); align-items: center; }
.fs-choose__intro { max-width: 780px; }
.fs-choose__intro h2 { font-size: clamp(52px, 5.6vw, 92px); font-weight: 590; letter-spacing: -.06em; line-height: .88; }
.fs-room-readout { width: min(590px, 100%); margin-top: 38px; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); background: rgba(5,5,6,.52); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.fs-room-readout div { min-height: 88px; padding: 18px 20px; display: grid; grid-template-columns: 28px 1fr; align-content: center; gap: 8px 12px; }
.fs-room-readout div + div { border-left: 1px solid var(--line); }
.fs-room-readout span { grid-row: 1 / 3; color: var(--dim); font: 700 8px/1 var(--mono); }
.fs-room-readout strong { font-size: 15px; font-weight: 620; letter-spacing: .04em; text-transform: uppercase; }
.fs-room-readout small { color: var(--dim); font: 700 7px/1 var(--mono); letter-spacing: .14em; }
.fs-offer { padding: clamp(28px, 3.3vw, 48px); border: 1px solid rgba(242,243,244,.14); background: rgba(5,5,6,.78); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.fs-offer__price { padding-bottom: 26px; border-bottom: 1px solid rgba(242,243,244,.11); }
.fs-offer__price > span { display: block; color: rgba(242,243,244,.45); font: 700 8px/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; }
.fs-offer__price strong { display: block; margin-top: 14px; font-size: clamp(66px, 6vw, 96px); font-weight: 560; letter-spacing: -.06em; line-height: .84; }
.fs-offer__price small { display: block; max-width: 330px; margin-top: 17px; color: var(--muted); font-size: 13px; line-height: 1.52; }
.fs-offer__list { margin: 0; padding: 0 0 24px; }
.fs-offer__list div { padding: 15px 0; display: flex; justify-content: space-between; gap: 24px; border-bottom: 1px solid rgba(242,243,244,.08); }
.fs-offer__list dt { color: rgba(242,243,244,.43); font: 700 8px/1.4 var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.fs-offer__list dd { margin: 0; color: rgba(242,243,244,.88); font-size: 13px; font-weight: 600; text-align: right; }
.fs-button--full { width: 100%; min-width: 0; }

.fs-client-paths { margin-bottom: 96px; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(242,243,244,.1); }
.fs-client-path { min-height: 300px; padding: clamp(28px, 3.3vw, 46px); display: flex; flex-direction: column; align-items: flex-start; background: #08080a; }
.fs-client-path--legacy { background: linear-gradient(135deg, rgba(213,78,183,.04), transparent 58%), #08080a; }
.fs-path-label { margin: 0; color: rgba(81,215,238,.62); font: 700 8px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; }
.fs-client-path--legacy .fs-path-label { color: rgba(213,78,183,.65); }
.fs-client-path h3 { max-width: 520px; margin: 25px 0 0; font-size: clamp(31px, 3.1vw, 52px); font-weight: 590; letter-spacing: -.05em; line-height: .93; text-transform: uppercase; }
.fs-client-path > p:not(.fs-path-label) { max-width: 520px; margin: 18px 0 28px; color: var(--muted); font-size: 15px; line-height: 1.58; }
.fs-client-path > a { margin-top: auto; padding-bottom: 8px; border-bottom: 1px solid rgba(242,243,244,.24); color: rgba(242,243,244,.74); font: 700 8px/1 var(--mono); letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.fs-client-path > a span { color: var(--cyan); }
.fs-client-path--legacy > a span { color: var(--magenta); }
.fs-client-path > a:hover, .fs-client-path > a:focus-visible { color: var(--white); border-color: var(--cyan); outline: none; }
.fs-client-path__redeem-actions { width: 100%; margin-top: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.fs-client-path__redeem-actions a { padding: 13px 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid rgba(213,78,183,.22); color: rgba(242,243,244,.75); font: 700 8px/1.3 var(--mono); letter-spacing: .11em; text-decoration: none; text-transform: uppercase; }
.fs-client-path__redeem-actions a span { color: var(--magenta); font-size: 7px; }
.fs-client-path__redeem-actions a:hover, .fs-client-path__redeem-actions a:focus-visible { border-color: var(--magenta); color: var(--white); background: rgba(213,78,183,.04); outline: none; }
.fs-question-bar { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.015); }
.fs-question-bar__inner { min-height: 112px; padding-block: 24px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.fs-question-bar p { margin: 0; display: grid; gap: 7px; }
.fs-question-bar strong { font-size: 15px; letter-spacing: .02em; text-transform: uppercase; }
.fs-question-bar p span { color: var(--dim); font-size: 13px; }
.fs-question-bar__inner > div { display: flex; flex-wrap: wrap; gap: 10px; }
.fs-question-bar a { padding: 13px 14px; border: 1px solid rgba(242,243,244,.14); color: rgba(242,243,244,.68); font: 700 8px/1 var(--mono); letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.fs-question-bar a:hover, .fs-question-bar a:focus-visible { border-color: var(--cyan); color: var(--white); outline: none; }
.fs-footer { position: relative; z-index: 7; min-height: 72px; padding-inline: var(--gutter); display: grid; grid-template-columns: 1fr auto 1fr; gap: 28px; align-items: center; color: rgba(242,243,244,.3); font: 700 7px/1.4 var(--mono); letter-spacing: .18em; text-transform: uppercase; }
.fs-footer span:nth-child(2) { text-align: center; }
.fs-footer span:last-child { text-align: right; }

.js .fs-reveal { opacity: 0; transform: translateY(22px); transition: opacity .72s cubic-bezier(.22,.75,.25,1), transform .72s cubic-bezier(.22,.75,.25,1); }
.js .fs-reveal.is-visible { opacity: 1; transform: none; }

@keyframes fs-line { 0%, 100% { transform: translateX(-30px); opacity: 0; } 15%, 65% { opacity: 1; } 85% { transform: translateX(70px); opacity: 0; } }
@keyframes fs-ring { to { transform: translate(-50%, -50%) rotate(360deg); } }

@media (max-width: 1080px) {
  .fs-rail { display: none; }
  .fs-split { grid-template-columns: 1fr; gap: 44px; align-content: center; }
  .fs-split__copy { justify-self: start; align-self: auto; padding-bottom: 0; }
  .fs-included-grid { grid-template-columns: 1fr; }
  .fs-module { min-height: 0; }
  .fs-choose__grid { grid-template-columns: 1fr; gap: 50px; }
  .fs-offer { width: min(630px, 100%); justify-self: end; }
}

@media (max-width: 720px) {
  :root { --header: 70px; --gutter: 20px; }
  .fs-topbar { height: 70px; padding-inline: 18px; }
  .fs-topbar.is-scrolled { height: 60px; }
  .fs-brand { width: 132px; }
  .fs-topbar__label { display: none; }
  .fs-topbar__cta { padding: 10px 9px 9px; font-size: 7px; }
  .fs-menu-trigger { width: 36px; padding-inline: 7px; }
  .fs-menu__close { top: 14px; right: 15px; }
  .fs-menu__inner { width: calc(100% - 40px); padding-top: 95px; justify-content: flex-start; }
  .fs-menu__nav > a, .fs-menu__disabled, .fs-menu__contact-title { min-height: 86px; grid-template-columns: 36px 1fr auto; }
  .fs-menu__nav strong { font-size: clamp(34px, 11vw, 50px); }
  .fs-menu__contact-actions { padding-left: 36px; display: grid; }
  .fs-menu__contact-actions a { font-size: 7px; overflow-wrap: anywhere; }
  .fs-menu__nav > .fs-menu__redeem { margin-top: 14px; padding: 15px 16px; }
  .fs-menu__redeem strong { font-size: 10px; }
  .fs-menu__redeem-actions { grid-template-columns: 1fr; }
  .fs-menu__signal { right: -70vw; width: 150vw; opacity: .32; }
  .fs-section-number, .fs-chapter { top: calc(var(--header) + 15px); right: 20px; font-size: 7px; }
  .fs-section-number span, .fs-chapter span { display: none; }

  .fs-media--hero { inset: 0; opacity: .065; background-size: auto 70%; background-position: 62% 8%; -webkit-mask-image: linear-gradient(180deg, #000, #000 40%, transparent 74%); mask-image: linear-gradient(180deg, #000, #000 40%, transparent 74%); }
  .fs-section__wash, .fs-section__wash--left, .fs-section__wash--right, .fs-section__wash--deep { background: linear-gradient(180deg, rgba(5,5,6,.56), rgba(5,5,6,.67) 30%, rgba(5,5,6,.97) 62%, var(--black)); }
  .fs-hero { min-height: min(100svh, 980px); }
  .fs-hero__shell { min-height: min(100svh, 980px); align-items: flex-end; padding-block: 245px 88px; }
  .fs-legacy-alert { top: var(--header); }
  .fs-legacy-alert__inner { min-height: 78px; padding-block: 12px; align-items: flex-start; flex-direction: column; gap: 10px; }
  .fs-legacy-alert p { display: grid; gap: 6px; }
  .fs-legacy-alert strong { font-size: 7px; }
  .fs-legacy-alert p span { font-size: 10px; line-height: 1.35; }
  .fs-legacy-alert__actions { width: 100%; display: grid; grid-template-columns: 1fr; }
  .fs-legacy-alert a { width: 100%; display: flex; align-items: center; justify-content: space-between; }
  .fs-hero h1 { font-size: clamp(48px, 14.2vw, 66px); line-height: .89; letter-spacing: -.057em; }
  .fs-hero__lede { margin-top: 22px; font-size: 15px; line-height: 1.54; }
  .fs-actions { display: block; margin-top: 28px; }
  .fs-button { width: 100%; min-width: 0; min-height: 56px; font-size: 8px; }
  .fs-micro { margin-top: 15px; flex-wrap: wrap; gap: 7px; font-size: 7px; }
  .fs-enter { right: 20px; bottom: 22px; }
  .fs-enter > span:first-child { display: none; }
  .fs-enter__line { width: 44px; }
  .fs-kicker { gap: 9px; margin-bottom: 18px; font-size: 7px; }
  .fs-kicker__line { width: 28px; }
  .fs-kicker__dot { display: none; }

  .fs-split, .fs-included__shell, .fs-choose__grid { min-height: auto; padding-block: 112px 86px; }
  .fs-split__title h2, .fs-section-heading h2, .fs-choose__intro h2 { font-size: clamp(45px, 13vw, 62px); line-height: .9; letter-spacing: -.056em; }
  .fs-copy { font-size: 15px; line-height: 1.62; }
  .fs-copy--lead { font-size: 19px; }
  .fs-mantra { margin-top: 26px; font-size: 7px; }
  .fs-media--dj { inset: 0 0 48%; opacity: .05; -webkit-mask-image: linear-gradient(180deg, #000, #000 50%, transparent); mask-image: linear-gradient(180deg, #000, #000 50%, transparent); }

  .fs-heading-copy { margin-top: 22px; font-size: 14px; }
  .fs-included-grid { margin-top: 38px; }
  .fs-module { padding: 26px 22px 30px; }
  .fs-module h3 { font-size: 34px; }
  .fs-module p { font-size: 14px; }
  .fs-media--equipment { inset: 20% -35% 20% 26%; opacity: .04; }

  .fs-choose__grid { gap: 42px; }
  .fs-room-readout { grid-template-columns: 1fr; margin-top: 30px; }
  .fs-room-readout div + div { border-left: 0; border-top: 1px solid var(--line); }
  .fs-offer { justify-self: stretch; padding: 26px 21px; }
  .fs-offer__price strong { font-size: 74px; }
  .fs-media--room { inset: 0; opacity: .035; background-position: center top; -webkit-mask-image: linear-gradient(180deg, #000, rgba(0,0,0,.6) 35%, transparent 72%); mask-image: linear-gradient(180deg, #000, rgba(0,0,0,.6) 35%, transparent 72%); }

  .fs-client-paths { margin-bottom: 72px; grid-template-columns: 1fr; }
  .fs-client-path { min-height: 270px; padding: 27px 22px 30px; }
  .fs-client-path h3 { font-size: 38px; }
  .fs-client-path__redeem-actions { grid-template-columns: 1fr; }
  .fs-question-bar__inner { min-height: 0; padding-block: 28px; align-items: flex-start; flex-direction: column; }
  .fs-question-bar__inner > div { width: 100%; display: grid; }
  .fs-question-bar a { text-align: center; }
  .fs-footer { min-height: 112px; padding-block: 22px; grid-template-columns: 1fr; gap: 7px; text-align: center; }
  .fs-footer span:nth-child(2), .fs-footer span:last-child { text-align: center; }
}

@media (max-width: 430px) {
  .fs-topbar__cta { display: none; }
  .fs-hero__shell { padding-top: 225px; }
  .fs-offer__list dt { font-size: 7px; }
  .fs-offer__list dd { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .js .fs-reveal { opacity: 1; transform: none; }
}
