:root {
  --pool-ground: #FFDBE4;
  --pool-ink: #2A2521;
  --pool-accent: #2B8597;
  --pool-deep: #216675;
  --pool-support: #E0E6E5;
  --pool-surface: #FFFFFF;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; background: var(--pool-surface); color: var(--pool-ink); font-family: 'Junge', Georgia, serif; font-size: 18px; line-height: 1.65; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 5px; transition: background-color .18s, box-shadow .18s, color .18s; }
a:hover { background-color: var(--pool-ground); text-decoration-thickness: 2px; }
a:focus-visible { outline: 3px solid var(--pool-deep); outline-offset: 5px; background: var(--pool-ground); }
::selection { background: var(--pool-ink); color: var(--pool-surface); }
h1, h2, h3, .rpl-name, .rpl-question, .rpl-lane-marker { font-family: 'Amarante', Georgia, serif; font-weight: 400; }
h1, h2, h3, p, figure { margin: 0; }
h1 { font-size: clamp(38px, 4.5vw, 64px); line-height: 1.09; letter-spacing: -.025em; text-wrap: balance; }
h2 { font-size: clamp(29px, 3vw, 42px); line-height: 1.18; }
h3 { font-size: 27px; line-height: 1.25; }
p + p { margin-top: 19px; }
svg { flex-shrink: 0; }
[data-lucide] { display: inline-block; width: 22px; height: 22px; }
.rpl-jump { position: absolute; z-index: 10; top: 10px; left: 16px; padding: 9px 16px; background: var(--pool-surface); clip-path: inset(100%); }
.rpl-jump:focus { clip-path: none; }
.rpl-nameband { width: min(1160px, calc(100% - 64px)); margin: 0 auto; display: grid; grid-template-columns: 65px 12px 1fr; grid-template-rows: 49px 35px; column-gap: 22px; align-items: center; padding-top: 22px; padding-bottom: 22px; }
.rpl-home-link { grid-column: 1; grid-row: 1 / 3; width: fit-content; font-size: 16px; text-decoration: none; }
.rpl-home-link [data-lucide] { display: block; width: 20px; height: 20px; margin-bottom: 3px; }
.rpl-finish-mark { grid-column: 2; grid-row: 1 / 3; width: 12px; height: 76px; background: var(--pool-ink); }
.rpl-name { grid-column: 3; grid-row: 1; display: grid; grid-template-columns: 40% 36% 24%; align-items: baseline; max-width: 825px; font-size: clamp(27px, 3.4vw, 46px); line-height: 1; white-space: nowrap; }
.rpl-words { display: block; }
.rpl-nav { grid-column: 3; grid-row: 2; display: grid; grid-template-columns: 40% 36% 24%; max-width: 825px; font-size: 17px; line-height: 1.3; }
.rpl-nav a { width: fit-content; text-decoration: none; padding: 3px 0; border-bottom: 3px solid transparent; }
.rpl-nav a:hover, .rpl-nav a:focus-visible { background: transparent; border-bottom-color: var(--pool-accent); }
.rpl-homespread { width: 100%; }
.rpl-hero { position: relative; isolation: isolate; min-height: 530px; display: flex; align-items: flex-start; padding: 38px max(48px, calc((100% - 1160px) / 2)) 72px; }
.rpl-photo-finish { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; background-color: var(--pool-support); background-image: url('hero-seam.webp'); background-repeat: no-repeat; background-size: cover; background-position: center; }
.rpl-photo-start, .rpl-photo-return, .rpl-bow { display: none; }
.rpl-hero-copy { width: 594px; max-width: 54%; filter: drop-shadow(12px 12px 0 var(--pool-accent)); }
.rpl-finish-ticket { padding: 28px 32px 34px; border-left: 12px solid var(--pool-ink); background: var(--pool-ground); clip-path: polygon(0 0, 100% 0, 100% calc(100% - 32px), calc(100% - 44px) calc(100% - 32px), calc(100% - 44px) 100%, 0 100%); }
.rpl-home-title { font-size: clamp(44px, 4.3vw, 62px); line-height: 1.1; text-wrap: initial; }
.rpl-opening-lead { max-width: 440px; margin-top: 22px; font-size: 20px; line-height: 1.45; }
.rpl-home-reading { width: min(1160px, calc(100% - 80px)); margin: 0 auto; }
.rpl-owner-position { position: relative; z-index: 1; width: 62%; max-width: 690px; margin: -36px 0 0 auto; padding: 24px 32px 26px; border-left: 8px solid var(--pool-accent); background: var(--pool-support); font-size: 18px; line-height: 1.5; box-shadow: 12px 12px 0 var(--pool-ground); }
.rpl-home-reading > .rpl-replay { margin-top: 66px; }
.rpl-replay { padding-top: 10px; }
.rpl-replay > h2 { max-width: 900px; }
.rpl-question { font-size: 27px; line-height: 1.35; max-width: 860px; margin: 16px 0 48px; }
.rpl-replay-lanes { display: grid; grid-template-columns: 2fr 3fr; gap: 56px; align-items: start; }
.rpl-first, .rpl-harder { position: relative; min-width: 0; padding-top: 20px; border-top: 7px solid var(--pool-ink); }
.rpl-first { padding-right: 10px; }
.rpl-harder { margin-top: -22px; padding: 20px 30px 30px; border-color: var(--pool-accent); background: var(--pool-support); }
.rpl-lane-marker { display: flex; align-items: center; gap: 18px; color: var(--pool-deep); margin-bottom: 18px; }
.rpl-lane-marker span { font-size: 78px; line-height: .95; letter-spacing: -.05em; }
.rpl-harder .rpl-lane-marker span { font-size: 98px; }
.rpl-lane-marker [data-lucide] { width: 28px; height: 28px; }
.rpl-lane-name { margin-bottom: 23px; }
.rpl-first p, .rpl-harder p { font-size: 18px; }
.rpl-judgement { position: relative; margin: 36px -20px 0; padding: 28px 36px 0; border-left: 8px solid var(--pool-ink); background: var(--pool-ground); box-shadow: 12px 12px 0 var(--pool-accent); }
.rpl-judgement h3 { max-width: 880px; font-size: 31px; margin-bottom: 16px; }
.rpl-judgement p { max-width: 920px; }
.rpl-finish-double { height: 28px; margin: 30px -36px 0 -44px; border-top: 3px solid var(--pool-ink); border-bottom: 3px solid var(--pool-ink); background: var(--pool-surface); }
.rpl-method-change { position: relative; margin: 90px -40px 0; padding: 42px 40px 46px; background: var(--pool-deep); color: var(--pool-surface); }
.rpl-method-change h2 { max-width: 760px; border-left: 8px solid var(--pool-ground); padding-left: 24px; }
.rpl-method-prose { margin-top: 25px; max-width: 800px; margin-left: auto; }
.rpl-method-change a:hover, .rpl-method-change a:focus-visible { color: var(--pool-ink); }
.rpl-story-list { margin-top: 78px; }
.rpl-story-links { list-style: none; padding: 0; margin: 38px 0 0; }
.rpl-story-links li { border-top: 2px solid var(--pool-ink); }
.rpl-story-links li:last-child { border-bottom: 2px solid var(--pool-ink); }
.rpl-story-link { display: grid; grid-template-columns: 100px 27% 1fr 30px; gap: 26px; min-height: 148px; padding: 24px 18px 24px 0; text-decoration: none; align-items: center; }
.rpl-story-link:hover, .rpl-story-link:focus-visible { background: var(--pool-ground); box-shadow: 14px 0 0 var(--pool-ground), -14px 0 0 var(--pool-ground); }
.rpl-story-photo { height: 100px; background-color: var(--pool-support); background-size: auto 100%; background-position: 64% center; box-shadow: 6px 6px 0 var(--pool-support); }
.rpl-story-links li:nth-child(even) .rpl-story-photo { background-position: left center; }
.rpl-story-link h3 { font-size: 31px; }
.rpl-story-link [data-lucide] { width: 26px; height: 26px; }
.rpl-story-link p { max-width: 600px; }
.rpl-article { width: min(1100px, calc(100% - 80px)); margin: 28px auto 0; }
.rpl-crumbs { display: flex; gap: 10px; align-items: baseline; font-size: 16px; margin-bottom: 29px; }
.rpl-crumbs span { overflow-wrap: anywhere; }
.rpl-article h1 { max-width: 1040px; font-size: clamp(36px, 4.4vw, 60px); padding-left: 26px; border-left: 10px solid var(--pool-accent); }
.rpl-article-lead { max-width: 780px; margin: 23px 0 0 36px; font-size: 21px; line-height: 1.5; }
.rpl-inner-photo { position: relative; margin: 35px -32px 52px; }
.rpl-inner-crop { height: 240px; background-color: var(--pool-support); background-size: cover; background-position: center; border-left: 14px solid var(--pool-accent); }
.rpl-view-retatrutide { background-image: url('retatrutide-sail.webp'); }
.rpl-view-thymosin-alpha-1 { background-image: url('thymosin-return.webp'); }
.rpl-view-ghk-cu { background-image: url('ghk-surface.webp'); }
.rpl-view-mots-c { background-image: url('mots-ripple.webp'); }
.rpl-view-compare { background-image: url('compare-crossing.webp'); }
.rpl-inner-photo figcaption { position: relative; width: 75%; max-width: 820px; margin: -24px 20px 0 auto; padding: 14px 22px; border-right: 6px solid var(--pool-accent); background: var(--pool-support); font-size: 16px; line-height: 1.5; box-shadow: 8px 8px 0 var(--pool-ground); }
.rpl-article > .rpl-replay { margin-top: 46px; }
.rpl-article-after { max-width: 860px; margin: 60px 0 0 auto; }
.rpl-article-after h2 { position: relative; font-size: 34px; margin-bottom: 23px; padding-left: 22px; border-left: 6px solid var(--pool-accent); }
.rpl-source-list { list-style: none; margin: 48px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 54px; }
.rpl-source-list li { padding: 25px 0 30px; border-top: 5px solid var(--pool-accent); }
.rpl-source-list h2 { font-size: 25px; line-height: 1.35; }
.rpl-source-byline { margin-top: 10px; font-size: 16px; line-height: 1.4; }
.rpl-source-note { margin-top: 13px; font-size: 17px; line-height: 1.55; }
.rpl-read-next { margin-top: 55px; padding: 20px 0; border-top: 2px solid var(--pool-ink); display: flex; flex-wrap: wrap; gap: 14px 28px; font-size: 17px; }
.rpl-read-next [data-lucide] { width: 19px; height: 19px; vertical-align: middle; margin-left: 7px; }
.rpl-foot { width: min(1160px, calc(100% - 80px)); margin: 86px auto 0; padding: 29px 0 35px; border-top: 10px solid var(--pool-accent); }
.rpl-foot > p { max-width: 760px; }
.rpl-foot-nav { display: flex; flex-wrap: wrap; gap: 15px 28px; margin: 20px 0 25px; font-size: 16px; }
.rpl-copyright { font-size: 16px; }
.rpl-notfound { width: min(900px, calc(100% - 80px)); margin: 70px auto; }
.rpl-notfound p { margin: 25px 0; max-width: 650px; }
@media (max-width: 1100px) and (min-width: 701px) {
  .rpl-hero { min-height: 490px; padding-left: 40px; padding-right: 40px; }
  .rpl-hero-copy { max-width: 60%; }
  .rpl-home-title { font-size: 46px; }
  .rpl-replay-lanes { gap: 32px; }
  .rpl-story-link { grid-template-columns: 80px 26% 1fr 24px; gap: 18px; }
  .rpl-story-photo { height: 90px; }
  .rpl-story-link h3 { font-size: 28px; }
}
@media (min-width: 1500px) {
  .rpl-hero { min-height: 580px; }
}
@media (max-width: 700px) {
  body { font-size: 17px; line-height: 1.6; }
  .rpl-nameband { width: calc(100% - 32px); grid-template-columns: 38px 8px 1fr; grid-template-rows: 33px 27px; column-gap: 10px; padding-top: 9px; padding-bottom: 9px; height: 78px; }
  .rpl-finish-mark { width: 8px; height: 60px; }
  .rpl-home-link { font-size: 16px; line-height: 1.2; }
  .rpl-home-link [data-lucide] { width: 18px; height: 18px; margin-bottom: 5px; }
  .rpl-name { font-size: 23px; grid-template-columns: 40% 36% 24%; }
  .rpl-nav { font-size: 16px; }
  .rpl-nav a { padding-top: 3px; padding-bottom: 2px; }
  .rpl-hero { min-height: 0; display: flex; flex-direction: column; padding: 25px 0 0; background: var(--pool-ground); }
  .rpl-hero-copy { width: calc(100% - 60px); max-width: none; margin: 0 auto 24px; filter: none; }
  .rpl-finish-ticket { border-left: 7px solid var(--pool-ink); padding: 0 0 0 17px; clip-path: none; }
  .rpl-home-title { font-size: 34px; line-height: 1.14; letter-spacing: -.025em; }
  .rpl-opening-lead { margin-top: 17px; font-size: 18px; line-height: 1.45; }
  .rpl-photo-finish { position: relative; z-index: 0; inset: auto; width: 330px; max-width: calc(100% - 48px); height: 170px; margin: 0 auto; display: grid; grid-template-columns: 58px 1fr; gap: 44px; background: var(--pool-ground); }
  .rpl-photo-finish::before, .rpl-photo-finish::after { content: ''; position: absolute; z-index: -1; top: 0; bottom: 0; width: max(24px, calc((100vw - 330px) / 2)); background-image: url('hero-seam.webp'); background-size: auto 170px; }
  .rpl-photo-finish::before { right: 100%; background-position: left center; }
  .rpl-photo-finish::after { left: 100%; background-position: right center; }
  .rpl-photo-start, .rpl-photo-return { display: block; background-color: var(--pool-support); background-image: url('hero-seam.webp'); background-repeat: no-repeat; background-size: auto 170px; }
  .rpl-photo-start { background-position: left center; }
  .rpl-photo-return { background-position: right center; }
  .rpl-bow { display: block; position: absolute; left: 68px; top: 91px; width: 24px; height: 50px; object-fit: cover; clip-path: polygon(0 22%, 100% 0, 85% 100%, 10% 75%); }
  .rpl-home-reading { width: calc(100% - 60px); display: grid; grid-template-columns: 1fr; }
  .rpl-home-reading > .rpl-replay { grid-row: 1; margin-top: 34px; }
  .rpl-owner-position { grid-row: 2; width: auto; margin: 38px 0 0; padding: 18px 16px; font-size: 17px; border-left-width: 5px; box-shadow: 7px 7px 0 var(--pool-ground); }
  h2 { font-size: 29px; line-height: 1.22; }
  h3 { font-size: 23px; }
  .rpl-question { font-size: 23px; margin: 15px 0 28px; line-height: 1.3; }
  .rpl-replay-lanes { grid-template-columns: 2fr 3fr; gap: 18px; }
  .rpl-first, .rpl-harder { padding: 15px 0 0; border-top-width: 5px; }
  .rpl-harder { margin-top: 0; padding: 15px 12px 18px; }
  .rpl-lane-marker { gap: 10px; margin-bottom: 16px; }
  .rpl-lane-marker span, .rpl-harder .rpl-lane-marker span { font-size: 54px; }
  .rpl-lane-marker [data-lucide] { width: 21px; height: 21px; }
  .rpl-lane-name { font-size: 22px; margin-bottom: 17px; overflow-wrap: break-word; }
  .rpl-first p, .rpl-harder p { font-size: 17px; line-height: 1.55; hyphens: auto; overflow-wrap: break-word; }
  p + p { margin-top: 17px; }
  .rpl-judgement { margin: 28px 0 0; padding: 22px 18px 0; border-left-width: 5px; box-shadow: 7px 7px 0 var(--pool-accent); }
  .rpl-judgement h3 { font-size: 26px; }
  .rpl-finish-double { height: 24px; margin: 24px -18px 0 -23px; }
  .rpl-method-change { grid-row: 3; margin: 55px -14px 0; padding: 28px 20px 30px; }
  .rpl-method-change h2 { padding-left: 15px; border-left-width: 5px; }
  .rpl-method-prose { margin-top: 22px; }
  .rpl-story-list { grid-row: 4; margin-top: 50px; }
  .rpl-story-links { margin-top: 28px; }
  .rpl-story-link { grid-template-columns: 60px 1fr 22px; min-height: 0; padding: 22px 0; gap: 12px 14px; align-items: start; }
  .rpl-story-photo { grid-column: 1; grid-row: 1; height: 70px; box-shadow: 4px 4px 0 var(--pool-support); }
  .rpl-story-link h3 { font-size: 26px; grid-column: 2; align-self: center; }
  .rpl-story-link p { grid-column: 1 / -1; grid-row: 2; }
  .rpl-story-link [data-lucide] { width: 22px; height: 22px; grid-column: 3; grid-row: 1; align-self: center; }
  .rpl-story-link:hover, .rpl-story-link:focus-visible { box-shadow: 8px 0 0 var(--pool-ground), -8px 0 0 var(--pool-ground); }
  .rpl-article { width: calc(100% - 48px); margin-top: 25px; }
  .rpl-crumbs { font-size: 16px; margin-bottom: 24px; }
  .rpl-article h1 { font-size: 36px; line-height: 1.15; padding-left: 17px; border-left-width: 6px; }
  .rpl-article-lead { margin: 19px 0 0; font-size: 19px; }
  .rpl-inner-photo { margin: 28px -8px 36px; }
  .rpl-inner-crop { height: 160px; border-left-width: 8px; }
  .rpl-inner-photo figcaption { width: calc(100% - 24px); margin: -12px 0 0 auto; padding: 12px 14px; font-size: 16px; box-shadow: 5px 5px 0 var(--pool-ground); border-right-width: 4px; }
  .rpl-article > .rpl-replay { margin-top: 32px; }
  .rpl-article-after { margin-top: 44px; }
  .rpl-article-after h2 { font-size: 29px; padding-left: 16px; border-left-width: 4px; }
  .rpl-source-list { grid-template-columns: 1fr; margin-top: 38px; }
  .rpl-source-list h2 { font-size: 25px; }
  .rpl-source-list li { padding: 23px 0; }
  .rpl-read-next { margin-top: 42px; font-size: 17px; }
  .rpl-foot { width: calc(100% - 48px); margin-top: 58px; padding-top: 24px; }
  .rpl-notfound { width: calc(100% - 48px); margin-top: 40px; }
  .rpl-notfound h1 { font-size: 36px; }
}
@media (max-width: 360px) {
  .rpl-name { font-size: 20px; }
  .rpl-hero-copy, .rpl-home-reading { width: calc(100% - 40px); }
  .rpl-home-title { font-size: 32px; }
  .rpl-photo-finish::before, .rpl-photo-finish::after { width: 24px; }
  .rpl-replay-lanes { gap: 14px; }
  .rpl-first p, .rpl-harder p { font-size: 16px; }
  .rpl-lane-marker span, .rpl-harder .rpl-lane-marker span { font-size: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none; }
}
