.rkpub {
  --band: #201d16;
  --card: #241f18;
  --edge: rgba(242, 240, 233, .12);
  --edge-strong: rgba(242, 240, 233, .24);
  --ink: #f2f0e9;
  --ink-2: #c3bfb4;
  --ink-3: #9b978b;
  --accent: #e07a4f;
  --accent-strong: #f0996f;
  --accent-bg: rgba(201, 95, 54, .18);
  --btn-bg: #d9cfbc;
  --btn-fg: #33291f;
  --ease: #7cc9cf;
  --alert: #f08098;
  --r: 4px;
  --r-card: 12px;
  --r-pill: 999px;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
  --font-voice: Georgia, "Times New Roman", serif;
  background: #0c0b08;
  color: #f2f0e9;
  font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: var(--t-body);
  font-weight: 400;
  line-height: 1.6;
  overflow-x: hidden;
}

.rkpub * { box-sizing: border-box; }
.rkpub a { color: var(--accent); text-decoration: none; }
.rkpub a:hover { color: var(--accent-strong); text-decoration: underline; }
:where(.rkpub) :where(h1, h2, h3, h4, p, figure, blockquote, ul) { margin: 0; }
:where(.rkpub) :where(h1, h2, h3, h4) { font-weight: 500; text-wrap: pretty; }
:where(.rkpub) :where(p) { text-wrap: pretty; }
:where(.rkpub) :where(img) { display: block; max-width: 100%; height: auto; }

.rkpub-frame { max-width: 1600px; margin: 0 auto; }
.rkpub-band { max-width: 1140px; margin: 0 auto; padding: 48px 20px 0; }
.rkpub-hero { padding-top: 34px; }
.rkpub-hero.is-home { padding-top: 28px; }
.rkpub main > .rkpub-band:last-child { padding-bottom: 80px; }

@media (min-width: 1024px) {
  .rkpub-band { padding: 80px 40px 0; }
  .rkpub-hero { padding-top: 64px; }
  .rkpub-hero.is-home { padding-top: 56px; }
  .rkpub main > .rkpub-band:last-child { padding-bottom: 96px; }
}

.rkpub-eyebrow {
  display: block;
  font-size: var(--t-micro);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-3);
  line-height: 1.5;
}
.rkpub-eyebrow.is-accent { color: var(--accent); }
.rkpub-eyebrow.is-ease { color: var(--ease); }

.rkpub-h1 {
  margin-top: 14px;
  font-size: var(--t-hero);
  line-height: 1.06;
  letter-spacing: -.03em;
  color: var(--ink);
}
.rkpub-h1.is-inner { font-size: var(--t-hero); line-height: 1.08; }
.rkpub-h2 {
  margin-top: 12px;
  font-size: var(--t-card);
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--ink);
}
.rkpub-lede {
  margin-top: 16px;
  font-size: var(--t-body);
  line-height: 1.65;
  color: var(--ink-2);
}
.rkpub-measure { max-width: 780px; }
.rkpub-body { margin-top: 16px; font-size: var(--t-body); line-height: 1.7; color: var(--ink-2); }
.rkpub-voice {
  font-family: var(--font-voice);
  font-style: italic;
  color: var(--ink);
  line-height: 1.5;
  font-size: var(--t-body);
}
.rkpub-voice-lede { margin-top: 20px; }
.rkpub-fine { margin-top: 14px; font-size: var(--t-small); line-height: 1.6; color: var(--ink-3); }
.rkpub-caption { margin-top: 12px; font-size: var(--t-micro); line-height: 1.5; color: var(--ink-3); }
.rkpub-under { margin-top: 18px; font-size: var(--t-body); line-height: 1.6; color: var(--ink-2); }
.rkpub-hero-line { margin-top: 18px; font-size: var(--t-body); color: var(--ink); }

.rkpub-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }

.rkpub-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: var(--r);
  background: var(--btn-bg);
  color: var(--btn-fg);
  font-size: var(--t-body);
  line-height: 1.2;
  white-space: nowrap;
  flex: none;
}
.rkpub a.rkpub-btn { color: var(--btn-fg); }
.rkpub a.rkpub-btn:hover { filter: brightness(1.06); text-decoration: none; color: var(--btn-fg); }
.rkpub .rkpub-btn.is-quiet { background: transparent; color: var(--ink); border-color: var(--edge-strong); }
.rkpub .rkpub-btn.is-quiet:hover { filter: none; border-color: var(--accent); color: var(--accent); text-decoration: none; }
.rkpub-panel .rkpub-btn { min-height: 46px; padding: 0 20px; }

.rkpub-more { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; }

.rkpub-chip {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: var(--t-micro);
  line-height: 1.4;
  border-radius: var(--r);
  padding: 4px 9px;
  white-space: nowrap;
  letter-spacing: .06em;
}
.rkpub-chip.is-accent { color: var(--accent-strong); background: var(--accent-bg); }
.rkpub-chip.is-neutral { color: var(--ink-2); background: rgba(242, 240, 233, .07); }
.rkpub-chip.is-ease { color: var(--ease); background: rgba(124, 201, 207, .14); }

.rkpub-pill {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: var(--t-micro);
  line-height: 1.4;
  border-radius: var(--r-pill);
  padding: 5px 11px;
  white-space: nowrap;
}
.rkpub-pill.is-accent { color: var(--accent-strong); background: var(--accent-bg); }
.rkpub-pill.is-ease { color: var(--ease); background: rgba(124, 201, 207, .14); }
.rkpub-pill.is-closed { color: var(--ink-2); background: var(--card); border: 1px solid var(--edge); padding: 4px 11px; }

.rkpub-card {
  border: 1px solid var(--edge);
  border-radius: var(--r-card);
  background: var(--card);
  padding: 20px;
}
.rkpub-panel {
  border: 1px solid var(--edge-strong);
  border-radius: var(--r-card);
  background: var(--band);
  padding: 22px;
}
@media (min-width: 1024px) {
  .rkpub-panel { padding: 36px; }
}
.rkpub-card-title { font-size: var(--t-card); line-height: 1.25; letter-spacing: -.015em; color: var(--ink); }
.rkpub-card-body { margin-top: 12px; font-size: var(--t-body); line-height: 1.6; color: var(--ink-2); }
.rkpub-panel-title { margin-top: 12px; font-size: var(--t-card); line-height: 1.15; letter-spacing: -.02em; color: var(--ink); }

.rkpub-hero-grid,
.rkpub-week-grid,
.rkpub-step-one,
.rkpub-two,
.rkpub-three,
.rkpub-reviews,
.rkpub-tiles,
.rkpub-rules,
.rkpub-split { display: grid; grid-template-columns: minmax(0, 1fr); }
.rkpub-hero-grid, .rkpub-week-grid, .rkpub-step-one { gap: 26px; }
.rkpub-two, .rkpub-three, .rkpub-tiles, .rkpub-rules, .rkpub-split, .rkpub-reviews { gap: 16px; }
.rkpub-three, .rkpub-rules, .rkpub-split, .rkpub-reviews { margin-top: 28px; }
.rkpub-two.rkpub-terms { margin-top: 28px; }

@media (min-width: 1024px) {
  .rkpub-hero-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; align-items: start; }
  .rkpub-week-grid { grid-template-columns: minmax(0, 1fr) 420px; gap: 48px; align-items: start; }
  .rkpub-step-one { grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; align-items: center; }
  .rkpub-three { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
  .rkpub-two, .rkpub-tiles, .rkpub-rules, .rkpub-split { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
  .rkpub-reviews { gap: 16px; }
}

.rkpub-hero-well {
  border: 1px solid var(--edge);
  border-radius: var(--r-card);
  background: var(--card);
  overflow: hidden;
}
.rkpub-hero-well img { width: 100%; }

.rkpub-contrast .rkpub-card-title { min-height: 0; }
@media (min-width: 1024px) {
  .rkpub-contrast .rkpub-card-title { min-height: 2.6em; }
}

.rkpub-week { padding: 0; overflow: hidden; }
.rkpub-week-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 20px; border-bottom: 1px solid var(--edge); }
.rkpub-week-title { margin-top: 6px; font-size: var(--t-card); line-height: 1.2; letter-spacing: -.015em; color: var(--ink); }
.rkpub-lift { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 18px 20px; border-bottom: 1px solid var(--edge); }
.rkpub-lift-name { display: flex; flex-direction: column; gap: 4px; color: var(--ink); }
.rkpub-lift-sets { font-size: var(--t-small); color: var(--ink-3); }
.rkpub-lift-load { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.rkpub-lift-num { font-family: var(--font-mono); font-size: var(--t-card); line-height: 1.1; color: var(--ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.rkpub-lift-unit { font-family: system-ui, -apple-system, 'Segoe UI', sans-serif; font-size: var(--t-small); color: var(--ink-3); }
.rkpub-chip.rkpub-lift-chip { padding: 3px 8px; letter-spacing: 0; }
.rkpub-reason { display: flex; gap: 12px; align-items: flex-start; padding: 18px 20px; font-size: var(--t-small); line-height: 1.6; color: var(--ink-2); }
.rkpub-reason img { flex: none; margin-top: 2px; }
.rkpub-week-under { margin-top: 12px; }

.rkpub-step-one { margin-top: 28px; }
.rkpub-step-n { display: block; font-family: var(--font-mono); font-size: var(--t-micro); color: var(--accent); }
.rkpub-step-title { margin-top: 12px; }
.rkpub-answers { border: 1px solid var(--edge); border-radius: var(--r-card); background: var(--card); padding: 8px 20px 16px; }
.rkpub-answer { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--edge); font-size: var(--t-small); color: var(--ink-2); }
.rkpub-answer-v { font-family: var(--font-mono); font-size: var(--t-body); color: var(--ink); }
.rkpub-answer-foot { margin-top: 12px; font-size: var(--t-small); color: var(--ink-3); }
.rkpub-steps { margin-top: 26px; }
.rkpub-step { display: flex; flex-direction: column; gap: 12px; }
.rkpub-step .rkpub-card-body { margin-top: 0; }
.rkpub-shot { height: 320px; border-radius: var(--r); overflow: hidden; background: #0c0b08; }
.rkpub-shot img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
@media (min-width: 1024px) {
  .rkpub-shot { height: 380px; }
}

.rkpub-switch { margin-top: 24px; }
.rkpub-switch-tabs { display: none; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.rkpub-switch[data-js="on"] .rkpub-switch-tabs { display: flex; }
.rkpub-switch-panel + .rkpub-switch-panel { margin-top: 16px; }
.rkpub-switch[data-js="on"] .rkpub-switch-panel + .rkpub-switch-panel { margin-top: 0; }
.rkpub-switch-panel[hidden] { display: none; }
.rkpub-switch-tab {
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid var(--edge-strong);
  border-radius: var(--r);
  background: transparent;
  color: var(--ink-2);
  font: inherit;
  font-size: var(--t-body);
  white-space: nowrap;
  cursor: pointer;
  transition: background .12s ease, color .12s ease, border-color .12s ease;
}
.rkpub-switch-tab[aria-selected="true"] { background: var(--accent); color: #17150f; border-color: var(--accent); }
.rkpub-switch-panel .rkpub-voice { margin-top: 18px; }
.rkpub-tiles { margin-top: 24px; }
.rkpub-tile { border: 1px solid var(--edge); border-radius: var(--r); background: var(--card); padding: 18px; }
.rkpub-tile-tag { display: block; font-family: var(--font-mono); font-size: var(--t-micro); color: var(--accent); }
.rkpub-tile h4 { margin-top: 10px; font-size: var(--t-body); line-height: 1.4; color: var(--ink); }
.rkpub-tile p { margin-top: 8px; font-size: var(--t-small); line-height: 1.6; color: var(--ink-2); }
@media (min-width: 1024px) {
  .rkpub-tile h4 { min-height: 3em; }
}

.rkpub-garmin { align-items: center; }
.rkpub-watches { margin-top: 28px; }
.rkpub-stage { position: relative; height: 300px; }
.rkpub-watch { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: 0; transition: opacity .45s ease; }
.rkpub-watch.is-on { opacity: 1; }
.rkpub .rkpub-watch { max-width: none; height: 100%; }
.rkpub-dots { display: none; justify-content: center; gap: 0; margin-top: 8px; }
.rkpub-watches[data-js="on"] .rkpub-dots { display: flex; }
.rkpub-dot { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; background: transparent; cursor: pointer; }
.rkpub-dot span { display: block; width: 6px; height: 8px; border-radius: var(--r-pill); background: rgba(242, 240, 233, .5); border: 1px solid rgba(242, 240, 233, .5); transition: background .2s ease, width .2s ease; }
.rkpub-dot.is-on span { width: 26px; background: var(--accent); border-color: var(--accent); }
.rkpub-watches .rkpub-caption { text-align: center; }
@media (min-width: 1024px) {
  .rkpub-watches { margin-top: 0; }
  .rkpub-stage { height: 400px; }
}

.rkpub-review { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.rkpub-review blockquote { font-size: var(--t-body); line-height: 1.55; color: var(--ink); }
.rkpub-review figcaption { display: flex; flex-direction: column; gap: 4px; }
.rkpub-stars { display: flex; gap: 2px; color: var(--accent); font-size: var(--t-small); }
.rkpub-review-who { color: var(--ink); }
.rkpub-review-meta { font-size: var(--t-small); color: var(--ink-3); }
@media (min-width: 1024px) {
  .rkpub-review { grid-template-columns: minmax(0, 1fr) 220px; gap: 32px; }
}

.rkpub-founders { margin-top: 26px; }
.rkpub-founders-top { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.rkpub-founders.is-closed .rkpub-eyebrow { color: var(--ink-3); }
.rkpub-founders-title { margin-top: 14px; font-size: var(--t-card); line-height: 1.15; letter-spacing: -.02em; color: var(--ink); }
.rkpub-founders-body { margin-top: 14px; max-width: 74ch; font-size: var(--t-body); line-height: 1.7; color: var(--ink-2); }

.rkpub-qs { margin-top: 24px; border-top: 1px solid var(--edge); }
.rkpub-q { position: relative; padding: 22px 0; border-bottom: 1px solid var(--edge); }
.rkpub-q-n { display: block; font-family: var(--font-mono); font-size: var(--t-micro); color: var(--ink-3); }
.rkpub-q-title { margin-top: 6px; font-size: var(--t-lede); line-height: 1.35; letter-spacing: -.01em; color: var(--ink); }
.rkpub-q-answer { margin-top: 10px; max-width: 74ch; font-size: var(--t-body); line-height: 1.7; color: var(--ink-2); }
.rkpub-qs.is-full { max-width: 100%; margin-top: 0; }
@media (min-width: 1024px) {
  .rkpub-q { padding-left: 34px; }
  .rkpub-q-n { position: absolute; left: 0; top: 26px; }
  .rkpub-q-title { margin-top: 0; }
  .rkpub-qs.is-full { max-width: 860px; }
}
.rkpub-qs-more { margin-top: 20px; }
.rkpub-close { margin-top: 40px; }
.rkpub-close .rkpub-h2 { margin-top: 0; }

.rkpub-latest-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 24px; }
.rkpub-latest-head .rkpub-more { margin-top: 0; }
.rkpub-latest-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 24px; }
.rkpub a.rkpub-latest-item { display: flex; flex-direction: column; gap: 8px; color: var(--ink); }
.rkpub a.rkpub-latest-item:hover { text-decoration: none; border-color: var(--edge-strong); color: var(--ink); }
.rkpub a.rkpub-latest-item:hover .rkpub-latest-title { color: var(--accent-strong); }
.rkpub-latest-shot { display: block; aspect-ratio: 16 / 9; margin-bottom: 6px; overflow: hidden; border-radius: var(--r); background: var(--band); }
.rkpub-latest-shot img { width: 100%; height: 100%; object-fit: cover; }
.rkpub-latest-date { font-family: var(--font-mono); font-size: var(--t-micro); color: var(--ink-3); }
.rkpub-latest-title { font-size: var(--t-body); line-height: 1.4; letter-spacing: -.015em; color: var(--ink); transition: color .12s ease; }
.rkpub-latest-open { font-size: var(--t-small); line-height: 1.6; color: var(--ink-2); }
@media (min-width: 1024px) {
  .rkpub-latest-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.rkpub-run { margin-top: 28px; border: 1px solid var(--edge); border-radius: var(--r-card); background: var(--card); overflow: hidden; }
.rkpub-runrow { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; padding: 14px 20px; border-top: 1px solid var(--edge); font-variant-numeric: tabular-nums; }
.rkpub-runhead { display: none; }
.rkpub-run-w { font-family: var(--font-mono); font-size: var(--t-small); color: var(--ink-3); }
.rkpub-run-presc { font-family: var(--font-mono); font-size: var(--t-body); color: var(--ink); min-width: 160px; }
.rkpub-run-did { font-size: var(--t-small); color: var(--ink-2); }
.rkpub-run-change { font-family: var(--font-mono); font-size: var(--t-small); white-space: nowrap; }
.rkpub-run-change.is-neutral { color: var(--ink-2); }
.rkpub-run-change.is-accent { color: var(--accent-strong); }
.rkpub-run-change.is-ease { color: var(--ease); }
@media (min-width: 1024px) {
  .rkpub-runrow { display: grid; grid-template-columns: 52px minmax(0, 1fr) 150px 126px 132px; gap: 18px; flex-wrap: nowrap; }
  .rkpub-runhead { display: grid; border-top: 0; background: var(--band); font-size: var(--t-micro); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
}
.rkpub-run + .rkpub-two { margin-top: 16px; }
.rkpub-why p { margin-top: 10px; line-height: 1.6; color: var(--ink); }
.rkpub-summary { margin-top: 20px; max-width: 74ch; line-height: 1.7; color: var(--ink-2); }
.rkpub-stall { margin-top: 32px; }
.rkpub-stall-title { margin-top: 12px; font-size: var(--t-card); line-height: 1.25; letter-spacing: -.015em; color: var(--ink); }
.rkpub-stall .rkpub-voice { margin-top: 14px; }

.rkpub-rule-top { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.rkpub-rule .rkpub-chip { letter-spacing: .08em; }
.rkpub-rule-kind { font-size: var(--t-micro); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.rkpub-rule-when { margin-top: 14px; font-size: var(--t-body); line-height: 1.5; color: var(--ink); }
.rkpub-rule-says { margin-top: 12px; font-size: var(--t-small); line-height: 1.6; color: var(--ink-2); }
@media (min-width: 1024px) {
  .rkpub-rule-when { min-height: 3em; }
}
.rkpub-term .rkpub-more { margin-top: 14px; }

.rkpub-splithead { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--edge); }
.rkpub-splithead h3 { font-size: var(--t-card); line-height: 1.25; letter-spacing: -.015em; color: var(--ink); }
.rkpub-ticks { list-style: none; padding: 0; margin-top: 16px; display: flex; flex-direction: column; gap: 12px; }
.rkpub-ticks li { display: flex; gap: 12px; align-items: flex-start; line-height: 1.5; color: var(--ink); }
.rkpub-ticks .ti { flex: none; margin-top: 3px; font-size: var(--t-small); }
.rkpub-ticks.is-free .ti { color: var(--ease); }
.rkpub-ticks.is-paid .ti { color: var(--accent); }
.rkpub-status { margin-top: 20px; max-width: 74ch; font-size: var(--t-small); line-height: 1.7; color: var(--ink-2); }

.rkpub-foot { margin-top: 0; border-top: 1px solid var(--edge); background: #0c0b08; }
.rkpub-foot .rkpub-band { padding-top: 40px; }
.rkpub-footgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 16px; }
.rkpub-footcol { display: flex; flex-direction: column; gap: 10px; font-size: var(--t-small); }
.rkpub-foothead { font-size: var(--t-micro); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); font-weight: 400; }
.rkpub-foot a { color: var(--ink-2); }
.rkpub-foot a:hover { color: var(--accent-strong); }
.rkpub-footbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding-bottom: 32px; font-size: var(--t-small); color: var(--ink-2); }
.rkpub-footgrid + .rkpub-footbar { margin-top: 32px; border-top: 1px solid var(--edge); padding-top: 24px; }
.rkpub-footmark { display: inline-flex; align-items: center; gap: 10px; }
.rkpub-footcookie { color: var(--ink-3); }
.rkpub-footrow { display: flex; flex-wrap: wrap; gap: 16px; }
.rkpub-footconsent:empty { display: none; }
@media (min-width: 1024px) {
  .rkpub-footgrid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .rkpub-footcookie { margin-inline-start: auto; }
}

@media (min-width: 1024px) {
  .rkpub-h2,
  .rkpub-panel-title,
  .rkpub-founders-title { font-size: var(--t-page); }

  .rkpub-lede,
  .rkpub-voice,
  .rkpub-hero-line,
  .rkpub-review blockquote { font-size: var(--t-lede); }
}
