@property --s0 { syntax: '<percentage>'; inherits: true; initial-value: -60%; }
@property --ga { syntax: '<number>'; inherits: true; initial-value: 0; }

.home-lux {
  --ob-950: #0B0B0C;
  --ob-900: #111113;
  --ob-850: #151517;
  --ob-800: #1C1C1F;
  --ob-line: rgba(242,238,230,.09);
  --lux-ivory: #F2EEE6;
  --lux-muted: #A8A399;
  --champagne: #C8B68E;
  --vault: #0E1520;
  --lux-ease: cubic-bezier(.2,.7,.1,1);
  --lux-snap: cubic-bezier(.34,1.42,.5,1);
  --lux-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --lux-sans: 'Montserrat', Arial, sans-serif;
  --lux-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --lux-soft: rgba(242,238,230,.72);
  --lux-steel: rgba(39,87,124,.24);
  --lux-gutter: 16px;
  --lux-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  --lux-grain-soft: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  --navy: var(--awa-navy, #071627);
  --navy-deep: var(--awa-navy-deep, #04101c);
  --navy-lift: var(--awa-navy-lift, #0D2239);
  --gold: var(--awa-gold, #E0B55F);
  --gold-deep: var(--awa-gold-deep, #C99A42);
  --gold-hi: var(--awa-gold-hi, #F0D18F);
  --ease: var(--awa-ease, cubic-bezier(.2,.7,.1,1));
  background: var(--ob-950);
  color: var(--lux-ivory);
}
@media (min-width: 760px) { .home-lux { --lux-gutter: 40px; } }
@media (min-width: 1200px) { .home-lux { --lux-gutter: 64px; } }

.home-lux main { display: block; overflow-x: clip; }
.lux-wrap { position: relative; width: min(1240px, calc(100% - 2 * var(--lux-gutter))); margin-inline: auto; }
.lux-sec { position: relative; padding-block: clamp(88px, 11vw, 168px); scroll-margin-top: 72px; }
.lux-kicker { margin: 0 0 24px; }
.lux-head { max-width: 920px; }

.lux-h2 {
  margin: 0; max-width: 20ch;
  font-family: var(--lux-serif); font-weight: 500;
  font-size: clamp(2.1rem, 1.3rem + 3vw, 4.1rem);
  line-height: 1.04; letter-spacing: -.012em;
  color: var(--lux-ivory);
  text-wrap: balance;
}
.lux-body {
  margin: 20px 0 0; max-width: 46ch;
  font-size: clamp(1rem, .95rem + .25vw, 1.12rem); line-height: 1.7;
  color: var(--lux-soft);
}
.lux-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: clamp(28px, 4.5vh, 44px); }
.lux-actions--center { justify-content: center; }

.lux-textlink {
  display: inline-flex; align-items: center; min-height: 44px;
  margin-top: 22px;
  font: 600 11px/1 var(--lux-sans); letter-spacing: .2em; text-transform: uppercase;
  color: var(--lux-ivory);
  background:
    linear-gradient(var(--gold), var(--gold)) 0 calc(100% - 10px) / 0 1px no-repeat,
    linear-gradient(rgba(242,238,230,.28), rgba(242,238,230,.28)) 0 calc(100% - 10px) / 100% 1px no-repeat;
  transition: background-size .55s var(--lux-ease), color .4s ease;
}
.lux-textlink:hover, .lux-textlink:focus-visible { background-size: 100% 1px, 100% 1px; color: var(--gold-hi); }
.lux-textlink:focus-visible, .lux-case__name a:focus-visible, .lux-credit a:focus-visible { outline: 1px solid var(--lux-ivory); outline-offset: 4px; }

.lux-credit { margin: 12px 0 0; font-size: 11px; line-height: 1.5; letter-spacing: .03em; color: rgba(168,163,153,.85); }
.lux-credit a { text-decoration: underline; text-decoration-color: rgba(168,163,153,.45); text-underline-offset: 3px; }
.lux-credit a:hover { color: var(--lux-ivory); }
.lux-note { margin: 16px 0 0; max-width: 52ch; font-size: 13px; line-height: 1.6; color: var(--lux-muted); }

.lux-arrow { width: 22px; height: 22px; fill: none; stroke: var(--lux-ivory); stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; transition: transform .5s var(--lux-ease), stroke .4s ease; }

[data-lux-count].is-counting, .lux-coords__txt [data-c].is-rolling { position: relative; color: transparent; text-shadow: none; }
[data-lux-count].is-counting::after, .lux-coords__txt [data-c].is-rolling::after { content: attr(data-v); content: attr(data-v) / ""; position: absolute; left: 0; top: 0; white-space: nowrap; color: var(--lux-count, var(--lux-ivory)); }

.lux-chrome { display: flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-bottom: 1px solid rgba(242,238,230,.08); background: linear-gradient(180deg, rgba(242,238,230,.06), rgba(242,238,230,.02)); }
.lux-chrome i { flex: none; width: 7px; height: 7px; border-radius: 50%; background: rgba(242,238,230,.2); }
.lux-chrome i:first-child { background: rgba(224,181,95,.75); }
.lux-chrome__bar { flex: 1; max-width: 300px; height: 16px; margin-left: 10px; border-radius: 999px; background: rgba(242,238,230,.06); }
.lux-chrome__bar--url { display: flex; align-items: center; justify-content: center; overflow: hidden; font: 500 10px/1 var(--lux-sans); letter-spacing: .06em; white-space: nowrap; color: rgba(242,238,230,.58); }

.lux-sheen { position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0; background: linear-gradient(105deg, rgba(255,246,223,0) 32%, rgba(240,209,143,.16) 44%, rgba(255,250,236,.34) 50%, rgba(240,209,143,.16) 56%, rgba(255,246,223,0) 68%); transform: translate3d(-130%,0,0); }

.lux-hero {
  position: relative; isolation: isolate; overflow: hidden;
  display: flex; align-items: flex-end;
  min-height: 100vh; min-height: max(640px, 100svh);
  padding: 140px 0 clamp(76px, 12vh, 136px);
  background:
    radial-gradient(56% 50% at 74% 30%, rgba(242,238,230,.075), transparent 70%),
    radial-gradient(40% 36% at 86% 74%, rgba(224,181,95,.07), transparent 72%),
    radial-gradient(50% 62% at 10% 16%, rgba(39,87,124,.16), transparent 70%),
    var(--ob-950);
}
.lux-hero__canvas { position: absolute; inset: 0; z-index: -2; display: block; width: 100%; height: 100%; opacity: 0; transition: opacity 1.8s var(--lux-ease); }
.lux-hero.is-live .lux-hero__canvas { opacity: 1; }
.lux-hero__veil { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg, rgba(11,11,12,.6) 0, transparent 24%, transparent 58%, var(--ob-950) 100%); }
.lux-hero__veil::before, .lux-hero__veil::after { content: ""; position: absolute; inset: 0; transition: opacity 1.8s var(--lux-ease); }
.lux-hero__veil::before { background: radial-gradient(125% 95% at 50% 42%, transparent 48%, rgba(0,0,0,.55) 100%); }
.lux-hero__veil::after { background-image: var(--lux-grain); background-size: 160px 160px; opacity: .07; }
.lux-hero.is-live .lux-hero__veil::before, .lux-hero.is-live .lux-hero__veil::after { opacity: 0; }
.lux-hero__inner { z-index: 1; }
.lux-hero__still { position: absolute; z-index: -2; left: 50%; top: 27%; width: min(29vw, 440px); aspect-ratio: 3 / 2; transform: translate(-50%, -50%); margin-left: 26%; pointer-events: none; opacity: 0; -webkit-mask-image: radial-gradient(50% 50% at 50% 50%, #000 58%, rgba(0,0,0,.55) 80%, transparent 100%); mask-image: radial-gradient(50% 50% at 50% 50%, #000 58%, rgba(0,0,0,.55) 80%, transparent 100%); }
.lux-hero__still.is-on { opacity: .9; }
.lux-hero__still[hidden] { display: none; }
.lux-hero__still img { display: block; width: 100%; height: 100%; object-fit: cover; filter: brightness(.84) contrast(1.06) saturate(.78); }
.lux-hero__still::after { content: ""; position: absolute; inset: 0; mix-blend-mode: soft-light; background: linear-gradient(160deg, rgba(39,87,124,.55), rgba(11,11,12,.2) 55%, rgba(224,181,95,.35)); }
@media (max-width: 759px) { .lux-hero__still { top: 84px; width: 60%; margin-left: 6%; transform: translate(-50%, 0); } }

.lux-hero__tag { position: relative; width: fit-content; max-width: 100%; margin: 0 0 clamp(30px, 5.5vh, 60px); padding-bottom: clamp(16px, 2.4vh, 24px); }
.lux-hero__tag::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; transform-origin: 0 50%; background: linear-gradient(90deg, rgba(242,238,230,.4), rgba(224,181,95,.6) 58%, rgba(224,181,95,0)); }

.lux-mark {
  --s0: -60%; --ga: 0; --mx: -999px; --my: -999px; --gr: 180px;
  position: relative;
  width: fit-content; max-width: 100%;
  margin: 0;
  font-family: var(--lux-serif); font-weight: 500;
  font-size: clamp(4.1rem, .4rem + 11vw, 10.5rem);
  line-height: .9; letter-spacing: -.02em;
  color: var(--lux-ivory);
  transition: --ga .6s var(--lux-ease);
}
.lux-mark.is-lit { --ga: 1; }
.lux-mark__line { display: block; white-space: nowrap; }
.lux-mark__word { white-space: nowrap; }
.lux-mark__l { --base: var(--lux-ivory); display: inline-block; padding: .16em .06em .22em; margin: -.16em -.06em -.22em; }
.lux-mark__l--kv { margin-left: -.1em; }
.lux-mark__word--with { font-style: italic; font-weight: 400; font-size: .55em; letter-spacing: .005em; color: var(--gold); }
.lux-mark__word--with .lux-mark__l { --base: var(--gold); }
@media (min-width: 760px) { .lux-mark__line--2 { padding-left: .58em; } }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .lux-mark.is-measured .lux-mark__l {
    color: transparent; -webkit-text-fill-color: transparent;
    background-image:
      radial-gradient(circle var(--gr) at var(--mx) var(--my), rgba(244,214,150, calc(.96 * var(--ga))) 0, rgba(232,190,104, calc(.82 * var(--ga))) 32%, rgba(224,181,95, calc(.34 * var(--ga))) 58%, rgba(224,181,95,0) 78%),
      linear-gradient(100deg, rgba(255,246,223,0) calc(var(--s0) - 18%), rgba(240,209,143,.5) calc(var(--s0) - 6%), rgba(255,250,236,.98) var(--s0), rgba(240,209,143,.5) calc(var(--s0) + 6%), rgba(255,246,223,0) calc(var(--s0) + 18%)),
      linear-gradient(var(--base), var(--base));
    background-size: var(--ww) var(--wh);
    background-position: calc(var(--ox) * -1) calc(var(--oy) * -1);
    background-repeat: no-repeat;
    -webkit-background-clip: text; background-clip: text;
  }
}

.lux-sweep { position: relative; display: block; pointer-events: none; }
.lux-sweep__line, .lux-sweep__glow i { position: absolute; inset: 0; display: block; background: linear-gradient(90deg, rgba(242,238,230,.06), rgba(242,238,230,.32) 34%, var(--gold-deep) 66%, var(--gold) 86%, var(--gold-hi)); -webkit-mask: var(--awa-sweep) 0 0 / 100% 100% no-repeat; mask: var(--awa-sweep) 0 0 / 100% 100% no-repeat; }
.lux-sweep__glow { position: absolute; inset: 0; filter: blur(9px); opacity: .45; clip-path: inset(-300% -20% -300% -20%); }
.lux-sweep--mark { font-size: clamp(4.1rem, .4rem + 11vw, 10.5rem); width: min(100%, 4.7em); height: .2em; margin-top: .12em; }
.lux-hero__lede {
  margin: clamp(20px, 3.2vh, 34px) 0 0; max-width: 36ch;
  font: 400 clamp(1.02rem, .92rem + .5vw, 1.3rem)/1.55 var(--lux-sans);
  color: rgba(242,238,230,.8);
}
@media (min-width: 760px) { .lux-hero__lede { max-width: none; } .lux-hero__lede span { display: block; } }
.lux-hero__cue { position: absolute; left: 50%; bottom: 18px; width: 1px; height: 42px; overflow: hidden; background: linear-gradient(rgba(242,238,230,0), rgba(242,238,230,.26)); }
.lux-hero__cue i { position: absolute; left: -1px; top: 0; width: 3px; height: 12px; border-radius: 2px; background: var(--gold); box-shadow: 0 0 10px rgba(224,181,95,.7); opacity: 0; }

.lux-chapter { position: relative; padding: clamp(84px, 10vw, 156px) 0 clamp(8px, 2vw, 24px); }
.lux-chapter--one { background: var(--ob-950); }
.lux-chapter + .lux-sec { padding-top: clamp(44px, 5.5vw, 92px); }
.lux-chapter--two { padding-top: clamp(110px, 13vw, 200px); background: radial-gradient(50% 60% at 78% 34%, rgba(39,87,124,.2), transparent 70%), linear-gradient(180deg, var(--ob-900) 0%, #0A111B 46%, var(--navy) 100%); }
.lux-chapter--three { padding-top: clamp(110px, 13vw, 200px); background: linear-gradient(180deg, var(--navy-deep) 0%, #0C1117 52%, var(--ob-900) 100%); }

.lux-do { background: linear-gradient(180deg, var(--ob-950) 0, var(--ob-900) 260px); }
.lux-do__grid { display: grid; grid-template-columns: 1fr; gap: clamp(16px, 2vw, 28px); margin-top: clamp(20px, 3vw, 36px); }
@media (min-width: 760px) { .lux-do__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lux-card {
  position: relative; isolation: isolate;
  display: flex; flex-direction: column;
  overflow: hidden; overflow: clip;
  border: 1px solid var(--ob-line); border-radius: 6px;
  background: linear-gradient(165deg, #18181B, var(--ob-950) 78%);
  transition: border-color .5s var(--lux-ease);
}
.lux-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(80% 60% at 18% 100%, rgba(224,181,95,.08), transparent 70%); opacity: 0; transition: opacity .6s var(--lux-ease); }
.lux-card:hover, .lux-card:focus-within { border-color: rgba(224,181,95,.32); }
.lux-card:hover::before, .lux-card:focus-within::before { opacity: 1; }
.lux-card__visual { position: relative; min-height: 0; margin: 0; aspect-ratio: 16 / 10; overflow: hidden; overflow: clip; border-bottom: 1px solid var(--ob-line); background: var(--ob-850); }
.lux-card__body { position: relative; display: flex; flex: 1; flex-direction: column; padding: clamp(24px, 3vw, 40px); }
.lux-card__title { margin: 0; max-width: 18ch; font: 500 clamp(1.7rem, 1.2rem + 1.5vw, 2.5rem)/1.08 var(--lux-serif); letter-spacing: -.01em; }
.lux-card__link { color: var(--lux-ivory); }
.lux-card__link::after, .lux-tile__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.lux-card__link:focus-visible, .lux-tile__link:focus-visible { outline: none; }
.lux-card__link:focus-visible::after, .lux-tile__link:focus-visible::after { outline: 1px solid var(--lux-ivory); outline-offset: -6px; }
.lux-card__text { margin: 14px 0 0; max-width: 40ch; line-height: 1.65; color: rgba(242,238,230,.68); }
.lux-card .lux-arrow { margin-top: auto; padding-top: 28px; box-sizing: content-box; }
.lux-card:hover .lux-arrow, .lux-tile:hover .lux-arrow { transform: translateX(6px); stroke: var(--gold-hi); }
.lux-card__photo img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; filter: saturate(.55) contrast(1.06) brightness(.7); transform: scale(1.01); transition: transform 1.6s var(--lux-ease), filter 1.2s ease; }
.lux-card:hover .lux-card__photo img { transform: scale(1.05); filter: saturate(.78) contrast(1.04) brightness(.8); }
.lux-card__photo::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(11,11,12,0) 50%, rgba(11,11,12,.78)), var(--lux-grain-soft) 0 0 / 160px 160px; }
.lux-card__photo .lux-credit { position: absolute; left: 16px; right: 16px; bottom: 12px; z-index: 2; margin: 0; color: rgba(242,238,230,.72); }
.lux-card__photo .lux-credit a { position: relative; z-index: 3; }

.lux-build { display: flex; flex-direction: column; padding: clamp(16px, 2.6vw, 30px) clamp(16px, 2.6vw, 30px) 0; background: radial-gradient(80% 70% at 78% 0%, rgba(39,87,124,.3), transparent 70%), linear-gradient(160deg, #141418, #0C0C0E); }
.lux-build .lux-chrome { flex: none; border: 1px solid rgba(242,238,230,.11); border-bottom-color: rgba(242,238,230,.07); border-radius: 7px 7px 0 0; }
.lux-build__page { flex: 1; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-rows: 12px minmax(0, 1.3fr) minmax(0, 1fr) 14px; gap: 9px; padding: 12px 12px 14px; border: 1px solid rgba(242,238,230,.11); border-top: 0; border-bottom: 0; background: rgba(11,11,12,.72); }
.lux-build__b { position: relative; display: block; border-radius: 3px; background: rgba(242,238,230,.06); box-shadow: inset 0 0 0 1px rgba(242,238,230,.06); }
.lux-build__b--nav { grid-column: 1 / -1; grid-row: 1; background: linear-gradient(90deg, var(--gold) 0 7%, transparent 7% 62%, rgba(242,238,230,.14) 62% 70%, transparent 70% 74%, rgba(242,238,230,.14) 74% 82%, transparent 82% 86%, rgba(242,238,230,.14) 86% 94%, transparent 94%); box-shadow: none; }
.lux-build__b--hero { grid-column: 1 / 5; grid-row: 2; background: linear-gradient(150deg, rgba(242,238,230,.07), rgba(242,238,230,.02)); }
.lux-build__type { position: absolute; left: 9%; top: 30%; width: 64%; height: 17%; }
.lux-build__type i { position: absolute; inset: 0; border-radius: 2px; background: rgba(242,238,230,.62); }
.lux-build__cur { position: absolute; inset: 0; transform: translate3d(100%,0,0); }
.lux-build__cur::before { content: ""; position: absolute; left: 5px; top: -18%; width: 2px; height: 136%; border-radius: 1px; background: var(--gold-hi); box-shadow: 0 0 8px rgba(224,181,95,.8); }
.lux-build__sub { position: absolute; left: 9%; top: 60%; width: 44%; height: 8%; border-radius: 2px; background: rgba(242,238,230,.2); }
.lux-build__b--img { grid-column: 5 / -1; grid-row: 2 / 4; overflow: hidden; background: radial-gradient(circle at 50% 58%, rgba(240,209,143,.95) 0 12%, rgba(224,181,95,.25) 13% 26%, transparent 27%), linear-gradient(180deg, #0D2239, #27577C 64%, #8E7440); }
.lux-build__b--img::after { content: ""; position: absolute; inset: 52% 0 0; background: #0E0E10; clip-path: polygon(0 100%, 0 46%, 22% 20%, 40% 52%, 62% 6%, 84% 40%, 100% 24%, 100% 100%); }
.lux-build__b--c1 { grid-column: 1 / 3; grid-row: 3; }
.lux-build__b--c2 { grid-column: 3 / 5; grid-row: 3; }
.lux-build__b--c3 { grid-column: 3 / 5; grid-row: 4; background: rgba(242,238,230,.04); }
.lux-build__b--btn { grid-column: 1 / 3; grid-row: 4; border-radius: 999px; background: linear-gradient(90deg, var(--gold-deep), var(--gold-hi)); box-shadow: 0 0 14px rgba(224,181,95,.35); }
.lux-build__b--c1::before, .lux-build__b--c2::before { content: ""; position: absolute; left: 12%; right: 26%; top: 24%; height: 9px; border-radius: 2px; background: rgba(242,238,230,.26); box-shadow: 0 16px 0 -2px rgba(242,238,230,.12), 0 28px 0 -2px rgba(242,238,230,.1); }
.lux-build__b:nth-child(1) { --k: 0; --fy: -16px; }
.lux-build__b:nth-child(2) { --k: 1; --fx: -28px; --fy: 8px; --fr: -2deg; }
.lux-build__b:nth-child(3) { --k: 2; --fx: 30px; --fy: -12px; --fr: 3deg; }
.lux-build__b:nth-child(4) { --k: 3; --fy: 24px; }
.lux-build__b:nth-child(5) { --k: 4; --fy: 28px; --fr: 1.5deg; }
.lux-build__b:nth-child(6) { --k: 5; --fx: 18px; --fy: 18px; }
.lux-build__b:nth-child(7) { --k: 6; --fy: 10px; }

.lux-civ { background: linear-gradient(180deg, var(--ob-900) 0, var(--ob-950) 280px); }
.lux-civ__head .lux-body { max-width: 60ch; }
@media (min-width: 1000px) {
  .lux-civ__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(40px, 6vw, 96px); align-items: end; max-width: none; }
  .lux-civ__head .lux-kicker { grid-column: 1 / -1; justify-self: start; }
  .lux-civ__head .lux-body { margin: 0; }
}
.lux-ascent { --g: clamp(16px, 2.2vw, 34px); --h: clamp(180px, 25vw, 380px); position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; margin: clamp(44px, 6vw, 88px) 0 0; padding: 0; list-style: none; }
.lux-ascent__stop { position: relative; display: flex; flex-direction: column; min-width: 0; }
.lux-ascent__plate { position: relative; margin: 0; aspect-ratio: 4 / 3; overflow: hidden; overflow: clip; border-radius: 4px; background: var(--ob-850); box-shadow: 0 30px 60px -36px rgba(0,0,0,.9); }
.lux-ascent__plate::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(11,11,12,0) 55%, rgba(11,11,12,.5)), var(--lux-grain-soft) 0 0 / 160px 160px; box-shadow: inset 0 0 0 1px rgba(242,238,230,.08); border-radius: inherit; }
.lux-ascent__plate img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.62) contrast(1.06) brightness(.78); transform: scale(1.07); }
.lux-ascent__node { position: relative; z-index: 1; display: block; width: 11px; height: 11px; margin: 16px 0 0; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px rgba(224,181,95,.14), 0 0 16px rgba(224,181,95,.55); }
.lux-ascent__label { display: grid; gap: 5px; margin: 14px 0 0; }
.lux-ascent__label b { font: 500 clamp(1.25rem, 1.05rem + .7vw, 1.65rem)/1.1 var(--lux-serif); color: var(--lux-ivory); }
.lux-ascent__label span { font: 500 10.5px/1.45 var(--lux-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--lux-muted); }
@media (min-width: 860px) {
  .lux-ascent { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 var(--g); }
  .lux-ascent::before { content: ""; position: absolute; left: calc((100% - 3 * var(--g)) / 8); right: calc((100% - 3 * var(--g)) / 8); top: calc(var(--h) + 21.5px); height: 1px; background: rgba(242,238,230,.14); }
  .lux-ascent__stop { padding-top: calc(var(--h) * (1 - var(--f))); }
  .lux-ascent__stop:nth-child(1) { --f: .54; }
  .lux-ascent__stop:nth-child(2) { --f: .66; }
  .lux-ascent__stop:nth-child(3) { --f: .8; }
  .lux-ascent__stop:nth-child(4) { --f: 1; }
  .lux-ascent__plate { aspect-ratio: auto; height: calc(var(--h) * var(--f)); }
  .lux-ascent__node { margin: 16px auto 0; }
  .lux-ascent__label { justify-items: center; text-align: center; }
  .lux-ascent__stop:not(:last-child)::after { content: ""; position: absolute; left: 50%; top: calc(var(--h) + 21px); width: calc(100% + var(--g)); height: 2px; transform-origin: 0 50%; background: linear-gradient(90deg, var(--gold-hi), var(--gold) 60%, var(--gold-deep)); box-shadow: 0 0 12px rgba(224,181,95,.45); }
}
.lux-civ__foot { display: grid; gap: 22px; margin-top: clamp(44px, 6vw, 84px); padding-top: clamp(28px, 3vw, 40px); border-top: 1px solid var(--ob-line); }
@media (min-width: 960px) { .lux-civ__foot { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: end; gap: clamp(40px, 6vw, 96px); } }
.lux-civ__close { margin: 0; max-width: 40ch; font: italic 400 clamp(1.3rem, 1.05rem + .9vw, 1.85rem)/1.35 var(--lux-serif); color: rgba(242,238,230,.9); }
.lux-civ__foot .lux-credit { margin: 0; }

.lux-proc { background: linear-gradient(180deg, var(--ob-950) 0, var(--ob-900) 280px); }
.lux-proc__grid { display: grid; gap: 8px; margin-top: clamp(16px, 2.4vw, 32px); }
.lux-proc__stage { position: sticky; top: 80px; z-index: 2; padding: 10px 0 18px; background: linear-gradient(180deg, var(--ob-900) 86%, rgba(17,17,19,0)); }
.lux-proc__frame { position: relative; overflow: hidden; overflow: clip; border: 1px solid rgba(242,238,230,.11); border-radius: 10px; background: radial-gradient(70% 80% at 80% 0%, rgba(39,87,124,.18), transparent 70%), linear-gradient(170deg, #17171B, #0E0E10); box-shadow: 0 50px 100px -50px rgba(0,0,0,.95), inset 0 1px 0 rgba(242,238,230,.05); }
.lux-proc__view { position: relative; height: 172px; }
.lux-proc__ticks { display: flex; gap: 6px; padding: 11px 14px 12px; border-top: 1px solid rgba(242,238,230,.07); }
.lux-proc__ticks i { flex: 1; height: 2px; border-radius: 1px; background: rgba(242,238,230,.12); transition: background-color .5s ease, box-shadow .5s ease; }
.lux-proc__frame[data-step="1"] .lux-proc__ticks i:nth-child(-n+1),
.lux-proc__frame[data-step="2"] .lux-proc__ticks i:nth-child(-n+2),
.lux-proc__frame[data-step="3"] .lux-proc__ticks i:nth-child(-n+3),
.lux-proc__frame[data-step="4"] .lux-proc__ticks i:nth-child(-n+4),
.lux-proc__frame[data-step="5"] .lux-proc__ticks i { background: var(--gold); box-shadow: 0 0 8px rgba(224,181,95,.5); }
.lux-proc__steps { position: relative; margin: 0; padding: 0 0 0 32px; list-style: none; }
.lux-proc__steps::before, .lux-proc__steps::after { content: ""; position: absolute; left: 5px; top: 34px; bottom: 34px; width: 1px; }
.lux-proc__steps::before { background: rgba(242,238,230,.12); }
.lux-proc__steps::after { transform-origin: 50% 0; transform: scaleY(var(--pp, 1)); background: linear-gradient(180deg, var(--gold-hi), var(--gold) 70%, var(--gold-deep)); transition: transform .7s var(--lux-ease); }
.lux-proc__step { position: relative; padding: clamp(26px, 4vh, 40px) 0; }
.lux-proc__node { position: absolute; left: -32px; top: calc(clamp(26px, 4vh, 40px) + .55em); z-index: 1; width: 11px; height: 11px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px rgba(224,181,95,.14); transition: background-color .4s ease, box-shadow .5s ease, transform .5s var(--lux-snap); }
.lux-proc__title { margin: 0; max-width: 24ch; font: 500 clamp(1.45rem, 1.2rem + .9vw, 2.05rem)/1.12 var(--lux-serif); color: var(--lux-ivory); transition: color .5s ease; }
.lux-proc__step p { margin: 12px 0 0; max-width: 44ch; line-height: 1.68; color: rgba(242,238,230,.66); transition: color .5s ease; }
.lux-proc.is-stepping .lux-proc__node { background: var(--ob-900); box-shadow: inset 0 0 0 1px rgba(242,238,230,.4); }
.lux-proc.is-stepping .lux-proc__step.is-past .lux-proc__node { background: var(--gold-deep); box-shadow: none; }
.lux-proc.is-stepping .lux-proc__step.is-active .lux-proc__node { background: var(--gold-hi); box-shadow: 0 0 0 5px rgba(224,181,95,.18), 0 0 18px rgba(224,181,95,.7); transform: scale(1.15); }
.lux-proc.is-stepping .lux-proc__title { color: rgba(242,238,230,.58); }
.lux-proc.is-stepping .lux-proc__step p { color: rgba(242,238,230,.56); }
.lux-proc.is-stepping .lux-proc__step.is-active .lux-proc__title { color: var(--lux-ivory); }
.lux-proc.is-stepping .lux-proc__step.is-active p { color: rgba(242,238,230,.8); }
@media (max-width: 959px) and (max-height: 600px) { .lux-proc__stage { position: relative; top: auto; } }
.lux-proc__close { margin: clamp(36px, 5vw, 64px) 0 0; padding-top: clamp(26px, 3vw, 36px); max-width: 52ch; border-top: 1px solid var(--ob-line); font: italic 400 clamp(1.25rem, 1.05rem + .8vw, 1.75rem)/1.4 var(--lux-serif); color: rgba(242,238,230,.9); }
@media (min-width: 960px) {
  .lux-proc__grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(48px, 6vw, 110px); align-items: start; }
  .lux-proc__steps { grid-column: 1; grid-row: 1; padding-top: 4vh; padding-bottom: 14vh; }
  .lux-proc__stage { grid-column: 2; grid-row: 1; top: max(124px, calc(50vh - 250px)); padding: 0; background: none; }
  .lux-proc__view { height: auto; aspect-ratio: 16 / 10.4; }
  .lux-proc__step { min-height: 42vh; padding: 12vh 0 0; }
  .lux-proc__node { top: calc(12vh + 12px); }
  .lux-proc__steps::before, .lux-proc__steps::after { top: calc(16vh + 17px); bottom: calc(44vh - 17px); }
}

.lux-scene { position: absolute; inset: 0; display: grid; place-items: center; padding: 6% 7%; opacity: 0; visibility: hidden; transition: opacity .45s ease, visibility 0s linear .45s; }
.lux-proc__frame[data-step="1"] .lux-scene--1,
.lux-proc__frame[data-step="2"] .lux-scene--2,
.lux-proc__frame[data-step="3"] .lux-scene--3,
.lux-proc__frame[data-step="4"] .lux-scene--4,
.lux-proc__frame[data-step="5"] .lux-scene--5 { opacity: 1; visibility: visible; transition: opacity .6s ease .12s, visibility 0s; }

.lux-scene--1 { grid-template-columns: auto minmax(0, 1fr) minmax(0, 1.1fr); gap: 7%; place-items: center stretch; }
.lux-sw { display: grid; grid-template-columns: repeat(2, auto); gap: 9px; }
.lux-sw i { display: block; width: clamp(20px, 3vw, 40px); aspect-ratio: 1; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(242,238,230,.2), 0 8px 18px -8px rgba(0,0,0,.8); }
.lux-sw i:nth-child(1) { --k: 0; background: #0B0B0C; }
.lux-sw i:nth-child(2) { --k: 1; background: #0D2239; }
.lux-sw i:nth-child(3) { --k: 2; background: linear-gradient(140deg, #F0D18F, #E0B55F 55%, #C99A42); }
.lux-sw i:nth-child(4) { --k: 3; background: #F2EEE6; }
.lux-spec { display: grid; gap: 4px; }
.lux-spec__aa { font: 500 clamp(2.6rem, 1.4rem + 4vw, 5.6rem)/.95 var(--lux-serif); letter-spacing: -.02em; color: var(--lux-ivory); }
.lux-spec__lines { display: grid; gap: 7px; }
.lux-spec__lines i { display: block; height: 4px; border-radius: 2px; background: rgba(242,238,230,.22); }
.lux-spec__lines i:nth-child(2) { width: 78%; }
.lux-spec__lines i:nth-child(3) { width: 56%; background: rgba(224,181,95,.6); }
.lux-mood { position: relative; align-self: stretch; overflow: hidden; border-radius: 6px; background: linear-gradient(180deg, #0D2239 0%, #27577C 58%, #A88445 100%); box-shadow: inset 0 0 0 1px rgba(242,238,230,.1); }
.lux-mood i { position: absolute; left: 50%; top: 56%; width: 34%; aspect-ratio: 1; border-radius: 50%; transform: translate(-50%, -50%); background: radial-gradient(circle, #FFF2D2 0, #F0D18F 34%, #E0B55F 58%, rgba(224,181,95,0) 72%); }
.lux-mood::after { content: ""; position: absolute; inset: 50% 0 0; background: #0D0D0F; clip-path: polygon(0 100%, 0 44%, 18% 22%, 36% 50%, 58% 4%, 80% 38%, 100% 18%, 100% 100%); }

.lux-scene--2 { display: flex; flex-direction: column; justify-content: center; align-items: stretch; gap: 7px; padding-inline: 8%; font: 500 clamp(9.5px, .55rem + .35vw, 13px)/1.2 var(--lux-mono); }
.lux-code { display: flex; align-items: center; gap: 8px; min-width: 0; white-space: nowrap; }
.lux-code--in { padding-left: 1.8em; }
.lux-code b { flex: none; font-weight: 500; color: var(--gold); }
.lux-code i { display: block; flex: 0 1 auto; width: var(--w); height: 5px; border-radius: 3px; background: rgba(242,238,230,.24); }
.lux-code__caret { flex: none; width: 2px; height: 1.15em; background: var(--gold-hi); box-shadow: 0 0 8px rgba(224,181,95,.7); }

.lux-scene--3 { padding: 4% 6%; }
.lux-edge, .lux-tree { position: absolute; inset: 5% 6%; display: block; width: auto; height: auto; max-width: none; overflow: visible; }
.lux-edge__links { fill: none; stroke: rgba(242,238,230,.18); stroke-width: 1; stroke-dasharray: 1; }
.lux-edge__pulse { fill: none; stroke: var(--gold-hi); stroke-width: 2; stroke-linecap: round; stroke-dasharray: .05 .95; stroke-dashoffset: -.6; opacity: .9; }
.lux-edge__nodes circle { fill: #121A24; stroke: rgba(240,209,143,.75); stroke-width: 1.2; }
.lux-edge__core { fill: rgba(224,181,95,.12); stroke: var(--gold); stroke-width: 1.4; }
.lux-edge__lock { fill: none; stroke: var(--gold-hi); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.lux-edge__ok { position: absolute; right: 7%; bottom: 9%; padding: 7px 11px 6px; border: 1px solid rgba(224,181,95,.5); border-radius: 999px; background: rgba(11,11,12,.7); font: 600 10px/1 var(--lux-mono); letter-spacing: .14em; color: var(--gold-hi); }

.lux-scene--4 { padding: 5% 7%; }
.lux-tree__links { fill: none; stroke: rgba(240,209,143,.6); stroke-width: 1.2; stroke-dasharray: 1; stroke-dashoffset: 0; }
.lux-tree rect { fill: rgba(242,238,230,.04); stroke: rgba(242,238,230,.38); stroke-width: 1; }
.lux-tree .lux-tree__root { fill: rgba(224,181,95,.16); stroke: var(--gold); }
.lux-tree__kids rect, .lux-tree__leaves rect { transform-box: fill-box; transform-origin: center; }

.lux-scene--5 { display: flex; align-items: center; justify-content: center; }
.lux-phone { position: relative; display: flex; flex-direction: column; gap: 6px; height: 88%; aspect-ratio: 375 / 740; padding: 20px 9px 12px; border: 1px solid rgba(242,238,230,.36); border-radius: 18px; background: #0B0B0C; box-shadow: 0 30px 60px -30px rgba(0,0,0,.9), 0 0 0 4px rgba(242,238,230,.03); }
.lux-phone__notch { position: absolute; top: 7px; left: 50%; width: 30%; height: 5px; border-radius: 3px; transform: translateX(-50%); background: rgba(242,238,230,.2); }
.lux-phone i { display: block; flex: none; border-radius: 3px; background: rgba(242,238,230,.09); }
.lux-phone i:nth-of-type(1) { --k: 0; height: 7%; background: linear-gradient(90deg, var(--gold) 0 18%, rgba(242,238,230,.1) 18%); }
.lux-phone i:nth-of-type(2) { --k: 1; height: 30%; background: linear-gradient(170deg, #0D2239, #27577C); }
.lux-phone i:nth-of-type(3) { --k: 2; height: 8%; width: 86%; background: rgba(242,238,230,.34); }
.lux-phone i:nth-of-type(4) { --k: 3; height: 14%; }
.lux-phone i:nth-of-type(5) { --k: 4; height: 9%; width: 70%; border-radius: 999px; background: linear-gradient(90deg, var(--gold-deep), var(--gold-hi)); outline: 1px solid rgba(240,209,143,.85); outline-offset: 3px; }

.lux-price { background: linear-gradient(180deg, var(--ob-900) 0, var(--ob-950) 280px); }
.lux-price__grid { display: grid; gap: 56px; }
@media (min-width: 960px) { .lux-price__grid { grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(56px, 7vw, 120px); } }
.lux-scale { position: relative; padding: 44px 0 38px; }
.lux-scale__track { position: relative; height: 2px; border-radius: 1px; background: rgba(242,238,230,.12); }
.lux-scale__fill { position: absolute; inset: 0; transform-origin: 0 50%; border-radius: inherit; background: linear-gradient(90deg, rgba(224,181,95,.15), var(--gold-deep) 55%, var(--gold) 85%, var(--gold-hi)); box-shadow: 0 0 14px rgba(224,181,95,.35); }
.lux-scale__mark { --lux-count: rgba(242,238,230,.78); --tx: -50%; position: absolute; top: 0; transform: translateX(var(--tx)); font: 500 13px/1 var(--lux-sans); letter-spacing: .06em; white-space: nowrap; color: rgba(242,238,230,.78); font-variant-numeric: tabular-nums; }
.lux-scale__mark::after { content: ""; position: absolute; left: 50%; top: calc(100% + 8px); width: 1px; height: 22px; background: currentColor; opacity: .7; }
.lux-scale__mark--a { left: 16.667%; }
.lux-scale__mark--b { left: 66.667%; }
.lux-scale__mark--c { --lux-count: var(--gold); --tx: 0px; left: auto; right: 0; color: var(--gold); }
.lux-scale__mark--c::after { left: auto; right: 0; opacity: 1; }
.lux-ledger { margin: 18px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--ob-line); }
.lux-ledger__row { --r: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: baseline; gap: 4px 16px; padding: 15px 0; border-bottom: 1px solid var(--ob-line); }
.lux-ledger__row:nth-child(2) { --r: 1; }
.lux-ledger__row:nth-child(3) { --r: 2; }
.lux-ledger__row:nth-child(4) { --r: 3; }
.lux-ledger__row:nth-child(5) { --r: 4; }
.lux-ledger__name { font-size: 14.5px; line-height: 1.45; color: rgba(242,238,230,.8); }
.lux-ledger__was { position: relative; font: 600 10.5px/1 var(--lux-sans); letter-spacing: .2em; text-transform: uppercase; text-decoration: none; color: rgba(168,163,153,.82); }
.lux-ledger__was::after { content: ""; position: absolute; left: -4px; right: -4px; top: 50%; height: 1px; transform-origin: 0 50%; background: var(--gold); box-shadow: 0 0 6px rgba(224,181,95,.6); }
.lux-ledger__now { min-width: 5.6em; text-align: right; font: 500 1.3rem/1 var(--lux-serif); white-space: nowrap; color: var(--lux-ivory); }
.lux-ledger__row--keep { grid-template-columns: minmax(0, 1fr) auto; border-bottom-color: rgba(224,181,95,.35); }
.lux-ledger__row--keep .lux-ledger__name { color: var(--lux-ivory); }
.lux-ledger__row--keep .lux-ledger__now { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); color: var(--gold); }
.lux-note--rule { padding-top: 14px; border-top: 1px solid var(--ob-line); }

.lux-work { background: linear-gradient(180deg, var(--ob-950) 0, var(--ob-900) 320px); }
.lux-work .lux-h2 { max-width: 22ch; }
.lux-work__grid { display: grid; gap: clamp(56px, 7vw, 88px) clamp(28px, 4vw, 64px); margin-top: clamp(40px, 5vw, 72px); }
@media (min-width: 900px) {
  .lux-work__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .lux-shot:nth-child(2) { margin-top: clamp(64px, 9vw, 150px); }
}
.lux-shot { min-width: 0; }
.lux-shot__fig { margin: 0 0 26px; }
.lux-shot__frame { position: relative; overflow: hidden; overflow: clip; border: 1px solid rgba(242,238,230,.13); border-radius: 10px; background: #121214; box-shadow: 0 70px 120px -60px rgba(0,0,0,.95), 0 30px 70px -50px rgba(39,87,124,.5); transition: transform .45s var(--lux-ease), border-color .5s ease; }
.lux-shot__frame:hover { border-color: rgba(224,181,95,.36); }
.lux-shot__screen { position: relative; overflow: hidden; overflow: clip; aspect-ratio: 800 / 505; }
.lux-shot__screen img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; filter: saturate(.9) contrast(1.03) brightness(1); }
.lux-shot__screen::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(11,11,12,0) 70%, rgba(11,11,12,.35)); }
.lux-shot__fig .lux-credit { margin-top: 14px; }
.lux-shot__text { margin: 12px 0 0; max-width: 46ch; line-height: 1.65; color: rgba(242,238,230,.66); }

.lux-case { padding: 28px 0; border-top: 1px solid var(--ob-line); }
.lux-case:last-child { border-bottom: 1px solid var(--ob-line); }
.lux-case__role { margin: 0 0 12px; font: 500 11px/1.4 var(--lux-sans); letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }
.lux-case__name { margin: 0; font: 500 clamp(1.7rem, 1.4rem + 1vw, 2.2rem)/1.1 var(--lux-serif); }
.lux-case__name a { color: var(--lux-ivory); background: linear-gradient(var(--gold), var(--gold)) 0 100% / 0 1px no-repeat; transition: background-size .55s var(--lux-ease); }
.lux-case__name a:hover, .lux-case__name a:focus-visible { background-size: 100% 1px; }
.lux-case p:last-child { margin: 12px 0 0; max-width: 44ch; line-height: 1.65; color: rgba(242,238,230,.66); }

.lux-figs { display: grid; gap: 36px; margin-top: clamp(44px, 6vw, 80px); padding-block: clamp(30px, 4vw, 48px); border-block: 1px solid rgba(242,238,230,.1); }
@media (min-width: 760px) {
  .lux-figs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
  .lux-fig + .lux-fig { padding-left: clamp(28px, 4vw, 56px); border-left: 1px solid rgba(242,238,230,.1); }
}
.lux-fig { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin: 0; }
.lux-fig__pre, .lux-fig__cap { font-size: 14px; line-height: 1.5; letter-spacing: .02em; color: rgba(242,238,230,.66); }
.lux-fig__num { --lux-count: var(--gold); position: relative; display: inline-block; font: 400 clamp(3.6rem, 2rem + 6vw, 7.4rem)/.95 var(--lux-serif); letter-spacing: -.02em; font-variant-numeric: lining-nums tabular-nums; color: var(--gold); }

.lux-day { background: radial-gradient(44% 50% at 76% 52%, rgba(39,87,124,.28), transparent 72%), var(--navy); }
.lux-day__grid { display: grid; gap: clamp(44px, 6vw, 72px); }
@media (min-width: 960px) { .lux-day__grid { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); align-items: center; gap: clamp(56px, 7vw, 120px); } }
.lux-day__fig { position: relative; margin: 0; }
.lux-day__big { width: fit-content; margin: 0 0 16px; padding-right: .06em; font: 400 clamp(7rem, 4rem + 11vw, 15rem)/.78 var(--lux-serif); letter-spacing: -.03em; color: var(--gold); background: linear-gradient(180deg, var(--gold-hi), var(--gold) 52%, var(--gold-deep)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; text-shadow: 0 0 60px rgba(224,181,95,.18); }
.lux-day__cells { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: clamp(5px, 1vw, 12px); }
.lux-day__h { position: relative; height: clamp(120px, 15vw, 210px); overflow: hidden; overflow: clip; border-radius: 4px; background: rgba(4,16,28,.7); box-shadow: inset 0 0 0 1px rgba(242,238,230,.16); }
.lux-day__h i { position: absolute; inset: 0; transform-origin: 50% 100%; }
.lux-day__h--bill i { background: linear-gradient(180deg, var(--gold-hi), var(--gold) 42%, var(--gold-deep)); box-shadow: 0 0 26px rgba(224,181,95,.35); }
.lux-day__h--bill i::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 30%; background: linear-gradient(180deg, rgba(255,250,236,0), rgba(255,250,236,.45), rgba(255,250,236,0)); opacity: 0; }
.lux-day__h--drain i { background: linear-gradient(180deg, rgba(178,198,220,.5), rgba(39,87,124,.6)); opacity: .6; transform: translate3d(0,88%,0); }
.lux-day__drains { grid-column: 4 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.lux-day__drains span { position: relative; padding-top: 14px; font: italic 400 clamp(.92rem, .82rem + .3vw, 1.08rem)/1.2 var(--lux-serif); color: rgba(178,198,220,.82); text-align: center; overflow-wrap: anywhere; }
.lux-day__drains span::before { content: ""; position: absolute; left: 50%; top: 0; width: 1px; height: 9px; background: rgba(178,198,220,.5); }
.lux-day__drains span::after { content: ""; position: absolute; left: calc(50% - 2px); top: 9px; width: 5px; height: 5px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: rgba(178,198,220,.7); }
.lux-day__legend { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: clamp(26px, 3vw, 38px); padding-top: 18px; border-top: 1px solid rgba(242,238,230,.12); }
.lux-day__key { display: inline-flex; align-items: center; gap: 10px; font: 500 11px/1.4 var(--lux-sans); letter-spacing: .2em; text-transform: uppercase; color: rgba(242,238,230,.82); }
.lux-day__key::before { content: ""; flex: none; width: 10px; height: 10px; border-radius: 2px; background: var(--gold); box-shadow: 0 0 10px rgba(224,181,95,.5); }
.lux-day__key--drain::before { background: rgba(178,198,220,.45); box-shadow: inset 0 0 0 1px rgba(178,198,220,.6); }

.lux-state { background: radial-gradient(50% 56% at 72% 50%, rgba(39,87,124,.3), transparent 72%), linear-gradient(180deg, var(--navy) 0, var(--navy-deep) 100%); }
.lux-state__grid { display: grid; gap: clamp(48px, 6vw, 80px); }
@media (min-width: 1000px) { .lux-state__grid { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); align-items: center; gap: clamp(40px, 5vw, 88px); } }
.lux-state__h { max-width: 17ch; font-size: clamp(1.9rem, 1.25rem + 2.3vw, 3.3rem); }
.lux-state__fig { display: flex; flex-direction: column; gap: 14px; margin: clamp(30px, 4vw, 52px) 0 0; padding-top: clamp(24px, 3vw, 34px); border-top: 1px solid rgba(224,181,95,.3); }
.lux-state__num { --lux-count: var(--gold); position: relative; display: inline-block; width: fit-content; font: 400 clamp(3.9rem, 2.1rem + 6.4vw, 8.2rem)/.9 var(--lux-serif); letter-spacing: -.02em; font-variant-numeric: lining-nums tabular-nums; color: var(--gold); text-shadow: 0 0 44px rgba(224,181,95,.2); }
.lux-state__cap { max-width: 34ch; font-size: 15px; line-height: 1.55; color: rgba(242,238,230,.74); }
.lux-state__small { max-width: 46ch; color: rgba(242,238,230,.6); }
.lux-state__visual { position: relative; min-width: 0; }
.lux-map { position: relative; width: min(100%, 620px); margin-inline: auto; }
.lux-map__svg { display: block; width: 100%; height: auto; aspect-ratio: 400 / 426; overflow: visible; }
.lux-map__land { fill: rgba(13,34,57,.82); }
.lux-map__counties { fill: none; stroke: rgba(178,198,220,.2); stroke-width: .75; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.lux-map__county { fill: rgba(224,181,95,.42); stroke: rgba(240,209,143,.9); stroke-width: 1; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.lux-map__edge { fill: none; stroke: rgba(224,181,95,.5); stroke-width: 1.2; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.lux-map__seats circle { fill: rgba(242,238,230,.5); }
.lux-map__fx { position: absolute; left: 0; top: 0; width: 100%; aspect-ratio: 400 / 426; pointer-events: none; }
.lux-map__radar { position: absolute; inset: 0; overflow: clip; clip-path: url(#lux-wi-clip-box); opacity: 0; }
.lux-map__radar i { position: absolute; left: 78.5%; top: 58%; width: 260%; aspect-ratio: 1; margin: -130% 0 0 -130%; border-radius: 50%; background: conic-gradient(from 0deg, rgba(224,181,95,0) 0deg 44deg, rgba(224,181,95,.05) 50deg, rgba(224,181,95,.26) 89.4deg, rgba(240,209,143,.8) 89.6deg 90deg, rgba(224,181,95,0) 90.4deg); }
.lux-map__pings i { position: absolute; width: .8%; aspect-ratio: 1; margin: -.4% 0 0 -.4%; border-radius: 50%; background: #FFF1CC; box-shadow: 0 0 6px rgba(240,209,143,.9); opacity: 0; }
.lux-map__lead { fill: none; stroke: rgba(240,209,143,.8); stroke-width: .9; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; }
.lux-map__home { fill: var(--gold-hi); }
.lux-map__pin { fill: var(--gold); }
.lux-map__halo { position: absolute; left: 78.5%; top: 58%; width: 13%; aspect-ratio: 1; margin: -6.5% 0 0 -6.5%; border: 1px solid var(--gold); border-radius: 50%; opacity: 0; }
.lux-map__plate { position: relative; margin: 0; overflow: hidden; overflow: clip; border-radius: 4px; background: var(--navy-deep); box-shadow: 0 0 0 1px rgba(224,181,95,.42), 0 26px 50px -24px rgba(0,0,0,.95); }
.lux-map__plate img { display: block; width: 100%; height: auto; filter: grayscale(.3) saturate(.72) brightness(.78) contrast(1.06); }
.lux-map__plate figcaption { position: absolute; left: 0; right: 0; bottom: 0; display: grid; gap: 3px; padding: 26px 11px 9px; background: linear-gradient(180deg, rgba(4,16,28,0), rgba(4,16,28,.94) 62%); }
.lux-map__plate b { font: 500 clamp(1rem, .85rem + .45vw, 1.2rem)/1.1 var(--lux-serif); color: var(--lux-ivory); }
.lux-map__plate span { font: 600 10.5px/1.35 var(--lux-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--gold-hi); }
.lux-map__credit { text-align: center; }
@media (max-width: 639px) {
  .lux-map { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .lux-map__svg { grid-column: 1 / -1; }
  .lux-map__lead { display: none; }
  .lux-map__plate--brown img { aspect-ratio: 720 / 670; object-fit: cover; }
}
@media (min-width: 640px) {
  .lux-map__plate { position: absolute; }
  .lux-map__plate--brown { left: 67%; top: 1.6%; width: 31%; }
  .lux-map__plate--dane { left: 1%; top: 70%; width: 26%; }
}

.lux-flow { --g: clamp(14px, 1.8vw, 28px); padding-bottom: clamp(72px, 9vw, 140px); background: radial-gradient(60% 46% at 50% 62%, rgba(39,87,124,.26), transparent 72%), linear-gradient(180deg, var(--navy-deep) 0, var(--navy) 50%, var(--navy-deep) 100%); }
.lux-flow__head .lux-body { max-width: 44ch; }
.lux-flow__body { position: relative; margin-top: clamp(44px, 6vw, 80px); }
.lux-flow__track { position: absolute; inset: 0; pointer-events: none; }
.lux-flow__line, .lux-flow__fill { position: absolute; left: 22px; top: 22px; bottom: 150px; width: 1px; }
.lux-flow__line { background: rgba(242,238,230,.14); }
.lux-flow__fill { transform-origin: 50% 0; background: linear-gradient(180deg, var(--gold-hi), var(--gold) 60%, var(--gold-deep)); box-shadow: 0 0 10px rgba(224,181,95,.45); }
.lux-flow.is-scrub .lux-flow__line, .lux-flow.is-scrub .lux-flow__fill { top: var(--a); bottom: auto; height: var(--len); }
.lux-flow.is-scrub .lux-flow__fill { transform: scaleY(0); }
.lux-flow__token { position: absolute; left: 22px; top: 0; z-index: 3; display: none; place-items: center; width: 52px; height: 52px; margin: -26px 0 0 -26px; border-radius: 50%; color: var(--gold-hi); background: radial-gradient(circle at 50% 32%, #163756, var(--navy-deep) 78%); box-shadow: 0 0 0 1px rgba(224,181,95,.8), 0 0 0 7px rgba(224,181,95,.08), 0 0 30px rgba(224,181,95,.35); transition: color .45s ease, box-shadow .45s ease; will-change: transform; }
.lux-flow__token::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle at 50% 30%, #FFF4D6, var(--gold-hi) 34%, var(--gold) 64%, var(--gold-deep)); opacity: 0; transition: opacity .45s ease; }
.lux-flow[data-stage="4"] .lux-flow__token::before { opacity: 1; }
.lux-flow.is-scrub .lux-flow__token { display: grid; }
.lux-ico { position: absolute; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; opacity: 0; transform: scale(.55) rotate(-24deg); transition: opacity .3s ease, transform .5s var(--lux-snap); }
.lux-flow[data-stage="1"] .lux-ico--1, .lux-flow[data-stage="2"] .lux-ico--2, .lux-flow[data-stage="3"] .lux-ico--3, .lux-flow[data-stage="4"] .lux-ico--4, .lux-flow[data-stage="5"] .lux-ico--5, .lux-flow[data-stage="6"] .lux-ico--6 { opacity: 1; transform: none; }
.lux-flow[data-stage="4"] .lux-flow__token { color: var(--navy-deep); box-shadow: 0 0 0 1px var(--gold-hi), 0 0 0 9px rgba(224,181,95,.16), 0 0 54px rgba(224,181,95,.6); }
.lux-flow__stages { position: relative; margin: 0; padding: 0; list-style: none; }
.lux-flow__stage { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 20px; padding-bottom: 30px; }
.lux-flow__node { position: relative; z-index: 1; grid-row: 1 / span 2; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: var(--gold-hi); background: var(--navy-deep); box-shadow: inset 0 0 0 1px rgba(224,181,95,.55); transition: color .45s ease, box-shadow .45s ease, background-color .45s ease; }
.lux-flow__node svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.lux-flow__stage--key .lux-flow__node { color: var(--navy-deep); background: radial-gradient(circle at 50% 30%, var(--gold-hi), var(--gold) 60%, var(--gold-deep)); box-shadow: 0 0 0 6px rgba(224,181,95,.14), 0 0 28px rgba(224,181,95,.45); }
.lux-flow__name { margin: 10px 0 0; font: 500 clamp(1.3rem, 1.15rem + .5vw, 1.6rem)/1.15 var(--lux-serif); color: var(--lux-ivory); transition: color .45s ease; }
.lux-flow__stage--key .lux-flow__name { color: var(--gold-hi); }
.lux-flow__stage p { grid-column: 2; margin: 8px 0 0; max-width: 34ch; font-size: 14.5px; line-height: 1.6; color: rgba(242,238,230,.68); transition: color .45s ease; }
.lux-flow.is-scrub .lux-flow__stage:not(.is-active):not(.is-past) .lux-flow__node { color: rgba(242,238,230,.5); background: var(--navy-deep); box-shadow: inset 0 0 0 1px rgba(242,238,230,.2); }
.lux-flow.is-scrub .lux-flow__stage--key:not(.is-active):not(.is-past) .lux-flow__node { color: var(--gold); box-shadow: inset 0 0 0 1px rgba(224,181,95,.6), 0 0 0 5px rgba(224,181,95,.06); }
.lux-flow.is-scrub .lux-flow__stage:not(.is-active):not(.is-past) .lux-flow__name { color: rgba(242,238,230,.62); }
.lux-flow.is-scrub .lux-flow__stage:not(.is-active):not(.is-past) p { color: rgba(242,238,230,.6); }
.lux-flow.is-scrub .lux-flow__stage.is-active .lux-flow__node { box-shadow: inset 0 0 0 1px var(--gold-hi), 0 0 0 6px rgba(224,181,95,.12), 0 0 26px rgba(224,181,95,.4); }
.lux-flow__link { margin-left: 64px; }
@media (min-width: 1000px) {
  .lux-flow.is-pinned { padding-top: 0; }
  .lux-flow.is-pinned .lux-flow__scroll { height: 260vh; }
  .lux-flow.is-pinned .lux-flow__pin { position: sticky; top: 0; display: flex; flex-direction: column; justify-content: center; justify-content: safe center; height: 100vh; padding: 104px 0 28px; }
  .lux-flow.is-pinned .lux-flow__body { margin-top: clamp(36px, 7vh, 76px); }
  .lux-flow__stages { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0 var(--g); }
  .lux-flow__stage { display: block; padding: 0; text-align: center; }
  .lux-flow__node { width: 48px; height: 48px; margin: 0 auto 24px; }
  .lux-flow__node svg { width: 22px; height: 22px; }
  .lux-flow__name { margin: 0; }
  .lux-flow__stage p { margin: 10px auto 0; max-width: 24ch; font-size: 13.5px; }
  .lux-flow__line, .lux-flow__fill { left: calc((100% - 5 * var(--g)) / 12); right: calc((100% - 5 * var(--g)) / 12); top: 24px; bottom: auto; width: auto; height: 1px; }
  .lux-flow__fill { transform-origin: 0 50%; }
  .lux-flow.is-scrub .lux-flow__line, .lux-flow.is-scrub .lux-flow__fill { left: var(--a); right: auto; top: 24px; width: var(--len); height: 1px; }
  .lux-flow.is-scrub .lux-flow__fill { transform: scaleX(0); }
  .lux-flow__token { left: 0; top: 24px; width: 64px; height: 64px; margin: -32px 0 0 -32px; }
  .lux-ico { width: 28px; height: 28px; }
  .lux-flow__link { display: flex; width: fit-content; margin: clamp(36px, 5vh, 56px) auto 0; }
}
.lux-flow__live { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.lux-flow__gate[hidden] { display: none; }
.lux-flow.has-gate .lux-flow__gate { overflow-anchor: none; }
.lux-flow__gate { position: relative; z-index: 4; grid-column: 2; display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 14px; align-items: start; align-content: center; width: min(100%, 300px); margin: 18px 0 0; padding: 16px 16px 16px 14px; text-align: left; border-radius: 6px; background: linear-gradient(180deg, var(--navy-lift), var(--navy-deep)); box-shadow: inset 0 0 0 1px rgba(224,181,95,.45), 0 24px 48px -24px rgba(0,0,0,.9), 0 0 36px -12px rgba(224,181,95,.35); animation: lux-gate-in .5s var(--lux-ease) both; }
.lux-flow__gate::before { content: ""; position: absolute; left: 18px; right: 18px; top: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--gold-hi), transparent); }
.lux-flow__gate-doc { width: 40px; height: 40px; overflow: visible; fill: none; stroke: var(--gold-hi); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.lux-flow__gate-sheet { transform-box: fill-box; transform-origin: 50% 100%; transition: opacity .4s ease; }
.lux-flow__gate-sheet path { fill: rgba(240,209,143,.07); }
.lux-flow__gate-tray { opacity: 0; transition: opacity .4s ease; }
.lux-flow__gate-seal { opacity: 0; transform-box: fill-box; transform-origin: 50% 50%; }
.lux-flow__gate-seal circle { fill: var(--gold); stroke: var(--gold-hi); }
.lux-flow__gate-seal path { stroke: var(--navy-deep); stroke-width: 1.7; }
.lux-flow__gate-ask, .lux-flow__gate-done { grid-column: 2; min-width: 0; }
.lux-flow__gate-ask { animation: lux-gate-in .45s var(--lux-ease) both; }
.lux-flow__gate-q { display: grid; gap: 4px; margin: 0; }
.lux-flow__gate-label { font: 600 10.5px/1.4 var(--lux-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--gold-hi); }
.lux-flow__gate-ques { font: 500 1.55rem/1.05 var(--lux-serif); color: var(--lux-ivory); }
.lux-flow__gate-btns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.lux-flow__gate-btn { min-height: 44px; padding: 0 10px 0 calc(10px + .2em); border: 1px solid rgba(242,238,230,.42); border-radius: 999px; background: transparent; color: var(--lux-ivory); font: 600 11px/1 var(--lux-sans); letter-spacing: .2em; text-transform: uppercase; cursor: pointer; transition: background-color .3s ease, border-color .3s ease, color .3s ease, box-shadow .3s ease; }
.lux-flow__gate-btn:hover { border-color: var(--gold-hi); color: var(--gold-hi); }
.lux-flow__gate-btn--yes, .lux-flow__gate-btn--yes:hover { border-color: var(--gold-hi); color: var(--navy-deep); background: radial-gradient(circle at 50% 20%, var(--gold-hi), var(--gold) 62%, var(--gold-deep)); }
.lux-flow__gate-btn--yes:hover { box-shadow: 0 0 22px rgba(224,181,95,.45); }
.lux-flow__gate-btn:focus-visible, .lux-flow__gate-again:focus-visible { outline: 2px solid var(--lux-ivory); outline-offset: 3px; }
.lux-flow__gate-done { display: none; outline: none; }
.lux-flow__gate-msg { display: none; margin: 0; font: 500 1.25rem/1.2 var(--lux-serif); color: var(--lux-ivory); }
.lux-flow__gate-again { display: none; align-items: center; min-height: 44px; margin: 4px 0 -10px; padding: 0; border: 0; background: none; color: var(--gold-hi); font: 600 10.5px/1 var(--lux-sans); letter-spacing: .2em; text-transform: uppercase; text-decoration: underline; text-decoration-color: rgba(240,209,143,.5); text-underline-offset: 6px; cursor: pointer; }
.lux-flow__gate-again:hover { text-decoration-color: var(--gold-hi); }
.lux-flow[data-gate="approving"] .lux-flow__gate-ask, .lux-flow[data-gate="yes"] .lux-flow__gate-ask, .lux-flow[data-gate="no"] .lux-flow__gate-ask { display: none; }
.lux-flow[data-gate="no"] .lux-flow__gate-done, .lux-flow__gate.is-delivered .lux-flow__gate-done { display: block; align-self: center; animation: lux-gate-in .5s var(--lux-ease) both; }
.lux-flow[data-gate="no"] .lux-flow__gate-msg--no, .lux-flow__gate.is-delivered .lux-flow__gate-msg--yes { display: block; }
.lux-flow[data-gate="no"] .lux-flow__gate-again { display: inline-flex; }
.lux-flow[data-gate="approving"] .lux-flow__gate-seal, .lux-flow[data-gate="yes"] .lux-flow__gate-seal { opacity: 1; animation: lux-gate-seal .6s var(--lux-snap) both; }
.lux-flow[data-gate="no"] .lux-flow__gate-sheet { opacity: .5; transform: translateY(5px) scale(.72); animation: lux-gate-save .75s var(--lux-ease) both; }
.lux-flow[data-gate="no"] .lux-flow__gate-tray { opacity: 1; }
.lux-flow.is-scrub[data-gate="ask"] .lux-flow__token::after, .lux-flow.is-scrub[data-gate="approving"] .lux-flow__token::after { content: ""; position: absolute; inset: -1px; border-radius: 50%; box-shadow: 0 0 0 1px var(--gold-hi); opacity: 0; animation: lux-gate-wait 2.2s ease-out infinite; }
.lux-flow.is-scrub[data-gate="approving"] .lux-flow__token::after { box-shadow: 0 0 0 2px #FFF4D6, 0 0 24px rgba(224,181,95,.7); animation: lux-gate-stamp .7s ease-out both; }
.lux-flow[data-gate="approving"] .lux-flow__token .lux-ico--4, .lux-flow[data-gate="approving"] .lux-flow__stage--key .lux-flow__node { animation: lux-gate-settle .7s var(--lux-snap) both; }
.lux-flow.has-gate:not(.is-scrub):not([data-gate="yes"]) .lux-flow__stage--key ~ .lux-flow__stage .lux-flow__node { color: rgba(242,238,230,.5); background: var(--navy-deep); box-shadow: inset 0 0 0 1px rgba(242,238,230,.2); }
.lux-flow.has-gate:not(.is-scrub):not([data-gate="yes"]) .lux-flow__stage--key ~ .lux-flow__stage .lux-flow__name { color: rgba(242,238,230,.62); }
.lux-flow.has-gate:not(.is-scrub):not([data-gate="yes"]) .lux-flow__stage--key ~ .lux-flow__stage p { color: rgba(242,238,230,.6); }
@keyframes lux-gate-in { from { opacity: 0; transform: translateY(8px); } }
@keyframes lux-gate-seal { from { opacity: 0; transform: scale(2.4) rotate(-32deg); } }
@keyframes lux-gate-save { from { opacity: 1; transform: none; } 40% { opacity: .9; transform: translateY(-3px) rotate(-6deg); } }
@keyframes lux-gate-wait { 0% { opacity: .85; transform: scale(1); } 100% { opacity: 0; transform: scale(1.75); } }
@keyframes lux-gate-stamp { 0% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(2.2); } }
@keyframes lux-gate-settle { 0% { transform: scale(1.5) rotate(-24deg); } 60% { transform: scale(.94) rotate(3deg); } 100% { transform: none; } }
@media (min-width: 1000px) {
  .lux-flow__gate { position: absolute; left: 50%; bottom: calc(100% + 26px); width: 252px; min-height: 0 !important; margin: 0; translate: -50% 0; }
  .lux-flow[data-gate="approving"] .lux-flow__gate, .lux-flow[data-gate="yes"] .lux-flow__gate:not(.is-delivered) { grid-template-columns: 40px; width: auto; padding: 12px; }
  .lux-flow__gate::after { content: ""; position: absolute; left: 50%; bottom: -6px; width: 11px; height: 11px; margin-left: -6px; background: var(--navy-deep); box-shadow: inset -1px -1px 0 rgba(224,181,95,.45); transform: rotate(45deg); }
}
@media (prefers-reduced-motion: reduce) {
  .lux-flow__gate, .lux-flow__gate *, .lux-flow[data-gate] .lux-flow__token::after, .lux-flow[data-gate] .lux-flow__node, .lux-flow[data-gate] .lux-ico--4 { animation: none !important; transition: none !important; }
}

.lux-tools { background: radial-gradient(48% 50% at 12% 42%, rgba(39,87,124,.24), transparent 70%), linear-gradient(180deg, var(--navy-deep) 0, var(--navy) 100%); }
.lux-tiles { display: grid; grid-template-columns: 1fr; gap: 1px; margin: clamp(40px, 5vw, 64px) 0 0; padding: 0; list-style: none; background: rgba(224,181,95,.16); border: 1px solid rgba(224,181,95,.16); border-radius: 6px; overflow: hidden; overflow: clip; }
@media (min-width: 680px) { .lux-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .lux-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.lux-tile { position: relative; display: flex; flex-direction: column; padding: clamp(22px, 2.4vw, 32px); background: var(--navy); transition: background-color .5s var(--lux-ease); }
.lux-tile:hover, .lux-tile:focus-within { background: var(--navy-lift); }
.lux-tile__name { margin: 0; font: 500 clamp(1.45rem, 1.25rem + .6vw, 1.75rem)/1.15 var(--lux-serif); }
.lux-tile__link { color: var(--lux-ivory); }
.lux-tile p { margin: 12px 0 0; font-size: 15px; line-height: 1.65; color: rgba(242,238,230,.66); }
.lux-tile .lux-arrow { margin-top: auto; padding-top: 26px; box-sizing: content-box; }
.lux-viz { position: relative; height: 104px; margin: 0 0 24px; overflow: hidden; overflow: clip; border-radius: 6px; background: radial-gradient(90% 90% at 50% 0%, rgba(39,87,124,.25), transparent 70%), rgba(4,16,28,.7); box-shadow: inset 0 0 0 1px rgba(242,238,230,.08); }
.lux-viz--rows { display: flex; flex-direction: column; justify-content: center; gap: 7px; padding: 0 14px; }
.lux-viz--rows i { display: block; height: 15px; border-radius: 3px; background: radial-gradient(circle at 9px 50%, var(--gold) 0 3px, transparent 3.6px), linear-gradient(rgba(242,238,230,.26), rgba(242,238,230,.26)) 22px 50% / 44% 4px no-repeat, linear-gradient(rgba(242,238,230,.1), rgba(242,238,230,.1)) 78% 50% / 16% 4px no-repeat, rgba(242,238,230,.035); }
.lux-viz--rows i:nth-child(1) { --k: 3; }
.lux-viz--rows i:nth-child(2) { --k: 2; }
.lux-viz--rows i:nth-child(3) { --k: 1; }
.lux-viz--rows i:nth-child(4) { --k: 0; }
.lux-viz--type { display: flex; flex-direction: column; justify-content: center; gap: 9px; padding: 0 16px; }
.lux-viz--type i { display: block; height: 5px; border-radius: 3px; background: rgba(242,238,230,.3); transform-origin: 0 50%; }
.lux-viz--type i:nth-child(1) { --k: 0; width: 92%; }
.lux-viz--type i:nth-child(2) { --k: 1; width: 76%; }
.lux-viz--type i:nth-child(3) { --k: 2; width: 86%; }
.lux-viz--type i:nth-child(4) { --k: 3; width: 48%; background: rgba(224,181,95,.75); }
.lux-viz__caret { position: absolute; left: 16px; top: calc(50% - 5.5px); width: calc(100% - 32px); height: 11px; transform: translate3d(48%,21px,0); }
.lux-viz__caret::before { content: ""; position: absolute; left: 3px; top: 0; width: 2px; height: 100%; background: var(--gold-hi); box-shadow: 0 0 8px rgba(224,181,95,.8); }
.lux-viz--dial, .lux-viz--radar { display: grid; place-items: center; }
.lux-viz svg { display: block; width: 84px; height: 84px; overflow: visible; }
.lux-dial__face { fill: rgba(4,16,28,.6); stroke: rgba(242,238,230,.24); stroke-width: 1; }
.lux-dial__ticks { fill: none; stroke: rgba(242,238,230,.5); stroke-width: 1.4; stroke-linecap: round; }
.lux-dial__arc { fill: none; stroke: var(--gold); stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; }
.lux-dial__hand { transform-box: view-box; transform-origin: 40px 40px; transform: rotate(90deg); }
.lux-dial__hand path { fill: none; stroke: var(--gold-hi); stroke-width: 2; stroke-linecap: round; }
.lux-dial__hub { fill: var(--gold-hi); }
.lux-radar__ring { fill: none; stroke: rgba(178,198,220,.24); stroke-width: 1; }
.lux-radar__arm { transform-box: view-box; transform-origin: 40px 40px; transform: rotate(-30deg); }
.lux-radar__wedge { fill: rgba(224,181,95,.2); }
.lux-radar__beam { fill: none; stroke: var(--gold-hi); stroke-width: 1.2; }
.lux-radar__blip { fill: var(--gold-hi); opacity: .55; transform-box: fill-box; transform-origin: center; }
.lux-tools__umbrella { margin: clamp(36px, 5vw, 64px) 0 0; max-width: 46ch; padding-left: 22px; border-left: 1px solid var(--gold); font: italic 400 clamp(1.25rem, 1.05rem + .8vw, 1.75rem)/1.4 var(--lux-serif); color: rgba(242,238,230,.9); }

.lux-gate { padding-top: 0; isolation: isolate; overflow: hidden; overflow: clip; background: var(--navy-deep); }
.lux-gate__photo { position: relative; z-index: -1; overflow: hidden; overflow: clip; height: clamp(320px, 44vw, 600px); margin: 0; }
.lux-gate__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; filter: grayscale(.45) sepia(.2) saturate(.8) brightness(.56) contrast(1.06); }
.lux-gate__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, var(--navy) 0%, rgba(7,22,39,.3) 26%, rgba(4,16,28,.62) 58%, rgba(4,16,28,.92) 86%, var(--navy-deep) 100%), var(--lux-grain-soft) 0 0 / 160px 160px; }
.lux-gate__cap { position: absolute; right: var(--lux-gutter); top: clamp(28px, 4vw, 52px); z-index: 1; display: grid; gap: 4px; text-align: right; }
.lux-gate__cap b { font: 500 clamp(1rem, .9rem + .4vw, 1.25rem)/1.2 var(--lux-serif); color: var(--lux-ivory); }
.lux-gate__cap span { font: 600 10.5px/1.4 var(--lux-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--gold-hi); }
.lux-gate__inner { margin-top: clamp(-200px, -13vw, -72px); }
.lux-gate__head .lux-h2 { max-width: 16ch; }
.lux-gates { --gy: 34px; position: relative; display: grid; gap: 36px; margin: clamp(48px, 6vw, 84px) 0 0; padding: 0 0 0 76px; list-style: none; }
.lux-gates::before, .lux-gates::after { content: ""; position: absolute; left: 26px; top: var(--gy); bottom: 24px; width: 1px; }
.lux-gates::before { background: rgba(242,238,230,.14); }
.lux-gates::after { transform-origin: 50% 0; background: linear-gradient(180deg, var(--gold-hi), var(--gold) 60%, var(--gold-deep)); box-shadow: 0 0 12px rgba(224,181,95,.5); }
.lux-gates__gate { --q: 0; position: relative; }
.lux-gates__gate:nth-child(2) { --q: 1; }
.lux-gates__gate:nth-child(3) { --q: 2; }
.lux-gates__arch { position: absolute; left: -77px; top: 0; z-index: 1; display: block; width: 54px; height: 68px; border: 1px solid var(--gold); border-bottom: 0; border-radius: 27px 27px 0 0; box-shadow: inset 0 0 22px rgba(224,181,95,.22), 0 0 26px -6px rgba(224,181,95,.4); }
.lux-gates__arch::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(70% 60% at 50% 70%, rgba(224,181,95,.26), transparent 72%); }
.lux-gates__arch::after { content: ""; position: absolute; left: -6px; right: -6px; bottom: 0; height: 1px; background: var(--gold); }
.lux-gates__name { margin: 0; font: 500 clamp(1.4rem, 1.2rem + .7vw, 1.85rem)/1.12 var(--lux-serif); color: var(--lux-ivory); }
.lux-gates__gate p { margin: 10px 0 0; max-width: 38ch; font-size: 15px; line-height: 1.66; color: rgba(242,238,230,.68); }
@media (min-width: 900px) {
  .lux-gates { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 4vw, 64px); padding: 0; }
  .lux-gates::before, .lux-gates::after { left: 0; right: 0; top: var(--gy); bottom: auto; width: auto; height: 1px; }
  .lux-gates::after { transform-origin: 0 50%; }
  .lux-gates__gate { padding-top: 96px; }
  .lux-gates__arch { left: 0; }
}

.lux-team { background: var(--ob-900); }
.lux-team--home { background: linear-gradient(180deg, var(--ob-900) 0, var(--ob-900) 58%, var(--ob-950) 100%); }
.lux-team__title { max-width: 22ch; }
@media (min-width: 1000px) {
  .lux-team__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: start; gap: clamp(48px, 6vw, 100px); }
  .lux-team__grid .lux-team__title { position: sticky; top: 150px; font-size: clamp(2.1rem, 1.2rem + 2.4vw, 3.6rem); }
  .lux-team__grid .lux-team__people { margin-top: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.lux-team__people { display: grid; grid-template-columns: 1fr; gap: clamp(40px, 5vw, 64px); margin-top: clamp(40px, 5vw, 72px); }
@media (min-width: 640px) { .lux-team__people { grid-template-columns: repeat(2, minmax(0, 380px)); } }
.lux-person__media { position: relative; overflow: hidden; overflow: clip; aspect-ratio: 4 / 5; margin: 0 0 22px; border-radius: 4px; background: var(--ob-850); }
.lux-person__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; filter: saturate(.5) contrast(1.04) brightness(.94); }
.lux-person__media--duo { isolation: isolate; background: var(--navy-lift); }
.lux-person__media--duo img { filter: grayscale(1) contrast(1.14) brightness(1.04); }
.lux-person__media--duo::before, .lux-person__media--duo::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.lux-person__media--duo::before { background: #0D2239; mix-blend-mode: lighten; }
.lux-person__media--duo::after { background: linear-gradient(180deg, #F2EEE6, #ECE4D4 74%, #DCC9A0); mix-blend-mode: multiply; }
.lux-person__mono { display: grid; place-items: center; border: 1px solid var(--ob-line); background: radial-gradient(70% 60% at 50% 32%, rgba(242,238,230,.075), transparent 70%), var(--ob-850); }
.lux-person__mono::after { content: ""; position: absolute; inset: 0; background: var(--lux-grain) 0 0 / 160px 160px; opacity: .08; pointer-events: none; }
.lux-person__mono > span:not(.lux-sheen) { font: 400 clamp(4rem, 3rem + 4vw, 7rem)/1 var(--lux-serif); letter-spacing: .04em; color: rgba(242,238,230,.82); }
.lux-team--home .lux-person__mono { border-color: rgba(224,181,95,.22); background: radial-gradient(70% 55% at 50% 34%, rgba(224,181,95,.12), transparent 70%), linear-gradient(170deg, var(--navy-lift), var(--navy-deep)); }
.lux-team--home .lux-person__mono::before { content: ""; position: absolute; left: 50%; top: 50%; width: 62%; aspect-ratio: 1; border-radius: 50%; transform: translate(-50%, -50%); box-shadow: inset 0 0 0 1px rgba(224,181,95,.4), 0 0 0 10px rgba(224,181,95,.04); }
.lux-team--home .lux-person__mono > span:not(.lux-sheen) { position: relative; font-style: italic; color: transparent; background: linear-gradient(180deg, var(--gold-hi), var(--gold) 55%, var(--gold-deep)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.lux-person__name { margin: 0; font: 500 clamp(1.6rem, 1.35rem + .8vw, 2rem)/1.1 var(--lux-serif); }
.lux-person__role { margin: 8px 0 0; font: 500 11px/1.4 var(--lux-sans); letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }
.lux-person__text { margin: 14px 0 0; max-width: 36ch; line-height: 1.65; color: rgba(242,238,230,.68); }
.lux-person .lux-textlink { margin-top: 10px; }

.lux-place { display: grid; gap: 28px; margin-top: clamp(64px, 8vw, 112px); padding-top: clamp(40px, 5vw, 64px); border-top: 1px solid var(--ob-line); }
@media (min-width: 900px) { .lux-place { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: end; gap: clamp(40px, 5vw, 80px); } }
.lux-place__media { position: relative; margin: 0; }
.lux-place__media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 4px; filter: saturate(.36) contrast(1.05) brightness(.8); }
.lux-place__addr { font: 400 clamp(1.3rem, 1.1rem + .7vw, 1.7rem)/1.42 var(--lux-serif); font-style: normal; color: var(--lux-ivory); }
.lux-coords { display: flex; align-items: center; gap: 18px; margin: 0 0 22px; padding: 16px 0; border-block: 1px solid var(--ob-line); }
.lux-coords__wi { flex: none; width: 60px; height: auto; aspect-ratio: 400 / 426; overflow: visible; }
.lux-coords__wi use { fill: rgba(13,34,57,.95); stroke: rgba(224,181,95,.65); stroke-width: 6; stroke-linejoin: round; }
.lux-coords__dot { fill: var(--gold-hi); }
.lux-coords__ring { fill: none; stroke: var(--gold); stroke-width: 5; opacity: .6; transform-box: fill-box; transform-origin: center; }
.lux-coords__txt { margin: 0; font: 500 clamp(.98rem, .86rem + .5vw, 1.22rem)/1.3 var(--lux-sans); letter-spacing: .08em; font-variant-numeric: tabular-nums; color: var(--gold-hi); }

.lux-close { text-align: center; border-top: 1px solid var(--ob-line); background: radial-gradient(56% 60% at 50% 100%, rgba(224,181,95,.1), transparent 72%), radial-gradient(60% 70% at 50% 0%, rgba(242,238,230,.06), transparent 70%), var(--ob-950); }
.lux-close__inner { display: flex; flex-direction: column; align-items: center; }
.lux-close__title { max-width: 18ch; margin: 30px auto 0; }
.lux-close__body { margin-inline: auto; max-width: 50ch; }
.lux-sweep--close { width: min(100%, 760px); height: clamp(16px, 2.2vw, 28px); margin: clamp(56px, 7vw, 96px) auto 0; }

.home-lux .footer-prelude { flex-wrap: wrap; gap: 18px 30px; }

@media (prefers-reduced-motion: no-preference) {
  .lux-hero__tag::after { animation: lux-grow-x 1s var(--lux-ease) .7s backwards; }
  .lux-mark__l { -webkit-text-stroke: .014em transparent; animation: lux-letter 1.1s var(--lux-ease) calc(var(--i) * 55ms + 260ms) backwards; }
  .lux-mark.is-measured { animation: lux-sheen 6.4s cubic-bezier(.45,.05,.2,1) 2.3s infinite both; }
  .lux-hero.is-off .lux-mark, .lux-doc-hidden .lux-mark { animation-play-state: paused; }
  .lux-sweep--mark .lux-sweep__line { animation: lux-clip-x 1.5s var(--lux-ease) 1.5s backwards; }
  .lux-sweep--mark .lux-sweep__glow { animation: lux-glow-draw 1.5s var(--lux-ease) 1.5s backwards, lux-breathe 4.8s ease-in-out 3.1s infinite alternate backwards; }
  .lux-hero.is-off .lux-sweep__glow, .lux-doc-hidden .lux-sweep__glow { animation-play-state: paused; }
  .lux-hero__lede { animation: lux-rise-s .6s var(--lux-ease) .8s backwards; }
  .lux-hero .lux-actions { animation: lux-rise-s .6s var(--lux-ease) .95s backwards; }
  .lux-hero:not(.is-off) .lux-hero__cue i { animation: lux-cue 2.6s var(--lux-ease) 3s infinite; }

  .lux-card.is-shown .lux-build__b { animation: lux-snap .9s var(--lux-snap) calc(var(--reveal-delay, 0ms) + 260ms + var(--k) * 85ms) backwards; }
  .lux-card.is-shown .lux-card__photo img { animation: lux-zoom-in 1.8s var(--lux-ease) calc(var(--reveal-delay, 0ms) + 100ms) backwards; }
  .lux-do.is-awake .lux-build__type i { animation: lux-type 7.5s steps(1, end) 1.8s infinite backwards; }
  .lux-do.is-awake .lux-build__cur { animation: lux-cur 7.5s steps(1, end) 1.8s infinite backwards; }
  .lux-do.is-awake .lux-build__cur::before { animation: lux-blink 1s steps(1, end) infinite; }

  .lux-ascent__stop.is-shown .lux-ascent__node { animation: lux-node-on .7s var(--lux-snap) calc(var(--reveal-delay, 0ms) * 3.5 + 300ms) backwards; }
  .lux-civ.is-awake .lux-ascent__plate img { animation: lux-drift 18s ease-in-out infinite alternate; }
  .lux-civ.is-awake .lux-ascent__stop:nth-child(2n) .lux-ascent__plate img { animation-direction: alternate-reverse; animation-duration: 21s; }

  .lux-proc__frame.is-live[data-step="1"] .lux-sw i { animation: lux-pop .6s var(--lux-snap) calc(.15s + var(--k) * .09s) backwards; }
  .lux-proc__frame.is-live[data-step="1"] .lux-spec { animation: lux-rise-s .8s var(--lux-ease) .25s backwards; }
  .lux-proc__frame.is-live[data-step="1"] .lux-mood { animation: lux-wipe-up 1s var(--lux-ease) .35s backwards; }
  .lux-proc__frame.is-live[data-step="1"] .lux-mood i { animation: lux-sun 1.6s var(--lux-ease) .5s backwards; }
  .lux-proc__frame[data-step="2"] .lux-code { animation: lux-clip-x .42s steps(9, end) calc(.15s + var(--k) * .16s) backwards; }
  .lux-proc.is-awake .lux-proc__frame[data-step="2"] .lux-code__caret { animation: lux-blink 1s steps(1, end) 1.4s infinite; }
  .lux-proc__frame[data-step="3"] .lux-edge__links { stroke-dasharray: 1; animation: lux-draw .9s cubic-bezier(.4,0,.2,1) .1s backwards; }
  .lux-proc__frame[data-step="3"] .lux-edge__nodes circle { transform-box: fill-box; transform-origin: center; animation: lux-pop .5s var(--lux-snap) .6s backwards; }
  .lux-proc.is-awake .lux-proc__frame[data-step="3"] .lux-edge__pulse { animation: lux-pulse-dash 2.2s linear .9s infinite backwards; }
  .lux-proc.is-awake .lux-proc__frame[data-step="3"] .lux-edge__core { animation: lux-core 2.2s ease-in-out .9s infinite; }
  .lux-proc__frame[data-step="3"] .lux-edge__ok { animation: lux-rise-s .6s var(--lux-snap) 1s backwards; }
  .lux-proc__frame[data-step="4"] .lux-tree__root { transform-box: fill-box; transform-origin: center; animation: lux-pop .5s var(--lux-snap) .1s backwards; }
  .lux-proc__frame[data-step="4"] .lux-tree__links { animation: lux-draw .42s cubic-bezier(.4,0,.2,1) calc(.3s + var(--t, 0) * .17s) backwards; }
  .lux-proc__frame[data-step="4"] .lux-tree__kids rect { animation: lux-pop .5s var(--lux-snap) .9s backwards; }
  .lux-proc__frame[data-step="4"] .lux-tree__leaves rect { animation: lux-pop .5s var(--lux-snap) 1.55s backwards; }
  .lux-proc__frame[data-step="5"] .lux-phone { animation: lux-rise-s .8s var(--lux-ease) .1s backwards; }
  .lux-proc__frame[data-step="5"] .lux-phone i { animation: lux-rise-s .55s var(--lux-ease) calc(.4s + var(--k) * .1s) backwards; }
  .lux-proc.is-awake .lux-proc__frame[data-step="5"] .lux-phone i:nth-of-type(5) { animation: lux-rise-s .55s var(--lux-ease) .8s backwards, lux-focus 2.4s ease-in-out 1.4s infinite; }

  .lux-scale.is-shown .lux-scale__fill { animation: lux-grow-x 1.8s var(--lux-ease) .25s backwards; }
  .lux-scale.is-shown .lux-scale__mark { animation: lux-rise-mark .7s var(--lux-ease) .35s backwards; }
  .lux-scale.is-shown .lux-scale__mark--b { animation-delay: .75s; }
  .lux-scale.is-shown .lux-scale__mark--c { animation-delay: 1.15s; }
  .lux-ledger.is-shown .lux-ledger__was { animation: lux-dim .5s ease calc(.55s + var(--r) * .42s) backwards; }
  .lux-ledger.is-shown .lux-ledger__was::after { animation: lux-grow-x .5s var(--lux-ease) calc(.55s + var(--r) * .42s) backwards; }
  .lux-ledger.is-shown .lux-ledger__now { animation: lux-resolve .7s var(--lux-ease) calc(.85s + var(--r) * .42s) backwards; }
  .lux-ledger.is-shown .lux-ledger__row--keep { animation: lux-keep 1.6s ease calc(.9s + var(--r) * .42s) backwards; }

  .lux-shot.is-shown .lux-sheen { animation: lux-sheen-pass 1.7s cubic-bezier(.5,0,.2,1) calc(var(--reveal-delay, 0ms) + 550ms) both; }
  .lux-shot.is-shown .lux-shot__screen img { animation: lux-zoom-in 1.8s var(--lux-ease) calc(var(--reveal-delay, 0ms) + 120ms) backwards; }

  .lux-day__fig.is-shown .lux-day__h--bill i { animation: lux-grow-y 1.1s var(--lux-ease) calc(.3s + var(--k) * .16s) backwards; }
  .lux-day__fig.is-shown .lux-day__h--drain i { animation: lux-drain 1.7s cubic-bezier(.6,0,.3,1) calc(.95s + (var(--k) - 3) * .14s) backwards; }
  .lux-day__fig.is-shown .lux-day__big { animation: lux-big 1.4s var(--lux-ease) 1.5s backwards; }
  .lux-day__fig.is-shown .lux-day__drains span { animation: lux-rise-s .7s var(--lux-ease) 2s backwards; }
  .lux-day__fig.is-shown .lux-day__drains span:nth-child(2) { animation-delay: 2.15s; }
  .lux-day__fig.is-shown .lux-day__drains span:nth-child(3) { animation-delay: 2.3s; }
  .lux-day.is-awake .lux-day__h--bill i::after { animation: lux-rise-glint 4.2s ease-in-out calc(3s + var(--k) * .35s) infinite; }

  .lux-state__visual.is-shown .lux-map__lead { animation: lux-draw 1.5s var(--lux-ease) .9s backwards; }
  .lux-state__visual.is-shown .lux-map__plate { animation: lux-plate .9s var(--lux-ease) 1.5s backwards; }
  .lux-state__visual.is-shown .lux-map__plate--dane { animation-delay: 1.75s; }
  .lux-state__visual.is-shown .lux-map__county { animation: lux-fade-in 1.2s ease .5s backwards; }
  .lux-state.is-awake .lux-map__radar { opacity: 1; }
  .lux-state.is-awake .lux-map__radar i { animation: lux-spin 7s linear infinite; }
  .lux-state.is-awake .lux-map__pings i { animation: lux-ping 7s linear infinite; }
  .lux-state.is-awake .lux-map__halo { animation: lux-halo 3.2s cubic-bezier(.2,.6,.3,1) infinite; }
  .lux-state.is-awake .lux-map__halo--late { animation-delay: 1.6s; }
  .lux-doc-hidden [data-lux-awake] * { animation-play-state: paused !important; }

  .lux-tile.is-shown .lux-viz { animation: lux-fade-in .9s ease calc(var(--reveal-delay, 0ms) + 200ms) backwards; }
  .lux-tools.is-awake .lux-viz--rows i { animation: lux-stack 5.2s var(--lux-snap) calc(var(--k) * .42s) infinite backwards; }
  .lux-tools.is-awake .lux-viz--type i { animation: lux-ai-1 6.4s steps(1, end) infinite backwards; }
  .lux-tools.is-awake .lux-viz--type i:nth-child(2) { animation-name: lux-ai-2; }
  .lux-tools.is-awake .lux-viz--type i:nth-child(3) { animation-name: lux-ai-3; }
  .lux-tools.is-awake .lux-viz--type i:nth-child(4) { animation-name: lux-ai-4; }
  .lux-tools.is-awake .lux-viz__caret { animation: lux-ai-caret 6.4s steps(1, end) infinite backwards; }
  .lux-tools.is-awake .lux-viz__caret::before { animation: lux-blink 1s steps(1, end) infinite; }
  .lux-tools.is-awake .lux-dial__hand { animation: lux-hand 5s var(--lux-ease) infinite; }
  .lux-tools.is-awake .lux-dial__arc { animation: lux-arc 5s var(--lux-ease) infinite; }
  .lux-tools.is-awake .lux-radar__arm { animation: lux-spin-arm 3.6s linear infinite; }
  .lux-tools.is-awake .lux-radar__blip { animation: lux-blip 3.6s ease-out var(--d, 0s) infinite backwards; }

  .lux-gates.is-shown::after { animation: lux-grow-y 2.4s linear .3s backwards; }
  .lux-gates.is-shown .lux-gates__arch { animation: lux-gate-on .8s ease calc(.35s + var(--q) * .8s) backwards; }
  .lux-gates.is-shown .lux-gates__arch::before { animation: lux-fade-in .8s ease calc(.35s + var(--q) * .8s) backwards; }
  .lux-gates.is-shown .lux-gates__name { animation: lux-gate-text .8s ease calc(.45s + var(--q) * .8s) backwards; }
  .lux-gate.is-awake .lux-gate__photo img { animation: lux-drift 22s ease-in-out infinite alternate; }

  .lux-person.is-shown .lux-sheen { animation: lux-sheen-pass 1.9s cubic-bezier(.5,0,.2,1) calc(var(--reveal-delay, 0ms) + 650ms) both; }
  .lux-place__copy.is-shown .lux-coords__wi { animation: lux-pop .7s var(--lux-snap) .3s backwards; }
  .lux-team.is-awake .lux-coords__ring { animation: lux-halo-small 2.8s ease-out infinite; }

  .lux-close__inner.is-shown .lux-sweep--close .lux-sweep__line { animation: lux-clip-x 1.6s var(--lux-ease) .6s backwards; }
  .lux-close__inner.is-shown .lux-sweep--close .lux-sweep__glow { animation: lux-glow-draw 1.6s var(--lux-ease) .6s backwards, lux-breathe 4.8s ease-in-out 2.3s infinite alternate backwards; }
  .lux-close:not(.is-awake) .lux-sweep__glow, .lux-doc-hidden .lux-close .lux-sweep__glow { animation-play-state: paused; }

  @media (min-width: 860px) {
    .lux-ascent__stop.is-shown:not(:last-child)::after { animation: lux-grow-x .6s linear calc(var(--reveal-delay, 0ms) * 3.5 + 300ms) backwards; }
  }
  @media (min-width: 900px) {
    .lux-gates.is-shown::after { animation-name: lux-grow-x; }
  }
}

@keyframes lux-letter {
  0% { opacity: 0; transform: perspective(520px) translate3d(0,.55em,0) rotateX(-70deg); filter: blur(12px); -webkit-text-stroke-color: rgba(240,209,143,.95); }
  45% { opacity: 1; -webkit-text-stroke-color: rgba(224,181,95,.85); }
  72% { filter: blur(0); }
  100% { opacity: 1; transform: none; filter: blur(0); -webkit-text-stroke-color: rgba(224,181,95,0); }
}
@keyframes lux-sheen { 0% { --s0: -60%; } 46%, 100% { --s0: 165%; } }
@keyframes lux-clip-x { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes lux-glow-draw { from { clip-path: inset(-300% 100% -300% -20%); } to { clip-path: inset(-300% -20% -300% -20%); } }
@keyframes lux-breathe { from { opacity: .2; } to { opacity: .75; } }
@keyframes lux-grow-x { from { transform: scaleX(0); } }
@keyframes lux-grow-y { from { transform: scaleY(0); } }
@keyframes lux-cue { 0% { transform: translate3d(0,-14px,0); opacity: 0; } 25% { opacity: 1; } 100% { transform: translate3d(0,44px,0); opacity: 0; } }
@keyframes lux-snap { from { opacity: 0; transform: translate3d(var(--fx, 0px), var(--fy, 14px), 0) rotate(var(--fr, 0deg)) scale(.9); } }
@keyframes lux-zoom-in { from { transform: scale(1.16); filter: saturate(.2) contrast(1) brightness(.45); } }
@keyframes lux-type { 0%, 10% { clip-path: inset(0 100% 0 0); } 14% { clip-path: inset(0 84% 0 0); } 18% { clip-path: inset(0 70% 0 0); } 22% { clip-path: inset(0 58% 0 0); } 26% { clip-path: inset(0 44% 0 0); } 30% { clip-path: inset(0 30% 0 0); } 34% { clip-path: inset(0 16% 0 0); } 38%, 86% { clip-path: inset(0 0 0 0); } 90% { clip-path: inset(0 50% 0 0); } 94%, 100% { clip-path: inset(0 100% 0 0); } }
@keyframes lux-cur { 0%, 10% { transform: translate3d(0,0,0); } 14% { transform: translate3d(16%,0,0); } 18% { transform: translate3d(30%,0,0); } 22% { transform: translate3d(42%,0,0); } 26% { transform: translate3d(56%,0,0); } 30% { transform: translate3d(70%,0,0); } 34% { transform: translate3d(84%,0,0); } 38%, 86% { transform: translate3d(100%,0,0); } 90% { transform: translate3d(50%,0,0); } 94%, 100% { transform: translate3d(0,0,0); } }
@keyframes lux-blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
@keyframes lux-node-on { from { background-color: var(--ob-950); box-shadow: inset 0 0 0 1px rgba(242,238,230,.4); transform: scale(.6); } }
@keyframes lux-drift { from { transform: scale(1.07) translate3d(-1.6%,.6%,0); } to { transform: scale(1.07) translate3d(1.6%,-.8%,0); } }
@keyframes lux-pop { from { opacity: 0; transform: scale(.4); } }
@keyframes lux-rise-s { from { opacity: 0; transform: translate3d(0,14px,0); } }
@keyframes lux-rise-mark { from { opacity: 0; transform: translate3d(var(--tx),14px,0); } }
@keyframes lux-wipe-up { from { clip-path: inset(100% 0 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes lux-sun { from { transform: translate(-50%, 10%); opacity: 0; } }
@keyframes lux-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes lux-pulse-dash { from { stroke-dashoffset: .05; } to { stroke-dashoffset: -.95; } }
@keyframes lux-core { 0%, 100% { fill: rgba(224,181,95,.1); } 50% { fill: rgba(224,181,95,.3); } }
@keyframes lux-focus { 0%, 100% { outline-color: rgba(240,209,143,.85); } 50% { outline-color: rgba(240,209,143,.15); } }
@keyframes lux-dim { from { color: rgba(242,238,230,.92); } }
@keyframes lux-resolve { from { opacity: 0; transform: translate3d(0,8px,0); filter: blur(5px); } }
@keyframes lux-keep { 0% { background-color: rgba(224,181,95,0); } 30% { background-color: rgba(224,181,95,.1); } 100% { background-color: rgba(224,181,95,0); } }
@keyframes lux-sheen-pass { 0% { opacity: 1; transform: translate3d(-130%,0,0); } 100% { opacity: 1; transform: translate3d(130%,0,0); } }
@keyframes lux-drain { from { transform: translate3d(0,0,0); opacity: .95; } }
@keyframes lux-big { from { opacity: 0; filter: blur(18px); transform: scale(1.16); } }
@keyframes lux-rise-glint { 0% { opacity: 0; transform: translate3d(0,260%,0); } 30% { opacity: 1; } 60%, 100% { opacity: 0; transform: translate3d(0,-120%,0); } }
@keyframes lux-plate { from { opacity: 0; transform: translate3d(0,12px,0) scale(.96); } }
@keyframes lux-fade-in { from { opacity: 0; } }
@keyframes lux-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes lux-ping { 0% { opacity: 1; transform: scale(2.4); } 8% { opacity: .85; transform: scale(1.4); } 24%, 100% { opacity: 0; transform: scale(1); } }
@keyframes lux-halo { 0% { opacity: .95; transform: scale(.154); } 100% { opacity: 0; transform: scale(1); } }
@keyframes lux-halo-small { 0% { opacity: .7; transform: scale(.8); } 100% { opacity: 0; transform: scale(2.4); } }
@keyframes lux-stack { 0% { opacity: 0; transform: translate3d(0,-48px,0); } 12% { opacity: 1; transform: translate3d(0,0,0); } 84% { opacity: 1; transform: translate3d(0,0,0); } 94%, 100% { opacity: 0; transform: translate3d(0,0,0); } }
@keyframes lux-ai-1 { 0% { transform: scaleX(0); opacity: 1; } 4% { transform: scaleX(.2); } 7% { transform: scaleX(.42); } 10% { transform: scaleX(.64); } 13% { transform: scaleX(.86); } 16%, 84% { transform: scaleX(1); opacity: 1; animation-timing-function: ease; } 92%, 100% { transform: scaleX(1); opacity: 0; } }
@keyframes lux-ai-2 { 0% { transform: scaleX(0); opacity: 1; } 18% { transform: scaleX(.2); } 21% { transform: scaleX(.42); } 24% { transform: scaleX(.64); } 27% { transform: scaleX(.86); } 30%, 84% { transform: scaleX(1); opacity: 1; animation-timing-function: ease; } 92%, 100% { transform: scaleX(1); opacity: 0; } }
@keyframes lux-ai-3 { 0% { transform: scaleX(0); opacity: 1; } 32% { transform: scaleX(.2); } 35% { transform: scaleX(.42); } 38% { transform: scaleX(.64); } 41% { transform: scaleX(.86); } 44%, 84% { transform: scaleX(1); opacity: 1; animation-timing-function: ease; } 92%, 100% { transform: scaleX(1); opacity: 0; } }
@keyframes lux-ai-4 { 0% { transform: scaleX(0); opacity: 1; } 46% { transform: scaleX(.2); } 49% { transform: scaleX(.42); } 52% { transform: scaleX(.64); } 55% { transform: scaleX(.86); } 58%, 84% { transform: scaleX(1); opacity: 1; animation-timing-function: ease; } 92%, 100% { transform: scaleX(1); opacity: 0; } }
@keyframes lux-ai-caret { 0% { transform: translate3d(0,-21px,0); opacity: 1; } 4% { transform: translate3d(18.4%,-21px,0); } 7% { transform: translate3d(38.64%,-21px,0); } 10% { transform: translate3d(58.88%,-21px,0); } 13% { transform: translate3d(79.12%,-21px,0); } 16% { transform: translate3d(92%,-21px,0); } 18% { transform: translate3d(15.2%,-7px,0); } 21% { transform: translate3d(31.92%,-7px,0); } 24% { transform: translate3d(48.64%,-7px,0); } 27% { transform: translate3d(65.36%,-7px,0); } 30% { transform: translate3d(76%,-7px,0); } 32% { transform: translate3d(17.2%,7px,0); } 35% { transform: translate3d(36.12%,7px,0); } 38% { transform: translate3d(55.04%,7px,0); } 41% { transform: translate3d(73.96%,7px,0); } 44% { transform: translate3d(86%,7px,0); } 46% { transform: translate3d(9.6%,21px,0); } 49% { transform: translate3d(20.16%,21px,0); } 52% { transform: translate3d(30.72%,21px,0); } 55% { transform: translate3d(41.28%,21px,0); } 58%, 84% { transform: translate3d(48%,21px,0); opacity: 1; animation-timing-function: ease; } 92% { transform: translate3d(48%,21px,0); opacity: 0; } 100% { transform: translate3d(0,-21px,0); opacity: 0; } }
@keyframes lux-hand { 0% { transform: rotate(0deg); opacity: 1; } 46% { transform: rotate(90deg); } 84% { transform: rotate(90deg); opacity: 1; } 92% { transform: rotate(90deg); opacity: 0; } 93% { transform: rotate(0deg); opacity: 0; } 100% { transform: rotate(0deg); opacity: 1; } }
@keyframes lux-arc { 0% { stroke-dashoffset: 1; opacity: 1; } 46% { stroke-dashoffset: 0; } 84% { stroke-dashoffset: 0; opacity: 1; } 92% { stroke-dashoffset: 0; opacity: 0; } 93% { stroke-dashoffset: 1; opacity: 0; } 100% { stroke-dashoffset: 1; opacity: 1; } }
@keyframes lux-spin-arm { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes lux-blip { 0% { opacity: 1; transform: scale(1.8); } 25% { opacity: .7; transform: scale(1); } 100% { opacity: .08; transform: scale(1); } }
@keyframes lux-gate-on { from { border-color: rgba(242,238,230,.28); box-shadow: inset 0 0 22px rgba(224,181,95,0), 0 0 26px -6px rgba(224,181,95,0); } }
@keyframes lux-gate-text { from { color: rgba(242,238,230,.45); } }

@media print {
  .lux-hero__canvas, .lux-hero__cue, .lux-sweep__glow { display: none; }
  .lux-proc__stage, .lux-flow.is-pinned .lux-flow__pin { position: static; }
  .lux-flow.is-pinned .lux-flow__scroll { height: auto; }
  .lux-scene { position: relative; opacity: 1; visibility: visible; }
}
.lux-hero__arcs { position: absolute; left: 0; top: 0; z-index: -1; width: 100%; pointer-events: none; mix-blend-mode: screen; }
.lux-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.awa-tagline--hero.awa-tagline { gap: .08em .32em; font-size: clamp(2.7rem, 1rem + 5.4vw, 6.6rem); line-height: 1.04; letter-spacing: -.012em; color: var(--lux-ivory); }
.awa-tagline--hero .awa-tagline__mark { width: 1.35em; height: .26em; margin-left: .06em; }
.awa-tagline--hero .awa-tagline__b { flex-basis: 100%; }
.awa-tagline--hero .awa-tagline__b em { padding: 0 .08em .06em 0; }
.lux-hero__tag:has(.awa-tagline--hero) { width: auto; margin-bottom: clamp(26px, 4.5vh, 48px); }
@media (prefers-reduced-motion: no-preference) {
  .awa-tagline--hero .awa-tagline__b em.is-ignited { animation: awa-ignite 1.2s cubic-bezier(.2,.7,.1,1) both; }
}
@keyframes awa-ignite { 0% { filter: drop-shadow(0 0 0 rgba(240,209,143,0)) brightness(1); } 28% { filter: drop-shadow(0 0 .18em rgba(240,209,143,.6)) brightness(1.2); } 100% { filter: drop-shadow(0 0 .07em rgba(240,209,143,.35)) brightness(1.06); } }
.lux-person__media--plain img { filter: none; object-position: 50% 50%; }
.lux-ascent__band { display: inline-flex; align-items: center; gap: 8px; width: fit-content; margin: 12px 0 0; padding: 6px 12px; border: 1px solid rgba(242,238,230,.18); border-radius: 999px; font: 600 10.5px/1.2 var(--lux-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--lux-soft); }
.lux-ascent__band span { color: var(--lux-muted); font-weight: 500; }
.lux-ascent__stop--reg .lux-ascent__band { border-color: rgba(224,181,95,.5); background: rgba(224,181,95,.08); color: var(--gold-hi); }
.lux-ascent__stop--reg .lux-ascent__band span { color: var(--gold); }
@media (min-width: 860px) { .lux-ascent__band { align-self: center; } }
@media (max-width: 859px) { .lux-ascent__band { flex-direction: column; align-items: flex-start; gap: 3px; border-radius: 10px; padding: 7px 11px; white-space: nowrap; } }

/* chapter map, directly under the hero: the whole page in three lines */
.lux-toc { position: relative; padding: clamp(30px, 4.5vw, 60px) 0 0; background: var(--ob-950); }
.lux-toc__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.lux-toc__list li { position: relative; border-top: 1px solid var(--ob-line); }
.lux-toc__list a { display: grid; gap: 8px; padding: 20px 0; color: inherit; text-decoration: none; }
.lux-toc__k { font: 600 11px/1 var(--lux-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--lux-ivory); transition: color .3s ease; }
.lux-toc__d { max-width: 34ch; font: 400 clamp(.95rem, .9rem + .2vw, 1.05rem)/1.55 var(--lux-sans); color: var(--lux-muted); }
.lux-toc__list a:hover .lux-toc__k, .lux-toc__list a:focus-visible .lux-toc__k { color: var(--gold-hi); }
.lux-toc__list a:focus-visible { outline: 1px solid var(--lux-ivory); outline-offset: 4px; }
@media (min-width: 860px) {
  .lux-toc__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(26px, 3.4vw, 56px); }
  .lux-toc__list li::before { content: ""; position: absolute; left: 0; top: -3px; width: 5px; height: 5px; border-radius: 50%; background: var(--gold-deep); }
  .lux-toc__list a { padding: 24px 0 0; }
}

/* law firm website design (homepage) */
.lux-lf__grid { display: grid; gap: clamp(44px, 6vw, 96px); align-items: start; }
@media (min-width: 960px) { .lux-lf__grid { grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); } }
.lux-lf .lux-h2 { max-width: 15ch; }
.lux-lf__list { list-style: none; margin: clamp(26px, 3vw, 38px) 0 0; padding: 0; max-width: 54ch; border-top: 1px solid var(--ob-line); }
.lux-lf__list li { position: relative; padding: 15px 0 15px 34px; border-bottom: 1px solid var(--ob-line); font-size: clamp(.98rem, .94rem + .2vw, 1.06rem); line-height: 1.55; color: var(--lux-soft); }
.lux-lf__list li::before { content: ""; position: absolute; left: 2px; top: 1.62em; width: 16px; height: 1px; background: var(--gold-deep); }
.lux-lf__facts { display: flex; flex-wrap: wrap; gap: 18px clamp(18px, 2.2vw, 40px); margin: clamp(26px, 3vw, 38px) 0 0; padding: 0; }
.lux-lf__facts dt { margin: 0 0 8px; font: 600 10.5px/1.3 var(--lux-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--lux-muted); }
.lux-lf__facts dd { margin: 0; font: 500 clamp(1.7rem, 1.2rem + 1.3vw, 2.3rem)/1 var(--lux-serif); color: var(--lux-ivory); font-variant-numeric: lining-nums; }
.lux-lf__links { display: flex; flex-wrap: wrap; gap: 0 clamp(22px, 3vw, 40px); }
.lux-lf__plates { position: relative; padding-bottom: clamp(44px, 9vw, 110px); }
@media (min-width: 960px) { .lux-lf__plates { align-self: start; position: sticky; top: 104px; } }
.lux-lf__plate--main .lux-credit { max-width: 42%; }
.lux-lf__plate { margin: 0; }
.lux-lf__frame { position: relative; overflow: hidden; overflow: clip; border-radius: 4px; background: var(--ob-850); }
.lux-lf__frame img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.62) contrast(1.04) brightness(.86); }
.lux-lf__plate--main .lux-lf__frame { aspect-ratio: 4 / 3.15; }
.lux-lf__plate--inset { position: absolute; right: clamp(-12px, -1.4vw, -4px); bottom: 0; width: 54%; }
.lux-lf__plate--inset .lux-lf__frame { aspect-ratio: 3 / 2; border: 1px solid var(--ob-line); box-shadow: 0 26px 64px rgba(0, 0, 0, .6); }
.lux-lf__tag { margin: 10px 0 0; font: 600 10px/1.3 var(--lux-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--lux-muted); }
