/* ═══ HELHEIMRS — Home «دروازه» ═══ */
.pg-home {
  --hdr-h: 68px;
  --mark-w: min(420px, 74vw, 44vh);
  /* the hero stage is a fixed scene, not a themed surface: its own foreground ramp */
  --hero-fg: var(--frost);
  --hero-body: #D9DCD6;
  --hero-muted: #B9BDB6;
  --hero-faint: #7A807B;
  --hero-lit: #4BE2AE;
  --hero-ground: var(--void);
}
@media (max-width: 900px) { .pg-home { --hdr-h: 60px; } }

/* ── Hero: 200vh scroll stage with a sticky viewport ── */
.pg-home .hero { position: relative; height: 200vh; height: 200svh; margin-top: calc(-1 * var(--hdr-h)); }
.pg-home .hero.is-static { height: auto; min-height: 100vh; }
.pg-home .hero__sticky {
  position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; isolation: isolate;
  display: flex; flex-direction: column; align-items: center; justify-content: safe center; gap: clamp(8px, 2vh, 24px);
  padding: var(--hdr-h) var(--gutter) 10vh; background: var(--hero-ground); color: var(--hero-body);
}
.pg-home .hero.is-static .hero__sticky { position: relative; height: auto; min-height: 100vh; padding-bottom: var(--s-9); }

/* ── the realm behind the gate ── */
.pg-home .realm { position: absolute; inset: 0; z-index: 0; overflow: hidden; transform: scale(1.12); pointer-events: none; }
/* The realm is a painted plate, one per time of day, graded cold so all four read
   as the same world. It replaced four generated ridge polygons, a drawn world-tree
   and three ravens on orbit keyframes. It does not move: no drift, no parallax,
   no orbit — the only change on scroll is the veil lifting and the mist parting. */
.pg-home .realm__scene {
  position: absolute; inset: 0;
  background-image: url(../../assets/art/runes.jpg);
  background-size: cover; background-position: 50% 42%; background-repeat: no-repeat;
  filter: saturate(.2) brightness(.66) contrast(1.05);
}
:root[data-realm="dawn"] .pg-home .realm__scene { background-image: url(../../assets/art/mist.jpg); }
:root[data-realm="day"] .pg-home .realm__scene { background-image: url(../../assets/art/map.jpg); filter: saturate(.22) brightness(.72) contrast(1.02); }
:root[data-realm="dusk"] .pg-home .realm__scene { background-image: url(../../assets/art/rain.jpg); }
:root[data-realm="night"] .pg-home .realm__scene { background-image: url(../../assets/art/runes.jpg); }
/* the jade wash plus the fall to black at the foot, which is also what keeps the
   caption legible without a slab behind it */
.pg-home .realm__grade {
  position: absolute; inset: 0;
  background:
    radial-gradient(78% 52% at 50% 44%, rgba(47,211,154,.16), transparent 70%),
    linear-gradient(180deg, rgba(10,10,11,.62) 0%, rgba(10,10,11,.34) 18%, rgba(10,45,36,.28) 40%, rgba(10,10,11,.8) 86%, var(--void) 100%);
}
:root[data-realm="dusk"] .pg-home .realm__grade::after { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 38% at 50% 62%, rgba(194,58,43,.20), transparent 70%); }
/* haze: the band of cold air over the middle distance — the one thing the painting
   cannot give us, because it has to sit in front of the caption's backdrop */
.pg-home .realm__haze { position: absolute; inset-inline: -10%; pointer-events: none; }
.pg-home .realm__haze--far { bottom: 44%; height: 24%; background: linear-gradient(180deg, transparent, rgba(var(--fog-color), .22) 55%, rgba(var(--fog-color), .12) 78%, transparent); }
.pg-home .realm__haze--near { bottom: 16%; height: 22%; background: linear-gradient(180deg, transparent, rgba(var(--fog-color), .20) 60%, transparent); }

/* the line that lands once you are through the gate */
.pg-home .realm__caption {
  position: absolute; bottom: 18%; inset-inline: 0; margin: 0; max-width: none; padding-inline: var(--gutter);
  text-align: center; opacity: 0; will-change: transform, opacity; display: grid; gap: var(--s-2); justify-items: center;
}
.pg-home .realm__caption-line { font-family: var(--font-display); font-weight: 900; font-size: clamp(1.7rem, 4.2vw, 2.8rem); line-height: 1.3; color: var(--hero-fg); text-shadow: 0 2px 34px rgba(0,0,0,.85); }
.pg-home .realm__caption-sub { font-size: var(--fs-md); color: var(--hero-muted); text-shadow: 0 1px 18px rgba(0,0,0,.8); }
.pg-home .realm__mist { position: absolute; top: -12%; bottom: -12%; width: 82%; will-change: transform, opacity; }
.pg-home .realm__mist--l { left: -18%; background: radial-gradient(58% 56% at 46% 56%, rgba(var(--fog-color), .55), rgba(var(--fog-color), .2) 42%, transparent 70%); }
.pg-home .realm__mist--r { right: -18%; background: radial-gradient(58% 56% at 54% 44%, rgba(var(--fog-color), .5), rgba(var(--fog-color), .18) 42%, transparent 70%); }
.pg-home .realm__veil { position: absolute; inset: 0; background: var(--hero-ground); opacity: .9; will-change: opacity; }
.pg-home .hero.is-static .realm { transform: none; }
.pg-home .hero.is-static .realm__veil { opacity: .6; }
.pg-home .hero.is-static .realm__mist { opacity: .5; }
.pg-home .hero.is-static .realm__caption { display: none; }

/* ── the gate itself ── */
.pg-home .hero__gate { position: relative; z-index: 2; flex: none; transform-origin: 50% 57%; will-change: transform, opacity; pointer-events: none; }
.pg-home .hero__gate::after { content: ""; position: absolute; left: 8%; right: 8%; bottom: -3%; height: 14%; z-index: -1; background: radial-gradient(ellipse at 50% 50%, rgba(47,211,154,.38), transparent 68%); filter: blur(10px); }
.pg-home .hero__gate svg { width: var(--mark-w); height: auto; overflow: visible; }
.pg-home .hero__mark .keeper-head, .pg-home .hero__mark .keeper-body { transform-box: fill-box; transform-origin: 50% 100%; transition: transform 700ms var(--ease-out); }
.pg-home .hero__mark .keeper-eye { opacity: 1; }
.pg-home .hero__mark .crack { stroke-width: 2.4; }

/* ── ignition sequence (motion only) ── */
.pg-home.is-igniting .hero__gate svg { animation: hm-settle 2.2s var(--ease-out) both; }
@keyframes hm-settle { from { transform: scale(.955); opacity: .82; } to { transform: scale(1); opacity: 1; } }
.pg-home.is-igniting .hero__gate::after { opacity: 0; animation: hm-in 1.2s var(--ease-out) 1.7s forwards; }
.pg-home.is-igniting .hero__mark .crack { stroke-dasharray: 1; stroke-dashoffset: 1; opacity: 0; animation: hm-crack 600ms var(--ease-out) forwards; animation-delay: calc(260ms + var(--i, 0) * 110ms); }
@keyframes hm-crack { 0% { stroke-dashoffset: 1; opacity: 0; } 12% { opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 1; } }
.pg-home.is-igniting .hero__mark .mark-frame { stroke-dasharray: 1; stroke-dashoffset: 1; animation: hm-draw 1200ms var(--ease-heavy) 1200ms forwards; }
.pg-home.is-igniting .hero__mark .mark-frame2 { stroke-dasharray: 1; stroke-dashoffset: 1; animation: hm-draw 1000ms var(--ease-heavy) 1420ms forwards; }
@keyframes hm-draw { to { stroke-dashoffset: 0; } }
.pg-home.is-igniting .hero__mark .mark-inner-fill, .pg-home.is-igniting .hero__mark .mark-steps-light { opacity: 0; animation: hm-in 1000ms var(--ease-out) 1600ms forwards; }
.pg-home.is-igniting .hero__mark .mark-frame-halo { opacity: 0; animation: hm-halo 1000ms var(--ease-out) 1700ms forwards, hm-breathe 4.2s ease-in-out 2700ms infinite; }
@keyframes hm-halo { to { opacity: .35; } }
@keyframes hm-breathe { 0%, 100% { opacity: .28; } 50% { opacity: .5; } }
.pg-home.is-igniting .hero__mark .keeper-eye { opacity: 0; animation: hm-in 900ms var(--ease-out) 2200ms forwards; }
@keyframes hm-in { to { opacity: 1; } }
.pg-home.is-igniting .hero__title { clip-path: inset(0 0 0 100%); animation: hm-carve 900ms var(--ease-heavy) 2000ms forwards; }
@keyframes hm-carve { 0% { clip-path: inset(0 0 0 100%); text-shadow: 0 0 26px rgba(47,211,154,.95), 0 0 60px rgba(47,211,154,.5); } 60% { text-shadow: 0 0 18px rgba(47,211,154,.5), 0 0 40px rgba(47,211,154,.2); } 100% { clip-path: inset(0 -2% 0 0); text-shadow: 0 1px 0 rgba(255,255,255,.06), 0 -1px 0 rgba(0,0,0,.8), 0 0 0 rgba(47,211,154,0); } }
.pg-home.is-igniting .hero__sub { opacity: 0; animation: hm-rise 650ms var(--ease-out) 2500ms forwards; }
.pg-home.is-igniting .hero__cta { opacity: 0; animation: hm-rise 600ms var(--ease-out) 2780ms forwards; }
.pg-home.is-igniting .hero__hint { opacity: 0; animation: hm-in 800ms var(--ease-out) 3150ms forwards; }
@keyframes hm-rise { from { opacity: 0; transform: translate3d(0, 14px, 0); } to { opacity: 1; transform: none; } }

/* ── hero copy ── */
.pg-home .hero__copy { position: relative; z-index: 2; text-align: center; max-width: 760px; will-change: transform, opacity; }
.pg-home .hero__title { font-size: clamp(2.8rem, 7vw, 5.2rem); margin: 0 0 var(--s-3); color: var(--hero-fg); text-shadow: 0 1px 0 rgba(255,255,255,.06), 0 -1px 0 rgba(0,0,0,.8); }
.pg-home .hero__sub { margin: 0 auto var(--s-5); max-width: 34em; font-size: var(--fs-lg); color: var(--hero-muted); }
.pg-home .hero__cta { display: flex; gap: var(--s-3); justify-content: center; flex-wrap: wrap; }
/* the stage never follows the theme, so its controls carry the scene's own colours */
.pg-home .hero__cta .btn--ghost { color: var(--hero-lit); border-color: rgba(47,211,154,.45); }
.pg-home .hero__cta .btn--ghost:hover { background: rgba(47,211,154,.08); border-color: rgba(47,211,154,.8); }
.pg-home .hero__cta .btn--primary { --btn-bg: var(--emerald-grad); color: #07110D; }
.pg-home .hero__hint { position: absolute; bottom: 4vh; inset-inline: 0; z-index: 2; margin: 0; max-width: none; display: flex; gap: var(--s-2); justify-content: center; align-items: center; flex-wrap: wrap; font-size: var(--fs-xs); color: var(--hero-faint); pointer-events: none; }
.pg-home .hero__hint .rune { color: var(--hero-lit); font-size: var(--rune-sm); animation: hm-hint 2.2s ease-in-out infinite; }
.pg-home .hero__hint .realm-now { color: var(--hero-muted); }
.pg-home .hero__hint .sep { font-family: var(--font-rune); font-style: normal; color: var(--hero-faint); }
@keyframes hm-hint { 0%, 100% { transform: translateY(0); opacity: .5; } 50% { transform: translateY(6px); opacity: 1; } }
.pg-home .hero__fade { position: absolute; inset-inline: 0; bottom: 0; height: 16vh; z-index: 1; background: linear-gradient(180deg, transparent, var(--bg)); pointer-events: none; }
.pg-home .hero.is-through .hero__fade { height: 22vh; }

/* ── Frost: the realm becomes a cold pale dawn, the gate stays black basalt ── */
:root[data-theme="light"] .pg-home {
  --hero-fg: #10201B; --hero-body: #1F2C28; --hero-muted: #41504B; --hero-faint: #434E4A; --hero-lit: #0C5A42; --hero-ground: #DFE7E5;
}
/* Frost keeps the same plate, only lifted: a pale hero still needs the painting
   dark enough for frost-white type to sit on it. */
:root[data-theme="light"] .pg-home .realm__scene { filter: saturate(.24) brightness(.78) contrast(1); }
:root[data-theme="light"] .pg-home .realm__grade { background: radial-gradient(78% 52% at 50% 44%, rgba(15,107,79,.14), transparent 70%), linear-gradient(180deg, rgba(20,26,24,.46) 0%, rgba(15,107,79,.16) 40%, rgba(24,30,28,.62) 88%, #1B2220 100%); }
:root[data-theme="light"] .pg-home .realm__veil { background: #E6EDEB; }
:root[data-theme="light"] .pg-home .realm__caption-line, :root[data-theme="light"] .pg-home .realm__caption-sub { text-shadow: 0 1px 16px rgba(237,242,240,.9); }
:root[data-theme="light"] .pg-home .hero__title { text-shadow: 0 1px 0 rgba(255,255,255,.5); }
:root[data-theme="light"] .pg-home .hero__cta .btn--ghost { color: #0C5A42; border-color: rgba(15,107,79,.5); }
:root[data-theme="light"] .pg-home .hero__cta .btn--ghost:hover { background: rgba(15,107,79,.08); }
:root[data-theme="light"] .pg-home .hero__gate::after { background: radial-gradient(ellipse at 50% 50%, rgba(47,211,154,.3), transparent 68%); }

/* ── Live strip ── */
.pg-home .live { padding-block: var(--s-6) 0; position: relative; z-index: 3; }
.pg-home .live .glow-strip { justify-content: space-between; gap: var(--s-4) var(--s-6); }
.pg-home .live__item { display: grid; gap: 2px; }
.pg-home .live__item small { color: var(--fg-muted); font-size: var(--fs-xs); }
.pg-home .live__item--title { max-width: 26ch; }
.pg-home .live__title { font-family: var(--font-display); font-weight: 800; font-size: var(--fs-lg); color: var(--fg-strong); line-height: 1.35; }
/* the strip reads right-to-left; only the clock run is isolated LTR */
.pg-home .live__timer { unicode-bidi: isolate; white-space: nowrap; }
.pg-home .live__days { font-family: var(--font-body); font-weight: 700; font-size: var(--fs-md); color: var(--fg); }
.pg-home .live__clock { direction: ltr; unicode-bidi: isolate; letter-spacing: .04em; }
.pg-home .live__seats { position: relative; text-shadow: 0 0 10px rgba(47,211,154,.45); }
.pg-home .live__seats::before { content: ""; position: absolute; inset: -14px -18px; border-radius: 50%; background: radial-gradient(circle, rgba(47,211,154,.28), transparent 70%); opacity: 0; animation: hm-seats 3.2s ease-in-out infinite; pointer-events: none; z-index: -1; }
.pg-home .live__seats.is-full { color: var(--fg-faint); text-shadow: none; }
.pg-home .live__seats.is-full::before { animation: none; }
@keyframes hm-seats { 0%, 100% { opacity: 0; } 50% { opacity: 1; } }
.pg-home .live__time { font-weight: 700; color: var(--fg-strong); }
@media (max-width: 700px) { .pg-home .live .glow-strip { flex-direction: column; align-items: stretch; } .pg-home .live .btn { width: 100%; } .pg-home .live__item--title { max-width: none; } }

/* ── Sections ── */
.pg-home .sec { padding-block: var(--s-9); }
.pg-home .sec + .sec { padding-top: 0; }
.pg-home .sec-head { flex-wrap: wrap; }
.pg-home .sec-head::after { order: 1; }
.pg-home .sec-more { order: 2; margin: 0; font-weight: 700; font-size: var(--fs-sm); white-space: nowrap; }
@media (max-width: 600px) { .pg-home .sec-head::after { display: none; } .pg-home .sec-more { flex-basis: 100%; } }

/* quests */
.pg-home .quests { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-5); }
.pg-home .quest { display: grid; gap: var(--s-3); align-content: start; }
.pg-home .quest__tags { display: flex; gap: var(--s-2); flex-wrap: wrap; }
.pg-home .quest__title { margin: 0; font-size: var(--fs-xl); }
.pg-home .quest__title a { color: var(--fg-strong); }
.pg-home .quest__facts { margin: 0; display: grid; gap: 4px; font-size: var(--fs-sm); }
.pg-home .quest__facts > div { display: grid; grid-template-columns: 5.5em 1fr; gap: var(--s-2); }
.pg-home .quest__facts dt { color: var(--fg-muted); }
.pg-home .quest__facts dd { margin: 0; color: var(--fg); }
.pg-home .quest__tones { display: flex; gap: var(--s-2); flex-wrap: wrap; }
.pg-home .quest__foot { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--s-3); flex-wrap: wrap; margin-top: var(--s-2); padding-top: var(--s-3); border-top: 1px solid var(--line); }
.pg-home .quest__seats { display: grid; gap: var(--s-2); }
.pg-home .quest__seats small, .pg-home .quest__diff small { color: var(--fg-muted); font-size: var(--fs-xs); }
.pg-home .quest__diff { display: grid; gap: 4px; justify-items: end; }
@media (max-width: 1000px) { .pg-home .quests { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .pg-home .quests { grid-template-columns: 1fr; } }

/* hall — same card anatomy as the Hall of Spirits itself */
.pg-home .hall { display: grid; grid-template-columns: 1.45fr 1fr 1fr; grid-template-rows: auto auto; gap: var(--s-5); }
.pg-home .hall__feat { grid-row: 1 / 3; }
.pg-home .card { display: grid; gap: var(--s-3); align-content: start; color: var(--fg); }
.pg-home .card:hover { text-decoration: none; }
.pg-home .card__body { display: grid; gap: var(--s-2); justify-items: start; }
.pg-home .card :is(h2,h3) { margin: 0; font-size: var(--fs-lg); color: var(--fg-strong); transition: color var(--t-ui); }
.pg-home .hall__feat :is(h2,h3) { font-size: var(--fs-2xl); }
.pg-home .card:hover :is(h2,h3) { color: var(--accent-text); }
.pg-home .card__excerpt { margin: 0; color: var(--fg-muted); font-size: var(--fs-sm); }
.pg-home .card__meta { margin: 0; color: var(--fg-muted); font-size: var(--fs-xs); display: flex; align-items: center; gap: var(--s-2); flex-wrap: wrap; }
.pg-home .card__author { color: var(--fg); font-weight: 600; }
.pg-home .card__meta .sep { font-family: var(--font-rune); font-style: normal; color: var(--ornament); }
.pg-home .card__likes { display: inline-flex; align-items: center; gap: 3px; }
.pg-home .card__meta .ico { width: 14px; height: 14px; }
.pg-home .cover { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--bg-elev); clip-path: var(--clip-facet); }
.pg-home .cover > .hx-cover { width: 100%; height: 100%; transition: transform var(--t-slow) var(--ease-stone); }
.pg-home .card:hover .cover > .hx-cover { transform: scale(1.04); }
.pg-home .cover::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 0 1px rgba(47,211,154,0); transition: box-shadow var(--t-ui); }
.pg-home .card:hover .cover::after, .pg-home .card:focus-visible .cover::after { box-shadow: var(--glow-inset); }
.pg-home .cover--arch { aspect-ratio: 4 / 5; clip-path: var(--clip-arch); }
.pg-home .cover__play { position: absolute; inset: 0; display: grid; place-items: center; }
.pg-home .cover__play .ico { width: 56px; height: 56px; padding: 16px; box-sizing: border-box; clip-path: var(--clip-hex); background: rgba(10,10,11,.7); color: var(--emerald); transition: transform var(--t-ui) var(--ease-stone); }
.pg-home .card--video:hover .cover__play .ico { transform: scale(1.1); }
.pg-home .cover__dur { position: absolute; bottom: 8px; inset-inline-start: 8px; direction: ltr; }
@media (max-width: 1000px) { .pg-home .hall { grid-template-columns: 1fr 1fr; grid-template-rows: auto; } .pg-home .hall__feat { grid-row: auto; grid-column: 1 / -1; } .pg-home .cover--arch { aspect-ratio: 16 / 9; } }
@media (max-width: 600px) { .pg-home .hall { grid-template-columns: 1fr; } }

/* ── the inscription: a raised stone, the way a real runestone records deeds ── */
.pg-home .insc { position: relative; padding: var(--s-8) clamp(var(--s-5), 5vw, var(--s-9)); background: var(--stone-grad); border: 1px solid var(--line); clip-path: var(--clip-facet); overflow: hidden; }
.pg-home .insc::before, .pg-home .insc::after {
  content: "ᚠᚢᚦᚨᚱᚲᚷᚹᚺᚾᛁᛃᛈᛉᛊᛏᛒᛖᛗᛚᛜᛞᛟᚠᚢᚦᚨᚱᚲᚷᚹᚺᚾᛁᛃᛈᛉᛊᛏᛒᛖᛗᛚᛜᛞᛟ";
  position: absolute; inset-inline: 0; font-family: var(--font-rune); font-size: var(--rune-sm); letter-spacing: .55em;
  color: var(--ornament); opacity: .5; white-space: nowrap; overflow: hidden; text-align: center; direction: ltr; pointer-events: none;
}
.pg-home .insc::before { top: var(--s-3); }
.pg-home .insc::after { bottom: var(--s-3); }
.pg-home .insc__text {
  margin: 0 auto; max-width: 46ch; text-align: center; text-wrap: balance;
  font-family: var(--font-display); font-weight: 700; font-size: clamp(1.05rem, 2.1vw, 1.5rem); line-height: 2;
  color: var(--fg); text-shadow: 0 1px 0 rgba(255,255,255,.04), 0 -1px 0 rgba(0,0,0,.6);
}
.pg-home .insc__n { color: var(--emerald); font-weight: 900; font-variant-numeric: tabular-nums; text-shadow: 0 0 16px rgba(47,211,154,.4); }
:root[data-theme="light"] .pg-home .insc__n { color: var(--jade); text-shadow: none; }
.pg-home .insc__chest { display: grid; justify-items: center; gap: var(--s-2); margin-top: var(--s-6); }
.pg-home .insc__chest small { color: var(--fg-faint); font-size: var(--fs-xs); }

/* ── three ways in: three doorways, not three cards ── */
:root[data-theme="light"] .pg-home .way__arch::after { background: linear-gradient(180deg, #F2F4F0, #E2E6E0 70%); }

/* ── phones: the whole hero must fit the first frame ── */
@media (max-width: 600px) {
  .pg-home { --mark-w: min(70vw, 30vh); }
  .pg-home .hero__sticky { gap: var(--s-2); padding-bottom: 8vh; }
  .pg-home .hero__title { font-size: clamp(2.2rem, 9vw, 2.9rem); margin-bottom: var(--s-2); }
  .pg-home .hero__sub { font-size: var(--fs-sm); margin-bottom: var(--s-4); max-width: 30em; }
  .pg-home .hero__cta { gap: var(--s-2); }
  .pg-home .hero__cta .btn--lg { min-height: 46px; padding: 0 var(--s-4); font-size: var(--fs-sm); --facet: 10px; }
  .pg-home .hero__hint { bottom: 1.6vh; font-size: var(--fs-2xs); }
  .pg-home .insc { padding: var(--s-7) var(--s-4); }
  .pg-home .insc__text { font-size: var(--fs-md); line-height: 1.95; }
}

/* ── Reduced motion / motion switch off ── */
@media (prefers-reduced-motion: reduce) {
  .pg-home .hero__hint .rune, .pg-home .live__seats::before,
  .pg-home .hero__mark .crack, .pg-home .hero__mark .mark-frame, .pg-home .hero__mark .mark-frame2, .pg-home .hero__mark .mark-frame-halo, .pg-home .hero__mark .keeper-eye,
  .pg-home .hero__title, .pg-home .hero__sub, .pg-home .hero__cta, .pg-home .hero__hint, .pg-home .hero__gate svg, .pg-home .hero__gate::after { animation: none !important; opacity: 1; clip-path: none; stroke-dashoffset: 0; }
  .pg-home .hero__mark .mark-frame-halo { opacity: .35; }
  .pg-home .hero__mark .keeper-head, .pg-home .hero__mark .keeper-body { transition: none; }
  .pg-home .cover > .hx-cover, .pg-home .way__arch, .pg-home .way__ico { transition: none; }
}
:root[data-motion="off"] .pg-home .hero__hint .rune, :root[data-motion="off"] .pg-home .live__seats::before,
:root[data-motion="off"] .pg-home .hero__mark .crack, :root[data-motion="off"] .pg-home .hero__mark .mark-frame, :root[data-motion="off"] .pg-home .hero__mark .mark-frame2,
:root[data-motion="off"] .pg-home .hero__mark .mark-frame-halo, :root[data-motion="off"] .pg-home .hero__mark .keeper-eye,
:root[data-motion="off"] .pg-home .hero__title, :root[data-motion="off"] .pg-home .hero__sub, :root[data-motion="off"] .pg-home .hero__cta,
:root[data-motion="off"] .pg-home .hero__hint, :root[data-motion="off"] .pg-home .hero__gate svg, :root[data-motion="off"] .pg-home .hero__gate::after { animation: none !important; opacity: 1; clip-path: none; stroke-dashoffset: 0; }
:root[data-motion="off"] .pg-home .hero__mark .mark-frame-halo { opacity: .35; }

/* ── what is this place: the realms map ── */
.pg-home .realms { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-4); counter-reset: realm; }
.pg-home .realm-card { display: grid; align-content: start; gap: var(--s-2); padding: var(--s-5); border: 1px solid var(--line); background: var(--bg-elev); clip-path: var(--clip-facet); --facet: 12px; transition: border-color var(--t-ui); }
.pg-home .realm-card:hover, .pg-home .realm-card:focus-within { border-color: var(--line-glow); }
.pg-home .realm-card__link { display: flex; align-items: center; gap: var(--s-3); color: var(--fg); text-decoration: none; font-family: var(--font-display); font-weight: 900; font-size: var(--fs-lg); min-height: 44px; }
.pg-home .realm-card__link:hover { color: var(--accent-text); text-decoration: none; }
.pg-home .realm-card__ico { display: grid; place-items: center; width: 44px; height: 44px; flex: none; color: var(--accent-text); border: 1px solid var(--line-glow); box-shadow: var(--glow-inset-soft); clip-path: var(--clip-facet); --facet: 8px; }
.pg-home .realm-card__ico svg { width: 22px; height: 22px; }
.pg-home .realm-card__plain { margin: 0; color: var(--fg); line-height: 1.9; }
@media (max-width: 960px) { .pg-home .realms { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .pg-home .realms { grid-template-columns: minmax(0, 1fr); } }
