/* Runbook Lab brand layer on Material for MkDocs.
   Palette: ink #0B1220, signal #34D399 (on dark), signal-deep #047857 (on light, 5.5:1 on white). */

@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/inter-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/inter-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/inter-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/jetbrains-mono-latin-400-normal.woff2") format("woff2"); }

:root {
  --rl-ink: #0B1220;
  --rl-ink-2: #131C30;
  --rl-ink-3: #1C2740;
  --rl-signal: #34D399;
  --rl-signal-deep: #047857;
  --rl-cloud: #F7F9FB;
  --rl-amber: #FBBF24;
  --md-text-font: "Inter";
  --md-code-font: "JetBrains Mono";
}

[data-md-color-scheme="default"] {
  --md-primary-fg-color: #0B1220;
  --md-primary-fg-color--light: #1C2740;
  --md-primary-fg-color--dark: #060B14;
  --md-primary-bg-color: #F7F9FB;
  --md-primary-bg-color--light: rgba(247, 249, 251, .72);
  --md-accent-fg-color: #047857;
  --md-accent-fg-color--transparent: rgba(4, 120, 87, .1);
  --md-accent-bg-color: #FFFFFF;
  --md-typeset-a-color: #047857;
  --md-default-fg-color: #0B1220;
  --md-default-fg-color--light: #4B5768;
  --md-default-fg-color--lighter: #8A94A3;
  --md-default-fg-color--lightest: #E3E8EE;
  --md-code-bg-color: #F2F5F8;
  --md-code-fg-color: #1C2740;
  --md-footer-bg-color: #0B1220;
  --md-footer-bg-color--dark: #060B14;
  --rl-surface: #F2F5F8;
  --rl-line: #DDE3EA;
  --rl-muted: #4B5768;
  --rl-link: #047857;
  --rl-warn: #B45309;
}

[data-md-color-scheme="slate"] {
  --md-hue: 222;
  --md-primary-fg-color: #0B1220;
  --md-primary-fg-color--light: #1C2740;
  --md-primary-fg-color--dark: #060B14;
  --md-primary-bg-color: #F7F9FB;
  --md-primary-bg-color--light: rgba(247, 249, 251, .72);
  --md-accent-fg-color: #34D399;
  --md-accent-fg-color--transparent: rgba(52, 211, 153, .12);
  --md-accent-bg-color: #0B1220;
  --md-default-bg-color: #0B1220;
  --md-default-bg-color--light: rgba(11, 18, 32, .54);
  --md-default-fg-color: rgba(231, 236, 243, .94);
  --md-default-fg-color--light: rgba(231, 236, 243, .68);
  --md-default-fg-color--lighter: rgba(231, 236, 243, .36);
  --md-default-fg-color--lightest: rgba(231, 236, 243, .1);
  --md-typeset-color: rgba(231, 236, 243, .9);
  --md-typeset-a-color: #34D399;
  --md-code-bg-color: #131C30;
  --md-code-fg-color: #E7ECF3;
  --md-footer-bg-color: #060B14;
  --md-footer-bg-color--dark: #03070D;
  --rl-surface: #131C30;
  --rl-line: #22304B;
  --rl-muted: rgba(231, 236, 243, .66);
  --rl-link: #34D399;
  --rl-warn: #FBBF24;
}

/* ---------- Chrome: header, tabs, footer ---------- */
.md-header { box-shadow: none; border-bottom: 1px solid rgba(247, 249, 251, .08); }
.md-header__button.md-logo img, .md-header__button.md-logo svg { height: 1.5rem; }
.md-header__topic:first-child { font-weight: 600; letter-spacing: -.01em; }
.md-tabs { border-bottom: 1px solid rgba(247, 249, 251, .08); }
.md-tabs__link { font-weight: 400; opacity: .78; font-size: .72rem; }
.md-tabs__item--active .md-tabs__link, .md-tabs__link:hover { opacity: 1; color: var(--rl-signal); }
.md-search__form { border-radius: .3rem; }
.md-footer-meta { font-size: .64rem; }
.md-copyright { max-width: 46rem; line-height: 1.55; }

/* ---------- Type ---------- */
.md-typeset { font-size: .82rem; line-height: 1.65; }
.md-typeset h1 { font-weight: 700; letter-spacing: -.022em; color: var(--md-default-fg-color); margin-bottom: .6em; line-height: 1.15; }
.md-typeset h2 { font-weight: 650; font-weight: 600; letter-spacing: -.014em; margin-top: 1.9em; }
.md-typeset h3 { font-weight: 600; letter-spacing: -.008em; }
.md-typeset h4 { font-weight: 600; }
.md-typeset code, .md-typeset kbd, .md-typeset pre { font-feature-settings: "calt" 0; }
.md-typeset a { text-underline-offset: .18em; }
.md-typeset a:not(.md-button):hover { text-decoration: underline; }
.md-typeset table:not([class]) { font-size: .74rem; border-radius: .2rem; border: 1px solid var(--rl-line); box-shadow: none; }
.md-typeset table:not([class]) th { background: var(--rl-surface); font-weight: 600; }
.md-typeset table:not([class]) td { border-top: 1px solid var(--rl-line); }
.md-typeset .rl-lead { font-size: 1.08em; color: var(--rl-muted); max-width: 40em; margin-top: -.2em; }
.md-content__inner { max-width: 46rem; }
.rl-home .md-content__inner, .md-content__inner:has(.rl-wide) { max-width: none; }

/* Buttons */
.md-typeset .md-button { border-radius: .25rem; font-weight: 600; padding: .55em 1.2em; border-width: .07rem; margin: .2em .4em .2em 0; }
.md-typeset .md-button--primary { background: var(--rl-signal-deep); border-color: var(--rl-signal-deep); color: #fff; }
.md-typeset .md-button--primary:hover { background: #065F46; border-color: #065F46; color: #fff; }
[data-md-color-scheme="slate"] .md-typeset .md-button--primary { background: var(--rl-signal); border-color: var(--rl-signal); color: var(--rl-ink); }
[data-md-color-scheme="slate"] .md-typeset .md-button--primary:hover { background: #6EE7B7; border-color: #6EE7B7; color: var(--rl-ink); }
.md-typeset .md-button:not(.md-button--primary) { color: var(--rl-link); border-color: currentColor; }
.md-typeset .md-button:focus-visible, .md-typeset a:focus-visible { outline: .12rem solid var(--rl-signal); outline-offset: .12rem; }

/* Breadcrumbs */
.md-path { font-size: .64rem; margin-top: 1.1rem; }

/* ---------- Control pages ---------- */
.md-typeset .rl-facts dl {
  display: grid; grid-auto-flow: column; grid-template-rows: auto auto; grid-auto-columns: minmax(max-content, 1fr);
  gap: .1rem 1.4rem; margin: 0 0 1.2em; padding: .75rem 1rem; background: var(--rl-surface);
  border: 1px solid var(--rl-line); border-radius: .25rem; font-size: .72rem;
}
.md-typeset .rl-facts dt { font-weight: 400; color: var(--rl-muted); margin: 0; }
.md-typeset .rl-facts dd { margin: 0; font-weight: 600; }
.md-typeset .rl-facts dd p { margin: 0; }
@media screen and (max-width: 44.9375em) {
  .md-typeset .rl-facts dl { grid-auto-flow: row; grid-template-rows: none; grid-template-columns: max-content 1fr; gap: .3rem 1rem; }
}

.md-typeset .admonition.licence, .md-typeset details.licence { border-color: var(--rl-signal-deep); font-size: .74rem; }
.md-typeset .licence > .admonition-title, .md-typeset .licence > summary { background-color: var(--md-accent-fg-color--transparent); }
.md-typeset .licence > .admonition-title::before, .md-typeset .licence > summary::before {
  background-color: var(--rl-link);
  -webkit-mask-image: var(--md-admonition-icon--licence); mask-image: var(--md-admonition-icon--licence);
}
.md-typeset .admonition, .md-typeset details { box-shadow: none; border-width: .05rem; border-radius: .25rem; }

.md-typeset .rl-kitbox {
  margin-top: 2.4em; padding: 1rem 1.2rem 1.1rem; border-radius: .25rem;
  background: var(--rl-ink); color: #E7ECF3; border-left: .25rem solid var(--rl-signal);
}
.md-typeset .rl-kitbox h3 { margin-top: 0; color: #fff; }
.md-typeset .rl-kitbox p { color: rgba(231, 236, 243, .82); }
.md-typeset .rl-kitbox .md-button--primary { background: var(--rl-signal); border-color: var(--rl-signal); color: var(--rl-ink); }
.md-typeset .rl-kitbox .md-button:not(.md-button--primary) { color: #E7ECF3; border-color: rgba(231, 236, 243, .4); }

/* ---------- Kit pages ---------- */
.md-typeset .rl-offer { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.4em 0; }
.md-typeset .rl-offer__col { border: 1px solid var(--rl-line); border-radius: .25rem; padding: .9rem 1.1rem 1rem; }
.md-typeset .rl-offer__col:last-child { border-color: var(--rl-signal-deep); }
.md-typeset .rl-offer__col h4 { margin-top: 0; font-size: .9rem; }
.md-typeset .rl-offer__col p { font-size: .76rem; }
.md-typeset .rl-status { color: var(--rl-warn); font-weight: 600; font-size: .74rem; }
.md-typeset .rl-kitmeta { color: var(--rl-muted); font-size: .74rem; }
@media screen and (max-width: 44.9375em) { .md-typeset .rl-offer { grid-template-columns: 1fr; } }

/* ---------- Home: hero ---------- */
.rl-hero { background: var(--rl-ink); color: var(--rl-cloud); border-bottom: 1px solid rgba(247, 249, 251, .08); }
.rl-hero__inner { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 2.6rem; padding: 3.2rem .8rem 3.4rem; align-items: start; }
.rl-hero h1 { font-size: 2.35rem; line-height: 1.08; font-weight: 700; letter-spacing: -.03em; margin: 0 0 1.1rem; color: #fff; max-width: 13em; text-wrap: balance; }
.rl-hero__lead { font-size: .92rem; line-height: 1.6; color: rgba(231, 236, 243, .8); max-width: 34em; margin: 0 0 1.5rem; }
.rl-hero__cta { display: flex; flex-wrap: wrap; gap: .6rem; }
.rl-hero .md-button { font-size: .8rem; border-radius: .25rem; font-weight: 600; padding: .62em 1.3em; margin: 0; }
.rl-hero .md-button--primary { background: var(--rl-signal); border-color: var(--rl-signal); color: var(--rl-ink); }
.rl-hero .md-button--primary:hover { background: #6EE7B7; border-color: #6EE7B7; color: var(--rl-ink); }
.rl-hero .rl-button--ghost { color: #fff; border: .07rem solid rgba(247, 249, 251, .38); }
.rl-hero .rl-button--ghost:hover { border-color: var(--rl-signal); color: var(--rl-signal); }
.rl-hero__note { margin: 1.1rem 0 0; font-size: .7rem; color: rgba(231, 236, 243, .58); }

/* The one bold thing: the deadline rail */
.rl-tl { background: var(--rl-ink-2); border: 1px solid rgba(247, 249, 251, .08); border-radius: .3rem; padding: 1.1rem 1.2rem 1rem; }
.rl-tl__title { font-size: .78rem; font-weight: 600; margin: 0 0 .9rem; color: rgba(231, 236, 243, .72); letter-spacing: 0; }
.rl-tl__list { list-style: none; margin: 0; padding: 0; position: relative; }
.rl-tl__list::before { content: ""; position: absolute; left: .3rem; top: .4rem; bottom: .4rem; width: 1px; background: rgba(52, 211, 153, .35); transform-origin: top; }
.rl-tl__item { position: relative; padding-left: 1.4rem; }
.rl-tl__item::before { content: ""; position: absolute; left: 0; top: .42rem; width: .62rem; height: .62rem; border-radius: 50%; background: var(--rl-ink-2); border: .12rem solid var(--rl-signal); box-sizing: border-box; }
.rl-tl__item.is-soon::before { background: var(--rl-amber); border-color: var(--rl-amber); }
.rl-tl__item a { display: grid; grid-template-columns: 1fr auto; gap: .05rem .8rem; padding: .3rem .5rem .55rem; margin: 0 -.5rem; border-radius: .2rem; color: inherit; text-decoration: none; }
.rl-tl__item a:hover { background: rgba(247, 249, 251, .05); }
.rl-tl__item a:focus-visible { outline: .12rem solid var(--rl-signal); outline-offset: 0; }
.rl-tl__when { grid-column: 1 / -1; font-size: .7rem; font-weight: 600; color: var(--rl-signal); }
.rl-tl__item.is-soon .rl-tl__when { color: var(--rl-amber); }
.rl-tl__what { grid-column: 1 / -1; font-size: .8rem; line-height: 1.4; color: #fff; font-weight: 400; }
.rl-tl__src { grid-column: 1 / -1; display: flex; justify-content: space-between; font-size: .66rem; color: rgba(231, 236, 243, .55); }
.rl-tl__left { color: rgba(231, 236, 243, .75); }
.rl-tl__item.is-soon .rl-tl__left { color: var(--rl-amber); }
.rl-tl__all { display: inline-block; margin-top: .5rem; font-size: .7rem; font-weight: 600; color: var(--rl-signal); }
.rl-tl__all:hover { text-decoration: underline; color: var(--rl-signal); }
@media (prefers-reduced-motion: no-preference) {
  .rl-tl.is-ready .rl-tl__list::before { animation: rl-rail .9s cubic-bezier(.2, .7, .2, 1) both; }
  @keyframes rl-rail { from { transform: scaleY(0); } to { transform: scaleY(1); } }
}

/* ---------- Home: sections ---------- */
.rl-home .md-content__inner { margin: 0 .8rem; padding-top: .4rem; }
.rl-home .md-content__inner::before { display: none; }
.rl-sec { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 2.4rem; padding: 2.6rem 0; border-bottom: 1px solid var(--rl-line); }
.rl-sec:last-child { border-bottom: 0; }
.md-typeset .rl-sec__head h2 { margin: 0 0 .6rem; font-size: 1.35rem; }
.md-typeset .rl-sec__head p { color: var(--rl-muted); font-size: .8rem; margin: 0 0 .7rem; max-width: 22em; }
.md-typeset .rl-sec__head a { font-weight: 600; }

/* Catalogue */
.md-typeset ul.rl-cat { list-style: none; margin: 0; padding: 0; }
.md-typeset ul.rl-cat li { margin: 0; }
.md-typeset .rl-cat__area { font-size: .7rem; font-weight: 600; color: var(--rl-muted); padding: 1rem 0 .35rem; border-bottom: 1px solid var(--rl-line); }
.md-typeset .rl-cat__area:first-child { padding-top: 0; }
.md-typeset .rl-cat__row a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .1rem 1.2rem; padding: .75rem .6rem; margin: 0 -.6rem; border-bottom: 1px solid var(--rl-line); color: inherit; border-radius: .2rem; }
.md-typeset .rl-cat__row a:hover { background: var(--rl-surface); text-decoration: none; }
.md-typeset .rl-cat__row a:hover .rl-cat__name { color: var(--rl-link); }
.rl-cat__name { font-weight: 600; font-size: .86rem; }
.rl-cat__out { grid-column: 1; font-size: .76rem; color: var(--rl-muted); line-height: 1.5; }
.rl-cat__n { grid-column: 2; grid-row: 1; font-size: .72rem; font-weight: 600; text-align: right; white-space: nowrap; }
.rl-cat__price { grid-column: 2; grid-row: 2; font-size: .7rem; color: var(--rl-muted); text-align: right; white-space: nowrap; }

/* Anatomy panel: a real control */
.md-typeset .rl-doc { border: 1px solid var(--rl-line); border-radius: .3rem; overflow: hidden; font-size: .76rem; }
.md-typeset .rl-doc__head { display: flex; align-items: baseline; gap: .7rem; padding: .8rem 1rem; background: var(--rl-surface); border-bottom: 1px solid var(--rl-line); }
.md-typeset .rl-doc__head h3 { margin: 0; font-size: .92rem; }
.md-typeset .rl-doc__id { font-family: var(--md-code-font-family); font-size: .7rem; font-weight: 400; color: var(--rl-link); }
.md-typeset .rl-doc__part { display: grid; grid-template-columns: 7.2rem minmax(0, 1fr); gap: 1rem; padding: .7rem 1rem; border-bottom: 1px solid var(--rl-line); }
.md-typeset .rl-doc__part:last-child { border-bottom: 0; }
.md-typeset .rl-doc__label { font-weight: 600; color: var(--rl-link); font-size: .72rem; padding-top: .1rem; }
.md-typeset .rl-doc__part p { margin: 0; line-height: 1.55; }
.md-typeset .rl-doc__part pre { margin: 0; }
.md-typeset .rl-doc__part pre > code { font-size: .66rem; padding: .7rem .8rem; white-space: pre-wrap; word-break: break-word; }

/* News list */
.md-typeset ul.rl-news { list-style: none; margin: 0; padding: 0; }
.md-typeset ul.rl-news li { margin: 0; }
.md-typeset ul.rl-news a { display: grid; gap: .15rem; padding: .85rem .6rem; margin: 0 -.6rem; border-bottom: 1px solid var(--rl-line); color: inherit; border-radius: .2rem; }
.md-typeset ul.rl-news li:first-child a { padding-top: 0; }
.md-typeset ul.rl-news a:hover { background: var(--rl-surface); text-decoration: none; }
.md-typeset ul.rl-news time { font-size: .68rem; color: var(--rl-muted); }
.rl-news__t { font-weight: 600; font-size: .9rem; line-height: 1.35; }
.md-typeset ul.rl-news a:hover .rl-news__t { color: var(--rl-link); }
.rl-news__d { font-size: .76rem; color: var(--rl-muted); }

/* FAQ */
.md-typeset .rl-faq h3 { font-size: .86rem; margin: 0 0 .3rem; }
.md-typeset .rl-faq h3:not(:first-child) { margin-top: 1.3rem; }
.md-typeset .rl-faq p { margin: 0; color: var(--rl-muted); font-size: .8rem; max-width: 38em; }

/* Blog (News) */
.md-typeset .md-post--excerpt { margin-bottom: 2.2em; }
.md-typeset .md-post__header { font-size: .7rem; }
.md-post__authors { display: none; }

/* ---------- Responsive ---------- */
@media screen and (max-width: 59.9375em) {
  .rl-hero__inner { grid-template-columns: 1fr; gap: 2rem; padding: 2.2rem .8rem 2.4rem; }
  .rl-hero h1 { font-size: 1.8rem; }
  .rl-sec { grid-template-columns: 1fr; gap: 1.2rem; padding: 2rem 0; }
  .md-typeset .rl-sec__head p { max-width: none; }
}
@media screen and (max-width: 29.9375em) {
  .rl-hero h1 { font-size: 1.55rem; }
  .md-typeset .rl-doc__part { grid-template-columns: 1fr; gap: .25rem; }
  .md-typeset .rl-cat__row a { grid-template-columns: 1fr; }
  .rl-cat__n, .rl-cat__price { grid-column: 1; grid-row: auto; text-align: left; }
}
@media print {
  .rl-hero, .rl-kitbox { background: none !important; color: #000 !important; }
}

/* Facts strip (control pages) */
.md-typeset .rl-facts { display: flex; flex-wrap: wrap; gap: .55rem 1.6rem; margin: 0 0 1.2em; padding: .75rem 1rem; background: var(--rl-surface); border: 1px solid var(--rl-line); border-radius: .25rem; font-size: .72rem; }
.md-typeset .rl-fact__k { color: var(--rl-muted); font-weight: 400; }
.md-typeset .rl-fact__v { font-weight: 600; }
.md-typeset .rl-updated { font-size: .7rem; color: var(--rl-muted); margin-top: -.6em; }

/* Admonitions in brand colours (note = neutral, question = signal) */
.md-typeset .admonition.note, .md-typeset details.note { border-color: var(--rl-line); }
.md-typeset .note > .admonition-title, .md-typeset .note > summary { background-color: var(--rl-surface); }
.md-typeset .note > .admonition-title::before, .md-typeset .note > summary::before { background-color: var(--rl-muted); }
.md-typeset details.question { border-color: var(--rl-line); }
.md-typeset .question > summary { background-color: transparent; font-weight: 600; font-size: .78rem; }
.md-typeset .question > summary::before { background-color: var(--rl-link); }
.md-typeset details.question[open] > summary { border-bottom: 1px solid var(--rl-line); }
.md-typeset .rl-kitbox .rl-kitbox__title { font-size: 1rem; font-weight: 600; color: #fff; margin: 0 0 .6em; letter-spacing: -.008em; }

/* Footer always paints above the sticky sidebars, so a sidebar that was not resized can't overlap it.
   (The mobile drawer has z-index 5 and stays above.) */
.md-footer { position: relative; z-index: 3; }
.md-sidebar__scrollwrap { max-height: calc(100vh - 6rem); }

/* Home: the newest brief leads */
.md-typeset ul.rl-news li:first-child .rl-news__t { font-size: 1.05rem; }

/* Secondary buttons: keep text readable on hover/focus (Material fills them with the accent colour) */
.md-typeset .md-button:not(.md-button--primary):hover,
.md-typeset .md-button:not(.md-button--primary):focus {
  background: var(--md-accent-fg-color--transparent); color: var(--rl-link); border-color: var(--rl-link);
}
.md-typeset .rl-kitbox .md-button:not(.md-button--primary):hover,
.md-typeset .rl-kitbox .md-button:not(.md-button--primary):focus {
  background: rgba(52, 211, 153, .12); color: #fff; border-color: var(--rl-signal);
}
.rl-hero .rl-button--ghost:hover, .rl-hero .rl-button--ghost:focus { background: rgba(52, 211, 153, .1); }

/* Left nav: section titles read as headings and, when linked, as links */
.md-nav--primary .md-nav__item--section > .md-nav__link {
  color: var(--md-default-fg-color); font-weight: 600; font-size: .72rem;
  margin-top: 1.1em; padding-top: .55em; border-top: 1px solid var(--rl-line);
}
.md-nav--primary .md-nav__item--section:first-child > .md-nav__link { border-top: 0; margin-top: .4em; padding-top: 0; }
.md-nav--primary .md-nav__item--section > .md-nav__link a,
.md-nav--primary .md-nav__item--section > a.md-nav__link { color: var(--md-default-fg-color); }
.md-nav--primary .md-nav__item--section > .md-nav__link a:hover,
.md-nav--primary .md-nav__item--section > a.md-nav__link:hover { color: var(--rl-link); }
.md-nav--primary .md-nav__item--section > .md-nav__link--active a,
.md-nav--primary .md-nav__item--section > a.md-nav__link--active { color: var(--rl-link); }
.md-nav__link { color: var(--rl-muted); }
.md-nav__link--active, .md-nav__link:hover { color: var(--rl-link); }
.md-nav--primary > .md-nav__list > .md-nav__item--section > .md-nav__link { border-top: 0; margin-top: .4em; padding-top: 0; }

/* ---------- Home v2: news front page ---------- */
.rl-hero__inner { grid-template-columns: 1fr; gap: 1.8rem; padding: 2.4rem .8rem 2.8rem; }
.rl-hero__intro { max-width: 44rem; }
.rl-hero h1 { font-size: 2.1rem; max-width: none; margin-bottom: .7rem; }
.rl-hero__lead { margin: 0; font-size: .86rem; max-width: 40em; }
.rl-front { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 1.6rem; align-items: start; }
.rl-front__main { min-width: 0; }
.rl-feature { background: var(--rl-ink-2); border: 1px solid rgba(247, 249, 251, .1); border-left: .22rem solid var(--rl-signal); border-radius: .3rem; padding: 1.3rem 1.5rem 1.4rem; }
.rl-feature__meta { display: flex; gap: .9rem; margin: 0 0 .55rem; font-size: .7rem; color: rgba(231, 236, 243, .62); }
.rl-feature__meta span { color: var(--rl-signal); font-weight: 600; }
.rl-hero .rl-feature__title { font-size: 1.45rem; line-height: 1.2; letter-spacing: -.02em; margin: 0 0 .6rem; font-weight: 700; text-wrap: balance; }
.rl-feature__title a { color: #fff; }
.rl-feature__title a:hover { color: var(--rl-signal); }
.rl-feature__lead { margin: 0 0 .9rem; font-size: .84rem; line-height: 1.6; color: rgba(231, 236, 243, .8); max-width: 40em; }
.rl-feature__go { font-size: .76rem; font-weight: 600; color: var(--rl-signal); }
.rl-feature__go:hover { color: #6EE7B7; text-decoration: underline; }
.rl-front__more { list-style: none; margin: .6rem 0 0; padding: 0; }
.rl-front__more li a { display: grid; gap: .12rem; padding: .7rem .2rem; border-bottom: 1px solid rgba(247, 249, 251, .1); color: inherit; }
.rl-front__more li a:hover .rl-more__t { color: var(--rl-signal); }
.rl-more__meta { font-size: .66rem; color: rgba(231, 236, 243, .55); }
.rl-more__t { font-size: .88rem; font-weight: 600; color: #fff; line-height: 1.35; }
.rl-front__links { display: flex; flex-wrap: wrap; gap: 1.2rem; margin: .8rem 0 0; font-size: .72rem; }
.rl-front__links a { color: var(--rl-signal); font-weight: 600; }
.rl-front__links a:hover { text-decoration: underline; color: var(--rl-signal); }
.rl-hero a:focus-visible { outline: .12rem solid var(--rl-signal); outline-offset: .12rem; }
@media screen and (max-width: 59.9375em) {
  .rl-front { grid-template-columns: 1fr; }
  .rl-hero h1 { font-size: 1.7rem; }
  .rl-hero .rl-feature__title { font-size: 1.2rem; }
}

/* Home: the left navigation exists (so the mobile/tablet menu button opens it) but is not shown as a sidebar on wide screens */
@media screen and (min-width: 76.25em) {
  .md-main__inner:has(.rl-home) > .md-sidebar--primary { display: none; }
}

/* Kit pages: free offer on top, buy section at the end */
.md-typeset .rl-offer--free { grid-template-columns: 1fr; max-width: 30rem; }
.md-typeset .rl-offer--free .rl-offer__col:last-child { border-color: var(--rl-line); }
.md-typeset .rl-offer__next { margin: .7em 0 0; font-size: .74rem; color: var(--rl-muted); }
.md-typeset .rl-buy { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1rem; margin: 1em 0 2em; }
.md-typeset .rl-buy__card { border: 1px solid var(--rl-line); border-radius: .25rem; padding: 1rem 1.1rem 1.1rem; display: flex; flex-direction: column; }
.md-typeset .rl-buy__card--main { border-color: var(--rl-signal-deep); border-width: .1rem; }
.md-typeset .rl-buy__card h4 { margin: 0 0 .3rem; font-size: .86rem; }
.md-typeset .rl-buy__card p { font-size: .76rem; }
.md-typeset .rl-buy__price { font-size: 1.3rem !important; font-weight: 700; margin: 0 0 .4rem; letter-spacing: -.01em; }
.md-typeset .rl-buy__price span { font-size: .72rem; font-weight: 400; color: var(--rl-muted); text-decoration: line-through; margin-left: .3rem; }
.md-typeset .rl-buy__card .md-button { align-self: flex-start; margin-top: auto; }
/* Buy section as rows: what it is on the left, price and button on the right */
.md-typeset .rl-buy { grid-template-columns: 1fr; gap: .8rem; }
.md-typeset .rl-buy__card { display: grid; grid-template-columns: minmax(0, 1fr) 11rem; grid-template-areas: "title price" "text price" "text action"; column-gap: 1.4rem; align-items: start; }
.md-typeset .rl-buy__card > h4 { grid-area: title; }
.md-typeset .rl-buy__card > .rl-buy__price { grid-area: price; text-align: right; }
.md-typeset .rl-buy__card > p:not(.rl-buy__price) { grid-area: text; margin: 0; }
.md-typeset .rl-buy__card > p:last-child, .md-typeset .rl-buy__card > .md-button { grid-area: action; justify-self: end; align-self: end; text-align: right; margin: 0; }
.md-typeset .rl-buy__price span { display: block; text-decoration: none; margin: .15rem 0 0; font-size: .66rem; line-height: 1.3; }
@media screen and (max-width: 44.9375em) {
  .md-typeset .rl-buy__card { grid-template-columns: 1fr; grid-template-areas: "title" "price" "text" "action"; }
  .md-typeset .rl-buy__card > .rl-buy__price, .md-typeset .rl-buy__card > p:last-child, .md-typeset .rl-buy__card > .md-button { text-align: left; justify-self: start; margin-top: .6rem; }
}

/* Box under every news brief */
.md-typeset .rl-briefbox .rl-briefbox__label { margin: 1em 0 .3em; font-size: .72rem; font-weight: 600; color: rgba(231, 236, 243, .7); }
.md-typeset .rl-briefbox .rl-briefbox__list { margin: 0 0 .6em; padding-left: 1.1em; }
.md-typeset .rl-briefbox .rl-briefbox__list li { margin: .2em 0; }
.md-typeset .rl-briefbox a:not(.md-button) { color: var(--rl-signal); }
.md-typeset .rl-briefbox .rl-briefbox__also { font-size: .76rem; }
.md-typeset .rl-briefbox .rl-briefbox__foot { margin: 1em 0 0; padding-top: .8em; border-top: 1px solid rgba(231, 236, 243, .12); font-size: .74rem; }

/* Home: where to start */
.md-typeset .rl-start__title { margin: 1.2rem 0 .4rem !important; font-weight: 600; color: var(--md-default-fg-color) !important; font-size: .78rem !important; }
.md-typeset ul.rl-start { list-style: none; margin: 0 0 .9rem; padding: 0; max-width: 22rem; }
.md-typeset ul.rl-start li { margin: 0; padding: .45rem 0; border-top: 1px solid var(--rl-line); display: grid; gap: .05rem; font-size: .74rem; }
.md-typeset ul.rl-start li span { color: var(--rl-muted); }
.md-typeset ul.rl-start li a { font-weight: 600; }

/* Kit pages: excerpts of the real files */
.md-typeset .rl-caption { font-size: .7rem; color: var(--rl-muted); margin-top: .4em; }
.md-typeset .tabbed-set { margin-top: .8em; }
.md-typeset .tabbed-labels > label { font-weight: 600; font-size: .72rem; }
.md-typeset .tabbed-block table:not([class]) { font-size: .68rem; }
.md-typeset .tabbed-block pre > code { font-size: .64rem; }
.md-typeset .rl-xl table:not([class]) { display: table; width: 100%; }
.md-typeset .rl-xl th, .md-typeset .rl-xl td { white-space: nowrap; padding: .5em .8em !important; }
.md-typeset .rl-xl--jira td:nth-child(3), .md-typeset .rl-xl--plan td:nth-child(2) { white-space: normal; min-width: 15rem; }
.md-typeset .rl-xl th, .md-typeset .rl-xl td { white-space: normal; }
.md-typeset .rl-xl--jira td:nth-child(-n+2), .md-typeset .rl-xl--jira td:nth-child(4), .md-typeset .rl-xl--jira td:nth-child(5),
.md-typeset .rl-xl--plan td:nth-child(1), .md-typeset .rl-xl--plan td:nth-child(n+4) { white-space: nowrap; }
.md-typeset .rl-xl--jira td:nth-child(3), .md-typeset .rl-xl--plan td:nth-child(2) { min-width: 12rem; }

/* WCAG 1.4.1: links inside running text are underlined, not only coloured */
.md-typeset p a:not(.md-button), .md-typeset li a:not(.md-button), .md-typeset td a, .md-typeset dd a {
  text-decoration: underline; text-decoration-thickness: .06em; text-underline-offset: .18em;
}
.md-typeset ul.rl-cat a, .md-typeset ul.rl-news a, .rl-front__more a, .rl-tl a, .md-typeset .rl-sec__head a,
.rl-front__links a, .md-typeset .headerlink, .md-typeset .md-post__meta a, .md-typeset ul.rl-start a { text-decoration: none; }
.md-typeset ul.rl-start a:hover, .rl-front__links a:hover, .md-typeset .rl-sec__head a:hover { text-decoration: underline; }
/* Free offer title is a paragraph now (heading order) */
.md-typeset .rl-offer__title { font-size: .9rem; font-weight: 600; margin: 0 0 .4em; }
.md-typeset .rl-buy__card h3 { margin: 0 0 .3rem; font-size: .86rem; grid-area: title; }
.md-typeset [tabindex="0"]:focus-visible { outline: .12rem solid var(--rl-signal); outline-offset: .12rem; }

/* ---------- Home hero in the light scheme (light is the default; dark keeps the ink band) ---------- */
[data-md-color-scheme="default"] .rl-hero { background: var(--rl-surface); color: var(--rl-ink); border-bottom: 1px solid var(--rl-line); }
[data-md-color-scheme="default"] .rl-hero h1 { color: var(--rl-ink); }
[data-md-color-scheme="default"] .rl-hero__lead,
[data-md-color-scheme="default"] .rl-feature__lead { color: #3A4556; }
[data-md-color-scheme="default"] .rl-feature,
[data-md-color-scheme="default"] .rl-tl { background: #fff; border-color: var(--rl-line); }
[data-md-color-scheme="default"] .rl-feature { border-left-color: var(--rl-signal-deep); }
[data-md-color-scheme="default"] .rl-feature__meta,
[data-md-color-scheme="default"] .rl-more__meta,
[data-md-color-scheme="default"] .rl-tl__src,
[data-md-color-scheme="default"] .rl-tl__title { color: var(--rl-muted); }
[data-md-color-scheme="default"] .rl-tl__left { color: #3A4556; }
[data-md-color-scheme="default"] .rl-feature__title a,
[data-md-color-scheme="default"] .rl-more__t,
[data-md-color-scheme="default"] .rl-tl__what { color: var(--rl-ink); }
[data-md-color-scheme="default"] .rl-feature__meta span,
[data-md-color-scheme="default"] .rl-feature__go,
[data-md-color-scheme="default"] .rl-feature__title a:hover,
[data-md-color-scheme="default"] .rl-front__more li a:hover .rl-more__t,
[data-md-color-scheme="default"] .rl-front__links a,
[data-md-color-scheme="default"] .rl-front__links a:hover,
[data-md-color-scheme="default"] .rl-tl__when,
[data-md-color-scheme="default"] .rl-tl__all,
[data-md-color-scheme="default"] .rl-tl__all:hover { color: var(--rl-signal-deep); }
[data-md-color-scheme="default"] .rl-feature__go:hover { color: #065F46; }
[data-md-color-scheme="default"] .rl-front__more li a { border-bottom-color: var(--rl-line); }
[data-md-color-scheme="default"] .rl-tl__list::before { background: rgba(4, 120, 87, .35); }
[data-md-color-scheme="default"] .rl-tl__item::before { background: #fff; border-color: var(--rl-signal-deep); }
[data-md-color-scheme="default"] .rl-tl__item.is-soon::before { background: var(--rl-warn); border-color: var(--rl-warn); }
[data-md-color-scheme="default"] .rl-tl__item.is-soon .rl-tl__when,
[data-md-color-scheme="default"] .rl-tl__item.is-soon .rl-tl__left { color: var(--rl-warn); }
[data-md-color-scheme="default"] .rl-tl__item a:hover { background: var(--rl-surface); }
[data-md-color-scheme="default"] .rl-hero a:focus-visible,
[data-md-color-scheme="default"] .rl-tl__item a:focus-visible { outline-color: var(--rl-signal-deep); }
[data-md-color-scheme="default"] .rl-hero .rl-button--ghost { color: var(--rl-ink); border-color: var(--rl-line); }
