/* MOE GOT IT - "The Crossfader" look (Nov 2026).
   Loaded after bootstrap.min.css and theme.css on public pages only.
   Mobile first. Remove the <link> in layouts/layout.php to switch it all off. */

:root {
  --ink: #020a1a;
  --navy: #041e42;
  --navy-2: #0a2a57;
  --line: rgba(176, 183, 188, .24);
  --silver: #b0b7bc;
  --text: #ffffff;
  --muted: #c9d2df;
  --electric: #1768b3;
  --volt: #5ab8ff;
  --signal: #27e3ff;
  --stage: #ff6a1a;
  --stage-soft: #ffa45c;
  --crimson: #c81e2e;
  --chrome: linear-gradient(180deg, #ffffff 0%, #eef2f6 40%, #8995a3 50%, #ffffff 57%, #c3cad1 100%);
  --radius: 18px;
}

/* ---------- base ---------- */
html { font-size: 106.25%; scroll-padding-top: 90px; }
html, body { overflow-x: clip; }
.mgi-fx .container { --bs-gutter-x: 1.9rem; }
html { scroll-behavior: smooth; }
body.mgi-fx {
  background: var(--ink);
  color: var(--text);
  font-size: 1rem;
  line-height: 1.6;
  --bs-body-bg: var(--ink);
  --bs-card-bg: rgba(10, 42, 87, .55);
  --bs-card-border-color: var(--line);
  --bs-border-color: var(--line);
  --bs-secondary-color: var(--muted);
  --bs-warning-rgb: 90, 184, 255;
  --bs-link-color-rgb: 90, 184, 255;
  padding-bottom: calc(72px + env(safe-area-inset-bottom));
}
@media (min-width: 992px) { body.mgi-fx { padding-bottom: 0; } }
.mgi-fx .small, .mgi-fx small { font-size: .94em; }
.mgi-fx .text-secondary { color: var(--muted) !important; }
@media (max-width: 1199.98px) { .fx-nav .navbar-collapse { max-height: calc(100svh - 76px); overflow-y: auto; } }
.mgi-fx h1, .mgi-fx h2, .mgi-fx .h1, .mgi-fx .h2 {
  font-family: 'Archivo Black', system-ui, sans-serif;
  font-weight: 400;
  letter-spacing: -.01em;
  line-height: 1.08;
  text-wrap: balance;
}
.mgi-fx h3, .mgi-fx .h3, .mgi-fx .h4, .mgi-fx .h5 { font-weight: 700; }
.mgi-fx img, .mgi-fx video, .mgi-fx svg { max-width: 100%; }
.mgi-fx :focus-visible { outline: 3px solid var(--signal); outline-offset: 3px; }
.mgi-fx a { overflow-wrap: anywhere; }
.fx-icon { width: 1.15em; height: 1.15em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.2em; flex-shrink: 0; }
.fx-icon--fill { fill: currentColor; stroke: none; }

/* ---------- buttons: every tap target at least 44px ---------- */
.mgi-fx .btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  font-weight: 700;
  border-radius: 12px;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;
}
.mgi-fx .btn-lg { min-height: 54px; padding: .7rem 1.5rem; font-size: 1.06rem; }
.mgi-fx .btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-color: #fff;
  background: linear-gradient(120deg, #1768b3, #0f4f92) !important;
  border: 1px solid rgba(90, 184, 255, .55) !important;
  color: #fff !important;
  box-shadow: 0 8px 26px rgba(23, 104, 179, .5);
}
.mgi-fx .btn-primary:hover, .mgi-fx .btn-primary:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 12px 34px rgba(39, 160, 255, .6);
}
.mgi-fx .btn-outline-warning, .mgi-fx .btn-outline-secondary, .fx-btn-ghost {
  --bs-btn-color: #fff;
  --bs-btn-border-color: rgba(255, 255, 255, .45);
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-color: var(--navy);
  --bs-btn-hover-border-color: #fff;
  --bs-btn-active-bg: #fff;
  --bs-btn-active-color: var(--navy);
  color: #fff;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .45);
}
.mgi-fx .btn-outline-warning:hover, .mgi-fx .btn-outline-secondary:hover, .fx-btn-ghost:hover { transform: translateY(-2px); background: #fff; color: var(--navy); }

/* ---------- forms ---------- */
.mgi-fx .form-control, .mgi-fx .form-select {
  min-height: 48px;
  font-size: 1rem;
  background-color: rgba(4, 30, 66, .85);
  border: 2px solid rgba(176, 183, 188, .4);
  color: #fff;
  border-radius: 12px;
}
.mgi-fx .form-control:focus, .mgi-fx .form-select:focus {
  background-color: rgba(4, 30, 66, .95);
  border-color: var(--signal);
  box-shadow: 0 0 0 .22rem rgba(39, 227, 255, .22);
  color: #fff;
}
.mgi-fx .form-label .req { color: var(--stage-soft); }
.mgi-fx .form-text { color: var(--muted); font-size: .94rem; }
.mgi-fx .text-success { color: #5ee6a0 !important; }
.mgi-fx .text-danger { color: #ff9aa5 !important; }
.mgi-fx input[name="pay_method"] { width: 24px; height: 24px; accent-color: var(--signal); flex-shrink: 0; }
.mgi-fx .form-check:has(input[name="pay_method"]) { min-height: 44px; display: flex; align-items: center; gap: .6rem; padding-left: 0; margin-bottom: .25rem; }
.mgi-fx .form-check:has(input[name="pay_method"]) input { float: none; margin: 0; }
.mgi-fx .form-check:has(input[name="pay_method"]) label { cursor: pointer; padding: .4rem 0; }

/* ---------- cards ---------- */
.mgi-fx .card, .fx-glass {
  position: relative;
  background: linear-gradient(160deg, rgba(16, 47, 87, .72), rgba(4, 22, 50, .72));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .4);
}
.fx-glass::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  transition: opacity .25s ease;
  background: radial-gradient(320px circle at var(--mx, 50%) var(--my, 50%), rgba(90, 184, 255, .2), transparent 70%);
}
.fx-glass:hover::before { opacity: 1; }
.fx-glass > * { position: relative; }
[data-fx-tilt] { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .2s ease, border-color .2s ease; will-change: transform; }
[data-fx-tilt]:hover { border-color: rgba(90, 184, 255, .6); }
.mgi-fx .mgi-price { font-family: 'Archivo Black', sans-serif; font-weight: 400; font-size: 1.9rem; line-height: 1.1; }
.mgi-fx .mgi-discount-badge {
  white-space: normal;
  font-size: .9rem;
  color: var(--navy);
  background: linear-gradient(120deg, #fff, #b9e7ff);
  box-shadow: none;
}

/* ---------- navigation ---------- */
.fx-progress { position: fixed; top: 0; left: 0; height: 3px; width: 100%; z-index: 1040; pointer-events: none; transform-origin: 0 50%; transform: scaleX(var(--scroll, 0)); background: linear-gradient(90deg, var(--stage), var(--crimson), var(--signal)); }
.fx-nav {
  background: rgba(2, 10, 26, .82);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
  padding: .4rem 0;
  transition: padding .2s ease;
}
.fx-nav .navbar-brand { padding: 0; margin: 0; min-height: 44px; display: flex; align-items: center; }
.fx-nav .fx-logo { display: block; width: 138px; height: auto; transition: width .2s ease; filter: drop-shadow(0 0 12px rgba(39, 160, 255, .4)); }
.fx-nav .navbar-toggler { width: 48px; height: 48px; padding: 0; border: 1px solid var(--line); border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; }
.fx-nav .navbar-toggler:focus { box-shadow: 0 0 0 3px rgba(39, 227, 255, .4); }
@media (min-width: 1200px) { .fx-nav .navbar-toggler { display: none; } }
.fx-nav .nav-link {
  color: #fff !important;
  font-weight: 600;
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: .4rem .8rem;
  border-radius: 10px;
  background: transparent;
  position: relative;
}
.fx-nav .nav-link:hover { background: rgba(255, 255, 255, .08); }
.fx-nav .nav-link.active { background: rgba(90, 184, 255, .16); box-shadow: inset 0 0 0 1px rgba(90, 184, 255, .55); }
.fx-nav-actions { display: grid; gap: .5rem; padding: .5rem 0 .75rem; }
@media (min-width: 1200px) {
  .fx-nav .fx-logo { width: 176px; }
  .fx-nav.is-scrolled .fx-logo { width: 140px; }
  .fx-nav .nav-link { min-height: 44px; padding: .3rem .7rem; white-space: nowrap; }
  .fx-nav .nav-link::after { content: ""; position: absolute; left: .7rem; right: .7rem; bottom: 4px; height: 2px; background: linear-gradient(90deg, var(--stage), var(--signal)); transform: scaleX(0); transform-origin: 0 50%; transition: transform .2s ease; }
  .fx-nav .nav-link:hover::after { transform: scaleX(1); }
  .fx-nav .nav-link.active { background: transparent; box-shadow: none; }
  .fx-nav .nav-link.active::after { transform: scaleX(1); }
  .fx-nav-actions { display: flex; align-items: center; padding: 0; margin-left: .75rem; }
  .fx-nav-actions .btn { white-space: nowrap; }
}

/* ---------- sticky call / book dock ---------- */
.fx-dock {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 1030;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
  padding: .55rem .75rem calc(.55rem + env(safe-area-inset-bottom));
  background: rgba(2, 10, 26, .92);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-top: 1px solid var(--line);
  transition: transform .2s ease;
}
.fx-dock.is-hidden { transform: translateY(110%); }
.fx-dock--call { grid-template-columns: 1fr; }
.fx-dock .btn { min-height: 50px; padding: .4rem .5rem; }
.fx-dock-call { background: #fff !important; color: var(--navy) !important; border: 0; }
@media (min-width: 992px) {
  .fx-dock { left: auto; right: 22px; bottom: 22px; padding: 0; background: none; border: 0; -webkit-backdrop-filter: none; backdrop-filter: none; display: block; opacity: 0; transform: translateY(16px); pointer-events: none; transition: opacity .25s ease, transform .25s ease; }
  .fx-dock.is-shown { opacity: 1; transform: none; pointer-events: auto; }
  .fx-dock .fx-dock-book { display: none; }
  .fx-dock-call { padding: .5rem 1.2rem !important; border-radius: 999px; box-shadow: 0 12px 34px rgba(0, 0, 0, .55), 0 0 0 4px rgba(90, 184, 255, .3); }
}

/* ---------- chrome headline ---------- */
.fx-chrome {
  background: var(--chrome);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.fx-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-weight: 700;
  font-size: .94rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--volt);
}
.fx-eyebrow--stage { color: var(--stage-soft); }
.fx-star { width: 1em; height: 1em; fill: currentColor; flex-shrink: 0; }

/* ---------- heroes ---------- */
.fx-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--ink); --mix: 0; }
.fx-hero::before, .fx-hero::after { content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none; }
.fx-hero::before { opacity: calc(1 - var(--mix)); background: radial-gradient(900px 520px at 15% 0%, rgba(23, 104, 179, .42), transparent 65%), radial-gradient(800px 520px at 88% 12%, rgba(255, 106, 26, .17), transparent 65%), linear-gradient(180deg, #06162f, var(--ink)); }
.fx-hero::after { opacity: var(--mix); background: radial-gradient(900px 520px at 80% 0%, rgba(39, 227, 255, .2), transparent 65%), radial-gradient(800px 520px at 10% 20%, rgba(23, 104, 179, .42), transparent 65%), linear-gradient(180deg, var(--navy), var(--ink)); }
.fx-canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; display: block; }
.fx-hero--page { padding: 3.25rem 0 3.5rem; text-align: center; }
.fx-hero--page h1 { font-size: clamp(2.2rem, 8.5vw, 4.4rem); margin: .6rem auto .8rem; max-width: 18ch; }
.fx-hero--page .lead { color: var(--muted); max-width: 44rem; margin: 0 auto 1.4rem; font-size: 1.1rem; text-shadow: 0 2px 14px rgba(2, 10, 26, .9); }
.fx-cta { display: flex; flex-direction: column; gap: .65rem; }
@media (min-width: 576px) { .fx-cta { flex-direction: row; flex-wrap: wrap; justify-content: center; } }
@media (min-width: 992px) { .fx-hero--page { padding: 5rem 0 5.5rem; } }

/* Home hero */
.fx-hero--home { padding: 2rem 0 2.5rem; min-height: calc(100svh - 138px); display: flex; align-items: center; }
.fx-hero--home .container { position: relative; }
.fx-title { font-size: clamp(2.65rem, 12.5vw, 4.5rem); margin: .55rem 0 .9rem; }
.fx-title-1 { display: block; }
.fx-swap { display: grid; }
.fx-swap > * { grid-area: 1 / 1; transition: opacity .12s linear; }
.fx-swap-a { opacity: calc(1 - var(--mix) * 1.6); }
.fx-swap-b { opacity: calc((var(--mix) - .38) * 1.65); }
.fx-swap-a.is-off, .fx-swap-b.is-off { pointer-events: none; }
.fx-swap-a.is-off .btn, .fx-swap-b.is-off .btn { visibility: hidden; }
.fx-title .fx-swap-a { background: linear-gradient(95deg, #fff 0%, var(--stage-soft) 62%, #ff6a1a 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.fx-title .fx-swap-b { background: linear-gradient(95deg, #fff 0%, var(--volt) 60%, var(--signal) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.fx-hero-lead { font-size: 1.1rem; color: #e7edf5; max-width: 34rem; margin: 0; text-shadow: 0 2px 16px rgba(2, 10, 26, .95); }
.fx-hero-cta { margin-top: 1.25rem; align-items: stretch; }
@media (min-width: 576px) { .fx-hero-cta { justify-content: flex-start; } }
.fx-hero-phone { margin-top: .65rem; }

/* Crossfader */
.fx-xfade { margin-top: 1.4rem; max-width: 34rem; background: rgba(2, 10, 26, .72); border: 1px solid var(--line); border-radius: 18px; padding: .6rem .85rem .85rem; box-shadow: 0 18px 44px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .1); }
.fx-xfade-labels { display: flex; justify-content: space-between; gap: .5rem; }
.fx-xfade-btn { min-height: 44px; background: none; border: 0; padding: 0 .25rem; color: var(--muted); font-weight: 700; font-size: .92rem; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; transition: color .15s ease; }
.fx-xfade-btn.is-on[data-go="0"] { color: var(--stage-soft); }
.fx-xfade-btn.is-on[data-go="100"] { color: var(--signal); }
.fx-xfade-track { position: relative; height: 52px; display: flex; align-items: center; }
.fx-xfade-track::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 8px; margin-top: -4px; border-radius: 8px; background: linear-gradient(90deg, var(--stage), var(--crimson), var(--electric), var(--signal)); box-shadow: 0 0 18px rgba(200, 30, 46, .7); }
.fx-xfade-track::after { content: ""; position: absolute; left: 12px; right: 12px; top: 6px; bottom: 6px; pointer-events: none; opacity: .3; background: repeating-linear-gradient(90deg, #fff 0 1px, transparent 1px calc(100% / 20)); -webkit-mask: linear-gradient(#000 0 7px, transparent 7px calc(100% - 7px), #000 calc(100% - 7px)); mask: linear-gradient(#000 0 7px, transparent 7px calc(100% - 7px), #000 calc(100% - 7px)); }
.fx-xfade input[type=range] { position: relative; z-index: 1; width: 100%; height: 52px; margin: 0; background: none; -webkit-appearance: none; appearance: none; cursor: grab; touch-action: pan-y; }
.fx-xfade input[type=range]:active { cursor: grabbing; }
.fx-xfade input[type=range]::-webkit-slider-runnable-track { height: 52px; background: none; }
.fx-xfade input[type=range]::-moz-range-track { height: 52px; background: none; }
.fx-xfade input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 46px; height: 52px; border-radius: 10px; border: 1px solid #fff; background: linear-gradient(90deg, #8a95a2 0, #fff 22%, #dfe5ea 44%, #3c4757 47%, #3c4757 53%, #dfe5ea 56%, #fff 78%, #8a95a2 100%); box-shadow: 0 8px 18px rgba(0, 0, 0, .65), 0 0 22px rgba(255, 255, 255, .45); }
.fx-xfade input[type=range]::-moz-range-thumb { width: 46px; height: 52px; border-radius: 10px; border: 1px solid #fff; background: linear-gradient(90deg, #8a95a2 0, #fff 22%, #dfe5ea 44%, #3c4757 47%, #3c4757 53%, #dfe5ea 56%, #fff 78%, #8a95a2 100%); box-shadow: 0 8px 18px rgba(0, 0, 0, .65); }
.fx-xfade-hint { font-size: .92rem; color: var(--muted); text-align: center; margin-top: .1rem; }

/* Hero logo (computers only: phones already see it in the header) */
.fx-hero-art { display: none; }
@media (min-width: 992px) {
  .fx-hero-art { display: block; position: relative; text-align: center; }
  .fx-hero-art img { position: relative; width: 100%; max-width: 560px; transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .15s ease; filter: drop-shadow(0 26px 44px rgba(0, 0, 0, .7)) drop-shadow(0 0 38px rgba(39, 160, 255, .5)); }
  .fx-hero-art::before { content: ""; position: absolute; left: 50%; top: 50%; width: 96%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; background: conic-gradient(from 0deg, rgba(255, 106, 26, .28), rgba(200, 30, 46, .08), rgba(39, 227, 255, .28), rgba(255, 106, 26, .08), rgba(255, 106, 26, .28)); -webkit-mask: radial-gradient(closest-side, transparent 66%, #000 67%, #000 69%, transparent 70%); mask: radial-gradient(closest-side, transparent 66%, #000 67%, #000 69%, transparent 70%); animation: fx-spin 22s linear infinite; }
  .fx-hero--home { min-height: calc(100vh - 80px); padding: 3rem 0; }
}
@keyframes fx-spin { to { transform: translate(-50%, -50%) rotate(360deg); } }

.fx-motion-btn { display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; padding: .3rem .85rem; background: rgba(2, 10, 26, .6); color: var(--muted); border: 1px solid var(--line); border-radius: 999px; font-size: .92rem; font-weight: 600; cursor: pointer; }
.fx-motion-btn:hover { color: #fff; border-color: #fff; }
.fx-hero-motion { margin-top: 1rem; }

/* ---------- moving ribbon ---------- */
.fx-ribbon { overflow: hidden; background: linear-gradient(90deg, #a51414, #c2410c 28%, #0d3b78 58%, #1768b3 80%, #0b7f9c); border-block: 1px solid rgba(255, 255, 255, .3); }
.fx-ribbon-track { display: flex; width: max-content; animation: fx-marquee 42s linear infinite; }
.fx-ribbon ul { display: flex; list-style: none; margin: 0; padding: 0; flex-shrink: 0; }
.fx-ribbon li { display: flex; align-items: center; gap: 1.1rem; padding: .7rem 0 .7rem 1.1rem; font-family: 'Archivo Black', sans-serif; font-size: 1.02rem; white-space: nowrap; text-transform: uppercase; color: #fff; }
.fx-ribbon:hover .fx-ribbon-track { animation-play-state: paused; }
@keyframes fx-marquee { to { transform: translateX(-50%); } }

/* ---------- sections ---------- */
.fx-section { padding: 3.5rem 0; position: relative; }
.fx-section--alt { background: linear-gradient(180deg, rgba(4, 30, 66, .55), rgba(2, 10, 26, 0)); }
@media (min-width: 992px) { .fx-section { padding: 6rem 0; } }
.fx-head { max-width: 46rem; margin: 0 auto 2rem; text-align: center; }
.fx-head h2 { font-size: clamp(2rem, 7.4vw, 3.5rem); margin: .55rem 0 .7rem; }
.fx-head p { color: var(--muted); margin: 0; font-size: 1.06rem; }

/* Scroll reveal: only hidden once the script is confirmed running */
.fx-ready [data-fx]:not(.fx-in) { opacity: 0; transform: translateY(28px); }
.fx-ready [data-fx] { transition: opacity .6s ease var(--fx-d, 0s), transform .6s cubic-bezier(.2, .7, .2, 1) var(--fx-d, 0s); }
.fx-ready [data-fx-tilt][data-fx].fx-in { transition: transform .2s ease, border-color .2s ease; }

/* ---------- pick your side ---------- */
.fx-sides { display: grid; gap: 1rem; }
.fx-side {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 420px;
  padding: 1.4rem;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid var(--line);
  color: #fff;
  text-decoration: none;
  isolation: isolate;
  transition: flex-grow .45s cubic-bezier(.2, .7, .2, 1), border-color .2s ease;
}
.fx-side::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(2, 10, 26, .05) 0%, rgba(2, 10, 26, .82) 42%, rgba(2, 10, 26, .97) 100%); }
.fx-side--stage { box-shadow: 0 0 44px rgba(255, 106, 26, .25); }
.fx-side--tech { box-shadow: 0 0 44px rgba(39, 227, 255, .2); }
.fx-side-media { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; background: #000; }
.fx-side:hover .fx-side-media, .fx-side:focus-visible .fx-side-media { transform: scale(1.06); }
.fx-side h3 { font-family: 'Archivo Black', sans-serif; font-weight: 400; font-size: clamp(1.8rem, 7vw, 2.6rem); line-height: 1.05; margin: .3rem 0 .45rem; }
.fx-side p { color: #e7edf5; margin: 0 0 .8rem; }
.fx-side-go { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; min-height: 44px; }
.fx-side-go .fx-icon { transition: transform .2s ease; }
.fx-side:hover .fx-side-go .fx-icon { transform: translateX(6px); }
.fx-side-shots { position: absolute; inset: 0; z-index: -2; display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; padding: 8px; transform: rotate(-5deg) scale(1.28); background: #0a2145; transition: transform .7s ease; }
.fx-side-shots img { width: 100%; height: 100%; object-fit: cover; object-position: top; border-radius: 8px; }
.fx-side:hover .fx-side-shots { transform: rotate(-3deg) scale(1.34); }
@media (min-width: 768px) {
  .fx-sides { display: flex; }
  .fx-side { flex: 1 1 0; min-height: 480px; min-width: 0; padding: 2rem; }
  .fx-side:hover, .fx-side:focus-visible { flex-grow: 1.45; }
}

/* ---------- facts ---------- */
.fx-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; }
.fx-fact { padding: 1.2rem 1rem; text-align: center; border-radius: var(--radius); }
.fx-fact b { display: block; font-family: 'Archivo Black', sans-serif; font-weight: 400; font-size: clamp(1.8rem, 7.6vw, 2.9rem); line-height: 1.08; }
.fx-fact span { display: block; color: var(--muted); margin-top: .35rem; font-size: 1rem; line-height: 1.35; }
@media (min-width: 992px) { .fx-facts { grid-template-columns: repeat(4, 1fr); gap: 1.25rem; } .fx-fact { padding: 1.8rem 1rem; } }

/* ---------- run the room ---------- */
.fx-room-wrap { --room: #2a8bff; --pulse: 0; display: grid; gap: 1rem; }
.fx-scene { position: relative; overflow: hidden; border-radius: 22px; border: 1px solid var(--line); background: #040814; box-shadow: 0 0 calc(44px + var(--pulse) * 44px) color-mix(in srgb, var(--room) 45%, transparent); transition: box-shadow .35s ease; }
.fx-scene svg { display: block; width: 100%; height: auto; }
.fx-scene-logo { display: none; }
.fx-beam { fill: url(#fxBeamGrad); opacity: calc(.68 + var(--pulse) * .32); }
.fx-room-glow { fill: var(--room); opacity: calc(.11 + var(--pulse) * .13); transition: fill .35s ease; }
.fx-room-stop { stop-color: var(--room); transition: stop-color .35s ease; }
.fx-room-floor { fill: var(--room); opacity: calc(.14 + var(--pulse) * .2); transition: fill .35s ease; }
.fx-lamp { fill: var(--room); transition: fill .35s ease; }
.fx-sweep { fill: #fff; opacity: 0; transform-box: fill-box; transform-origin: 50% 0; }
.fx-scene.is-playing .fx-sweep { opacity: .17; animation: fx-sweep 3.4s ease-in-out infinite alternate; }
.fx-scene.is-playing .fx-sweep:nth-of-type(2) { animation-duration: 2.6s; animation-direction: alternate-reverse; }
@keyframes fx-sweep { from { transform: rotate(-32deg); } to { transform: rotate(32deg); } }
.fx-dancer { fill: #02050e; }
.fx-scene.is-playing .fx-dancer { animation: fx-bob .536s ease-in-out infinite alternate; animation-delay: var(--d, 0s); }
@keyframes fx-bob { to { transform: translateY(-9px); } }
.fx-room-ui { display: grid; gap: 1rem; padding: 1.1rem; border-radius: var(--radius); }
.fx-room-label { font-weight: 700; font-size: .92rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: .5rem; }
.fx-swatches { display: flex; flex-wrap: wrap; gap: .55rem; }
.fx-swatch { width: 46px; height: 46px; padding: 0; border-radius: 50%; border: 3px solid rgba(255, 255, 255, .25); background: var(--c); cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.fx-swatch:hover { transform: scale(1.1); }
.fx-swatch[aria-pressed="true"] { border-color: #fff; box-shadow: 0 0 20px var(--c); }
.fx-pads { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; }
.fx-pad { min-height: 66px; padding: .25rem; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .2); background: linear-gradient(170deg, #17305c, #081a38); color: #fff; font-weight: 700; font-size: .92rem; cursor: pointer; transition: transform .07s ease, box-shadow .12s ease, background .12s ease; touch-action: manipulation; }
.fx-pad.is-hit, .fx-pad:active { transform: scale(.94); background: var(--room); box-shadow: 0 0 24px var(--room); color: #fff; text-shadow: 0 1px 4px rgba(0, 0, 0, .7); }
.fx-drop { width: 100%; }
.fx-drop[aria-pressed="true"] { background: linear-gradient(120deg, #c2410c, #b3121d) !important; border-color: #ffa45c !important; }
.fx-room-note { color: var(--muted); font-size: .94rem; margin: 0; }
@media (min-width: 992px) { .fx-room-wrap { grid-template-columns: 1.55fr 1fr; align-items: stretch; gap: 1.5rem; } .fx-scene svg { position: absolute; inset: 0; height: 100%; } .fx-room-ui { padding: 1.5rem; } .fx-scene { background: linear-gradient(180deg, #050a18 0%, color-mix(in srgb, var(--room) 16%, #050a18) 62%); } .fx-scene-logo { display: block; position: absolute; left: 50%; top: 7%; width: 62%; height: auto; transform: translateX(-50%); z-index: 1; filter: drop-shadow(0 0 26px var(--room)); } }

/* ---------- build your night ---------- */
.fx-builder { display: grid; gap: 1rem; }
.fx-pick-list { display: grid; gap: .65rem; }
.fx-pick { width: 100%; display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: .75rem; min-height: 68px; padding: .7rem 1rem; color: #fff; text-align: left; background: rgba(10, 42, 87, .55); border: 2px solid var(--line); border-radius: 14px; cursor: pointer; transition: transform .15s ease, border-color .15s ease, background .15s ease; }
.fx-pick:hover { transform: translateY(-2px); border-color: rgba(90, 184, 255, .7); }
.fx-pick-box { width: 28px; height: 28px; border-radius: 8px; border: 2px solid var(--silver); display: grid; place-items: center; color: transparent; }
.fx-pick[aria-pressed="true"] { border-color: var(--signal); background: rgba(23, 104, 179, .42); box-shadow: 0 0 22px rgba(39, 227, 255, .2); }
.fx-pick[aria-pressed="true"] .fx-pick-box { background: var(--signal); border-color: var(--signal); color: var(--navy); }
.fx-pick-name { font-weight: 700; line-height: 1.25; }
.fx-pick-price { font-family: 'Archivo Black', sans-serif; font-size: 1.15rem; }
.fx-sum { padding: 1.25rem; border-radius: var(--radius); position: sticky; bottom: 78px; z-index: 5; }
.fx-sum-total { font-family: 'Archivo Black', sans-serif; font-size: clamp(2.6rem, 11vw, 3.8rem); line-height: 1; margin: .1rem 0 .3rem; }
.fx-sum-line { color: var(--muted); min-height: 1.6em; margin-bottom: .75rem; }
.fx-sum-fine { color: var(--muted); font-size: .94rem; margin: .75rem 0 0; }
.fx-pay { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; padding: .3rem; margin-bottom: .75rem; background: rgba(2, 10, 26, .6); border-radius: 12px; }
.fx-pay button { min-height: 46px; border: 0; border-radius: 9px; background: none; color: var(--muted); font-weight: 700; cursor: pointer; }
.fx-pay button[aria-pressed="true"] { background: #fff; color: var(--navy); }
@media (max-width: 991.98px) { .fx-sum { position: static; } }
@media (min-width: 992px) { .fx-builder { grid-template-columns: 1.3fr 1fr; align-items: start; gap: 1.5rem; } .fx-sum { top: 104px; bottom: auto; padding: 1.75rem; } }

/* ---------- moe's help desk ---------- */
.fx-desk { display: grid; gap: 1rem; }
.fx-desk-list { display: grid; gap: .55rem; }
.fx-desk-btn { min-height: 56px; width: 100%; padding: .55rem 1rem; text-align: left; font-weight: 700; color: #fff; background: rgba(10, 42, 87, .55); border: 2px solid var(--line); border-radius: 14px; cursor: pointer; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.fx-desk-btn:hover { transform: translateX(4px); border-color: var(--volt); }
.fx-desk-btn[aria-pressed="true"] { background: rgba(23, 104, 179, .5); border-color: var(--signal); }
.fx-term { border-radius: 16px; overflow: hidden; border: 1px solid rgba(39, 227, 255, .4); background: #01060f; box-shadow: 0 0 44px rgba(39, 227, 255, .16); }
.fx-term-bar { display: flex; align-items: center; gap: .4rem; padding: .55rem .85rem; background: #0a1a33; color: var(--muted); font-size: .92rem; }
.fx-term-bar i { width: 11px; height: 11px; border-radius: 50%; background: var(--silver); }
.fx-term-bar i:nth-child(1) { background: var(--stage); } .fx-term-bar i:nth-child(2) { background: var(--silver); } .fx-term-bar i:nth-child(3) { background: var(--signal); }
.fx-term-bar span { margin-left: .4rem; }
.fx-term-body { padding: 1rem 1.1rem 1.25rem; min-height: 310px; font-family: ui-monospace, 'Cascadia Mono', Consolas, Menlo, monospace; font-size: .98rem; line-height: 1.55; color: #d7f8ff; }
.fx-term-body p { margin: 0 0 .4rem; }
.fx-term-q { color: var(--signal); }
.fx-term-ok { color: #fff; font-weight: 700; margin-top: .7rem !important; }
.fx-term-cta { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; font-family: 'DM Sans', sans-serif; }
.fx-cursor::after { content: "\2588"; margin-left: 2px; animation: fx-blink 1s steps(2) infinite; color: var(--signal); }
@keyframes fx-blink { 50% { opacity: 0; } }
@media (min-width: 992px) { .fx-desk { grid-template-columns: 1fr 1.35fr; gap: 1.5rem; align-items: start; } }

/* ---------- reel ---------- */
.fx-reel { display: flex; gap: .85rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: .25rem 16px 1rem; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.fx-reel-item { flex: 0 0 min(82vw, 440px); display: flex; flex-direction: column; scroll-snap-align: center; border-radius: 18px; overflow: hidden; position: relative; margin: 0; background: #000; border: 1px solid var(--line); }
.fx-reel-item video { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.fx-reel-item figcaption { flex: 1; padding: .7rem 1rem; font-weight: 700; background: rgba(4, 30, 66, .9); }
@media (min-width: 1200px) { .fx-reel { justify-content: center; flex-wrap: nowrap; } .fx-reel-item { flex-basis: 19%; } }

/* ---------- portfolio wall ---------- */
.fx-wall { display: grid; gap: .85rem; overflow: hidden; padding: .4rem 0; -webkit-mask: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.fx-wall-row { display: flex; gap: .85rem; width: max-content; animation: fx-marquee 90s linear infinite; }
.fx-wall-row--back { animation-direction: reverse; animation-duration: 104s; }
.fx-wall:hover .fx-wall-row { animation-play-state: paused; }
.fx-shot { flex: 0 0 auto; width: 260px; margin: 0; position: relative; display: block; border-radius: 12px; overflow: hidden; border: 1px solid var(--line); text-decoration: none; color: #fff; transition: transform .2s ease, border-color .2s ease; }
.fx-shot:hover { transform: scale(1.03); border-color: var(--volt); }
.fx-shot img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; background: #0a2145; }
.fx-shot span { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.5rem .7rem .45rem; font-size: .92rem; font-weight: 700; line-height: 1.2; background: linear-gradient(transparent, rgba(2, 10, 26, .95)); }
@media (min-width: 768px) { .fx-shot { width: 350px; } }

/* ---------- closer ---------- */
.fx-closer { text-align: center; overflow: hidden; }
.fx-closer h2 { font-size: clamp(2.3rem, 9.5vw, 5rem); margin: .5rem auto 1rem; max-width: 15ch; }
.fx-closer p { color: var(--muted); max-width: 36rem; margin: 0 auto 1.4rem; font-size: 1.1rem; }

/* ---------- service cards ---------- */
.fx-svc { display: flex; flex-direction: column; height: 100%; overflow: hidden; }
.fx-svc-media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: #000; }
.fx-svc-media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fx-svc-media--empty { display: grid; place-items: center; background: linear-gradient(130deg, #7f1d12, #0a2a57 60%, #0b6a86); color: #fff; }
.fx-svc-media--empty .fx-icon { width: 64px; height: 64px; }
.fx-svc-body { padding: 1.25rem; display: flex; flex-direction: column; flex: 1; gap: .65rem; }
.fx-svc-body h3 { font-size: 1.32rem; margin: 0; }
.fx-more summary { min-height: 44px; display: flex; align-items: center; gap: .35rem; font-weight: 700; color: var(--volt); cursor: pointer; list-style: none; }
.fx-more summary::-webkit-details-marker { display: none; }
.fx-more summary::after { content: "+"; font-size: 1.3em; line-height: 1; }
.fx-more[open] summary::after { content: "\2013"; }
.fx-more p { color: var(--muted); margin: 0 0 .5rem; }
.fx-svc-foot { margin-top: auto; display: flex; flex-direction: column; gap: .6rem; padding-top: .35rem; }
.fx-it-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 14px; margin-bottom: .85rem; color: var(--signal); background: rgba(39, 227, 255, .12); border: 1px solid rgba(39, 227, 255, .4); }
.fx-it-icon .fx-icon { width: 30px; height: 30px; }
.mgi-fx .fx-check { list-style: none; padding: 0; margin: 0 0 1.1rem; color: var(--muted); }
.fx-check li { position: relative; padding: .2rem 0 .2rem 1.65rem; }
.fx-check li::before { content: ""; position: absolute; left: .1rem; top: .62rem; width: .7rem; height: .38rem; border-left: 2px solid var(--signal); border-bottom: 2px solid var(--signal); transform: rotate(-45deg); }
.fx-popular { border-color: var(--signal) !important; box-shadow: 0 0 44px rgba(39, 227, 255, .22) !important; }
.fx-tag { display: inline-block; align-self: flex-start; padding: .2rem .7rem; margin-bottom: .6rem; border-radius: 999px; font-size: .94rem; font-weight: 700; color: var(--navy); background: var(--signal); }

/* ---------- contact ---------- */
.fx-reach { display: flex; align-items: center; gap: .9rem; min-height: 72px; padding: .9rem 1.1rem; color: #fff; text-decoration: none; }
.fx-reach .fx-it-icon { margin: 0; width: 46px; height: 46px; flex-shrink: 0; }
.fx-reach .fx-it-icon .fx-icon { width: 24px; height: 24px; }
.fx-reach b { display: block; line-height: 1.3; }
.fx-reach span span { color: var(--muted); font-size: 1rem; line-height: 1.3; display: block; }
a.fx-reach:hover { border-color: var(--signal); }

/* ---------- footer ---------- */
.fx-footer { background: #01060f; border-top: 1px solid var(--line); margin-top: 0; }
.fx-footer-main { padding-top: 3rem; padding-bottom: 1.5rem; }
.fx-footer-logo { width: 220px; height: auto; display: block; margin-bottom: 1rem; }
.fx-footer h2 { font-family: 'DM Sans', sans-serif; font-size: .92rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: .5rem; }
.fx-footer ul { list-style: none; padding: 0; margin: 0; }
.fx-footer a:not(.btn) { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; color: #fff; text-decoration: none; }
.fx-footer a:not(.btn):hover { color: var(--signal); }
.fx-footer-copy { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1rem; padding: .75rem 0 1rem; color: var(--muted); font-size: .96rem; border-top: 1px solid var(--line); }
.fx-footer-copy .fx-motion-btn { margin-left: auto; }
body.mgi-fx .mgi-pb { font-size: 16px; background: #01060f; }
body.mgi-fx .mgi-pb a { min-height: 44px; display: flex; align-items: center; }

/* ---------- FAQ page (keeps its own markup and script) ---------- */
body.mgi-fx .mgi-faq { color: #fff; max-width: 1040px; margin: 0 auto; padding: 1.25rem 16px 3.5rem; }
body.mgi-fx .mgi-faq-hero { background: radial-gradient(700px 300px at 15% 0, rgba(39, 227, 255, .22), transparent 70%), radial-gradient(700px 300px at 85% 0, rgba(255, 106, 26, .24), transparent 70%), linear-gradient(170deg, #0a2a57, #041226); border: 1px solid var(--line); border-radius: 22px; }
body.mgi-fx .mgi-faq-hero h1 { font-size: clamp(2.1rem, 8vw, 3.6rem); }
body.mgi-fx .mgi-faq-eyebrow { color: var(--volt); font-size: .94rem; }
body.mgi-fx .mgi-faq-search input { height: 56px; background: rgba(2, 10, 26, .75); color: #fff; border: 2px solid rgba(176, 183, 188, .45); border-radius: 14px; }
body.mgi-fx .mgi-faq-search input:focus { border-color: var(--signal); }
body.mgi-fx .mgi-faq-search span { color: var(--muted); }
body.mgi-fx .mgi-faq-chips button { min-height: 44px; background: rgba(10, 42, 87, .6); color: #fff; border-color: var(--line); font-size: .94rem; font-weight: 700; }
body.mgi-fx .mgi-faq-chips button:hover, body.mgi-fx .mgi-faq-chips button.active { background: #fff; color: var(--navy); border-color: #fff; }
body.mgi-fx .mgi-faq-card { background: rgba(10, 42, 87, .5); border-color: var(--line); border-radius: 16px; }
body.mgi-fx .mgi-faq-question { background: transparent; color: #fff; font-size: 1.06rem; font-weight: 700; }
body.mgi-fx .mgi-faq-question:hover { background: rgba(255, 255, 255, .05); }
body.mgi-fx .mgi-faq-plus { background: rgba(255, 255, 255, .12); }
body.mgi-fx .mgi-faq-question[aria-expanded="true"] .mgi-faq-plus { background: var(--signal); color: var(--navy); }
body.mgi-fx .mgi-faq-answer { color: #e4eaf2; border-top-color: var(--line); }
body.mgi-fx .mgi-faq-answer h3 { color: var(--volt); font-size: 1rem; font-weight: 700; }
body.mgi-fx .mgi-faq-answer li::marker { color: var(--signal); }
body.mgi-fx .mgi-faq-answer a { color: var(--volt); }
body.mgi-fx .mgi-faq-answer a:not(p a) { display: inline-block; }
body.mgi-fx .mgi-faq-empty { background: rgba(10, 42, 87, .5); border-color: var(--line); }
body.mgi-fx .mgi-faq-help { background: linear-gradient(120deg, #7f1d12, #0a2a57 55%, #0b6a86); }
body.mgi-fx .mgi-faq-help a { background: #fff; color: var(--navy); min-height: 48px; line-height: 26px; font-weight: 700; }

/* ---------- gallery page ---------- */
body.mgi-fx .mgi-gallery-card { overflow: hidden; }
body.mgi-fx .mgi-gallery-media { cursor: pointer; display: block; background: #000; }
body.mgi-fx .mgi-gallery-media video { transition: transform .4s ease; }
body.mgi-fx .mgi-gallery-card:hover .mgi-gallery-media video { transform: scale(1.04); }
body.mgi-fx .mgi-gallery-play { display: inline-flex; align-items: center; gap: .4rem; background: rgba(2, 10, 26, .78); border: 1px solid rgba(255, 255, 255, .55); transition: opacity .2s ease; }
body.mgi-fx .mgi-gallery-card:hover .mgi-gallery-play { opacity: 0; }
body.mgi-fx .mgi-gallery-close { min-height: 44px; padding: .55rem 1rem; }
body.mgi-fx .mgi-gallery-count { background: rgba(255, 255, 255, .1); border: 1px solid var(--line); }

/* ---------- booking page: reuses the existing form, only recoloured ---------- */
body.mgi-fx .mgi-availability-box { background: rgba(10, 42, 87, .6) !important; border: 1px solid rgba(90, 184, 255, .5) !important; box-shadow: 0 0 34px rgba(39, 160, 255, .18) !important; }
body.mgi-fx .mgi-availability-box h2 { color: #fff !important; font-family: 'Archivo Black', sans-serif; font-weight: 400 !important; }
body.mgi-fx .mgi-availability-box > .text-center > p { color: var(--muted) !important; }
body.mgi-fx #checkAvailabilityBtn { background: linear-gradient(120deg, #1768b3, #0f4f92) !important; border-color: rgba(90, 184, 255, .55) !important; color: #fff !important; }
body.mgi-fx .mgi-step { color: var(--muted); background: rgba(10, 42, 87, .6); border-color: var(--line); font-size: .92rem; display: flex; align-items: center; justify-content: center; min-height: 54px; }
body.mgi-fx .mgi-step.active { background: #fff; color: var(--navy); border-color: #fff; }
body.mgi-fx .mgi-step.done { color: var(--signal); border-color: var(--signal); }
body.mgi-fx .mgi-pick:has(input:checked) { border-color: var(--signal); box-shadow: 0 0 0 2px rgba(39, 227, 255, .4); }
body.mgi-fx .mgi-pick input[type="checkbox"], body.mgi-fx .mgi-pick input[type="radio"] { width: 24px; height: 24px; accent-color: var(--signal); }
body.mgi-fx .mgi-book-discount { font-size: .94rem; white-space: normal; text-align: left; }
body.mgi-fx .mgi-pick { min-height: 44px; }
.mgi-fx main > .container > .row > [class*="col-"] > h1:first-child { font-size: clamp(2rem, 7.6vw, 3.4rem); margin-bottom: .75rem; }
.mgi-fx main ul a, .mgi-fx main p a { text-underline-offset: 3px; }

/* ---------- availability result: full screen, nothing showing behind it ---------- */
.fx-result { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 20px 16px; overflow-y: auto; background: var(--ink); }
.fx-result[hidden] { display: none; }
.fx-result.is-yes { background: radial-gradient(700px 500px at 50% 25%, rgba(34, 217, 138, .22), transparent 70%), var(--ink); }
.fx-result.is-no { background: radial-gradient(700px 500px at 50% 25%, rgba(200, 30, 46, .28), transparent 70%), var(--ink); }
html.fx-result-open, html.fx-result-open body { overflow: hidden; }
.fx-result-card { width: 100%; max-width: 30rem; margin: auto; text-align: center; animation: fx-result-in .3s cubic-bezier(.2, .7, .2, 1); }
@keyframes fx-result-in { from { opacity: 0; transform: translateY(18px) scale(.97); } }
.fx-result-icon { width: 96px; height: 96px; margin: 0 auto 1.25rem; display: grid; place-items: center; border-radius: 50%; font-size: 3.2rem; font-weight: 700; line-height: 1; color: #fff; }
.is-yes .fx-result-icon { background: #15803d; box-shadow: 0 0 44px rgba(34, 217, 138, .6); }
.is-no .fx-result-icon { background: #b3121d; box-shadow: 0 0 44px rgba(200, 30, 46, .65); }
.mgi-fx .fx-result-title { font-size: clamp(2rem, 8.5vw, 3rem); margin: 0 0 .7rem; color: #fff; }
.fx-result-when { font-weight: 700; font-size: 1.1rem; color: var(--volt); margin: 0 0 .7rem; }
.fx-result-msg { font-size: 1.15rem; color: #fff; margin: 0 0 .5rem; }
.fx-result-fine { color: var(--muted); margin: 0 0 1.5rem; }

/* ---------- still version: reduced-motion setting, or the Pause button ---------- */
.fx-still *, .fx-still *::before, .fx-still *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
.fx-still [data-fx] { opacity: 1 !important; transform: none !important; }
.fx-still [data-fx-tilt] { transform: none !important; }
.fx-still .fx-ribbon-track { width: 100%; flex-wrap: wrap; }
.fx-still .fx-ribbon ul { flex-wrap: wrap; justify-content: center; }
.fx-still .fx-ribbon ul[aria-hidden] { display: none; }
.fx-still .fx-wall { overflow-x: auto; -webkit-mask: none; mask: none; }
.fx-still .fx-wall-row [aria-hidden="true"] { display: none; }
.fx-still .fx-side-shots, .fx-still .fx-side:hover .fx-side-shots { transform: rotate(-5deg) scale(1.28); }
.fx-still .fx-scene.is-playing .fx-sweep { opacity: 0; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print { .fx-dock, .fx-progress, .fx-canvas { display: none !important; } body.mgi-fx { background: #fff; color: #000; padding: 0; } }
