/* ==========================================================================
   Flexothene — the night shift.
   The plant at night, lit like a stage: every page runs from night into day.
   Colours come only from the logo (navy #03276B, blue #436FC3) and shades and
   tints of them. Every rule is scoped to .fx-* classes so Elementor widgets
   keep their own styling.
   ========================================================================== */

@font-face { font-family: "Mona Sans"; src: url("../fonts/mona-sans-var.woff2") format("woff2"); font-weight: 400 900; font-stretch: 75% 125%; font-style: normal; font-display: swap; }
@font-face { font-family: "Mona Sans"; src: url("../fonts/mona-sans-var-italic.woff2") format("woff2"); font-weight: 600 900; font-stretch: 100% 125%; font-style: italic; font-display: swap; }
@font-face { font-family: "Mona Sans Mono"; src: url("../fonts/mona-sans-mono.woff2") format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }

:root {
	--fx-night: #010b22;
	--fx-night-2: #021740;
	--fx-navy: #03276b;
	--fx-navy-deep: #021c4e;
	--fx-blue: #436fc3;
	--fx-blue-70: #7b98d3;
	--fx-blue-40: #b4c5e7;
	--fx-blue-20: #d9e2f3;
	--fx-blue-10: #ecf0f9;
	--fx-day: #f3f6fb;
	--fx-paper: #ffffff;
	--fx-ink: #0b1b3d;
	--fx-ink-2: #34456a;
	--fx-ink-3: #56647f;
	--fx-on: #ffffff;
	--fx-on-2: #c9d6f0;
	--fx-on-3: #93a9d8;
	--fx-rule: rgba(3, 39, 107, 0.16);
	--fx-rule-2: rgba(3, 39, 107, 0.32);
	--fx-rule-d: rgba(201, 214, 240, 0.16);
	--fx-rule-d2: rgba(201, 214, 240, 0.32);
	--fx-sans: "Mona Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
	--fx-mono: "Mona Sans Mono", ui-monospace, "SF Mono", Consolas, monospace;
	--fx-gutter: clamp(18px, 4vw, 44px);
	--fx-max: 1280px;
	--fx-head-h: 76px;
	--fx-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--fx-ease-io: cubic-bezier(0.65, 0, 0.35, 1);
}

/* ---------- base ---------- */
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--fx-head-h) + 12px); }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
body.fx { margin: 0; background: var(--fx-night); color: var(--fx-ink); font-family: var(--fx-sans); font-size: 1.0625rem; line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; accent-color: var(--fx-blue); caret-color: var(--fx-blue); scrollbar-color: var(--fx-blue) var(--fx-night); }
body.fx ::selection { background: var(--fx-blue); color: #fff; }
:where(.fx-site) :where([class^="fx-"], [class*=" fx-"]), :where(.fx-site) :where([class^="fx-"], [class*=" fx-"])::before, :where(.fx-site) :where([class^="fx-"], [class*=" fx-"])::after { box-sizing: border-box; }
.fx-site { overflow-x: clip; min-height: 100vh; display: flex; flex-direction: column; }
.fx-main { flex: 1 0 auto; outline: none; background: var(--fx-day); }
.fx-site [hidden] { display: none !important; }
:where(.fx-site) img { max-width: 100%; height: auto; }
.fx-site :focus-visible { outline: 2px solid var(--fx-blue); outline-offset: 3px; border-radius: 3px; }
:is(.fx-head, .fx-foot, .fx-drawer, .fx-board--night, .fx-board--navy, .fx-board--blue, .fx-hero, .fx-phero, .fx-line, .fx-atlas, .fx-log, .fx-inds) :focus-visible { outline-color: #fff; }
.fx-sr, .fx-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.fx-skip { position: absolute; left: 12px; top: -60px; z-index: 200; padding: 10px 16px; background: #fff; color: var(--fx-navy); font: 650 15px/1 var(--fx-sans); border-radius: 4px; text-decoration: none; transition: top 0.2s; }
.fx-skip:focus { top: 12px; }
.fx-icon { width: 1.25em; height: 1.25em; flex: none; }
.fx-flip { transform: scaleX(-1); }
.fx-wrap { width: min(var(--fx-max), calc(100% - 2 * var(--fx-gutter))); margin-inline: auto; }

/* ---------- tones: every section is a lighting state ---------- */
.fx-board { position: relative; padding-block: clamp(84px, 11vw, 160px); }
.fx-board--night, .fx-board--navy, .fx-board--blue { color: var(--fx-on); }
.fx-board--night { background: var(--fx-night); }
.fx-board--navy { background: var(--fx-navy); }
.fx-board--blue { background: var(--fx-blue); }
.fx-board--film { background: var(--fx-day); }
.fx-board--paper { background: var(--fx-paper); }
.fx-board--tint { background: var(--fx-blue-10); }

/* ---------- type ---------- */
.fx-display, .fx-h1, .fx-h2, .fx-h3 { font-family: var(--fx-sans); margin: 0; text-wrap: balance; color: var(--fx-navy); }
.fx-display { font-size: clamp(2.6rem, 6.4vw, 6.4rem); font-weight: 850; font-stretch: 118%; line-height: 0.92; letter-spacing: -0.02em; text-transform: uppercase; }
.fx-h1 { font-size: clamp(2.2rem, 4.8vw, 4.6rem); font-weight: 850; font-stretch: 115%; line-height: 0.95; letter-spacing: -0.018em; text-transform: uppercase; max-width: 16ch; }
.fx-h2 { font-size: clamp(1.75rem, 3.4vw, 3.15rem); font-weight: 830; font-stretch: 112%; line-height: 0.98; letter-spacing: -0.014em; text-transform: uppercase; max-width: 20ch; }
.fx-h3 { font-size: clamp(1.25rem, 1.7vw, 1.55rem); font-weight: 740; font-stretch: 105%; line-height: 1.12; letter-spacing: -0.012em; }
.fx-display .fx-dim, .fx-h1 .fx-dim, .fx-h2 .fx-dim { color: var(--fx-blue); }
:is(.fx-board--night, .fx-board--navy, .fx-board--blue, .fx-line, .fx-atlas, .fx-log, .fx-inds) :is(.fx-display, .fx-h1, .fx-h2, .fx-h3), .fx-h2--light { color: var(--fx-on); }
:is(.fx-board--night, .fx-board--navy, .fx-line, .fx-atlas, .fx-log) :is(.fx-display, .fx-h1, .fx-h2) .fx-dim { color: var(--fx-blue-70); }
.fx-lead { font-size: clamp(1.08rem, 1.3vw, 1.25rem); line-height: 1.55; color: var(--fx-ink-2); max-width: 56ch; margin: 1.1em 0 0; }
:is(.fx-board--night, .fx-board--navy, .fx-line, .fx-atlas, .fx-log) .fx-lead, .fx-lead--light { color: var(--fx-on-2); }
:is(.fx-board--blue, .fx-inds) :is(.fx-lead, p) { color: #fff; }
.fx-board p { margin: 0.9em 0 0; }
:is(.fx-board--night, .fx-board--navy, .fx-line, .fx-atlas, .fx-log) p { color: var(--fx-on-2); }
.fx-mono { font-family: var(--fx-mono); font-size: 0.75rem; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; font-variant-numeric: tabular-nums slashed-zero; }
.fx-split-line { display: block; overflow: hidden; padding-bottom: 0.06em; margin-bottom: -0.06em; }
.fx-split-line > span { display: block; }

.fx-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font: 650 0.98rem/1.2 var(--fx-sans); color: var(--fx-navy); text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat; padding-bottom: 3px; transition: background-size 0.45s var(--fx-ease); }
.fx-link .fx-icon { width: 1.05em; height: 1.05em; transition: transform 0.35s var(--fx-ease); }
.fx-link:hover { background-size: 100% 1.5px; }
.fx-link:hover .fx-icon { transform: translateX(4px); }
:is(.fx-board--night, .fx-board--navy, .fx-board--blue, .fx-line, .fx-atlas, .fx-log, .fx-inds) .fx-link { color: #fff; }

/* ---------- buttons ---------- */
.fx-btn { --bg: var(--fx-navy); --fg: #fff; --bd: transparent; --fill: var(--fx-blue); position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 24px; border: 1.5px solid var(--bd); border-radius: 999px; background: var(--bg); color: var(--fg); font: 650 0.98rem/1.1 var(--fx-sans); text-decoration: none; white-space: nowrap; cursor: pointer; overflow: hidden; isolation: isolate; transition: color 0.35s var(--fx-ease), border-color 0.3s, transform 0.2s; -webkit-tap-highlight-color: transparent; }
.fx-btn::before { content: ""; position: absolute; inset: -1px; z-index: -1; border-radius: inherit; background: var(--fill); transform: translateY(102%); transition: transform 0.5s var(--fx-ease); }
.fx-btn:hover::before { transform: none; }
.fx-btn__icon { width: 1.1em; height: 1.1em; transition: transform 0.35s var(--fx-ease); }
.fx-btn:hover .fx-btn__icon { transform: translateX(4px); }
.fx-btn:active { transform: scale(0.98); }
.fx-btn--light { --bg: #fff; --fg: var(--fx-navy); --fill: var(--fx-blue-20); }
.fx-btn--line { --bg: transparent; --fg: var(--fx-navy); --bd: var(--fx-rule-2); --fill: var(--fx-navy); }
.fx-btn--line:hover { --fg: #fff; --bd: var(--fx-navy); }
:is(.fx-board--night, .fx-board--navy, .fx-board--blue, .fx-hero, .fx-phero, .fx-line, .fx-atlas, .fx-log, .fx-inds, .fx-qhero) .fx-btn--line { --fg: #fff; --bd: var(--fx-rule-d2); --fill: #fff; }
:is(.fx-board--night, .fx-board--navy, .fx-board--blue, .fx-hero, .fx-phero, .fx-line, .fx-atlas, .fx-log, .fx-inds, .fx-qhero) .fx-btn--line:hover { --fg: var(--fx-navy); --bd: #fff; }
:is(.fx-board--night, .fx-board--navy, .fx-hero, .fx-phero, .fx-line, .fx-atlas, .fx-log) .fx-btn--primary { --bg: #fff; --fg: var(--fx-navy); --fill: var(--fx-blue-20); }
.fx-board--blue .fx-btn--primary { --bg: var(--fx-navy); --fg: #fff; --fill: var(--fx-night); }
.fx-btn[disabled], .fx-btn[aria-disabled="true"] { opacity: 0.5; cursor: not-allowed; }
.fx-btn.is-busy .fx-btn__label::after { content: "…"; }
.fx-actions { display: flex; flex-wrap: wrap; gap: 12px 14px; margin-top: 30px; align-items: center; }
.fx-round { display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid var(--fx-rule-2); background: transparent; color: var(--fx-navy); cursor: pointer; transition: background-color 0.25s, color 0.25s, border-color 0.25s, transform 0.2s; }
.fx-round:hover { background: var(--fx-navy); color: #fff; border-color: var(--fx-navy); }
:is(.fx-board--night, .fx-board--navy, .fx-atlas, .fx-log) .fx-round { color: #fff; border-color: var(--fx-rule-d2); }
:is(.fx-board--night, .fx-board--navy, .fx-atlas, .fx-log) .fx-round:hover { background: #fff; color: var(--fx-navy); }
.fx-round[disabled] { opacity: 0.35; pointer-events: none; }

/* ---------- header ---------- */
.fx-head { position: fixed; top: 0; left: 0; right: 0; z-index: 60; color: #fff; transition: transform 0.5s var(--fx-ease), background-color 0.4s, box-shadow 0.4s; }
.admin-bar .fx-head { top: 32px; }
@media (max-width: 782px) { .admin-bar .fx-head { top: 46px; } }
.fx-head.is-solid { background: rgba(1, 11, 34, 0.84); -webkit-backdrop-filter: blur(16px) saturate(1.3); backdrop-filter: blur(16px) saturate(1.3); box-shadow: 0 1px 0 var(--fx-rule-d); }
.fx-head.is-hidden { transform: translateY(-101%); }
.fx-head__bar { display: flex; align-items: center; gap: 24px; height: var(--fx-head-h); }
.fx-logo { display: inline-flex; flex: none; line-height: 0; }
.fx-logo__img { display: block; height: 34px; width: auto; max-width: none; aspect-ratio: 316 / 58; }
.fx-nav { display: none; margin-left: auto; }
.fx-menu { display: flex; gap: clamp(14px, 1.5vw, 26px); list-style: none; margin: 0; padding: 0; }
.fx-menu a { position: relative; display: block; padding: 8px 0; font: 560 0.93rem/1 var(--fx-sans); color: rgba(255, 255, 255, 0.86); text-decoration: none; white-space: nowrap; transition: color 0.2s; }
.fx-menu a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1.5px; background: currentColor; transform: scaleX(0); transform-origin: 100% 50%; transition: transform 0.45s var(--fx-ease); }
.fx-menu a:hover, .fx-menu a[aria-current="page"], .fx-menu .current-menu-item > a { color: #fff; }
.fx-menu a:hover::after, .fx-menu a[aria-current="page"]::after, .fx-menu .current-menu-item > a::after { transform: scaleX(1); transform-origin: 0 50%; }
.fx-head__actions { display: flex; align-items: center; gap: 14px; margin-left: auto; }
.fx-nav + .fx-head__actions { margin-left: 0; }
.fx-head__tel { display: none; align-items: center; gap: 8px; font: 500 0.86rem/1 var(--fx-mono); color: #fff; text-decoration: none; white-space: nowrap; }
.fx-head__tel .fx-icon { width: 17px; height: 17px; }
.fx-head .fx-btn { min-height: 44px; padding: 0 18px; font-size: 0.9rem; --bg: #fff; --fg: var(--fx-navy); --fill: var(--fx-blue-20); }
.fx-burger { display: inline-grid; place-items: center; width: 46px; height: 46px; border: 1.5px solid var(--fx-rule-d2); border-radius: 50%; background: transparent; color: #fff; cursor: pointer; }
@media (max-width: 560px) { .fx-head .fx-btn { display: none; } .fx-logo__img { height: 30px; } }
@media (min-width: 1180px) { .fx-nav { display: block; } .fx-burger { display: none; } }
@media (min-width: 1560px) { .fx-head__tel { display: inline-flex; } }

/* ---------- drawer ---------- */
.fx-drawer { position: fixed; inset: 0; z-index: 80; background: var(--fx-night); color: #fff; overflow-y: auto; overscroll-behavior: contain; }
.fx-drawer__panel { min-height: 100%; display: flex; flex-direction: column; padding: 0 var(--fx-gutter) 32px; }
.fx-drawer__top { display: flex; align-items: center; justify-content: space-between; height: var(--fx-head-h); }
.fx-drawer__close { display: inline-grid; place-items: center; width: 46px; height: 46px; border: 1.5px solid var(--fx-rule-d2); border-radius: 50%; background: transparent; color: #fff; cursor: pointer; }
.fx-drawer__menu { list-style: none; margin: 18px 0 0; padding: 0; counter-reset: dm; }
.fx-drawer__menu li { border-bottom: 1px solid var(--fx-rule-d); counter-increment: dm; }
.fx-drawer__menu a { display: flex; align-items: baseline; gap: 14px; padding: 16px 0; font: 800 clamp(1.5rem, 7vw, 2.2rem)/1.05 var(--fx-sans); font-stretch: 115%; text-transform: uppercase; letter-spacing: -0.01em; color: #fff; text-decoration: none; }
.fx-drawer__menu a::before { content: counter(dm, decimal-leading-zero); font: 500 0.72rem/1 var(--fx-mono); color: var(--fx-on-3); letter-spacing: 0.06em; }
.fx-drawer__foot { margin-top: auto; padding-top: 32px; display: grid; gap: 14px; justify-items: start; }
.fx-drawer__line { display: inline-flex; gap: 10px; align-items: center; color: var(--fx-on-2); font: 500 1rem/1 var(--fx-mono); text-decoration: none; }
.fx-drawer.is-open .fx-drawer__menu li { animation: fx-rise 0.6s var(--fx-ease) both; }
.fx-drawer.is-open .fx-drawer__menu li:nth-child(2) { animation-delay: 0.04s; } .fx-drawer.is-open .fx-drawer__menu li:nth-child(3) { animation-delay: 0.08s; } .fx-drawer.is-open .fx-drawer__menu li:nth-child(4) { animation-delay: 0.12s; } .fx-drawer.is-open .fx-drawer__menu li:nth-child(5) { animation-delay: 0.16s; } .fx-drawer.is-open .fx-drawer__menu li:nth-child(6) { animation-delay: 0.2s; } .fx-drawer.is-open .fx-drawer__menu li:nth-child(7) { animation-delay: 0.24s; }
@keyframes fx-rise { from { opacity: 0; transform: translateY(16px); } }
body.fx-locked { overflow: hidden; }

/* ---------- status pill ---------- */
.fx-status { display: inline-flex; align-items: center; gap: 9px; font: 500 0.82rem/1.2 var(--fx-mono); color: var(--fx-ink-2); }
.fx-status__dot { position: relative; width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid currentColor; flex: none; }
.fx-status.is-open .fx-status__dot { background: var(--fx-blue); border-color: var(--fx-blue); }
.fx-status.is-open .fx-status__dot::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 1.5px solid var(--fx-blue); animation: fx-ping 2.4s var(--fx-ease) infinite; }
.fx-status strong { font-weight: 700; color: var(--fx-navy); }
.fx-status--light { color: var(--fx-on-2); }
.fx-status--light strong { color: #fff; }
.fx-status--light.is-open .fx-status__dot { background: var(--fx-blue-70); border-color: var(--fx-blue-70); }
.fx-status--light.is-open .fx-status__dot::after { border-color: var(--fx-blue-70); }
@keyframes fx-ping { 0% { transform: scale(0.6); opacity: 0.9; } 80%, 100% { transform: scale(1.7); opacity: 0; } }

/* ---------- the thread: a strand of film down the right edge, one stop per section ---------- */
.fx-thread { position: fixed; right: clamp(10px, 1.4vw, 24px); top: 50%; z-index: 40; display: none; transform: translateY(-50%); }
@media (min-width: 1180px) { .fx-thread { display: block; } }
.fx-thread__list { position: relative; list-style: none; margin: 0; padding: 0; display: grid; gap: 20px; }
.fx-thread__list::before { content: ""; position: absolute; right: 4px; top: 0; bottom: 0; width: 1px; background: var(--thread-c, rgba(147, 169, 216, 0.35)); }
.fx-thread__list::after { content: ""; position: absolute; right: 4px; top: 0; height: calc(var(--p, 0) * 100%); width: 1px; background: var(--thread-a, #fff); box-shadow: 0 0 8px var(--thread-a, #fff); }
.fx-thread a { position: relative; display: flex; align-items: center; justify-content: flex-end; gap: 12px; color: var(--thread-a, #fff); text-decoration: none; }
.fx-thread a span { padding: 5px 8px; border-radius: 999px; background: var(--thread-bg, var(--fx-night)); font: 500 0.66rem/1 var(--fx-mono); letter-spacing: 0.08em; text-transform: uppercase; opacity: 0; transform: translateX(6px); transition: opacity 0.3s, transform 0.4s var(--fx-ease); white-space: nowrap; }
.fx-thread a i { width: 9px; height: 9px; border-radius: 50%; border: 1.5px solid currentColor; background: var(--thread-bg, var(--fx-night)); transition: transform 0.3s var(--fx-ease), background-color 0.3s; flex: none; }
.fx-thread a:hover span, .fx-thread a[aria-current] span { opacity: 1; transform: none; }
.fx-thread a[aria-current] i { background: currentColor; transform: scale(1.3); }
.fx-thread.is-day { --thread-a: var(--fx-navy); --thread-c: rgba(3, 39, 107, 0.25); --thread-bg: var(--fx-day); }

/* ---------- photos: duotoned into the logo blues ---------- */
.fx-duo { position: relative; overflow: hidden; background: var(--fx-navy); isolation: isolate; }
.fx-duo img { display: block; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.12) brightness(1.08); mix-blend-mode: luminosity; }
.fx-duo--raw img { filter: none; mix-blend-mode: normal; }

/* ---------- home hero: the night stage ---------- */
.fx-hero { position: relative; min-height: 100svh; display: grid; align-items: end; padding: calc(var(--fx-head-h) + 40px) 0 0; background: radial-gradient(110% 85% at 74% 100%, #072a6b 0%, #031a49 32%, var(--fx-night) 68%); color: #fff; overflow: clip; }
.fx-hero__canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; z-index: 1; }
.fx-hero::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 170px; z-index: 1; background: linear-gradient(180deg, rgba(1, 11, 34, 0.85), rgba(1, 11, 34, 0)); pointer-events: none; }
.fx-hero__poster { position: absolute; right: 0; top: 0; bottom: 0; width: 58%; z-index: 0; transition: opacity 1.4s var(--fx-ease); mask-image: linear-gradient(90deg, transparent, #000 45%); -webkit-mask-image: linear-gradient(90deg, transparent, #000 45%); }
.fx-hero__poster img { opacity: 0.7; }
.fx-hero.has-gl .fx-hero__poster { opacity: 0; }
.fx-hero__grid { position: relative; z-index: 2; display: grid; gap: 28px; padding-bottom: clamp(26px, 4vw, 44px); pointer-events: none; }
.fx-hero__grid > * { pointer-events: auto; }
.fx-hero .fx-display { color: #fff; max-width: 13ch; font-size: clamp(2.8rem, 6.6vw, 6.6rem); }
.fx-hero .fx-display .fx-dim { color: var(--fx-blue-70); display: block; font-size: 0.48em; line-height: 1.02; margin-top: 0.28em; max-width: 15.5ch; font-stretch: 112%; }
.fx-hero__copy { max-width: 660px; }
.fx-hero .fx-lead { color: var(--fx-on-2); max-width: 46ch; }
.fx-readout { position: relative; z-index: 2; border-top: 1px solid var(--fx-rule-d); background: linear-gradient(0deg, rgba(1, 11, 34, 0.75), rgba(1, 11, 34, 0)); }
.fx-readout__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 900px) { .fx-readout__row { grid-template-columns: repeat(4, minmax(0, 1fr)) auto; } }
.fx-readout__cell { padding: 16px 18px 18px 0; min-width: 0; border-bottom: 1px solid var(--fx-rule-d); }
@media (min-width: 900px) { .fx-readout__cell { border-bottom: 0; border-right: 1px solid var(--fx-rule-d); } .fx-readout__cell + .fx-readout__cell { padding-left: 18px; } }
@media (max-width: 899px) { .fx-readout__cell:nth-child(2n) { padding-left: 18px; border-left: 1px solid var(--fx-rule-d); } }
.fx-readout dt { font: 500 0.68rem/1.2 var(--fx-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--fx-on-3); }
.fx-readout dd { margin: 6px 0 0; font: 780 1.35rem/1.05 var(--fx-sans); font-stretch: 85%; color: #fff; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fx-readout dd small { font: 500 0.7rem/1 var(--fx-mono); color: var(--fx-on-3); margin-left: 4px; letter-spacing: 0.04em; }
.fx-scrollcue { display: none; align-items: center; gap: 10px; padding: 16px 0 16px 18px; font: 500 0.68rem/1 var(--fx-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--fx-on-3); }
@media (min-width: 900px) { .fx-scrollcue { display: flex; } }
.fx-scrollcue i { position: relative; width: 1px; height: 30px; background: var(--fx-rule-d2); overflow: hidden; }
.fx-scrollcue i::after { content: ""; position: absolute; left: 0; top: -40%; width: 1px; height: 40%; background: #fff; animation: fx-cue 1.8s var(--fx-ease-io) infinite; }
@keyframes fx-cue { to { top: 100%; } }
@media (max-width: 899px) { .fx-hero__poster { width: 100%; mask-image: linear-gradient(180deg, #000 25%, transparent 70%); -webkit-mask-image: linear-gradient(180deg, #000 25%, transparent 70%); } }

/* ---------- brief starter ---------- */
.fx-starter { margin-top: clamp(24px, 3vw, 34px); }
.fx-starter fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.fx-starter__legend { padding: 0; margin-bottom: 12px; font: 500 0.72rem/1.2 var(--fx-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--fx-ink-3); }
.fx-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.fx-chip { position: relative; display: inline-flex; cursor: pointer; }
.fx-chip input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.fx-chip span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 15px; border: 1px solid var(--fx-rule-2); border-radius: 999px; font: 560 0.92rem/1 var(--fx-sans); color: var(--fx-ink); transition: background-color 0.25s, color 0.25s, border-color 0.25s, transform 0.2s; }
.fx-chip:hover span { border-color: var(--fx-navy); }
.fx-chip input:checked + span { background: var(--fx-navy); border-color: var(--fx-navy); color: #fff; }
.fx-chip input:focus-visible + span { outline: 2px solid var(--fx-blue); outline-offset: 2px; }
.fx-chip input:active + span { transform: scale(0.96); }
.fx-starter__go { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-top: 18px; }
.fx-starter__call { font: 500 0.88rem/1.2 var(--fx-mono); color: var(--fx-ink-3); text-decoration: none; }
.fx-starter__call strong { color: var(--fx-navy); font-weight: 600; }
.fx-starter--dark .fx-starter__legend, .fx-starter--dark .fx-starter__call { color: var(--fx-on-3); }
.fx-starter--dark .fx-starter__call strong { color: #fff; }
.fx-starter--dark .fx-chip span { color: #fff; border-color: var(--fx-rule-d2); background: rgba(1, 11, 34, 0.4); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.fx-starter--dark .fx-chip:hover span { border-color: #fff; }
.fx-starter--dark .fx-chip input:checked + span { background: #fff; color: var(--fx-navy); border-color: #fff; }
.fx-starter--dark .fx-btn { --bg: #fff; --fg: var(--fx-navy); --fill: var(--fx-blue-20); }

/* ---------- the line: four machines, one pinned stage ---------- */
.fx-line { background: var(--fx-night); color: #fff; padding-top: clamp(84px, 10vw, 140px); }
.fx-line__head { display: grid; gap: 18px 64px; margin-bottom: clamp(30px, 4vw, 50px); }
@media (min-width: 960px) { .fx-line__head { grid-template-columns: 1.1fr 1fr; align-items: end; } .fx-line__head .fx-lead { margin: 0; } }
.fx-line__frame { display: grid; gap: 28px; padding-bottom: clamp(60px, 8vw, 110px); }
.fx-line__steps { display: grid; gap: 64px; }
.fx-step2__n { display: flex; align-items: baseline; gap: 10px; font: 500 0.75rem/1 var(--fx-mono); letter-spacing: 0.08em; color: var(--fx-on-3); text-transform: uppercase; }
.fx-step2__n b { font: 820 clamp(3.4rem, 6vw, 5.2rem)/0.85 var(--fx-sans); font-stretch: 75%; color: #fff; letter-spacing: -0.02em; }
.fx-step2 .fx-h2 { margin-top: 16px; }
.fx-step2 p { max-width: 44ch; }
.fx-step2__fig { margin-top: 26px; }
.fx-line__progress { display: none; gap: 6px; margin-top: 34px; }
.fx-line__progress button { flex: 1; padding: 0; border: 0; background: none; cursor: pointer; display: grid; gap: 9px; text-align: left; color: var(--fx-on-3); font: 500 0.64rem/1 var(--fx-mono); letter-spacing: 0.08em; text-transform: uppercase; }
.fx-line__progress button::after { content: ""; height: 2px; background: linear-gradient(90deg, #fff var(--p, 0%), var(--fx-rule-d2) var(--p, 0%)); }
.fx-line__progress button.is-on { color: #fff; }
.fx-line__stage { position: relative; display: none; aspect-ratio: 640 / 520; }
.fx-line__caption { display: none; justify-content: space-between; gap: 12px; margin-top: 12px; font: 500 0.66rem/1.3 var(--fx-mono); letter-spacing: 0.06em; text-transform: uppercase; color: var(--fx-on-3); }
@media (min-width: 1000px) {
	.fx-line.is-pinned .fx-line__frame { grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr); align-items: center; min-height: 100vh; padding-block: calc(var(--fx-head-h) + 10px) 24px; }
	.fx-line.is-pinned .fx-line__steps { position: relative; display: block; min-height: 500px; }
	.fx-line.is-pinned .fx-step2 { position: absolute; inset: 0 0 auto 0; opacity: 0; visibility: hidden; transform: translateY(28px); transition: opacity 0.5s var(--fx-ease), transform 0.8s var(--fx-ease), visibility 0s 0.5s; }
	.fx-line.is-pinned .fx-step2.is-on { opacity: 1; visibility: visible; transform: none; transition-delay: 0.1s, 0.1s, 0s; }
	.fx-line.is-pinned .fx-step2__fig { display: none; }
	.fx-line.is-pinned .fx-line__progress, .fx-line.is-pinned .fx-line__caption { display: flex; }
	.fx-line.is-pinned .fx-line__stage { display: block; }
	.fx-line.is-pinned .fx-line__stage .fx-figbox { position: absolute; inset: 0; opacity: 0; transform: translateX(6%) scale(0.94); filter: blur(8px); transition: opacity 0.7s var(--fx-ease), transform 1s var(--fx-ease), filter 0.7s var(--fx-ease); }
	.fx-line.is-pinned .fx-line__stage .fx-figbox.is-past { transform: translateX(-6%) scale(0.94); }
	.fx-line.is-pinned .fx-line__stage .fx-figbox.is-on { opacity: 1; transform: none; filter: none; }
}

/* ---------- process figures (anatomy kit, night theme) ---------- */
.fx-figbox { --anatomy-paper: #010b22; --anatomy-face: #1a3c7c; --anatomy-top: #2a4f93; --anatomy-shade-0: #0f2c66; --anatomy-shade-1: #143572; --anatomy-shade-2: #1a3e7f; --anatomy-shade-3: #21478c; --anatomy-lit-top: #6f93dd; --anatomy-lit-shade: #4a72c4; --anatomy-hi: #f1f5ff; --anatomy-mid: #a6bce6; --anatomy-lo: #6481b8; --anatomy-faint: #3c5a93; --anatomy-lit: #ffffff; --anatomy-halo: #000614; --anatomy-halo-opacity: 0.95; --anatomy-dot: #e3ecfd; --anatomy-weight: 0.7px; --anatomy-mono: var(--fx-mono); position: relative; aspect-ratio: 640 / 520; }
.fx-figbox > svg { display: block; width: 100%; height: 100%; overflow: visible; }
.fx-figbox:empty::before { content: ""; position: absolute; inset: 18% 14%; border-radius: 12px; background: linear-gradient(100deg, rgba(67, 111, 195, 0.08) 30%, rgba(67, 111, 195, 0.22) 50%, rgba(67, 111, 195, 0.08) 70%) 0 0 / 300% 100%; animation: fx-wait 1.6s linear infinite; }
@keyframes fx-wait { to { background-position: -300% 0; } }
.fx-figbox--navy { --anatomy-paper: #03276b; }
.fx-figbox .iso-svg path, .fx-figbox .iso-svg circle, .fx-fig__stage .iso-svg path, .fx-fig__stage .iso-svg circle { vector-effect: non-scaling-stroke; }
:is(.fx-figbox, .fx-fig__stage) .iso-fill { fill: var(--anatomy-paper); stroke: none; }
:is(.fx-figbox, .fx-fig__stage) .iso-solid[data-lit] > .iso-fill { fill: var(--anatomy-face); }
:is(.fx-figbox, .fx-fig__stage) .iso-shade, :is(.fx-figbox, .fx-fig__stage) .iso-top { stroke: none; }
:is(.fx-figbox, .fx-fig__stage) .iso-shade[data-shade="0"] { fill: var(--anatomy-shade-0); }
:is(.fx-figbox, .fx-fig__stage) .iso-shade[data-shade="1"] { fill: var(--anatomy-shade-1); }
:is(.fx-figbox, .fx-fig__stage) .iso-shade[data-shade="2"] { fill: var(--anatomy-shade-2); }
:is(.fx-figbox, .fx-fig__stage) .iso-shade[data-shade="3"] { fill: var(--anatomy-shade-3); }
:is(.fx-figbox, .fx-fig__stage) .iso-top { fill: var(--anatomy-top); }
:is(.fx-figbox, .fx-fig__stage) .iso-solid[data-lit] > .iso-top { fill: var(--anatomy-lit-top); }
:is(.fx-figbox, .fx-fig__stage) .iso-solid[data-lit] > .iso-shade { fill: var(--anatomy-lit-shade); }
:is(.fx-figbox, .fx-fig__stage) .iso-solid[data-seamless] > .iso-shade, :is(.fx-figbox, .fx-fig__stage) .iso-solid[data-seamless] > .iso-top { stroke-width: 0.4; stroke-linejoin: round; }
:is(.fx-figbox, .fx-fig__stage) .iso-solid[data-seamless] > .iso-shade[data-shade="0"] { stroke: var(--anatomy-shade-0); }
:is(.fx-figbox, .fx-fig__stage) .iso-solid[data-seamless] > .iso-shade[data-shade="1"] { stroke: var(--anatomy-shade-1); }
:is(.fx-figbox, .fx-fig__stage) .iso-solid[data-seamless] > .iso-shade[data-shade="2"] { stroke: var(--anatomy-shade-2); }
:is(.fx-figbox, .fx-fig__stage) .iso-solid[data-seamless] > .iso-shade[data-shade="3"] { stroke: var(--anatomy-shade-3); }
:is(.fx-figbox, .fx-fig__stage) .iso-solid[data-seamless] > .iso-top { stroke: var(--anatomy-top); }
:is(.fx-figbox, .fx-fig__stage) .iso-solid[data-lit] > .iso-edge { stroke: var(--anatomy-lit); }
:is(.fx-figbox, .fx-fig__stage) .iso-halo { fill: var(--anatomy-halo); stroke: none; filter: blur(9px); opacity: var(--anatomy-halo-opacity); transform: translateY(3px); }
:is(.fx-figbox, .fx-fig__stage) .iso-line { fill: none; stroke: var(--anatomy-lo); stroke-width: var(--anatomy-weight); stroke-linecap: round; stroke-linejoin: round; }
:is(.fx-figbox, .fx-fig__stage) .iso-line[data-tone="hi"] { stroke: var(--anatomy-hi); }
:is(.fx-figbox, .fx-fig__stage) .iso-line[data-tone="mid"] { stroke: var(--anatomy-mid); }
:is(.fx-figbox, .fx-fig__stage) .iso-line[data-tone="lo"] { stroke: var(--anatomy-lo); }
:is(.fx-figbox, .fx-fig__stage) .iso-line[data-tone="faint"] { stroke: var(--anatomy-faint); }
:is(.fx-figbox, .fx-fig__stage) .iso-line[data-tone="lit"] { stroke: var(--anatomy-lit); }
:is(.fx-figbox, .fx-fig__stage) .iso-dots circle { fill: var(--anatomy-dot); stroke: none; opacity: 0.32; }
:is(.fx-figbox, .fx-fig__stage) .iso-dots[data-tone="hi"] circle { opacity: 0.85; }
:is(.fx-figbox, .fx-fig__stage) .iso-dots[data-tone="mid"] circle { opacity: 0.45; }
:is(.fx-figbox, .fx-fig__stage) .iso-dots[data-tone="lo"] circle { opacity: 0.22; }
/* the machines run */
:is(.fx-figbox, .fx-fig__stage) .fx-flow { stroke: #ffffff; stroke-dasharray: 1.5 8; stroke-width: 1.1px; animation: fx-flow 1.1s linear infinite; animation-play-state: paused; }
:is(.fx-figbox, .fx-fig__stage) .fx-flow--film { stroke-dasharray: 1.2 10; opacity: 0.7; animation-duration: 1.8s; }
:is(.fx-figbox, .fx-fig__stage) .fx-melt { stroke-dasharray: 2 5; animation: fx-flow 0.9s linear infinite reverse; animation-play-state: paused; opacity: 0; transition: opacity 0.3s; }
:is(.fx-figbox, .fx-fig__stage) [data-ex].is-on .fx-melt { opacity: 1; }
.fx-figbox .fx-spin { stroke: var(--anatomy-mid); stroke-dasharray: 3 4; animation: fx-flow 1.4s linear infinite; animation-play-state: paused; }
.fx-figbox .fx-spin--rev { animation-direction: reverse; }
.fx-figbox .fx-screen { fill: #436fc3; stroke: #cfe0ff; stroke-width: 0.6px; vector-effect: non-scaling-stroke; }
.fx-figbox [data-web] .iso-fill { fill: #9fbaf0; fill-opacity: 0.18; }
.fx-figbox [data-web] .iso-shade, .fx-figbox [data-web] .iso-top { fill: #d9e5ff; fill-opacity: 0.32; }
.fx-figbox [data-web] .iso-edge { stroke: #eef4ff; }
.fx-figbox [data-ink] .iso-top { fill: var(--ink, #436fc3); }
.fx-figbox [data-ink] .iso-shade { fill: var(--ink, #436fc3); fill-opacity: 0.7; }
.fx-figbox [data-deck="1"] { --ink: #03276b; } .fx-figbox [data-deck="2"] { --ink: #436fc3; } .fx-figbox [data-deck="3"] { --ink: #7b98d3; } .fx-figbox [data-deck="4"] { --ink: #b4c5e7; } .fx-figbox [data-deck="5"] { --ink: #d9e2f3; } .fx-figbox [data-deck="6"] { --ink: #5d82cc; } .fx-figbox [data-deck="7"] { --ink: #2f57a8; } .fx-figbox [data-deck="8"] { --ink: #9db3e1; }
.fx-figbox [data-deck].is-on .iso-edge { stroke: #fff; stroke-width: 1.4px; }
.fx-figbox [data-stroke] { animation: fx-press 1.8s var(--fx-ease-io) infinite; animation-play-state: paused; }
.fx-figbox [data-bag] { animation: fx-bag 1.8s var(--fx-ease-io) infinite; animation-play-state: paused; }
.fx-figbox [data-bag]:last-of-type { animation-name: fx-bag-last; }
.fx-figbox .fx-eye { fill: #cfe0ff; animation: fx-blink 1.8s steps(1) infinite; animation-play-state: paused; }
.fx-figbox [data-heat] .iso-top, .fx-figbox [data-heat] .iso-shade { animation: fx-heat 2.4s ease-in-out infinite; animation-play-state: paused; }
:is(.fx-figbox, .fx-fig__stage).is-live :is(.fx-flow, .fx-spin, .fx-melt, [data-stroke], [data-bag], .fx-eye), .fx-figbox.is-live [data-heat] :is(.iso-top, .iso-shade) { animation-play-state: running; }
@keyframes fx-flow { to { stroke-dashoffset: -38; } }
@keyframes fx-press { 0%, 30% { transform: none; } 45%, 60% { transform: translate(var(--dx), var(--dy)); } 75%, 100% { transform: none; } }
@keyframes fx-bag { 0%, 62% { transform: none; } 100% { transform: translate(var(--dx), var(--dy)); } }
@keyframes fx-bag-last { 0%, 62% { transform: none; opacity: 1; } 92% { opacity: 0; } 100% { transform: translate(var(--dx), var(--dy)); opacity: 0; } }
@keyframes fx-blink { 0% { opacity: 1; } 20% { opacity: 0.25; } }
@keyframes fx-heat { 50% { filter: brightness(1.35); } }

/* interactive co-ex figure (capabilities) */
.fx-fig { margin: 0; --anatomy-paper: #010b22; --anatomy-face: #1a3c7c; --anatomy-top: #2a4f93; --anatomy-shade-0: #0f2c66; --anatomy-shade-1: #143572; --anatomy-shade-2: #1a3e7f; --anatomy-shade-3: #21478c; --anatomy-lit-top: #6f93dd; --anatomy-lit-shade: #4a72c4; --anatomy-hi: #f1f5ff; --anatomy-mid: #a6bce6; --anatomy-lo: #6481b8; --anatomy-faint: #3c5a93; --anatomy-lit: #ffffff; --anatomy-halo: #000614; --anatomy-halo-opacity: 0.95; --anatomy-dot: #e3ecfd; --anatomy-weight: 0.7px; }
.fx-fig.fx-leaf { padding: 20px 20px 22px; }
.fx-fig__bar { display: flex; justify-content: space-between; gap: 12px; margin-top: 8px; font: 500 0.7rem/1.3 var(--fx-mono); letter-spacing: 0.04em; color: var(--fx-on-3); text-transform: uppercase; }
.fx-fig__readout { color: #fff; text-align: right; }
.fx-fig__stage { position: relative; aspect-ratio: 600 / 660; max-width: 540px; margin: 0 auto; cursor: pointer; touch-action: pan-y; }
.fx-fig__stage > svg { display: block; width: 100%; height: 100%; }
.fx-fig__corners { display: flex; justify-content: space-between; font: 500 0.68rem/1 var(--fx-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--fx-on-3); }
.fx-plyscale { position: relative; display: flex; justify-content: space-between; margin: 18px 0 0; padding: 18px 0 14px; font: 500 0.64rem/1 var(--fx-mono); color: var(--fx-on-3); }
.fx-plyscale::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 8px; border-top: 1.5px solid #fff; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.8) 0 1px, transparent 1px calc(10% - 0.1px)); background-size: 100% 8px; background-repeat: no-repeat; }
.fx-plyscale__cap { position: absolute; left: 0; top: 0; letter-spacing: 0.06em; text-transform: uppercase; }
.fx-plies { list-style: none; margin: 0; padding: 0; }
.fx-ply button { --w: 0.2; position: relative; display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 10px; align-items: center; width: 100%; padding: 10px 10px 10px 4px; border: 0; border-bottom: 1px solid var(--fx-rule-d); background: transparent; color: #fff; font: 600 0.92rem/1.2 var(--fx-sans); text-align: left; cursor: pointer; isolation: isolate; }
.fx-ply button::before { content: ""; position: absolute; inset: 0; background: rgba(67, 111, 195, 0.3); clip-path: inset(0 calc(100% - var(--w) * 100%) 0 0); z-index: -1; transition: background-color 0.3s, clip-path 0.6s var(--fx-ease); }
.fx-ply button[aria-pressed="true"]::before { background: var(--fx-blue); clip-path: inset(0); }
.fx-ply__id { font: 600 0.88rem/1 var(--fx-mono); color: var(--fx-blue-70); }
.fx-ply button[aria-pressed="true"] .fx-ply__id { color: #fff; }
.fx-ply__note { display: block; font: 400 0.85rem/1.35 var(--fx-sans); color: var(--fx-on-2); margin-top: 2px; }
.fx-ply__share { font: 600 0.88rem/1 var(--fx-mono); }
.fx-fig__note { margin: 12px 0 0 !important; font-size: 0.82rem; color: var(--fx-on-3) !important; }

/* ---------- format atlas ---------- */
.fx-atlas { background: var(--fx-night-2); color: #fff; }
.fx-atlas__head { display: flex; flex-wrap: wrap; gap: 22px 48px; align-items: end; justify-content: space-between; margin-bottom: clamp(30px, 4vw, 48px); }
.fx-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.fx-tab, .fx-pill { min-height: 38px; padding: 0 15px; border: 1px solid var(--fx-rule-2); border-radius: 999px; background: transparent; color: var(--fx-ink); font: 560 0.88rem/1 var(--fx-sans); cursor: pointer; transition: background-color 0.25s, color 0.25s, border-color 0.25s; }
.fx-tab:hover, .fx-pill:hover { border-color: var(--fx-navy); }
.fx-tab[aria-selected="true"], .fx-pill[aria-pressed="true"] { background: var(--fx-navy); border-color: var(--fx-navy); color: #fff; }
.fx-atlas :is(.fx-tab, .fx-pill) { color: #fff; border-color: var(--fx-rule-d2); }
.fx-atlas :is(.fx-tab, .fx-pill):hover { border-color: #fff; }
.fx-atlas .fx-tab[aria-selected="true"], .fx-atlas .fx-pill[aria-pressed="true"] { background: #fff; color: var(--fx-navy); border-color: #fff; }
.fx-atlas__body { display: grid; gap: 28px; }
@media (min-width: 1000px) { .fx-atlas__body { grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.45fr); align-items: start; } }
.fx-atlas__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--fx-rule-d2); }
@media (min-width: 1000px) { .fx-atlas__list { max-height: 600px; overflow-y: auto; scrollbar-width: thin; padding-right: 8px; overscroll-behavior: contain; } }
@media (max-width: 999px) { .fx-atlas__list { display: flex; overflow-x: auto; gap: 8px; border-top: 0; padding-bottom: 8px; scrollbar-width: none; } .fx-atlas__list::-webkit-scrollbar { display: none; } .fx-atlas__item { flex: none; } }
.fx-atlas__btn { text-decoration: none; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; align-items: center; width: 100%; padding: 14px 4px; border: 0; border-bottom: 1px solid var(--fx-rule-d); background: none; color: var(--fx-on-2); text-align: left; cursor: pointer; transition: color 0.25s; font: 600 1rem/1.25 var(--fx-sans); }
.fx-atlas__btn .fx-mono { color: var(--fx-on-3); }
.fx-atlas__btn .fx-icon { width: 18px; height: 18px; opacity: 0; transform: translateX(-6px); transition: opacity 0.3s, transform 0.4s var(--fx-ease); }
.fx-atlas__btn:hover, .fx-atlas__btn[aria-selected="true"] { color: #fff; }
.fx-atlas__btn[aria-selected="true"] .fx-mono { color: var(--fx-blue-70); }
.fx-atlas__btn[aria-selected="true"] .fx-icon, .fx-atlas__btn:hover .fx-icon { opacity: 1; transform: none; }
@media (max-width: 999px) { .fx-atlas__btn { display: inline-flex; gap: 8px; padding: 10px 14px; border: 1px solid var(--fx-rule-d2); border-radius: 999px; white-space: nowrap; font-size: 0.9rem; } .fx-atlas__btn .fx-icon { display: none; } .fx-atlas__btn[aria-selected="true"] { background: #fff; color: var(--fx-navy); border-color: #fff; } .fx-atlas__btn[aria-selected="true"] .fx-mono { color: var(--fx-blue); } }
.fx-specimen { position: relative; display: grid; overflow: hidden; border: 1px solid var(--fx-rule-d); border-radius: 16px; background: radial-gradient(55% 65% at 34% 42%, rgba(67, 111, 195, 0.36), rgba(2, 23, 64, 0) 70%), var(--fx-night); min-height: 560px; }
@media (min-width: 760px) { .fx-specimen { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); } }
.fx-specimen__stage { position: relative; display: grid; place-items: center; min-height: 360px; padding: 50px 24px 30px; overflow: hidden; }
.fx-specimen__stage::before { content: ""; position: absolute; left: 50%; top: -30%; width: 70%; height: 120%; transform: translateX(-50%); background: conic-gradient(from 180deg at 50% 0%, transparent 160deg, rgba(201, 214, 240, 0.09) 175deg, rgba(201, 214, 240, 0.14) 180deg, rgba(201, 214, 240, 0.09) 185deg, transparent 200deg); pointer-events: none; }
.fx-specimen__stage::after { content: ""; position: absolute; left: 20%; right: 20%; bottom: 30px; height: 24px; border-radius: 50%; background: radial-gradient(closest-side, rgba(0, 4, 14, 0.9), transparent); }
.fx-specimen__img { position: relative; z-index: 1; max-height: 400px; width: auto; max-width: 88%; object-fit: contain; filter: drop-shadow(0 28px 30px rgba(0, 4, 14, 0.6)); }
.fx-specimen__reel { position: relative; z-index: 1; width: min(280px, 64%); aspect-ratio: 1; }
.fx-specimen__info { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 16px; padding: 30px 28px; border-top: 1px solid var(--fx-rule-d); }
@media (min-width: 760px) { .fx-specimen__info { border-top: 0; border-left: 1px solid var(--fx-rule-d); } }
.fx-specimen__no { font: 500 0.7rem/1 var(--fx-mono); letter-spacing: 0.08em; color: var(--fx-on-3); text-transform: uppercase; margin: 0 !important; }
.fx-specimen__name { margin: 0; font: 830 clamp(1.6rem, 2.6vw, 2.3rem)/1 var(--fx-sans); font-stretch: 110%; text-transform: uppercase; letter-spacing: -0.01em; color: #fff; }
.fx-specimen__line { margin: 0 !important; color: var(--fx-on-2) !important; }
.fx-specimen dl { margin: 0; display: grid; border-top: 1px solid var(--fx-rule-d); }
.fx-specimen dl div { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--fx-rule-d); }
.fx-specimen dt { font: 500 0.66rem/1.5 var(--fx-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--fx-on-3); }
.fx-specimen dd { margin: 0; font: 560 0.93rem/1.4 var(--fx-sans); color: #fff; }
.fx-route { display: flex; gap: 6px; flex-wrap: wrap; }
.fx-route span { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 999px; border: 1px solid var(--fx-rule-d); font: 500 0.64rem/1 var(--fx-mono); letter-spacing: 0.06em; text-transform: uppercase; color: var(--fx-on-3); transition: all 0.4s var(--fx-ease); }
.fx-route span.is-on { color: var(--fx-navy); background: #fff; border-color: #fff; }
.fx-specimen .fx-btn { align-self: flex-start; margin-top: auto; }
.fx-specimen__note { font-size: 0.78rem; color: var(--fx-on-3) !important; margin: 0 !important; }
.fx-specimen__nav { position: absolute; left: 18px; top: 18px; z-index: 2; display: flex; gap: 8px; }
.fx-specimen__nav .fx-round { width: 40px; height: 40px; }
.fx-specimen__count { position: absolute; right: 18px; top: 26px; z-index: 2; font: 500 0.7rem/1 var(--fx-mono); letter-spacing: 0.06em; color: var(--fx-on-3); }
@media (min-width: 760px) { .fx-specimen__count { right: auto; left: calc(55% - 70px); } }
.fx-atlas__count { font: 500 0.7rem/1 var(--fx-mono); letter-spacing: 0.06em; color: var(--fx-on-3); text-transform: uppercase; margin: 0 0 12px !important; }
.fx-reel { position: absolute; inset: 0; display: grid; place-items: center; }
.fx-reel i { position: absolute; border-radius: 50%; aspect-ratio: 1; }
.fx-reel i:nth-child(1) { width: 100%; background: radial-gradient(circle at 35% 30%, #3866c0, #0b2a68 70%); box-shadow: 0 30px 40px -24px rgba(0, 4, 14, 0.9), inset 0 0 0 1px rgba(201, 214, 240, 0.25); }
.fx-reel i:nth-child(2) { width: 78%; border: 1px solid rgba(201, 214, 240, 0.25); }
.fx-reel i:nth-child(3) { width: 52%; border: 1px solid rgba(201, 214, 240, 0.2); }
.fx-reel i:nth-child(4) { width: 18%; background: var(--fx-night); box-shadow: inset 0 0 0 5px #b4c5e7; }
.fx-reel--foil i:nth-child(1) { background: radial-gradient(circle at 35% 30%, #eef2fa, #8193b6 70%); }
.fx-reel--paper i:nth-child(1) { background: radial-gradient(circle at 35% 30%, #d9e2f3, #7b98d3 70%); }
.fx-reel--clear i:nth-child(1) { background: radial-gradient(circle at 35% 30%, rgba(236, 240, 249, 0.75), rgba(123, 152, 211, 0.35) 70%); }

/* ---------- the shift log ---------- */
.fx-log { background: var(--fx-navy); color: #fff; }
.fx-log__grid { display: grid; gap: 40px clamp(32px, 6vw, 96px); align-items: end; }
@media (min-width: 960px) { .fx-log__grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); } }
.fx-counters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--fx-rule-d2); }
.fx-counter { padding: 22px 18px 18px 0; border-bottom: 1px solid var(--fx-rule-d); }
.fx-counter:nth-child(2n) { padding-left: 18px; border-left: 1px solid var(--fx-rule-d); }
.fx-counter dt { font: 500 0.68rem/1.3 var(--fx-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--fx-on-3); }
.fx-counter dd { margin: 8px 0 0; font: 820 clamp(2rem, 4vw, 3.4rem)/1 var(--fx-sans); font-stretch: 80%; color: #fff; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.fx-counter dd small { font: 500 0.78rem/1 var(--fx-mono); color: var(--fx-on-3); margin-left: 6px; letter-spacing: 0.04em; }
.fx-years { margin-top: clamp(56px, 8vw, 110px); overflow: hidden; }
.fx-years__track { display: flex; width: max-content; padding: 0 max(var(--fx-gutter), calc((100vw - var(--fx-max)) / 2)) !important; }
.fx-years__item { position: relative; flex: none; width: clamp(250px, 26vw, 360px); padding: 30px 30px 0 0; border-top: 1px solid var(--fx-rule-d2); }
.fx-years__item::before { content: ""; position: absolute; left: 0; top: -5px; width: 9px; height: 9px; border-radius: 50%; background: var(--fx-navy); border: 1.5px solid #fff; transition: background-color 0.4s; }
.fx-years__item.is-on::before { background: #fff; }
.fx-years__y { display: block; font: 850 clamp(3.2rem, 6vw, 5.6rem)/0.85 var(--fx-sans); font-stretch: 75%; letter-spacing: -0.02em; color: transparent; -webkit-text-stroke: 1.2px rgba(255, 255, 255, 0.7); transition: color 0.6s var(--fx-ease); }
.fx-years__item.is-on .fx-years__y { color: #fff; -webkit-text-stroke-color: #fff; }
.fx-years__t { margin: 16px 0 0 !important; max-width: 28ch; color: var(--fx-on-2) !important; }
@media (max-width: 999px) { .fx-years { overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--fx-gutter); scrollbar-width: none; } .fx-years__track { padding-inline: var(--fx-gutter) !important; } .fx-years__item { width: 78vw; } .fx-years::-webkit-scrollbar { display: none; } .fx-years__item { scroll-snap-align: start; } .fx-years__y { color: #fff; } }

/* ---------- industries ---------- */
.fx-inds { background: var(--fx-blue); color: #fff; }
.fx-inds__grid { display: grid; gap: 40px clamp(32px, 6vw, 96px); }
@media (min-width: 960px) { .fx-inds__grid { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); align-items: start; } .fx-inds__head { position: sticky; top: calc(var(--fx-head-h) + 40px); } }
.fx-inds__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, 0.45); counter-reset: ind; }
.fx-inds__list li { counter-increment: ind; }
.fx-ind { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 4px 16px; align-items: center; padding: clamp(18px, 2.2vw, 26px) 0; border-bottom: 1px solid rgba(255, 255, 255, 0.45); color: #fff; text-decoration: none; isolation: isolate; }
.fx-ind::before { content: counter(ind, decimal-leading-zero); font: 500 0.75rem/1 var(--fx-mono); letter-spacing: 0.06em; grid-row: 1 / span 2; padding-left: 8px; }
.fx-ind::after { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--fx-navy); transform: scaleY(0); transform-origin: 50% 100%; transition: transform 0.55s var(--fx-ease); }
.fx-ind:hover::after, .fx-ind:focus-visible::after { transform: none; }
.fx-ind__name { font: italic 820 clamp(1.4rem, 2.7vw, 2.3rem)/1.02 var(--fx-sans); font-stretch: 120%; text-transform: uppercase; letter-spacing: -0.01em; transition: transform 0.5s var(--fx-ease); }
.fx-ind__line { grid-column: 2; font-size: 0.98rem; line-height: 1.45; color: #fff; }
.fx-ind__go { grid-row: 1 / span 2; grid-column: 3; width: 28px; height: 28px; margin-right: 10px; transition: transform 0.45s var(--fx-ease); }
.fx-ind:hover .fx-ind__name { transform: translateX(10px); }
.fx-ind:hover .fx-ind__go { transform: translateX(6px) rotate(-35deg); }
.fx-peek { position: fixed; left: 0; top: 0; z-index: 30; width: 230px; height: 270px; pointer-events: none; opacity: 0; transform: translate(-50%, -50%) scale(0.8) rotate(-4deg); transition: opacity 0.35s var(--fx-ease), transform 0.5s var(--fx-ease); }
.fx-peek.is-on { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(0deg); }
.fx-peek img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 22px 28px rgba(0, 6, 20, 0.6)); opacity: 0; transition: opacity 0.3s; }
.fx-peek img.is-on { opacity: 1; }
@media (hover: none) { .fx-peek { display: none; } }

/* ---------- planet ---------- */
.fx-planet__grid { display: grid; gap: 40px clamp(32px, 6vw, 96px); align-items: center; }
@media (min-width: 960px) { .fx-planet__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.fx-planet__media { position: relative; aspect-ratio: 4 / 5; border-radius: 16px; overflow: hidden; margin: 0; }
.fx-planet__media img { width: 100%; height: 118%; object-fit: cover; display: block; }
.fx-partners { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 26px; }
.fx-partners__label { font: 500 0.68rem/1 var(--fx-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--fx-ink-3); margin-right: 6px; }
.fx-partners__logo { height: 46px; width: auto; border-radius: 8px; box-shadow: 0 0 0 1px var(--fx-rule); background: #fff; }

/* ---------- reel ticket (measured facts) ---------- */
.fx-ticket { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); column-gap: 28px; margin: 0; border-top: 1px solid var(--fx-navy); overflow: hidden; }
.fx-ticket__f { position: relative; padding: 14px 0 8px; min-width: 0; }
.fx-ticket__f::before { content: ""; position: absolute; left: -14px; top: 0; bottom: 0; width: 1px; background: var(--fx-rule); }
.fx-ticket dt { font: 500 0.66rem/1.25 var(--fx-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--fx-ink-3); }
.fx-ticket dd { margin: 6px 0 0; font: 780 1.4rem/1.05 var(--fx-sans); font-stretch: 85%; color: var(--fx-navy); font-variant-numeric: tabular-nums; }
.fx-ticket dd small { white-space: nowrap; font: 500 0.7rem/1 var(--fx-mono); color: var(--fx-ink-3); margin-left: 4px; letter-spacing: 0.04em; }
.fx-ticket--hero, .fx-ticket--inline { margin-top: 26px; }
.fx-ticket--ledger { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 0; border: 1px solid var(--fx-rule-2); border-radius: 12px; background: var(--fx-paper); }
.fx-ticket--ledger .fx-ticket__f { padding: 20px 22px 18px; border-bottom: 1px solid var(--fx-rule); }
.fx-ticket--ledger .fx-ticket__f::before { left: 0; }
.fx-ticket--ledger .fx-ticket__f:nth-child(2n + 1)::before { display: none; }
.fx-ticket--ledger .fx-ticket__f:nth-last-child(-n + 2) { border-bottom: 0; }
.fx-ticket--ledger dd { font-size: clamp(1.6rem, 3vw, 2.4rem); }
:is(.fx-board--night, .fx-board--navy, .fx-board--blue) .fx-ticket { border-top-color: rgba(255, 255, 255, 0.6); }
:is(.fx-board--night, .fx-board--navy, .fx-board--blue) .fx-ticket__f::before { background: var(--fx-rule-d); }
:is(.fx-board--night, .fx-board--navy, .fx-board--blue) .fx-ticket dt { color: var(--fx-on-3); }
.fx-board--blue .fx-ticket dt { color: #fff; }
:is(.fx-board--night, .fx-board--navy, .fx-board--blue) .fx-ticket dd, :is(.fx-board--night, .fx-board--navy, .fx-board--blue) .fx-ticket dd small { color: #fff; }
.fx-ticket--dark { background: transparent !important; border-color: var(--fx-rule-d2) !important; }
.fx-ticket--dark .fx-ticket__f { border-color: var(--fx-rule-d) !important; }
.fx-ticket--dark .fx-ticket__f::before { background: var(--fx-rule-d); }
.fx-ticket--dark dd { font-size: clamp(1.05rem, 1.8vw, 1.4rem) !important; }
@media (max-width: 420px) { .fx-ticket--ledger .fx-ticket__f { padding: 14px; } }

/* ---------- plates: hairline panels ---------- */
.fx-leaf { position: relative; padding: clamp(24px, 3vw, 44px); border-radius: 16px; background: var(--fx-paper); box-shadow: 0 0 0 1px var(--fx-rule), 0 30px 60px -40px rgba(2, 28, 78, 0.45); }
:is(.fx-board--night, .fx-board--navy, .fx-board--blue) .fx-leaf { background: rgba(255, 255, 255, 0.04); box-shadow: 0 0 0 1px var(--fx-rule-d2); color: #fff; }
.fx-leaf__holes { display: none; }

/* ---------- inner page hero ---------- */
.fx-phero { position: relative; min-height: min(90vh, 840px); display: grid; align-items: end; padding: calc(var(--fx-head-h) + 60px) 0 clamp(44px, 6vw, 76px); background: var(--fx-night); color: #fff; overflow: clip; }
.fx-phero__photo { position: absolute; inset: 0; }
.fx-phero__photo img { height: 116%; }
.fx-phero__photo::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(1, 11, 34, 0.94) 0%, rgba(1, 11, 34, 0.6) 55%, rgba(1, 11, 34, 0.2) 100%), linear-gradient(0deg, rgba(1, 11, 34, 0.95), rgba(1, 11, 34, 0) 50%); }
.fx-phero__grid { position: relative; z-index: 2; }
.fx-phero .fx-h1 { color: #fff; }
.fx-phero .fx-lead { color: var(--fx-on-2); }
.fx-phero .fx-ticket { border-top-color: rgba(255, 255, 255, 0.6); max-width: 720px; }
.fx-phero .fx-ticket__f::before { background: var(--fx-rule-d); }
.fx-phero .fx-ticket dt { color: var(--fx-on-3); }
.fx-phero .fx-ticket dd, .fx-phero .fx-ticket dd small { color: #fff; }
.fx-crumbs ol { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 22px; padding: 0; font: 500 0.68rem/1.2 var(--fx-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--fx-on-3); }
.fx-crumbs li + li::before { content: "/"; margin-right: 8px; opacity: 0.6; }
.fx-crumbs a { color: var(--fx-on-2); text-decoration: none; }
.fx-crumbs a:hover { color: #fff; }
.fx-plain .fx-crumbs ol { color: var(--fx-ink-3); }
.fx-plain .fx-crumbs a { color: var(--fx-ink-2); }

/* ---------- shared inner-page blocks ---------- */
.fx-sec-head { display: grid; gap: 16px 64px; margin-bottom: clamp(36px, 5vw, 64px); }
@media (min-width: 900px) { .fx-sec-head { grid-template-columns: 1.05fr 1fr; align-items: end; } .fx-sec-head .fx-lead { margin: 0; } }
.fx-split { display: grid; gap: 36px clamp(32px, 6vw, 96px); align-items: center; }
@media (min-width: 960px) { .fx-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .fx-split--flip > :first-child { order: 2; } }
.fx-media { position: relative; border-radius: 16px; overflow: hidden; aspect-ratio: 4 / 3; background: var(--fx-navy); }
.fx-media img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(1) contrast(1.12) brightness(1.08); mix-blend-mode: luminosity; transition: transform 1.4s var(--fx-ease), filter 0.8s var(--fx-ease); }
.fx-media:hover img, .fx-shot:hover .fx-media img, .fx-duo--raw img { filter: none; mix-blend-mode: normal; }
.fx-media--tall { aspect-ratio: 4 / 5; }
.fx-media--wide { aspect-ratio: 16 / 9; }
.fx-copy > * + * { margin-top: 0.9em; }
.fx-copy p { color: var(--fx-ink-2); max-width: 62ch; }
:is(.fx-board--night, .fx-board--navy) .fx-copy p { color: var(--fx-on-2); }
.fx-board--blue .fx-copy p { color: #fff; }
.fx-index { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--fx-rule-2); counter-reset: idx; }
.fx-index > li { counter-increment: idx; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 6px 14px; padding: 20px 0; border-bottom: 1px solid var(--fx-rule); }
.fx-index > li::before { content: counter(idx, decimal-leading-zero); grid-row: 1 / span 2; font: 500 0.7rem/1.9 var(--fx-mono); letter-spacing: 0.06em; color: var(--fx-ink-3); }
.fx-index__term { font: 740 1.18rem/1.25 var(--fx-sans); color: var(--fx-navy); }
.fx-index__def { margin: 0 !important; color: var(--fx-ink-2); grid-column: 2; }
:is(.fx-board--night, .fx-board--navy, .fx-board--blue) .fx-index { border-top-color: rgba(255, 255, 255, 0.5); }
:is(.fx-board--night, .fx-board--navy, .fx-board--blue) .fx-index > li { border-color: var(--fx-rule-d); }
:is(.fx-board--night, .fx-board--navy) .fx-index > li::before { color: var(--fx-on-3); }
.fx-board--blue .fx-index > li::before { color: #fff; }
:is(.fx-board--night, .fx-board--navy, .fx-board--blue) .fx-index__term { color: #fff; }
:is(.fx-board--night, .fx-board--navy) .fx-index__def { color: var(--fx-on-2); }
.fx-board--blue .fx-index__def { color: #fff; }
.fx-index--two { display: grid; column-gap: clamp(28px, 4vw, 64px); }
@media (min-width: 900px) { .fx-index--two { grid-template-columns: 1fr 1fr; } }
.fx-shots { display: grid; gap: clamp(18px, 2.4vw, 28px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.fx-shot { margin: 0; }
.fx-shot .fx-media { aspect-ratio: 3 / 2; }
.fx-shot:hover .fx-media img { transform: scale(1.06); }
.fx-shot figcaption { padding-top: 14px; }
.fx-shot h3 { margin: 0; font: 720 1.1rem/1.25 var(--fx-sans); color: var(--fx-navy); }
.fx-shot p { margin: 6px 0 0 !important; color: var(--fx-ink-2); font-size: 0.97rem; line-height: 1.5; }
:is(.fx-board--night, .fx-board--navy) .fx-shot h3 { color: #fff; }
:is(.fx-board--night, .fx-board--navy) .fx-shot p { color: var(--fx-on-2); }
.fx-stage { scroll-margin-top: calc(var(--fx-head-h) + 20px); }
.fx-stage__label { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px; font: 500 0.72rem/1 var(--fx-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--fx-blue); }
:is(.fx-board--night, .fx-board--navy) .fx-stage__label { color: var(--fx-blue-70); }
.fx-stage__label::before { content: ""; width: 26px; height: 1.5px; background: currentColor; }
.fx-tags { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 22px 0 0; padding: 0; }
.fx-tags li { padding: 7px 12px; border-radius: 999px; border: 1px solid var(--fx-rule-2); font: 500 0.72rem/1 var(--fx-mono); letter-spacing: 0.04em; color: var(--fx-ink); }
:is(.fx-board--night, .fx-board--navy, .fx-board--blue, .fx-line) .fx-tags li { border-color: var(--fx-rule-d2); color: #fff; }
.fx-lam { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 4px; }
.fx-lam li { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 12px 16px; border-radius: 8px; font: 650 0.95rem/1.25 var(--fx-sans); transition: transform 0.6s var(--fx-ease); }
.fx-lam li small { font: 500 0.7rem/1.3 var(--fx-mono); letter-spacing: 0.04em; opacity: 0.85; }
.fx-lam li:nth-child(1) { background: #fff; color: var(--fx-navy); box-shadow: 0 0 0 1px var(--fx-rule); } .fx-lam li:nth-child(2) { background: var(--fx-blue-20); color: var(--fx-navy); } .fx-lam li:nth-child(3) { background: var(--fx-blue-40); color: var(--fx-navy-deep); } .fx-lam li:nth-child(4) { background: var(--fx-blue); color: #fff; } .fx-lam li:nth-child(5) { background: var(--fx-navy); color: #fff; }
.fx-lam:hover li { transform: translateX(calc(var(--i, 0) * 12px)); }
.fx-qline { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 30px 0; counter-reset: q; }
.fx-qline li { position: relative; padding: 32px 22px 0 0; counter-increment: q; font: 720 1.06rem/1.25 var(--fx-sans); color: #fff; }
.fx-qline li::before { content: counter(q, decimal-leading-zero); position: absolute; top: -13px; left: 0; z-index: 1; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--fx-night); border: 1.5px solid #fff; font: 600 0.6rem/1 var(--fx-mono); transition: background-color 0.4s, color 0.4s; }
.fx-qline li::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1.5px; background: var(--fx-rule-d); }
.fx-qline li i { position: absolute; left: 0; top: 0; height: 1.5px; width: 100%; background: #fff; transform: scaleX(var(--q, 0)); transform-origin: 0 50%; }
.fx-qline li span { display: block; margin-top: 8px; font: 400 0.95rem/1.45 var(--fx-sans); color: var(--fx-on-2); }
.fx-qline li.is-on::before { background: #fff; color: var(--fx-navy); }
.fx-certs { display: grid; gap: clamp(18px, 2.4vw, 28px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.fx-cert { display: flex; flex-direction: column; }
.fx-cert__name { margin: 0; font: 830 1.8rem/1 var(--fx-sans); font-stretch: 105%; text-transform: uppercase; color: var(--fx-navy); }
.fx-cert__what { margin: 10px 0 0 !important; font: 650 1rem/1.3 var(--fx-sans); color: var(--fx-ink); }
.fx-cert__by { margin: 10px 0 0 !important; font-size: 0.95rem; color: var(--fx-ink-2); }
.fx-cert__valid { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; padding: 7px 12px; border-radius: 999px; background: var(--fx-blue-10); font: 500 0.74rem/1.2 var(--fx-mono); color: var(--fx-navy); align-self: flex-start; }
.fx-cert__valid::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--fx-blue); }
.fx-cert__valid.is-due { background: transparent; box-shadow: inset 0 0 0 1.5px var(--fx-navy); }
.fx-cert .fx-btn { margin-top: auto; align-self: flex-start; }
.fx-cert .fx-cert__by + .fx-btn, .fx-cert .fx-cert__valid + .fx-btn { margin-top: 22px; }
.fx-docs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); border-top: 1px solid var(--fx-rule-2); }
.fx-doc { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 16px 14px 16px 0; border-bottom: 1px solid var(--fx-rule); }
.fx-doc .fx-icon { width: 24px; height: 24px; color: var(--fx-blue); }
.fx-doc__name { font: 680 1rem/1.25 var(--fx-sans); color: var(--fx-navy); }
.fx-doc__ver { display: block; font: 500 0.7rem/1.4 var(--fx-mono); color: var(--fx-ink-3); }
.fx-epr { display: grid; gap: 16px; }
.fx-epr__card { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 22px; align-items: center; padding: 18px; border-radius: 14px; background: var(--fx-day); box-shadow: 0 0 0 1px var(--fx-rule); }
.fx-epr__card p { margin: 0 !important; color: var(--fx-ink-2); font-size: 0.97rem; }
.fx-epr__logo { width: 150px; height: auto; border-radius: 8px; background: #fff; }
@media (max-width: 560px) { .fx-epr__card { grid-template-columns: 1fr; } }
.fx-filters { display: grid; gap: 12px; margin-bottom: 26px; }
.fx-filters__row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.fx-filters__label { min-width: 74px; font: 500 0.66rem/1 var(--fx-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--fx-on-3); }

/* ---------- forms ---------- */
.fx-form { display: grid; gap: 18px; }
.fx-form__row { display: grid; gap: 18px; }
@media (min-width: 640px) { .fx-form__row--2 { grid-template-columns: 1fr 1fr; } .fx-form__row--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.fx-field { display: grid; gap: 7px; min-width: 0; }
.fx-field > label, .fx-field > .fx-field__label { font: 600 0.9rem/1.2 var(--fx-sans); color: var(--fx-ink); }
.fx-field__hint { font: 400 0.85rem/1.4 var(--fx-sans); color: var(--fx-ink-3); }
.fx-field .fx-opt { font-weight: 500; color: var(--fx-ink-3); }
.fx-input { width: 100%; min-height: 52px; padding: 13px 15px; border: 1px solid var(--fx-rule-2); border-radius: 10px; background: var(--fx-paper); color: var(--fx-ink); font: 500 1rem/1.35 var(--fx-sans); transition: border-color 0.2s, box-shadow 0.2s; -webkit-appearance: none; appearance: none; }
.fx-input::placeholder { color: #5f6c88; }
textarea.fx-input { min-height: 130px; resize: vertical; }
select.fx-input { padding-right: 40px; background: var(--fx-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2303276B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center / 18px; }
.fx-input:hover { border-color: var(--fx-blue-70); }
.fx-input:focus { outline: none; border-color: var(--fx-navy); box-shadow: 0 0 0 4px rgba(67, 111, 195, 0.2); }
.fx-input[aria-invalid="true"] { border-color: var(--fx-navy); border-style: dashed; border-width: 2px; }
.fx-field__err { display: none; align-items: center; gap: 6px; font: 600 0.85rem/1.3 var(--fx-sans); color: var(--fx-navy); }
.fx-field__err::before { content: "!"; display: inline-grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; background: var(--fx-navy); color: #fff; font-size: 0.7rem; font-weight: 800; }
.fx-field.is-invalid .fx-field__err { display: inline-flex; }
input[type="file"].fx-input { padding: 10px; font-size: 0.92rem; }
input[type="file"].fx-input::file-selector-button { margin-right: 12px; padding: 8px 14px; border: 0; border-radius: 999px; background: var(--fx-navy); color: #fff; font: 600 0.85rem/1 var(--fx-sans); cursor: pointer; }
.fx-check { position: relative; display: flex; gap: 12px; align-items: flex-start; font: 400 0.93rem/1.45 var(--fx-sans); color: var(--fx-ink-2); cursor: pointer; }
.fx-check input { position: absolute; opacity: 0; width: 22px; height: 22px; margin: 0; cursor: pointer; }
.fx-check__box { flex: none; width: 22px; height: 22px; margin-top: 1px; border: 1px solid var(--fx-rule-2); border-radius: 6px; background: var(--fx-paper); display: grid; place-items: center; transition: all 0.2s; }
.fx-check__box::after { content: ""; width: 11px; height: 6px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: translateY(-1px) rotate(-45deg) scale(0); transition: transform 0.25s var(--fx-ease); }
.fx-check input:checked + .fx-check__box { background: var(--fx-navy); border-color: var(--fx-navy); }
.fx-check input:checked + .fx-check__box::after { transform: translateY(-1px) rotate(-45deg) scale(1); }
.fx-check input:focus-visible + .fx-check__box { outline: 2px solid var(--fx-blue); outline-offset: 2px; }
.fx-check a { color: var(--fx-navy); }
.fx-pickset { display: flex; flex-wrap: wrap; gap: 8px; border: 0; margin: 0; padding: 0; min-width: 0; }
.fx-pickset legend { width: 100%; padding: 0; margin-bottom: 8px; font: 600 0.9rem/1.2 var(--fx-sans); color: var(--fx-ink); }
.fx-pick { position: relative; display: inline-flex; cursor: pointer; }
.fx-pick input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.fx-pick span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--fx-rule-2); border-radius: 999px; background: var(--fx-paper); font: 560 0.92rem/1.2 var(--fx-sans); color: var(--fx-ink); transition: all 0.2s; }
.fx-pick:hover span { border-color: var(--fx-navy); }
.fx-pick input:checked + span { background: var(--fx-navy); border-color: var(--fx-navy); color: #fff; }
.fx-pick input:focus-visible + span { outline: 2px solid var(--fx-blue); outline-offset: 2px; }
.fx-note { display: flex; gap: 12px; align-items: flex-start; margin: 0; padding: 14px 16px; border-radius: 10px; font: 600 0.97rem/1.45 var(--fx-sans); }
.fx-note--ok { background: var(--fx-blue-10); color: var(--fx-navy); box-shadow: inset 0 0 0 1px var(--fx-blue-40); }
.fx-note--ok::before { content: ""; flex: none; width: 20px; height: 20px; margin-top: 1px; border-radius: 50%; background: var(--fx-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E") center / 13px no-repeat; }
.fx-note--error { background: var(--fx-paper); color: var(--fx-navy); box-shadow: inset 0 0 0 2px var(--fx-navy); }
.fx-note--error::before { content: "!"; flex: none; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--fx-navy); color: #fff; font-size: 0.75rem; font-weight: 800; }
.fx-form__notice:empty { display: none; }
.fx-form__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; }
.fx-form__alt { font: 500 0.93rem/1.4 var(--fx-sans); color: var(--fx-ink-2); }
.fx-form__alt a { color: var(--fx-navy); font-weight: 700; }

/* brief builder */
.fx-qhero { position: relative; padding-block: calc(var(--fx-head-h) + 60px) clamp(50px, 6vw, 80px); background: var(--fx-night); color: #fff; overflow: clip; }
.fx-qhero .fx-h1 { color: #fff; }
.fx-qhero .fx-lead { color: var(--fx-on-2); }
.fx-qbody { padding-top: clamp(40px, 5vw, 64px); }
.fx-brief { display: grid; gap: 32px; }
@media (min-width: 1000px) { .fx-brief { grid-template-columns: minmax(0, 1fr) minmax(280px, 0.42fr); align-items: start; } }
.fx-steps-nav { display: flex; list-style: none; margin: 0 0 30px; padding: 0; counter-reset: st; }
.fx-steps-nav li { position: relative; flex: 1; counter-increment: st; padding-top: 14px; font: 500 0.68rem/1.3 var(--fx-mono); letter-spacing: 0.06em; text-transform: uppercase; color: var(--fx-ink-3); }
.fx-steps-nav li::before { content: counter(st, decimal-leading-zero) " "; font-weight: 700; }
.fx-steps-nav li::after { content: ""; position: absolute; left: 0; right: 6px; top: 0; height: 3px; border-radius: 2px; background: linear-gradient(90deg, var(--fx-navy) 50%, var(--fx-rule) 50%) 100% 0 / 200% 100%; transition: background-position 0.7s var(--fx-ease); }
.fx-steps-nav li.is-done::after, .fx-steps-nav li.is-now::after { background-position: 0 0; }
.fx-steps-nav li.is-now, .fx-steps-nav li.is-done { color: var(--fx-navy); }
.fx-step-panel { display: grid; gap: 20px; border: 0; margin: 0; padding: 0; min-width: 0; }
.fx-step-panel > legend { padding: 0; margin-bottom: 4px; font: 820 1.5rem/1.1 var(--fx-sans); font-stretch: 108%; text-transform: uppercase; color: var(--fx-navy); }
.js-steps .fx-step-panel:not(.is-now) { display: none; }
.fx-step-panel.is-now > * { animation: fx-stepin 0.6s var(--fx-ease) both; }
.fx-step-panel.is-now > :nth-child(2) { animation-delay: 0.05s; } .fx-step-panel.is-now > :nth-child(3) { animation-delay: 0.1s; } .fx-step-panel.is-now > :nth-child(4) { animation-delay: 0.15s; } .fx-step-panel.is-now > :nth-child(5) { animation-delay: 0.2s; }
.fx-step-panel.is-back > * { animation-name: fx-stepback; }
@keyframes fx-stepin { from { opacity: 0; transform: translateX(28px); } }
@keyframes fx-stepback { from { opacity: 0; transform: translateX(-28px); } }
.fx-steps-btns { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 8px; }
.fx-summary { position: sticky; top: calc(var(--fx-head-h) + 24px); padding: 26px; border-radius: 16px; background: var(--fx-night); color: #fff; }
.fx-summary .fx-h3 { color: #fff; }
.fx-summary .fx-ticket { grid-template-columns: 1fr; border-top-color: rgba(255, 255, 255, 0.5); }
.fx-summary .fx-ticket__f { border-bottom: 1px solid var(--fx-rule-d); padding: 12px 0; }
.fx-summary .fx-ticket__f::before { display: none; }
.fx-summary dt { color: var(--fx-on-3); }
.fx-summary dd { font: 600 1rem/1.35 var(--fx-sans); color: #fff; }
.fx-summary dd:empty::before { content: "—"; color: var(--fx-on-3); }
.fx-summary dd.is-fresh { animation: fx-fresh 0.9s var(--fx-ease); }
@keyframes fx-fresh { from { color: var(--fx-blue-70); transform: translateX(6px); } }
.fx-summary .fx-status { color: var(--fx-on-2); }
.fx-summary .fx-status strong { color: #fff; }
.fx-lines { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 12px; }
.fx-lines a { display: inline-flex; align-items: center; gap: 10px; color: #fff; font: 500 0.98rem/1.2 var(--fx-mono); text-decoration: none; }
.fx-lines--dark a { color: var(--fx-navy); }
.fx-summary .fx-lines--dark a { color: #fff; }
.fx-lines a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* contact */
.fx-contact { display: grid; gap: 40px clamp(32px, 5vw, 80px); align-items: start; }
@media (min-width: 1000px) { .fx-contact { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); } }
.fx-ways { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--fx-rule-2); }
.fx-ways li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--fx-rule); }
.fx-ways .fx-icon { width: 22px; height: 22px; color: var(--fx-blue); margin-top: 2px; }
.fx-ways h3 { margin: 0; font: 500 0.68rem/1.2 var(--fx-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--fx-ink-3); }
.fx-ways a, .fx-ways p { display: block; margin: 5px 0 0 !important; font: 680 1.1rem/1.35 var(--fx-sans); color: var(--fx-navy); text-decoration: none; }
.fx-ways a:hover { text-decoration: underline; text-underline-offset: 4px; }
.fx-map { position: relative; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: var(--fx-night); }
.fx-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.fx-map__load { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; gap: 14px; padding: 20px; text-align: center; color: #fff; background: radial-gradient(60% 60% at 50% 50%, rgba(67, 111, 195, 0.35), transparent), var(--fx-night); }
.fx-map__pin { width: 44px; height: 44px; color: #fff; }
.fx-map__addr { font: 650 1.05rem/1.35 var(--fx-sans); max-width: 32ch; margin: 0 !important; color: #fff !important; }
.fx-map__load .fx-field__hint { color: var(--fx-on-3); }
.fx-map__load .fx-btn--line { --fg: #fff; --bd: var(--fx-rule-d2); --fill: #fff; }
.fx-map__load .fx-btn--line:hover { --fg: var(--fx-navy); }

/* careers */
.fx-jobs { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--fx-rule-2); }
.fx-job { border-bottom: 1px solid var(--fx-rule); }
.fx-job summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 20px; padding: 22px 0; cursor: pointer; list-style: none; }
.fx-job summary::-webkit-details-marker { display: none; }
.fx-job__title { font: 760 1.35rem/1.15 var(--fx-sans); color: var(--fx-navy); }
.fx-job__meta { grid-column: 1; font: 500 0.72rem/1.3 var(--fx-mono); letter-spacing: 0.04em; color: var(--fx-ink-3); }
.fx-job__toggle { grid-row: 1 / span 2; grid-column: 2; align-self: center; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--fx-rule-2); color: var(--fx-navy); transition: transform 0.35s var(--fx-ease); }
.fx-job[open] .fx-job__toggle { transform: rotate(45deg); }
.fx-job__body { padding: 0 0 24px; color: var(--fx-ink-2); max-width: 68ch; }
.fx-empty { padding: 28px; border-radius: 16px; background: var(--fx-blue-10); box-shadow: inset 0 0 0 1px var(--fx-blue-40); }
.fx-empty h3 { margin: 0; font: 760 1.25rem/1.2 var(--fx-sans); color: var(--fx-navy); }

/* entry content (editor / Elementor) */
.fx-well { padding-block: clamp(56px, 7vw, 96px); }
.fx-entry { max-width: 72ch; color: var(--fx-ink-2); }
.fx-entry > * + * { margin-top: 1em; }
.fx-entry h2, .fx-entry h3, .fx-entry h4 { color: var(--fx-navy); line-height: 1.15; margin-top: 1.6em; }
.fx-entry h2 { font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 800; text-transform: uppercase; font-stretch: 108%; }
.fx-entry h3 { font-size: 1.3rem; font-weight: 720; }
.fx-entry a { color: var(--fx-navy); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.fx-entry ul, .fx-entry ol { padding-left: 1.3em; }
.fx-entry img { border-radius: 10px; }
.fx-entry table { border-collapse: collapse; width: 100%; }
.fx-entry th, .fx-entry td { padding: 10px 12px; border-bottom: 1px solid var(--fx-rule); text-align: left; }
.fx-entry--wide { max-width: none; }

/* closing brief: day */
.fx-cta { background: var(--fx-paper); }
.fx-cta__grid { display: grid; gap: 40px clamp(32px, 5vw, 80px); align-items: center; }
@media (min-width: 1000px) { .fx-cta__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.fx-cta .fx-display { color: var(--fx-navy); font-size: clamp(2.4rem, 5.2vw, 5rem); }
.fx-cta .fx-lead { color: var(--fx-ink-2); }
.fx-cta .fx-lines a { color: var(--fx-navy); }
.fx-cta .fx-status { color: var(--fx-ink-2); }
.fx-cta .fx-leaf { background: var(--fx-day); box-shadow: 0 0 0 1px var(--fx-rule); }
.fx-cta .fx-starter { margin-top: 0; }

/* ---------- footer ---------- */
.fx-foot { position: relative; background: var(--fx-night); color: var(--fx-on-2); padding-top: clamp(70px, 8vw, 110px); overflow: hidden; }
.fx-foot__grid { display: grid; gap: 40px 32px; padding-bottom: clamp(44px, 5vw, 64px); }
@media (min-width: 720px) { .fx-foot__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .fx-foot__grid { grid-template-columns: 1.3fr 0.8fr 0.9fr 1.1fr; } }
.fx-foot__brand { display: grid; gap: 18px; align-content: start; justify-items: start; }
.fx-foot__brand .fx-logo__img { height: 38px; }
.fx-foot__line { margin: 0; font-size: 0.98rem; line-height: 1.55; max-width: 36ch; }
.fx-foot__social { display: inline-flex; align-items: center; gap: 10px; color: #fff; font: 600 0.9rem/1 var(--fx-sans); text-decoration: none; }
.fx-foot__head { margin: 0 0 16px; font: 500 0.68rem/1.2 var(--fx-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--fx-on-3); }
.fx-foot__menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.fx-foot__menu a, .fx-foot__menu span { display: inline-flex; align-items: flex-start; gap: 10px; color: var(--fx-on-2); font: 500 0.97rem/1.4 var(--fx-sans); text-decoration: none; transition: color 0.2s; }
.fx-foot__menu a:hover { color: #fff; }
.fx-foot__menu .fx-icon { width: 17px; height: 17px; margin-top: 2px; color: var(--fx-on-3); }
.fx-foot__word { display: block; padding-inline: var(--fx-gutter); font: 850 clamp(3rem, 14.2vw, 14rem)/0.8 var(--fx-sans); font-stretch: 125%; letter-spacing: -0.035em; text-transform: uppercase; color: transparent; -webkit-text-stroke: 1px rgba(147, 169, 216, 0.4); white-space: nowrap; user-select: none; margin-bottom: -0.12em; }
.fx-foot__word span { display: inline-block; }
.fx-foot__edge { display: none; }
.fx-foot__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-block: 20px 26px; border-top: 1px solid var(--fx-rule-d); font: 500 0.7rem/1.5 var(--fx-mono); letter-spacing: 0.03em; color: var(--fx-on-3); }
.fx-foot__legal p { margin: 0; }
.fx-foot__legal a { color: var(--fx-on-2); }

/* ---------- 404 / search / index ---------- */
.fx-plain { padding-block: calc(var(--fx-head-h) + 60px) clamp(64px, 9vw, 128px); }
.fx-search { display: flex; gap: 10px; max-width: 540px; margin-top: 26px; }
.fx-posts { list-style: none; margin: 32px 0 0; padding: 0; border-top: 1px solid var(--fx-rule-2); }
.fx-posts li { padding: 18px 0; border-bottom: 1px solid var(--fx-rule); }
.fx-posts a { font: 720 1.25rem/1.25 var(--fx-sans); color: var(--fx-navy); text-decoration: none; }
.fx-404__code { margin: 0 0 10px !important; font: 850 clamp(5rem, 18vw, 12rem)/0.85 var(--fx-sans); font-stretch: 75%; color: transparent !important; -webkit-text-stroke: 1.5px var(--fx-blue-70); }
.fx-board--night .fx-search .fx-btn { --bg: #fff; --fg: var(--fx-navy); }

/* ---------- page transition: a strand of light wipes the page ---------- */
.fx-wipe { position: fixed; inset: 0; z-index: 300; pointer-events: none; background: var(--fx-night); transform: translateY(100%); }
.fx-wipe::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: #fff; box-shadow: 0 0 24px rgba(201, 214, 240, 0.9); }
.fx-wipe.is-in { transition: transform 0.55s var(--fx-ease-io); transform: none; }
.fx-wipe.is-out { transform: none; animation: fx-wipeout 0.8s var(--fx-ease-io) 0.05s both; }
@keyframes fx-wipeout { to { transform: translateY(-100%); } }

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
	.fx-wipe { display: none; }
}

/* ---------- print ---------- */
@media print {
	.fx-head, .fx-thread, .fx-drawer, .fx-starter, .fx-cta, .fx-wipe, .fx-hero__canvas { display: none !important; }
	:is(.fx-board--night, .fx-board--navy, .fx-board--blue, .fx-hero, .fx-phero, .fx-line, .fx-atlas, .fx-log, .fx-inds) { background: #fff !important; color: #000 !important; }
}
@media (max-width: 899px) {
	.fx-hero__canvas { opacity: 0.42; }
	.fx-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(1, 11, 34, 0.2) 0%, rgba(1, 11, 34, 0.75) 45%, rgba(1, 11, 34, 0.92) 100%); pointer-events: none; }
	.fx-hero .fx-display .fx-dim { font-size: 0.56em; }
}
