.lm-perihelion {
  position: relative;
  isolation: isolate;
  display: grid;
  gap: var(--lm-gap-group);

  padding: var(--lm-pad-page) var(--lm-pad-panel) calc(var(--lm-pad-page) * 1.25);
  border-radius: var(--lm-r-lg);
  overflow: hidden;

  background: linear-gradient(180deg,
    color-mix(in oklab, var(--lm-elev-1) 82%, transparent),
    color-mix(in oklab, var(--lm-elev-0) 94%, transparent));
  box-shadow:
    var(--lm-frame),
    0 40px 90px -60px rgb(0 0 0 / 0.95),
    0 2px 0 -1px color-mix(in oklab, #fff 8%, transparent) inset;
}

.lm-perihelion__glass {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  backdrop-filter: blur(22px) saturate(1.25);
  background:
    linear-gradient(180deg, color-mix(in oklab, #fff 6%, transparent), transparent 42%),
    linear-gradient(0deg, color-mix(in oklab, var(--lm-ink) 34%, transparent), transparent 55%);
}
[data-lm-flat] .lm-perihelion__glass { backdrop-filter: none; }

.lm-perihelion__lights {
  position: absolute;
  inset: -30%;
  z-index: 0;
  pointer-events: none;
  opacity: calc(0.85 * var(--lm-ph-glow, 1));

  background:
    radial-gradient(42% 48% at 50% 34%,
      color-mix(in oklab, var(--lm-gold) 26%, transparent),
      color-mix(in oklab, var(--lm-gold) 13%, transparent) 38%,
      color-mix(in oklab, var(--lm-gold) 4%, transparent) 66%,
      transparent 100%),
    radial-gradient(48% 44% at 18% 76%,
      color-mix(in oklab, var(--lm-bolt) 20%, transparent),
      color-mix(in oklab, var(--lm-bolt) 9%, transparent) 42%,
      transparent 100%),
    radial-gradient(52% 46% at 84% 72%,
      color-mix(in oklab, var(--lm-bolt) 16%, transparent),
      color-mix(in oklab, var(--lm-bolt) 7%, transparent) 44%,
      transparent 100%);
  filter: blur(42px);
  mask-image: radial-gradient(78% 78% at 50% 50%, #000 24%, transparent 100%);
  animation: lm-ph-breathe calc(16s / max(var(--lm-ph-intensity, 1), 0.2)) var(--lm-ease-in-out) infinite alternate;
}
@keyframes lm-ph-breathe {
  from { transform: translate3d(-1.5%, 1%, 0) scale(1); opacity: calc(0.7 * var(--lm-ph-glow, 1)); }
  to { transform: translate3d(1.5%, -1%, 0) scale(1.07); opacity: calc(1 * var(--lm-ph-glow, 1)); }
}

.lm-perihelion__depth {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    repeating-linear-gradient(115deg, transparent 0 26px, color-mix(in oklab, #fff 2%, transparent) 26px 27px),
    radial-gradient(120% 90% at 50% 120%, color-mix(in oklab, var(--lm-ink) 60%, transparent), transparent 70%);
  mask-image: linear-gradient(160deg, #000 0%, transparent 78%);
}

.lm-perihelion__dust {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.lm-perihelion__dust i {
  position: absolute;
  width: var(--s, 2px);
  height: var(--s, 2px);
  border-radius: 50%;
  background: color-mix(in oklab, var(--lm-bolt) 60%, #fff);
  box-shadow: 0 0 calc(6px * var(--lm-ph-glow, 1)) color-mix(in oklab, var(--lm-bolt) 70%, transparent);
  opacity: 0.35;
  animation: lm-ph-mote var(--d, 8s) ease-in-out var(--t, 0s) infinite alternate;
}
@keyframes lm-ph-mote {
  from { opacity: 0.12; transform: translate3d(0, 0, 0); }
  to { opacity: 0.75; transform: translate3d(6px, -10px, 0); }
}

.lm-perihelion__head { position: relative; z-index: 6; }
.lm-perihelion__head[data-lm-ph-quiet] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.lm-perihelion__goal {
  position: relative;
  z-index: 6;
  display: grid;
  grid-template-columns: auto minmax(min(100%, 13rem), 1fr);
  align-items: center;
  gap: clamp(1rem, 3vw, 2.5rem);

  padding-bottom: calc(var(--lm-gap-group) + 8rem);
}

.lm-perihelion__route {
  position: relative;
  height: clamp(3.5rem, 7vw, 5rem);

  padding-inline: clamp(0.75rem, 2vw, 1.5rem);
  mask-image: linear-gradient(90deg, transparent, #000 12% 88%, transparent);
}
.lm-perihelion__route > * { position: absolute; pointer-events: none; }

.lm-perihelion__star {
  width: var(--s, 1.4px);
  height: var(--s, 1.4px);
  border-radius: 50%;
  background: #fff;

  box-shadow:
    0 0 calc(3px * var(--lm-ph-glow, 1)) color-mix(in oklab, #fff 80%, transparent),
    0 0 calc(7px * var(--lm-ph-glow, 1)) color-mix(in oklab, var(--lm-bolt) 75%, transparent);
  opacity: 0.35;

  animation:
    lm-ph-star-drift var(--d, 16s) var(--lm-ease-in-out) var(--t, 0s) infinite alternate,
    lm-ph-star-blink calc(var(--d, 16s) / 3.7) var(--lm-ease-in-out) var(--t, 0s) infinite alternate;
}

@keyframes lm-ph-star-drift {
  from { translate: -3px 2px; }
  to { translate: 3px -2px; }
}

@keyframes lm-ph-star-blink {
  from { opacity: 0.18; scale: 0.85; }
  to { opacity: 0.95; scale: 1.15; }
}

.lm-perihelion__route-path {
  left: 0;
  right: 0;
  top: 50%;
  height: 2px;
  translate: 0 -50%;
  border-radius: 2px;
  background: repeating-linear-gradient(90deg,
    color-mix(in oklab, var(--lm-line) 90%, transparent) 0 5px,
    transparent 5px 12px);
  mask-image: linear-gradient(90deg, transparent, #000 8% 92%, transparent);
}

.lm-perihelion__route-wake {
  left: 0;
  top: 50%;
  height: 3px;
  width: calc(var(--lm-ph-goal, 0) * 100%);
  translate: 0 -50%;
  border-radius: 3px;
  background: linear-gradient(90deg,
    transparent,
    color-mix(in oklab, var(--lm-bolt) 45%, transparent) 22%,
    color-mix(in oklab, var(--lm-bolt) 85%, #fff) 78%,
    #fff);
  box-shadow: 0 0 calc(16px * var(--lm-ph-glow, 1)) -2px color-mix(in oklab, var(--lm-bolt) 70%, transparent);
}

.lm-perihelion__route-dust {
  left: 0;
  top: 50%;
  height: 2.25rem;
  width: calc(var(--lm-ph-goal, 0) * 100%);
  translate: 0 -50%;
  opacity: calc(0.7 * var(--lm-ph-glow, 1));
  background:
    radial-gradient(circle at 50% 50%, color-mix(in oklab, var(--lm-bolt) 75%, #fff) 0 1px, transparent 1.7px) 0 0 / 26px 15px,
    radial-gradient(circle at 50% 50%, color-mix(in oklab, #fff 80%, transparent) 0 0.8px, transparent 1.5px) 13px 8px / 41px 23px;
  mask-image: linear-gradient(90deg, transparent, #000 60%, transparent),
              linear-gradient(180deg, transparent, #000 50%, transparent);
  mask-composite: intersect;
  animation: lm-ph-drift calc(9s / max(var(--lm-ph-intensity, 1), 0.2)) linear infinite;
}
@keyframes lm-ph-drift { to { background-position: -26px -15px, -41px 23px; } }

.lm-perihelion__comet {
  left: calc(var(--lm-ph-goal, 0) * 100%);
  top: 50%;
  width: 0;
  height: 0;
  translate: 0 -50%;
  animation: lm-ph-bob calc(3.6s / max(var(--lm-ph-intensity, 1), 0.2)) var(--lm-ease-in-out) infinite alternate;
}
@keyframes lm-ph-bob {
  from { translate: 0 calc(-50% - 2px); }
  to { translate: 0 calc(-50% + 2px); }
}
.lm-perihelion__comet i { position: absolute; top: 50%; left: 0; border-radius: 999px; }

.lm-perihelion__comet-tail {
  width: clamp(2.5rem, 6vw, 4.5rem);
  height: 0.75rem;
  translate: -100% -50%;
  background: linear-gradient(90deg,
    transparent,
    color-mix(in oklab, var(--lm-bolt) 30%, transparent) 30%,
    color-mix(in oklab, var(--lm-bolt) 75%, transparent) 72%,
    color-mix(in oklab, #fff 85%, var(--lm-bolt)));
  mask-image: radial-gradient(120% 50% at 100% 50%, #000 30%, transparent 100%);
  opacity: calc(0.9 * var(--lm-ph-glow, 1));
}

.lm-perihelion__comet-glow {
  width: clamp(3rem, 7vw, 5rem);
  height: clamp(3rem, 7vw, 5rem);
  translate: -50% -50%;
  opacity: var(--lm-ph-glow, 1);
  background: radial-gradient(closest-side,
    color-mix(in oklab, var(--lm-bolt) 55%, #fff) 0%,
    color-mix(in oklab, var(--lm-bolt) 28%, transparent) 34%,
    color-mix(in oklab, var(--lm-bolt) 8%, transparent) 64%,
    transparent 100%);
  animation: lm-ph-pulse calc(3.2s / max(var(--lm-ph-intensity, 1), 0.2)) var(--lm-ease-in-out) infinite alternate;
}
@keyframes lm-ph-pulse {
  from { scale: 0.94; }
  to { scale: 1.08; }
}

.lm-perihelion__comet-core {
  width: 0.875rem;
  height: 0.875rem;
  translate: -50% -50%;
  background: radial-gradient(circle at 40% 34%, #fff 0 38%, color-mix(in oklab, var(--lm-bolt) 55%, #fff) 72%, var(--lm-bolt));
  box-shadow:
    0 0 calc(14px * var(--lm-ph-glow, 1)) color-mix(in oklab, var(--lm-bolt) 90%, transparent),
    0 0 calc(4px * var(--lm-ph-glow, 1)) #fff;
}

.lm-perihelion__goal[data-lm-goal-reached] .lm-perihelion__comet-core {
  background: radial-gradient(circle at 40% 34%, #fff 0 44%, color-mix(in oklab, var(--lm-gold) 60%, #fff) 74%, var(--lm-gold));
  box-shadow:
    0 0 calc(22px * var(--lm-ph-glow, 1)) color-mix(in oklab, var(--lm-gold) 90%, transparent),
    0 0 calc(6px * var(--lm-ph-glow, 1)) #fff;
}
.lm-perihelion__goal[data-lm-goal-reached] .lm-perihelion__comet-glow {
  background: radial-gradient(closest-side,
    color-mix(in oklab, var(--lm-gold) 60%, #fff) 0%,
    color-mix(in oklab, var(--lm-gold) 30%, transparent) 34%,
    color-mix(in oklab, var(--lm-gold) 9%, transparent) 64%,
    transparent 100%);
}
.lm-perihelion__goal[data-lm-goal-reached] .lm-perihelion__route-wake {
  background: linear-gradient(90deg,
    transparent,
    color-mix(in oklab, var(--lm-bolt) 50%, transparent) 20%,
    color-mix(in oklab, var(--lm-gold) 70%, #fff) 82%,
    #fff);
}

.lm-perihelion__goalbody { grid-column: 1; grid-row: 1; }
.lm-perihelion__route { grid-column: 2; grid-row: 1; }

.lm-perihelion__goalbody { min-width: 0; background: none; border: 0; padding: 0; box-shadow: none; }
.lm-perihelion__goalbody .lm-goal__body {
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;

  backdrop-filter: none;
  overflow: visible;
}
.lm-perihelion__goalbody .lm-goal__body::after { content: none; }

.lm-perihelion__goalbody .lm-goal__bar { display: none; }
.lm-perihelion__goalbody .lm-goal__pct { font-size: clamp(1.75rem, 4vw, 2.5rem); }

@media (max-width: 767px), (max-height: 599px) {
  .lm-perihelion__goal { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }

  .lm-perihelion__goal { padding-bottom: var(--lm-gap-group); }
  .lm-perihelion__goalbody,
  .lm-perihelion__route { grid-column: 1; }
  .lm-perihelion__goalbody { grid-row: 1; }
  .lm-perihelion__route { grid-row: 2; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .lm-perihelion__route-dust,
  .lm-perihelion__comet,
  .lm-perihelion__comet-glow { animation: none; }

  .lm-perihelion__star { animation: none; opacity: 0.6; }
}

.lm-perihelion__stage {
  position: relative;
  z-index: 4;
  display: grid;

  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0;
  min-height: calc(clamp(24rem, 42vw, 34rem) * var(--lm-ph-size, 1));
}

.lm-perihelion__anchor {
  position: relative;

  z-index: 3;
  pointer-events: auto;
}

.lm-perihelion .lm-donor::before {
  inset: -12%;
  border-radius: 50%;
  background: radial-gradient(closest-side,
    color-mix(in oklab, var(--lm-gold) 17%, transparent),
    color-mix(in oklab, var(--lm-gold) 7%, transparent) 52%,
    transparent 78%);
  mask-image: radial-gradient(closest-side, #000 42%, transparent 100%);
}

.lm-perihelion .lm-donor__head {
  position: relative;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.625rem;
  max-width: 24rem;
}
.lm-perihelion .lm-donor__head > div { display: grid; gap: 0.2rem; }
.lm-perihelion .lm-donor__head .lm-head__eyebrow { letter-spacing: 0.16em; }
.lm-perihelion .lm-donor__head .lm-head__title {
  justify-content: center;
  font-size: 1.125rem;
  letter-spacing: 0;
}
.lm-perihelion .lm-donor__rank { align-self: center; }

.lm-perihelion .lm-donor__card {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: var(--lm-gap-card);
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
}
.lm-perihelion .lm-donor__card::after { content: none; }

.lm-perihelion .lm-donor__medal {

  place-items: center;
  padding: 0;

  position: relative;
  z-index: 1;

  width: calc(clamp(12rem, 21vw, 18rem) * var(--lm-ph-anchor, 1));
  height: calc(clamp(12rem, 21vw, 18rem) * var(--lm-ph-anchor, 1));
  border-radius: 50%;

  background:
    radial-gradient(closest-side at 50% 50%,
      color-mix(in oklab, var(--lm-gold) 30%, transparent),
      color-mix(in oklab, var(--lm-gold) 14%, transparent) 46%,
      color-mix(in oklab, var(--lm-gold) 4%, transparent) 74%,
      transparent 100%),
    radial-gradient(closest-side at 32% 28%,
      color-mix(in oklab, var(--lm-bolt) 24%, transparent),
      color-mix(in oklab, var(--lm-bolt) 9%, transparent) 48%,
      transparent 100%);
  box-shadow:
    inset 0 -32px 70px -34px color-mix(in oklab, var(--lm-ink) 92%, transparent),
    0 0 calc(120px * var(--lm-ph-glow, 1)) -24px color-mix(in oklab, var(--lm-gold) 60%, transparent);
}
.lm-perihelion .lm-donor__medal::before {
  content: "";
  position: absolute;
  inset: -7%;
  border-radius: 50%;
  border: 1px solid color-mix(in oklab, var(--lm-gold) 30%, transparent);
  opacity: var(--lm-ph-glow, 1);
  animation: lm-ph-halo calc(9s / max(var(--lm-ph-intensity, 1), 0.2)) var(--lm-ease-in-out) infinite;
}
@keyframes lm-ph-halo {
  0%, 100% { transform: scale(1); opacity: calc(0.35 * var(--lm-ph-glow, 1)); }
  50% { transform: scale(1.05); opacity: calc(0.9 * var(--lm-ph-glow, 1)); }
}

.lm-perihelion .lm-donor__body {
  position: relative;
  z-index: 2;
  width: auto;
  max-width: 62%;
  height: calc(clamp(12rem, 21vw, 18rem) * var(--lm-ph-anchor, 1) * 0.86);
  object-position: center;
  filter: drop-shadow(0 18px 26px rgb(0 0 0 / 0.55));
}

.lm-perihelion .lm-donor__ring {
  border-radius: 50%;
  padding: 0;
  --lm-ph-ring: 2px;
  mask:
    radial-gradient(closest-side,
      transparent calc(100% - var(--lm-ph-ring)),
      #000 calc(100% - var(--lm-ph-ring)) 100%);
}

.lm-perihelion .lm-donor__glow { bottom: 8%; width: 46%; }

.lm-perihelion .lm-donor__medal::after {
  mask: radial-gradient(closest-side, #000 30%, transparent 82%);
}

.lm-perihelion .lm-donor__who {
  display: grid;
  justify-items: center;
  gap: 0.35rem;
  text-align: center;
}
.lm-perihelion .lm-donor__amount { font-size: clamp(1.5rem, 3.4vw, 2.125rem); }

.lm-perihelion__field {
  position: relative;
  z-index: 0;
  grid-column: 2;
  align-self: stretch;
  min-height: 100%;

  margin-left: calc(clamp(11rem, 19.5vw, 17rem) * var(--lm-ph-anchor, 1) * -0.5);
  pointer-events: none;
}
.lm-perihelion__field > * { pointer-events: auto; }
.lm-perihelion__source[hidden] { display: none; }

.lm-perihelion__sat[data-lm-ph-off] {
  visibility: hidden;
  will-change: auto;
}

.lm-perihelion__arc {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  z-index: 1;
  translate: -50% -50%;
  border: 1px solid color-mix(in oklab, var(--lm-bolt) 20%, transparent);
  border-radius: 50%;
  opacity: calc((1 - var(--i, 0) * 0.14) * var(--lm-ph-glow, 1));
  pointer-events: none;

  mask-image: linear-gradient(90deg, transparent 0 8%, rgb(0 0 0 / 0.28) 27%, #000 54%);
}
.lm-perihelion__arc:nth-of-type(even) { border-style: dashed; }

.lm-perihelion__sat {
  position: absolute;
  left: 0;
  top: 0;
  width: max-content;

  z-index: 2;

  will-change: transform;

  opacity: calc(var(--lm-ph-depth, 1) * var(--lm-ph-edge, 1));
  filter: saturate(calc(0.65 + var(--lm-ph-depth, 1) * 0.35));
  will-change: transform, opacity;
}

@media (max-width: 767px), (max-height: 599px) {
  .lm-perihelion__sat { filter: none; }

  .lm-perihelion__depth {
    background-image: radial-gradient(120% 90% at 50% 120%,
      color-mix(in oklab, var(--lm-ink) 60%, transparent), transparent 70%);
  }
}

.lm-perihelion .lm-perihelion__card {

  min-width: calc(13rem * var(--lm-ph-card, 1));
  width: max-content;
  max-width: 100%;
  padding: calc(0.5rem * var(--lm-ph-card, 1)) calc(0.75rem * var(--lm-ph-card, 1));
  gap: 0.5rem;
  font-size: calc(1rem * max(var(--lm-ph-card, 1), 0.72));
  backdrop-filter: blur(10px);
  transition:
    opacity var(--lm-slow) var(--lm-ease),
    transform var(--lm-slow) var(--lm-ease);

  background:
    radial-gradient(70% 65% at 0% 0%, color-mix(in oklab, var(--r) 16%, transparent), transparent 60%),
    linear-gradient(180deg,
      color-mix(in oklab, var(--lm-elev-2) 80%, transparent),
      color-mix(in oklab, var(--lm-elev-1) 88%, transparent));
  box-shadow:
    var(--lm-frame),
    0 0 0 1px color-mix(in oklab, var(--r) 26%, transparent),
    0 20px calc(46px * var(--lm-ph-glow, 1)) -28px var(--r);
}
[data-lm-flat] .lm-perihelion__card { backdrop-filter: none; }

.lm-perihelion__card[data-fx] {
  box-shadow:
    var(--lm-frame),
    0 0 0 1px color-mix(in oklab, var(--r) 44%, transparent),
    0 22px calc(56px * var(--lm-ph-glow, 1)) -24px var(--r);
}

.lm-perihelion__card .lm-sale__who,
.lm-perihelion__card .lm-sale__what,
.lm-perihelion__card .lm-sale__price { white-space: nowrap; }

.lm-perihelion__card .lm-sale__face { width: 2.6em; height: 2.6em; }
.lm-perihelion__card .lm-sale__who { font-size: 0.82em; }
.lm-perihelion__card .lm-sale__what { font-size: 0.62em; }
.lm-perihelion__card .lm-sale__price { font-size: 0.95em; }

.lm-perihelion__card {
  padding-bottom: calc(0.5rem * var(--lm-ph-card, 1));
}

.lm-perihelion__card[data-rarity]:not([data-rarity=""]) {
  padding-bottom: calc(1.05rem * var(--lm-ph-card, 1));
}

.lm-perihelion__card:not([data-rarity]),
.lm-perihelion__card[data-rarity=""] {
  --lm-rarity-display: none;
}

.lm-perihelion__card:not([data-rarity])::after,
.lm-perihelion__card[data-rarity=""]::after {
  content: none;
}

.lm-perihelion__card[data-rarity]:not([data-rarity=""])::after {
  left: 50%;
  right: auto;
  translate: -50% 0;
  bottom: calc(0.2rem * var(--lm-ph-card, 1));
  font-size: 0.42em;
}

.lm-perihelion__card[data-fx]::before {
  content: "";
  position: absolute;
  inset: -35%;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  opacity: calc(0.55 * var(--lm-ph-glow, 1));
  background:
    radial-gradient(circle at 50% 50%, var(--r) 0 1px, transparent 1.6px) 0 0 / 21px 19px,
    radial-gradient(circle at 50% 50%, color-mix(in oklab, var(--r) 60%, #fff) 0 1px, transparent 2px) 9px 13px / 37px 31px;
  mask-image: radial-gradient(closest-side, #000 30%, transparent 78%);
  animation: lm-ph-sparks calc(7s / max(var(--lm-ph-intensity, 1), 0.2)) linear infinite;
}
@keyframes lm-ph-sparks {
  to { background-position: 21px -19px, -37px 31px; }
}

[data-lm-enter="fade"] .lm-perihelion__sat:not([data-lm-in]) .lm-perihelion__card { opacity: 0; }
[data-lm-enter="scale"] .lm-perihelion__sat:not([data-lm-in]) .lm-perihelion__card { opacity: 0; transform: scale(0.55); }
[data-lm-enter="drop"] .lm-perihelion__sat:not([data-lm-in]) .lm-perihelion__card { opacity: 0; transform: translateY(-1.75rem); }
[data-lm-enter="spiral"] .lm-perihelion__sat:not([data-lm-in]) .lm-perihelion__card { opacity: 0; transform: rotate(-24deg) scale(0.5); }

.lm-perihelion__sat[data-lm-in] .lm-perihelion__card { opacity: 1; transform: none; }

[data-lm-exit="fade"] .lm-perihelion__sat[data-lm-out] .lm-perihelion__card { opacity: 0; }
[data-lm-exit="scale"] .lm-perihelion__sat[data-lm-out] .lm-perihelion__card { opacity: 0; transform: scale(0.55); }
[data-lm-exit="drop"] .lm-perihelion__sat[data-lm-out] .lm-perihelion__card { opacity: 0; transform: translateY(1.75rem); }
[data-lm-exit="spiral"] .lm-perihelion__sat[data-lm-out] .lm-perihelion__card { opacity: 0; transform: rotate(24deg) scale(0.5); }

@media (max-width: 1100px) {
  .lm-perihelion .lm-perihelion__card { min-width: calc(11.5rem * var(--lm-ph-card, 1)); }
}

@media (max-width: 767px), (max-height: 599px) {
  .lm-perihelion { padding-inline: var(--lm-gap-block); }

  .lm-perihelion__stage {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    justify-items: center;
    align-items: start;
    min-height: 0;
  }
  .lm-perihelion__anchor { grid-column: 1; grid-row: 1; justify-self: center; }

  .lm-perihelion__field {
    z-index: 1;
    grid-column: 1;
    grid-row: 1 / -1;
    width: 100%;
    margin-left: 0;
    margin-top: 0;
    min-height: calc(34rem * var(--lm-ph-size, 1));
  }

  .lm-perihelion__arc {
    z-index: 0;
    clip-path: inset(50% 0 0 0);

    mask-image: linear-gradient(90deg, transparent 0 4%, #000 26% 74%, transparent 96% 100%);
  }
  .lm-perihelion__sat { z-index: 2; }

  .lm-perihelion .lm-perihelion__card {
    min-width: calc(9.5rem * var(--lm-ph-card, 1));
    padding: calc(0.375rem * var(--lm-ph-card, 1)) calc(0.5rem * var(--lm-ph-card, 1));
    gap: 0.375rem;
  }
  .lm-perihelion__card .lm-sale__face { width: 2.1em; height: 2.1em; }
  .lm-perihelion__card .lm-sale__who { font-size: 0.6875rem; }
  .lm-perihelion__card .lm-sale__what { font-size: 0.5625rem; }
  .lm-perihelion__card .lm-sale__price { font-size: 0.75rem; }

  .lm-perihelion .lm-donor__medal {
    width: calc(10.5rem * var(--lm-ph-anchor, 1));
    height: calc(10.5rem * var(--lm-ph-anchor, 1));
  }
  .lm-perihelion .lm-donor__body { height: calc(10.5rem * var(--lm-ph-anchor, 1) * 0.86); }
  .lm-perihelion .lm-donor__head .lm-head__title { font-size: 1.25rem; }

  .lm-perihelion__route-dust,
  .lm-perihelion__card[data-fx]::before { animation: none; }

  .lm-perihelion__glass {
    backdrop-filter: none;
    background:
      linear-gradient(180deg, color-mix(in oklab, #fff 5%, transparent), transparent 42%),
      linear-gradient(0deg, color-mix(in oklab, var(--lm-ink) 46%, transparent), transparent 55%);
  }
  .lm-perihelion__card {
    backdrop-filter: none;
    background:
      radial-gradient(70% 65% at 0% 0%, color-mix(in oklab, var(--r) 16%, transparent), transparent 60%),
      linear-gradient(180deg,
        color-mix(in oklab, var(--lm-elev-2) 96%, transparent),
        color-mix(in oklab, var(--lm-elev-1) 98%, transparent));
  }

  .lm-perihelion__lights { filter: blur(24px); }
  @keyframes lm-ph-breathe {
    from { transform: translate3d(-1.5%, 1%, 0); opacity: calc(0.7 * var(--lm-ph-glow, 1)); }
    to { transform: translate3d(1.5%, -1%, 0); opacity: calc(1 * var(--lm-ph-glow, 1)); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .lm-perihelion__lights,
  .lm-perihelion__dust i,
  .lm-perihelion .lm-donor__medal::before,
  .lm-perihelion__card[data-fx]::before { animation: none; }
}

.lm-perihelion .lm-donor__who[data-lm-donor-empty] .lm-donor__name {
  font-family: var(--lm-font);
  font-size: clamp(1.125rem, 2.2vw, 1.5rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  text-shadow: none;
  color: color-mix(in oklab, var(--lm-text) 88%, transparent);
}
.lm-perihelion .lm-donor__who[data-lm-donor-empty] .lm-small {
  max-width: 26ch;
  margin-inline: auto;
}

.lm-perihelion__sat[data-lm-ph-off],
.lm-perihelion__sat[data-lm-ph-off]::before,
.lm-perihelion__sat[data-lm-ph-off]::after,
.lm-perihelion__sat[data-lm-ph-off] *,
.lm-perihelion__sat[data-lm-ph-off] *::before,
.lm-perihelion__sat[data-lm-ph-off] *::after {
  animation-play-state: paused !important;
  transition: none !important;
}
