:root {
  --ep3-bg: #f7f8fc;
  --ep3-surface: #ffffff;
  --ep3-surface-2: #f1f3f9;
  --ep3-ink: #111827;
  --ep3-muted: #667085;
  --ep3-faint: #98a2b3;
  --ep3-border: rgba(17, 24, 39, 0.10);
  --ep3-indigo: #4f5bd5;
  --ep3-indigo-2: #6b63e7;
  --ep3-cyan: #00a6a6;
  --ep3-blue: #3776ab;
  --ep3-green: #159a74;
  --ep3-amber: #f59e0b;
  --ep3-shadow-sm: 0 10px 30px rgba(29, 38, 70, 0.07);
  --ep3-shadow-lg: 0 28px 70px rgba(34, 41, 70, 0.13);
}

code { font-variant-ligatures: none; }
.md-grid { max-width: 82rem; }
.md-main__inner { margin-top: 1rem; }
.md-typeset h1,
.md-typeset h2,
.md-typeset h3 { letter-spacing: -0.025em; }
.md-typeset h1 { font-weight: 760; }
.md-typeset h2 { font-weight: 720; }
.md-typeset .admonition,
.md-typeset details { border-radius: .75rem; box-shadow: none; }
.md-typeset .highlight { border-radius: .85rem; }

.ep-home { color: var(--ep3-ink); }
.ep-home > :first-child { margin-top: 0; }

@media screen and (min-width: 76.25em) {
  @supports selector(body:has(.ep-home)) {
    body:has(.ep-home) .md-sidebar--primary,
    body:has(.ep-home) .md-sidebar--secondary { display: none; }
    body:has(.ep-home) .md-main__inner { max-width: 78rem; margin-inline: auto; }
    body:has(.ep-home) .md-content { max-width: none; margin-inline: 0; }
    body:has(.ep-home) .md-content__inner { margin-inline: 1.2rem; }
  }
}

@supports selector(body:has(.ep-home)) {
  body:has(.ep-home) .md-top { display: none !important; }
}

/* Hero */
.ep-hero-v3 {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .72fr);
  gap: clamp(1.6rem, 3vw, 3rem);
  align-items: center;
  min-height: 25rem;
  margin: .1rem 0 1rem;
  padding: clamp(1.8rem, 3.2vw, 3rem);
  overflow: hidden;
  border: 1px solid rgba(79, 91, 213, .13);
  border-radius: 1.55rem;
  background:
    radial-gradient(circle at 5% 8%, rgba(79, 91, 213, .16), transparent 34%),
    radial-gradient(circle at 96% 12%, rgba(0, 166, 166, .15), transparent 32%),
    radial-gradient(circle at 70% 100%, rgba(55, 118, 171, .10), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #f7f7ff 55%, #f2fbfb 100%);
  box-shadow: var(--ep3-shadow-lg);
}

.ep-hero-v3::before,
.ep-hero-v3::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}

.ep-hero-v3::before {
  width: 17rem;
  height: 17rem;
  right: -7rem;
  bottom: -8rem;
  border: 1px solid rgba(79, 91, 213, .14);
  border-radius: 999px;
  box-shadow: 0 0 0 3rem rgba(79, 91, 213, .025), 0 0 0 6rem rgba(0, 166, 166, .018);
}

.ep-hero-v3::after {
  width: .42rem;
  height: .42rem;
  left: 49%;
  top: 18%;
  border-radius: 50%;
  background: var(--ep3-indigo);
  box-shadow: 2.3rem 6.4rem 0 rgba(0,166,166,.55), -1.8rem 13rem 0 rgba(245,158,11,.55), 5.5rem 18rem 0 rgba(55,118,171,.45);
}

.ep-kicker-row { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; }
.ep-kicker,
.ep-live-dot {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: .28rem .66rem;
  border-radius: 999px;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.ep-kicker { color: #3946ba; border: 1px solid rgba(79,91,213,.20); background: rgba(79,91,213,.075); }
.ep-live-dot { gap: .42rem; color: #087358; border: 1px solid rgba(21,154,116,.18); background: rgba(21,154,116,.07); }
.ep-live-dot::before { content: ""; width: .42rem; height: .42rem; border-radius: 50%; background: #19a77e; box-shadow: 0 0 0 .18rem rgba(25,167,126,.12); }

.ep-hero-v3 h1 {
  max-width: 700px;
  margin: .82rem 0 .72rem;
  color: var(--ep3-ink);
  font-size: clamp(2.35rem, 4.35vw, 3.65rem);
  font-weight: 820;
  letter-spacing: -.05em;
  line-height: .98;
}
.ep-hero-v3 h1 span {
  color: transparent;
  background: linear-gradient(100deg, var(--ep3-indigo) 5%, var(--ep3-blue) 52%, var(--ep3-cyan) 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.ep-hero-v3__lead { max-width: 650px; margin: 0; color: var(--ep3-muted); font-size: clamp(.82rem, 1.25vw, .96rem); line-height: 1.58; }
.ep-hero-v3__actions { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; margin-top: 1.15rem; }
.ep-home .md-button { margin: 0; padding: .62rem 1rem; border-radius: .75rem; font-size: .72rem; font-weight: 760; }
.ep-home .md-button--primary { border-color: transparent; background: linear-gradient(135deg, var(--ep3-indigo), #3946ba); box-shadow: 0 9px 20px rgba(79,91,213,.20); }
.ep-home .md-button--primary:hover { border-color: transparent; background: linear-gradient(135deg, #4250c4, #303aa4); box-shadow: 0 12px 26px rgba(79,91,213,.27); }
.ep-text-link { display: inline-flex; gap: .35rem; align-items: center; padding: .55rem .25rem; color: var(--ep3-ink) !important; font-size: .7rem; font-weight: 720; }
.ep-text-link span { transition: transform .16s ease; }
.ep-text-link:hover span { transform: translateX(.18rem); }
.ep-trust-row { display: flex; flex-wrap: wrap; gap: .42rem .8rem; margin-top: 1rem; color: var(--ep3-muted); font-size: .57rem; }
.ep-trust-row span { position: relative; padding-left: .72rem; }
.ep-trust-row span::before { content: ""; position: absolute; top: .48em; left: 0; width: .3rem; height: .3rem; border-radius: 50%; background: linear-gradient(135deg, var(--ep3-indigo), var(--ep3-cyan)); }
.ep-trust-row b { color: var(--ep3-ink); }

/* Hero process window */
.ep-hero-v3__visual { width: 100%; max-width: 355px; justify-self: end; }
.ep-visual-window { position: relative; padding: .9rem; overflow: hidden; border: 1px solid rgba(79,91,213,.15); border-radius: 1.05rem; background: rgba(255,255,255,.82); box-shadow: 0 18px 42px rgba(46,51,83,.13); backdrop-filter: blur(16px); }
.ep-visual-window__bar { display: flex; gap: .28rem; align-items: center; padding-bottom: .68rem; border-bottom: 1px solid var(--ep3-border); }
.ep-visual-window__bar > span { width: .42rem; height: .42rem; border-radius: 50%; background: #e4e7ec; }
.ep-visual-window__bar > span:nth-child(1) { background: #ff7b72; }
.ep-visual-window__bar > span:nth-child(2) { background: #f3c969; }
.ep-visual-window__bar > span:nth-child(3) { background: #56c28c; }
.ep-visual-window__bar small { margin-left: auto; color: var(--ep3-faint); font-size: .52rem; font-weight: 700; letter-spacing: .03em; }
.ep-visual-plot { margin: .75rem 0 .65rem; overflow: hidden; border: 1px solid var(--ep3-border); border-radius: .75rem; background: #fff; }
.ep-visual-plot img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.ep-visual-results { display: grid; grid-template-columns: repeat(3,1fr); gap: .38rem; margin-top: .65rem; }
.ep-visual-results div { padding: .52rem .58rem; border: 1px solid var(--ep3-border); border-radius: .7rem; background: rgba(247,248,252,.82); }
.ep-visual-results small,
.ep-visual-results strong { display: block; }
.ep-visual-results small { color: var(--ep3-faint); font-size: .46rem; letter-spacing: .04em; text-transform: uppercase; }
.ep-visual-results strong { margin-top: .08rem; color: var(--ep3-ink); font-size: .72rem; }
.ep-visual-caption { margin-top: .58rem; color: var(--ep3-faint); font-size: .52rem; text-align: center; letter-spacing: .035em; }

/* Install strip */
.ep-install-strip { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin: .9rem 0 3.2rem; padding: .85rem 1rem .85rem 1.15rem; border: 1px solid var(--ep3-border); border-radius: 1rem; background: var(--ep3-surface); box-shadow: var(--ep3-shadow-sm); }
.ep-install-strip > div:first-child { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; }
.ep-install-label { color: var(--ep3-muted); font-size: .57rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.ep-install-strip code { padding: .35rem .6rem; border-radius: .5rem; color: #3946ba; background: rgba(79,91,213,.065); font-size: .68rem; font-weight: 700; }
.ep-install-links { display: flex; gap: .4rem; }
.ep-install-links a { padding: .32rem .5rem; border-radius: .5rem; color: var(--ep3-muted) !important; font-size: .59rem; font-weight: 700; }
.ep-install-links a:hover { color: var(--ep3-indigo) !important; background: rgba(79,91,213,.055); }

/* Section introductions */
.ep-section-intro { display: grid; grid-template-columns: 3rem minmax(0,1fr); gap: 1rem; align-items: start; margin: 3.2rem 0 1.35rem; }
.ep-section-number { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; margin-top: .2rem; border: 1px solid rgba(79,91,213,.18); border-radius: .7rem; color: var(--ep3-indigo); background: rgba(79,91,213,.055); font-size: .58rem; font-weight: 850; letter-spacing: .06em; }
.ep-overline { margin: 0 0 .25rem !important; color: var(--ep3-indigo) !important; font-size: .61rem !important; font-weight: 820; letter-spacing: .065em; text-transform: uppercase; }
.ep-section-intro h2 { max-width: 760px; margin: 0; color: var(--ep3-ink); font-size: clamp(1.55rem,3vw,2.35rem); line-height: 1.08; letter-spacing: -.035em; }
.ep-section-intro p:last-child { max-width: 760px; margin: .55rem 0 0; color: var(--ep3-muted); font-size: .76rem; line-height: 1.6; }

/* Research-question cards */
.ep-question-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .9rem; margin: 1rem 0 1.25rem; }
.ep-question-card { position: relative; display: block; min-height: 13.5rem; padding: 1.15rem 1.15rem 1.05rem; overflow: hidden; border: 1px solid var(--ep3-border); border-radius: 1rem; background: linear-gradient(180deg,#fff 0%,#fbfbfe 100%); color: var(--ep3-ink) !important; text-decoration: none !important; box-shadow: 0 8px 24px rgba(45,53,79,.055); transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.ep-question-card:hover { transform: translateY(-3px); border-color: rgba(79,91,213,.30); box-shadow: 0 15px 34px rgba(45,53,79,.10); }
.ep-question-card__index { position: absolute; top: .8rem; right: .9rem; color: var(--ep3-faint); font-size: .52rem; font-weight: 850; letter-spacing: .05em; }
.ep-question-card__icon { display: grid; place-items: center; width: 2.1rem; height: 2.1rem; margin-bottom: 1.1rem; border-radius: .7rem; color: #fff; background: linear-gradient(135deg,var(--ep3-indigo),var(--ep3-cyan)); font-size: .9rem; font-weight: 800; box-shadow: 0 8px 18px rgba(79,91,213,.14); }
.ep-question-card h3 { margin: 0 0 .45rem; color: var(--ep3-ink); font-size: .95rem; }
.ep-question-card p { margin: 0; color: var(--ep3-muted); font-size: .69rem; line-height: 1.56; }
.ep-question-card__link { position: absolute; left: 1.15rem; bottom: 1rem; color: var(--ep3-indigo); font-size: .64rem; font-weight: 760; }
.ep-method-cta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.1rem 0 2.2rem; padding: .95rem 1.1rem; border: 1px solid rgba(0,166,166,.16); border-radius: .9rem; background: linear-gradient(135deg,rgba(0,166,166,.055),rgba(79,91,213,.04)); }
.ep-method-cta div { display: grid; gap: .12rem; }
.ep-method-cta span { color: var(--ep3-cyan); font-size: .58rem; font-weight: 800; text-transform: uppercase; letter-spacing: .055em; }
.ep-method-cta strong { color: var(--ep3-ink); font-size: .75rem; }

/* Pipeline */
.ep-flow-v3 { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr; gap: .35rem; align-items: center; margin: 1rem 0 1.6rem; }
.ep-flow-v3 > div { min-height: 6.4rem; padding: .8rem .55rem; border: 1px solid var(--ep3-border); border-radius: .9rem; background: #fff; text-align: center; box-shadow: 0 7px 20px rgba(45,53,79,.045); }
.ep-flow-v3 b { display: grid; place-items: center; width: 1.55rem; height: 1.55rem; margin: 0 auto .38rem; border-radius: 50%; color: #fff; background: linear-gradient(135deg,var(--ep3-indigo),var(--ep3-cyan)); font-size: .57rem; }
.ep-flow-v3 strong { display: block; color: var(--ep3-ink); font-size: .69rem; }
.ep-flow-v3 span { display: block; margin-top: .22rem; color: var(--ep3-muted); font-size: .51rem; line-height: 1.35; }
.ep-flow-v3 > i { color: var(--ep3-faint); font-style: normal; font-size: .72rem; }

.ep-code-stage { display: grid; grid-template-columns: minmax(0,.85fr) minmax(320px,1.15fr); gap: 1rem; align-items: stretch; margin: 1rem 0 2rem; padding: 1rem; border: 1px solid var(--ep3-border); border-radius: 1.05rem; background: linear-gradient(135deg,#f8f9fd,#f4fbfb); }
.ep-code-stage__copy { padding: .7rem .7rem .7rem .5rem; }
.ep-code-stage__copy h3 { margin: 0 0 .5rem; color: var(--ep3-ink); font-size: 1rem; }
.ep-code-stage__copy p { color: var(--ep3-muted); font-size: .69rem; line-height: 1.55; }
.ep-inline-arrow { color: var(--ep3-indigo) !important; font-size: .66rem; font-weight: 760; }
.ep-code-stage__code { overflow: hidden; border: 1px solid rgba(79,91,213,.14); border-radius: .85rem; background: #101629; box-shadow: 0 12px 28px rgba(17,24,39,.13); }
.ep-code-stage__code pre { margin: 0; padding: 1rem; background: transparent !important; color: #e8edf7; font-size: .67rem; line-height: 1.55; }

/* Plot showcase */
.ep-plot-showcase { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem; margin: 1rem 0 1.2rem; }
.ep-plot-tile { display: grid; grid-template-columns: minmax(0,1fr); overflow: hidden; border: 1px solid var(--ep3-border); border-radius: 1rem; background: #fff; color: var(--ep3-ink) !important; text-decoration: none !important; box-shadow: var(--ep3-shadow-sm); transition: transform .16s ease, box-shadow .16s ease; }
.ep-plot-tile:hover { transform: translateY(-2px); box-shadow: 0 15px 36px rgba(34,41,70,.11); }
.ep-plot-tile--wide { grid-column: span 2; }
.ep-plot-tile img { display: block; width: 100%; max-height: 24rem; object-fit: contain; background: #fff; }
.ep-plot-tile span { display: grid; gap: .12rem; padding: .72rem .85rem .78rem; border-top: 1px solid var(--ep3-border); }
.ep-plot-tile b { font-size: .72rem; }
.ep-plot-tile small { color: var(--ep3-muted); font-size: .58rem; }
.ep-center-action { margin: 1rem 0 2.2rem; text-align: center; }

/* Evidence */
.ep-evidence-shell { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); gap: 1rem; margin: 1rem 0 1.25rem; padding: 1.15rem; border: 1px solid rgba(79,91,213,.15); border-radius: 1.05rem; background: linear-gradient(135deg,#f8f8ff 0%,#f4fbfb 100%); box-shadow: var(--ep3-shadow-sm); }
.ep-evidence-main { padding: .5rem .4rem; }
.ep-evidence-label { color: var(--ep3-indigo); font-size: .58rem; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }
.ep-evidence-main h3 { margin: .35rem 0 .55rem; color: var(--ep3-ink); font-size: 1.18rem; }
.ep-evidence-main p { color: var(--ep3-muted); font-size: .72rem; line-height: 1.58; }
.ep-evidence-links { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: .75rem; }
.ep-evidence-links a { color: var(--ep3-indigo) !important; font-size: .62rem; font-weight: 760; }
.ep-evidence-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; }
.ep-evidence-metrics > div { padding: .85rem; border: 1px solid var(--ep3-border); border-radius: .8rem; background: rgba(255,255,255,.86); }
.ep-evidence-metrics strong,
.ep-evidence-metrics span { display: block; }
.ep-evidence-metrics strong { color: var(--ep3-ink); font-size: .84rem; }
.ep-evidence-metrics span { margin-top: .15rem; color: var(--ep3-muted); font-size: .55rem; line-height: 1.35; }

.ep-ribbon-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem; margin: 1rem 0 2rem; }
.ep-ribbon-grid > div { padding: 1rem; border: 1px solid var(--ep3-border); border-radius: .95rem; background: #fff; }
.ep-ribbon-icon { display: inline-flex; padding: .28rem .5rem; border-radius: .55rem; color: var(--ep3-indigo); background: rgba(79,91,213,.07); font-size: .58rem; font-weight: 850; }
.ep-ribbon-grid h3 { margin: .55rem 0 .35rem; color: var(--ep3-ink); font-size: .9rem; }
.ep-ribbon-grid p { color: var(--ep3-muted); font-size: .66rem; line-height: 1.55; }
.ep-ribbon-grid a { color: var(--ep3-indigo) !important; font-size: .62rem; font-weight: 760; }

/* Guardrail + final CTA */
.ep-guardrail-v3 { display: grid; grid-template-columns: 3.2rem minmax(0,1fr); gap: 1rem; align-items: start; margin: 2.6rem 0 2rem; padding: 1.1rem; border: 1px solid rgba(245,158,11,.22); border-radius: 1rem; background: linear-gradient(135deg,rgba(245,158,11,.055),rgba(79,91,213,.025)); }
.ep-guardrail-v3__mark { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: .75rem; color: #8a5a00; background: rgba(245,158,11,.13); font-size: 1.05rem; font-weight: 900; }
.ep-guardrail-v3 span { color: #9a6700; font-size: .57rem; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }
.ep-guardrail-v3 h2 { margin: .22rem 0 .4rem; color: var(--ep3-ink); font-size: 1.2rem; }
.ep-guardrail-v3 p { margin: 0; color: var(--ep3-muted); font-size: .68rem; line-height: 1.56; }

.ep-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin: 3rem 0 1rem; padding: 1.45rem 1.5rem; border-radius: 1.1rem; color: #fff; background: linear-gradient(135deg,#303a9f,var(--ep3-indigo) 55%,#087e85); box-shadow: 0 20px 48px rgba(48,58,159,.20); }
.ep-final-cta .ep-overline { color: rgba(255,255,255,.74) !important; }
.ep-final-cta h2 { margin: .12rem 0 .35rem; color: #fff; font-size: 1.35rem; }
.ep-final-cta p { max-width: 700px; margin: 0; color: rgba(255,255,255,.78); font-size: .66rem; line-height: 1.55; }
.ep-final-cta__actions { display: flex; flex-wrap: wrap; gap: .55rem; flex-shrink: 0; }
.ep-final-cta .md-button { border-color: rgba(255,255,255,.28); color: #fff; }
.ep-final-cta .md-button--primary { color: #303a9f; background: #fff; box-shadow: none; }

[data-md-color-scheme="slate"] {
  --ep3-surface: #171b24;
  --ep3-surface-2: #151923;
  --ep3-ink: #f2f4f7;
  --ep3-muted: #b7beca;
  --ep3-faint: #8d96a6;
  --ep3-border: rgba(148,163,184,.18);
}
[data-md-color-scheme="slate"] .ep-hero-v3 { background: radial-gradient(circle at 5% 8%,rgba(99,102,241,.23),transparent 34%), radial-gradient(circle at 96% 12%,rgba(0,188,174,.16),transparent 32%), linear-gradient(145deg,#171b24 0%,#1b1c2c 55%,#152526 100%); }
[data-md-color-scheme="slate"] .ep-visual-window,
[data-md-color-scheme="slate"] .ep-install-strip,
[data-md-color-scheme="slate"] .ep-question-card,
[data-md-color-scheme="slate"] .ep-flow-v3 > div,
[data-md-color-scheme="slate"] .ep-plot-tile,
[data-md-color-scheme="slate"] .ep-ribbon-grid > div,
[data-md-color-scheme="slate"] .ep-evidence-metrics > div { background: #171b24; }
[data-md-color-scheme="slate"] .ep-method-cta,
[data-md-color-scheme="slate"] .ep-code-stage,
[data-md-color-scheme="slate"] .ep-evidence-shell,
[data-md-color-scheme="slate"] .ep-guardrail-v3 { background: #161b25; }
[data-md-color-scheme="slate"] .ep-visual-results div { background: #131722; }
[data-md-color-scheme="slate"] .ep-install-strip code { color: #bec5ff; background: rgba(99,102,241,.12); }

@media screen and (max-width: 1100px) {
  .ep-hero-v3 { grid-template-columns: minmax(0,1fr) minmax(280px,.68fr); gap: 1.6rem; min-height: 23rem; padding: 1.8rem; }
  .ep-hero-v3 h1 { font-size: clamp(2.2rem,5.3vw,3.25rem); }
  .ep-hero-v3__visual { max-width: 320px; }
  .ep-question-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ep-flow-v3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ep-flow-v3 > i { display: none; }
}

@media screen and (max-width: 820px) {
  .ep-hero-v3 { grid-template-columns: 1fr; padding: 1.55rem; }
  .ep-hero-v3__visual { justify-self: start; max-width: 520px; }
  .ep-install-strip,
  .ep-method-cta,
  .ep-final-cta { align-items: flex-start; flex-direction: column; }
  .ep-code-stage,
  .ep-evidence-shell { grid-template-columns: 1fr; }
}

@media screen and (max-width: 640px) {
  .ep-hero-v3 { padding: 1.2rem; }
  .ep-hero-v3 h1 { font-size: clamp(2rem,11vw,2.8rem); }
  .ep-hero-v3__lead { font-size: .78rem; }
  .ep-question-grid,
  .ep-plot-showcase,
  .ep-ribbon-grid,
  .ep-evidence-metrics { grid-template-columns: 1fr; }
  .ep-plot-tile--wide { grid-column: auto; }
  .ep-flow-v3 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ep-section-intro { grid-template-columns: 2.5rem minmax(0,1fr); }
  .ep-install-links { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  .ep-question-card,
  .ep-plot-tile,
  .ep-text-link span { transition: none; }
  .ep-question-card:hover,
  .ep-plot-tile:hover { transform: none; }
}
