@import url('https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap');
:root {
  --md-text-font: "Schibsted Grotesk";
  --md-code-font: "JetBrains Mono";
  --ink: #1c2230;
  --muted: #606879;
  --accent: #3355d6;
  --wash: #f6f7f9;
  --line: #e2e5ec;
  --md-primary-fg-color: #ffffff;
  --md-primary-bg-color: #1c2230;
  --md-accent-fg-color: #3355d6;
  --md-typeset-a-color: #2f4fc9;
  --md-default-bg-color: #ffffff;
  --md-default-fg-color: #1c2230;
  --md-default-fg-color--light: #606879;
  --md-code-bg-color: #f6f7f9;
  --md-footer-bg-color: #f6f7f9;
  --md-footer-bg-color--dark: #f6f7f9;
  --md-footer-fg-color: #1c2230;
  --md-footer-fg-color--light: #606879;
}
.md-header {box-shadow: none; border-bottom: 1px solid var(--line)}
.md-header__title {font-weight: 600}
.md-tabs {border-bottom: 1px solid var(--line)}
.md-tabs__link {font-size: .75rem; opacity: 1; color: var(--muted)}
.md-tabs__item--active .md-tabs__link {color: var(--accent); font-weight: 600}
.md-search__form {background: var(--wash)}
.md-search__input {color: var(--ink)}
.md-search__input::placeholder,.md-search__icon {color: var(--muted)}
.md-typeset {font-size: .85rem; line-height: 1.7}
.md-typeset h1,.md-typeset h2,.md-typeset h3 {color: var(--ink); font-weight: 600; letter-spacing: -.025em; text-wrap: balance}
.md-typeset h1 {font-size: 2.25em; line-height: 1.2}
.md-typeset h2 {margin-top: 2.2em; font-size: 1.5em}
.md-typeset p {max-width: 72ch}
.md-typeset .lede {font-size: 1.12em; color: #434a5a}
.hefs-hero {border-bottom: 1px solid var(--line)}
.hefs-hero-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; padding: 3.4rem .8rem 2.8rem}
.eyebrow {font-size: .61rem; letter-spacing: .12em; color: var(--muted); font-weight: 600; margin: 0 0 1rem}
.hefs-hero h1 {font-size: .85rem; color: var(--accent); margin: 0; font-weight: 700; letter-spacing: .03em}
.hefs-hero h1 span {display: block; font-size: 2.55rem; color: var(--ink); letter-spacing: -.045em; line-height: 1.12; margin: .6rem 0 1.1rem}
.paper-title {font-size: .9rem; line-height: 1.5; font-weight: 500; margin-bottom: 1rem}
.authors {font-size: .73rem; line-height: 1.7; margin: 0}
.affiliation {font-size: .68rem; color: var(--muted); margin: .2rem 0}
.hero-summary {font-size: .83rem; line-height: 1.65; max-width: 47ch; color: #434a5a; margin: 1.1rem 0}
.actions {display: flex; flex-wrap: wrap; gap: .5rem}
.button {display: inline-block; border: 1px solid #c9ccd3; border-radius: 5px; padding: .55rem .8rem; font-size: .7rem; color: var(--ink); font-weight: 500}
.button.primary {background: var(--accent); border-color: var(--accent); color: white}
.button:hover {border-color: var(--ink)}
a:focus-visible {outline: 3px solid var(--accent); outline-offset: 4px}
.hero-figure {margin: 0; min-width: 0}
.hero-figure img {display: block; width: 100%; height: auto}
.hero-figure figcaption {font-size: .64rem; color: var(--muted); text-align: center; margin-top: .5rem}
.md-typeset figure {display: block; max-width: 100%; margin: 1.6rem 0}
.md-typeset figure img {display: block; width: 100%; height: auto}
.md-typeset figure img[src$="results.svg"] {max-width: 32rem}
.md-typeset figure img[src$="training.svg"],.md-typeset figure img[src$="inference.svg"] {max-width: 29rem}
.md-typeset figcaption {font-size: .7rem; text-align: left; color: var(--muted); font-style: normal; max-width: 72ch; margin: .6rem 0}
.steps {display: grid; grid-template-columns: repeat(3,1fr); gap: 1.3rem; margin: 1.6rem 0}
.step {border-top: 2px solid var(--accent); padding-top: .7rem}
.step .number {font-size: .65rem; color: var(--accent); font-weight: 600}
.step h3 {margin: .25rem 0 .4rem; font-size: .9rem}
.step p {font-size: .77rem; color: #434a5a; margin: 0}
.reading-links {display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; padding: 1rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line)}
.equation {font-family: var(--md-code-font), monospace; font-size: .9em; padding: 1rem; background: var(--wash); border-left: 3px solid var(--accent); overflow-x: auto}
.md-typeset table:not([class]) {font-size: .72rem; font-variant-numeric: tabular-nums}
.md-typeset table:not([class]) th {white-space: nowrap}
.md-typeset table:not([class]) tr:has(strong) {background: #eef1fc}
.md-footer {border-top: 1px solid var(--line)}
@media (max-width: 76.24em) {.hefs-hero-grid {padding-left: 1.3rem; padding-right: 1.3rem}}
@media (max-width: 60em) {.hefs-hero-grid {grid-template-columns: 1fr; max-width: 38rem; gap: 1.5rem}.hero-figure {max-width: 29rem; width: 100%; margin: auto}}
@media (max-width: 37.5em) {.hefs-hero-grid {padding: 2rem .9rem 1.6rem}.hefs-hero h1 span {font-size: 2rem}.steps {grid-template-columns: 1fr; gap: 1rem}.desktop-break {display: none}.md-typeset {font-size: .8rem}}
@media print {.hefs-hero-grid {padding: 1rem; grid-template-columns: 1fr 1fr}.actions {display: none}}

