/* Fonts, self-hosted (Security 1019d W-1): Sora and JetBrains Mono, OFL (licences in ../fonts/) */
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/sora-400.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/sora-ext-400.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/sora-600.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/sora-ext-600.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/sora-700.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/sora-ext-700.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/sora-800.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/sora-ext-800.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/jetbrains-mono-400.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/jetbrains-mono-ext-400.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 600 700; font-display: swap; src: url('../fonts/jetbrains-mono-700.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 600 700; font-display: swap; src: url('../fonts/jetbrains-mono-ext-700.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

/* ============================================================================
   WELL RUN · SIGNAL SYSTEM — WR SCORE · CORE
   Namespace: .sch-* (the WR Score site, score.well.run) · state .is-*
   The site's shared layer: page tokens, type atoms, surfaces, the home page's
   sections, and the components every feature page reuses. A feature page
   adds its own file (score-<page>.css, blocks .sch-<code>-*).
   Built on Signal Core tokens in global.css (loaded from the well.run shell),
   with Signal Press (.wr-btn), Signal Cutaway (.wr-cutaway) and Signal FX
   (data-card-fx) from the same libraries. Header/footer: Signal Shell.
   Light site; the one dark surface per page is the closing call to action.
   ============================================================================ */

/* ── Page tokens ─────────────────────────────────────────────────────────── */
.sch-page {
  --sch-band-top:  #17120C;
  --sch-mono:      'Sora', system-ui, sans-serif;   /* owner 25 Oct 09:50: one font, Sora, everywhere (was JetBrains Mono) */
  --sch-pad-y:     clamp(48px, 6vw, 80px);
  --sch-t-label:   12px;
  --sch-t-body:    clamp(16px, 0.35vw + 13px, 18px);
  --sch-t-card:    clamp(20px, 0.6vw + 13px, 24px);
  --sch-t-card-lg: clamp(24px, 1vw + 12px, 32px);
  --sch-t-h2:      clamp(34px, 2.6vw + 14px, 50px);
  --sch-t-display: clamp(46px, 4.8vw + 12px, 80px);
  --sch-run-card-h: 560px;
  background: var(--wr-white);
  color: var(--wr-black);
}
@media (min-width: 1700px) {
  .sch-page { --sch-t-h2: 56px; --sch-t-display: 88px; }
}
@media (min-width: 2200px) {
  .sch-page { --sch-t-h2: 64px; }
}

/* ── Shell additions: light-page header + skip link ─────────────────────── */
/* The nav keeps its light chrome throughout (set in score-shell.js); the
   gradient top bar stays folded, as on well.run's other light pages. */
.sch-page #siteHeader.is-topbar-hidden #topBar { height: 0; opacity: 0; overflow: hidden; pointer-events: none; }

.wr-skip {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 100000;
  padding: 12px 20px;
  border-radius: var(--wr-radius-pill);
  background: var(--wr-black);
  color: var(--wr-white);
  font-size: 14px;
  font-weight: 700;
  transform: translateY(-160%);
  transition: transform 0.24s var(--wr-ease-out);
}
.wr-skip:focus-visible { transform: none; outline: 2px solid var(--wr-orange); outline-offset: 3px; }

.sch-page a:focus-visible,
.sch-page button:focus-visible,
.sch-page input:focus-visible {
  outline: 2px solid var(--wr-orange);
  outline-offset: 3px;
  border-radius: var(--wr-radius-sm);
}

/* ── Type atoms ──────────────────────────────────────────────────────────── */
.sch-wrap { max-width: var(--wr-max-width); margin: 0 auto; width: 100%; }

.sch-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--sch-mono);
  font-size: var(--sch-t-label);
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--wr-black-72);
}
.sch-kicker::before {
  content: "";
  width: 22px;
  height: 2px;
  flex-shrink: 0;
  border-radius: var(--wr-radius-pill);
  background: var(--wr-grad);
}
.sch-label {
  font-family: var(--sch-mono);
  font-size: var(--sch-t-label);
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--wr-black-72);
}
.sch-label--accent { color: var(--wr-orange); }
/* a small plain line under the keys (Audit 1025: no letter-spaced capitals) */
.sch-note { font-size: clamp(14px, 0.2vw + 12px, 15px); font-weight: 600; line-height: 1.5; color: var(--wr-black-72); }

.sch-h1 { font-size: var(--sch-t-display); line-height: 1; font-weight: 800; letter-spacing: -0.035em; }
.sch-h2 { font-size: var(--sch-t-h2); line-height: 1.06; font-weight: 800; letter-spacing: -0.03em; }
.sch-h3 { font-size: var(--sch-t-card-lg); line-height: 1.12; font-weight: 800; letter-spacing: -0.025em; }
.sch-h4 { font-size: var(--sch-t-card); line-height: 1.3; font-weight: 700; letter-spacing: -0.01em; }
.sch-h1, .sch-h2, .sch-h3, .sch-h4 { hyphens: none; overflow-wrap: break-word; }

.sch-body   { font-size: var(--sch-t-body); line-height: 1.6; color: var(--wr-black-72); }
.sch-for    { font-size: var(--sch-t-body); line-height: 1.6; font-style: italic; color: var(--wr-black-72); }
.sch-strong { font-size: var(--sch-t-body); line-height: 1.4; font-weight: 700; color: var(--wr-black); }
.sch-strong--x { font-weight: 800; }
.sch-strong--caps { text-transform: uppercase; font-weight: 800; }

.sch-fig {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
}
.sch-fig--mono { font-family: var(--sch-mono); font-weight: 600; letter-spacing: 0; }
.sch-fig--body { font-size: var(--sch-t-body); }
.sch-fig--h2   { font-size: var(--sch-t-h2); }

/* Tick list */
.sch-tick { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.sch-tick li { display: flex; gap: 12px; align-items: flex-start; }
.sch-tick li::before {
  content: "";
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 5px;
  background: var(--wr-black);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") no-repeat center / 18px;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") no-repeat center / 18px;
}
.sch-tick--accent li::before { background: var(--wr-orange); }
.sch-tick--roomy { gap: 16px; }
.sch-tick b { color: var(--wr-black); font-weight: 700; }

/* Surfaces */
.sch-card {
  background: var(--wr-card-bg);
  border: 1px solid var(--wr-card-border);
  border-radius: var(--wr-radius-card);
}
.sch-card--solid { background: var(--wr-white); }

/* Brand Plate — labelled stand-in until the real photo or screen exists.
   Add .is-photo + an inline background-image to swap in the picture. */
.sch-plate {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: var(--wr-black-04);
  background-image: repeating-linear-gradient(135deg, var(--wr-black-03) 0 12px, transparent 12px 24px);
  background-size: auto;
  background-position: center;
}
.sch-plate.is-photo { background-size: cover; }
.sch-plate.is-photo > .sch-plate__label { display: none; }
/* The photo's alt text, for screen readers only. */
.sch-plate__alt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sch-plate__label {
  position: absolute;
  top: 12px;
  left: 12px;
  font-family: var(--sch-mono);
  font-size: var(--sch-t-label);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--wr-black-72);
  text-align: left;
}
.sch-plate__label--right { left: auto; right: 12px; text-align: right; }
.sch-plate__label--low { top: 48px; left: 24px; }

.sch-tag {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 14px;
  border-radius: var(--wr-radius-pill);
  border: 1px solid var(--wr-black-15);
}
.sch-tag--light { border-color: var(--wr-white-38); color: var(--wr-white); }
.sch-tags { display: flex; flex-wrap: wrap; gap: 8px; }

.sch-chip {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 16px;
  border-radius: var(--wr-radius-pill);
  border: 1px solid var(--wr-card-border);
}
.sch-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--wr-orange); flex-shrink: 0; }
.sch-state { display: inline-flex; align-items: center; gap: 8px; }
.sch-icon { width: 24px; height: 24px; flex-shrink: 0; }
.sch-yfill { fill: var(--wr-yellow); }

/* Shared section rhythm */
.sch-sec { padding: 0 var(--wr-pad-x) var(--sch-pad-y); }
.sch-sec--head { padding: var(--sch-pad-y) var(--wr-pad-x) 40px; }
.sch-sec--tight { padding-bottom: 16px; }
.sch-stack { display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
.sch-split {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr));
  gap: clamp(48px, 6vw, 80px);
  align-items: center;
}
.sch-split--close { gap: clamp(40px, 5vw, 80px); }

/* ── 1 · Hero ────────────────────────────────────────────────────────────── */
.sch-hero {
  position: relative;
  min-height: clamp(680px, 100svh, 900px);
  display: flex;
  align-items: center;
  text-align: left;
  padding: 136px var(--wr-pad-x) 120px;
}
.sch-hero__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--wr-white-95) 0%, var(--wr-white-95) 38%, var(--wr-white-38) 68%, var(--wr-white-10) 100%);
}
.sch-hero__fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 30%;
  background: linear-gradient(180deg, transparent 0%, var(--wr-white) 100%);
}
.sch-hero > .sch-plate__label { top: 128px; left: auto; right: var(--wr-pad-x); }
.sch-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr));
  gap: clamp(48px, 6vw, 80px);
  align-items: center;
}
.sch-hero__copy { display: flex; flex-direction: column; gap: 32px; align-items: flex-start; }
.sch-hero__copy .sch-body { max-width: 600px; }
.sch-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.sch-hero__stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  max-width: 560px;
  justify-self: end;
}
.sch-device {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px 40px;
  border-radius: var(--wr-radius-pill);
  box-shadow: var(--wr-shadow-md);
}
.sch-device__name { display: flex; flex-direction: column; gap: 4px; flex-grow: 1; min-width: 0; }
.sch-device__read { display: flex; flex-direction: column; gap: 4px; align-items: flex-end; }

/* ── 2 · Works-with strip ───────────────────────────────────────────────── */
.sch-strip { position: relative; margin-top: -80px; padding: 0 var(--wr-pad-x); }
.sch-strip__card {
  position: relative;
  padding: 32px 0;
  border-radius: var(--wr-radius-pill);
  box-shadow: var(--wr-shadow-md);
  font-size: var(--sch-t-card-lg);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--wr-black-72);
}
@property --sch-spark { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
.sch-strip__card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1.5px;
  background: conic-gradient(from var(--sch-spark), transparent 0turn, transparent 0.8turn, var(--wr-yellow) 0.92turn, var(--wr-orange) 0.99turn, transparent 1turn);
  -webkit-mask: linear-gradient(black 0 0) content-box, linear-gradient(black 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(black 0 0) content-box exclude, linear-gradient(black 0 0);
  animation: schSpark 9s linear infinite;
  pointer-events: none;
}
@keyframes schSpark { to { --sch-spark: 360deg; } }
.sch-marquee {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 14%, black 86%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0%, black 14%, black 86%, transparent 100%);
}
.sch-marquee__track { display: flex; width: max-content; animation: schMarquee 48s linear infinite; }
.sch-marquee__set { display: flex; align-items: center; gap: 64px; padding-right: 64px; }
@keyframes schMarquee { from { transform: translateX(-50%); } to { transform: translateX(0); } }

/* ── 3 · Intro ───────────────────────────────────────────────────────────── */
.sch-intro .sch-body { max-width: 800px; }

/* ── 4 · Feature run ─────────────────────────────────────────────────────── */
.sch-run { position: relative; padding-bottom: var(--sch-pad-y); }
.sch-run__pin {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}
.sch-run__pin::-webkit-scrollbar { display: none; }
.sch-run__track {
  display: flex;
  gap: 16px;
  width: max-content;
  padding-left: max(var(--wr-pad-x), calc((100vw - var(--wr-max-width)) / 2));
  padding-right: var(--wr-pad-x);
}
.sch-run__card {
  flex: 0 0 auto;
  width: clamp(300px, 22vw, 400px);
  height: var(--sch-run-card-h);
  border-radius: var(--wr-radius-card);
  overflow: hidden;
  scroll-snap-align: start;
  scroll-margin-left: var(--wr-pad-x);
}
.sch-run__card.sch-plate { align-items: flex-end; }
.sch-run__card.sch-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 32px;
  padding: 32px;
}
.sch-run__info {
  position: relative;
  width: 100%;
  padding: 48px 24px 24px;
  background: linear-gradient(0deg, var(--wr-hero-72) 0%, transparent 100%);
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  text-align: left;
}
.sch-run__info .sch-h4 { color: var(--wr-white); }
.sch-run__marks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: center;
}

/* Pinned run: the track slides left while the section scrolls past. */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) and (min-width: 1025px) {
    .sch-run { height: 380vh; padding-bottom: 0; view-timeline-name: --schRun; view-timeline-axis: block; }
    .sch-run__pin {
      position: sticky;
      top: 0;
      height: 100vh;
      display: flex;
      align-items: center;
      overflow: hidden;
    }
    .sch-run__track {
      animation: schSlide linear both;
      animation-timeline: --schRun;
      animation-range: contain 0% contain 100%;
    }
    .sch-page { --sch-run-card-h: clamp(440px, 62vh, 560px); }
  }
}
@keyframes schSlide { from { transform: translateX(0); } to { transform: translateX(calc(-100% + 100vw)); } }

/* ── 5 · Topics (one app, every device / more time) ─────────────────────── */
.sch-topics__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: 16px;
}
.sch-topics__side { display: grid; grid-template-rows: auto 1fr; gap: 16px; }
.sch-picks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.sch-pick {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 24px;
  border-radius: var(--wr-radius-card);
  border: 2px solid var(--wr-card-border);
  background: var(--wr-card-bg);
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform 0.24s var(--wr-ease-out), opacity 0.24s var(--wr-ease-out);
}
.sch-pick.is-on {
  border-color: transparent;
  background: linear-gradient(var(--wr-white), var(--wr-white)) padding-box, var(--wr-grad) border-box;
}
.sch-pick.is-off { opacity: 0.45; }
@media (hover: hover) and (pointer: fine) {
  .sch-pick:hover { transform: translateY(-2px); }
  .sch-pick.is-off:hover { opacity: 0.7; }
}
.sch-swaps { display: grid; align-items: center; }
.sch-swap {
  grid-area: 1 / 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: flex-start;
  transition: opacity 0.32s var(--wr-ease-out);
}
.sch-swap.is-off { opacity: 0; visibility: hidden; }
.sch-topics__card { padding: clamp(32px, 3vw, 48px); }

/* Gallery slider (plate + progress bars + caption) */
.sch-slider {
  overflow: hidden;
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
  border-radius: var(--wr-radius-card);
  min-height: 480px;
}
.sch-slider--tall { min-height: 560px; }
.sch-slider__bars {
  position: absolute;
  top: 24px;
  left: 24px;
  right: 24px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.sch-slider__bar { height: 3px; border-radius: var(--wr-radius-pill); background: var(--wr-black-15); }
.sch-slider__bar.is-on { background: var(--wr-black); }
.sch-slider__info {
  position: relative;
  width: 100%;
  padding: 64px 32px 32px;
  background: linear-gradient(0deg, var(--wr-hero-72) 0%, transparent 100%);
  display: grid;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.32s var(--wr-ease-out), transform 0.32s var(--wr-ease-out);
}
.sch-slider__info .sch-strong { color: var(--wr-white); }
.sch-slider:hover .sch-slider__info,
.sch-slider:focus-within .sch-slider__info { opacity: 1; transform: none; }
@media (hover: none) { .sch-slider__info { opacity: 1; transform: none; } }

/* ── Photo breaks ───────────────────────────────────────────────────────── */
.sch-break__plate { height: clamp(320px, 33vw, 640px); border-radius: var(--wr-radius-card); }

/* ── 6 · Scoreboard app ─────────────────────────────────────────────────── */
.sch-demo { display: flex; flex-direction: column; gap: 24px; }
.sch-demo__row { display: flex; gap: 16px; align-items: flex-end; }
.sch-board {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  padding: 24px 32px;
  box-shadow: var(--wr-shadow-md);
}
.sch-board__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--wr-black-10);
}
.sch-board__row:last-child { border-bottom: 0; }
.sch-board__team { display: flex; flex-direction: column; gap: 4px; }
.sch-phone {
  width: 28%;
  flex-shrink: 0;
  aspect-ratio: 9 / 18;
  border-radius: var(--wr-radius-card);
  padding: 12px;
}
.sch-pills { display: flex; gap: 8px; flex-wrap: wrap; }
.sch-pill {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 20px;
  border-radius: var(--wr-radius-pill);
  border: 1px solid var(--wr-black-15);
  background: transparent;
  color: var(--wr-black);
  font-family: var(--wr-font);
  font-size: var(--sch-t-label);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 0.2s var(--wr-ease-out);
}
.sch-pill.is-on { background: var(--wr-black); color: var(--wr-white); border-color: var(--wr-black); }
@media (hover: hover) and (pointer: fine) { .sch-pill:hover { transform: translateY(-1px); } }

/* ── 7 · Scoreboard OCR ─────────────────────────────────────────────────── */
.sch-ocr__steps { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.sch-ocr__steps .wr-btn--link { margin-left: 16px; }
.sch-cam { display: flex; flex-direction: column; gap: 16px; }
.sch-cam__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.sch-cam__view {
  aspect-ratio: 16 / 10;
  border-radius: var(--wr-radius-card);
  gap: 24px;
  padding: 48px 24px 24px;
}
.sch-zone { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.sch-zone__box { border: 1.5px dashed var(--wr-orange); border-radius: var(--wr-radius-sm); padding: 8px 12px; }
.sch-cam__read {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--wr-black-10);
}
.sch-cam__cell { display: flex; flex-direction: column; gap: 4px; }

/* ── 8 · Live stream ─────────────────────────────────────────────────────── */
.sch-live__card {
  padding: clamp(32px, 3vw, 48px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr));
  gap: 48px;
  align-items: center;
}
.sch-live__view { aspect-ratio: 16 / 10; border-radius: var(--wr-radius-sm); }
.sch-live__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: var(--wr-radius-pill);
  background: var(--wr-white);
  color: var(--wr-black);
  box-shadow: var(--wr-shadow-sm);
}
.sch-bug {
  position: absolute;
  left: 6%;
  right: 6%;
  bottom: 12%;
  display: grid;
  grid-template-columns: 1fr auto auto auto 1fr;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  border-radius: var(--wr-radius-sm);
  background: var(--wr-white);
  box-shadow: var(--wr-shadow-md);
}
.sch-bug__home { text-align: right; }
.sch-live__note { display: flex; align-items: center; gap: 16px; align-self: stretch; }
.sch-live__rule { flex-grow: 1; min-width: 40px; height: 1.5px; background: var(--wr-black-50); }

/* ── 9 · Graphics + Radio ───────────────────────────────────────────────── */
.sch-duo { display: flex; flex-direction: column; gap: 16px; }
.sch-duo__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.sch-duo__card {
  padding: clamp(32px, 3vw, 48px);
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: flex-start;
}
.sch-duo__card .wr-btn--link { margin-top: auto; }

/* Photo gallery */
.sch-gallery {
  display: grid;
  grid-template-columns: 5fr 3fr 4fr 3fr 5fr;
  gap: 16px;
  height: clamp(240px, 22vw, 400px);
}
.sch-gallery .sch-plate { border-radius: var(--wr-radius-card); padding: 16px; }

/* ── 10 · Tournament software ───────────────────────────────────────────── */
.sch-tour { padding: 0 var(--wr-pad-x) 48px; }
.sch-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.sch-steps__list { display: flex; flex-direction: column; gap: 12px; }
.sch-step {
  border: 1px solid transparent;
  border-radius: var(--wr-radius-pill);
  background: var(--wr-card-bg);
}
.sch-step.is-open {
  background: var(--wr-white);
  border-color: var(--wr-card-border);
  border-radius: var(--wr-radius-card);
  box-shadow: var(--wr-shadow-sm);
}
.sch-step__q {
  display: flex;
  align-items: center;
  gap: 24px;
  width: 100%;
  padding: 32px;
  background: none;
  border: 0;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.sch-step__q .sch-h3 { flex-grow: 1; }
.sch-step__icon { width: 24px; height: 24px; flex-shrink: 0; transition: transform 0.24s var(--wr-ease-out); }
.sch-step.is-open .sch-step__icon { transform: rotate(180deg); }
.sch-step__panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  min-height: 120px;
  padding: 0 32px 32px;
}
.sch-step__panel[hidden] { display: none; }
.sch-steps__view { border-radius: var(--wr-radius-card); min-height: 640px; padding: 64px; }
.sch-steps__screen {
  position: relative;
  display: grid;
  width: 100%;
  max-width: 480px;
  padding: 48px;
  box-shadow: var(--wr-shadow-md);
}
.sch-steps__screen .sch-swap { align-items: center; gap: 24px; }
.sch-tourcta {
  padding: 40px 48px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}

/* ── Break with a call to action + the panel that rises over it ─────────── */
.sch-band { padding: 0; }
.sch-band__plate {
  height: clamp(560px, 50vw, 960px);
  flex-direction: column;
  gap: 24px;
  padding: 48px 48px 96px;
  overflow: hidden;
  border-radius: var(--wr-radius-card) var(--wr-radius-card) 0 0;
}
.sch-band__veil { position: absolute; inset: 0; background: var(--wr-hero-50); }
.sch-band__plate > .sch-plate__label { color: var(--wr-white); }
.sch-band__plate .sch-h2 { position: relative; max-width: 960px; color: var(--wr-white); }
.sch-band__plate .sch-body { position: relative; color: var(--wr-white); }
.sch-band__plate .wr-btn--ghost { color: var(--wr-white); border-color: var(--wr-white-38); }
@media (hover: hover) and (pointer: fine) {
  .sch-band__plate .wr-btn--ghost:hover { border-color: var(--wr-white); }
}
.sch-rise {
  position: relative;
  margin-top: -48px;
  background: var(--wr-white);
  border-radius: var(--wr-radius-card) var(--wr-radius-card) 0 0;
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .sch-band__plate { padding-bottom: 288px; }
    .sch-rise {
      margin-top: -240px;
      animation: schRise linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 100%;
    }
  }
}
@keyframes schRise { from { transform: translateY(240px); } to { transform: translateY(0); } }

/* ── 12 · Who it is for ─────────────────────────────────────────────────── */
.sch-who__head .sch-h2 { max-width: 900px; }
.sch-who { display: flex; flex-direction: column; gap: 40px; }
.sch-who__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.sch-who__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 32px;
  background: var(--wr-white);
  transition: transform 0.28s var(--wr-ease-out), box-shadow 0.28s var(--wr-ease-out);
}
.sch-who__card .sch-h4 { font-weight: 800; }
.sch-who__card::after {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1.5px;
  background: radial-gradient(ellipse 95% 70% at 0% 100%, var(--wr-orange) 0%, var(--wr-yellow) 45%, transparent 75%);
  -webkit-mask: linear-gradient(black 0 0) content-box, linear-gradient(black 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(black 0 0) content-box exclude, linear-gradient(black 0 0);
  opacity: 0;
  transition: opacity 0.32s var(--wr-ease-out);
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .sch-who__card:hover { transform: translateY(-4px); box-shadow: var(--wr-shadow-md); z-index: 1; }
  .sch-who__card:hover::after { opacity: 1; }
}
.sch-who__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px 32px; }

/* ── 13 · How it works ──────────────────────────────────────────────────── */
.sch-how { display: flex; flex-direction: column; gap: 48px; align-items: center; text-align: center; }
.sch-how__figure { position: relative; width: min(100%, 960px); padding-bottom: 4%; }
.sch-how__laptop { margin-left: 16%; aspect-ratio: 16 / 10; border-radius: var(--wr-radius-card); }
.sch-how__phone {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 24%;
  aspect-ratio: 9 / 18;
  border-radius: var(--wr-radius-card);
  padding: 12px;
  box-shadow: var(--wr-shadow-md);
}
.sch-how__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; width: 100%; }
.sch-how__step { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.sch-how__step .sch-fig { font-size: var(--sch-t-h2); }

/* ── 14 · Why we built WR Score ─────────────────────────────────────────── */
.sch-why__quote { position: relative; }
.sch-why__mark {
  position: absolute;
  left: -48px;
  top: -96px;
  width: 260px;
  pointer-events: none;
}
.sch-why__quote p {
  position: relative;
  font-size: var(--sch-t-card-lg);
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: -0.015em;
}
.sch-plate-bg {
  background-color: var(--wr-black-04);
  background-image: repeating-linear-gradient(135deg, var(--wr-black-03) 0 12px, transparent 12px 24px);
  background-size: auto;
}
.sch-why__byline { display: flex; align-items: center; gap: 16px; }
.sch-why__avatar { width: 48px; height: 48px; border-radius: 50%; flex-shrink: 0; }
.sch-why__byline > div { display: flex; flex-direction: column; gap: 4px; }
.sch-why__photo { display: flex; flex-direction: column; align-items: center; gap: 16px; }

/* ── 15 · Leagues & federations ─────────────────────────────────────────── */
.sch-league__plate { aspect-ratio: 4 / 3; border-radius: var(--wr-radius-card); }
.sch-league .sch-tick { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 32px; width: 100%; }

/* ── 16 · Sports ─────────────────────────────────────────────────────────── */
.sch-sports { display: flex; flex-direction: column; gap: 32px; }
.sch-sports__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 6px;
  border-radius: var(--wr-radius-card);
  overflow: hidden;
}
.sch-sport { grid-column: span 4; aspect-ratio: 16 / 10; align-items: flex-end; justify-content: flex-start; padding: 12px; text-decoration: none; }
.sch-sport__name {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: var(--wr-radius-pill);
  background: var(--wr-white-95);
  color: var(--wr-black);
  font-size: var(--sch-t-body);
  font-weight: 700;
}
.sch-sport__name svg { width: 18px; height: 18px; transition: transform 0.24s var(--wr-ease-out); }
@media (hover: hover) and (pointer: fine) { .sch-sport:hover .sch-sport__name svg { transform: translateX(3px); } }

/* ── 17 · Plans ──────────────────────────────────────────────────────────── */
.sch-plans { max-width: 1600px; display: flex; flex-direction: column; gap: 40px; }
.sch-plans__head { display: flex; flex-direction: column; gap: 24px; align-items: center; text-align: center; }
.sch-plans__head .sch-body { max-width: 680px; }
.sch-plans__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
  padding-top: 16px;
}
.sch-plan {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 40px 32px 32px;
  border-radius: var(--wr-radius-card);
  border: 1px solid var(--wr-card-border);
  background: transparent;
}
.sch-plan--chosen {
  border: 2px solid transparent;
  background: linear-gradient(var(--wr-white), var(--wr-white)) padding-box, var(--wr-grad) border-box;
}
.sch-plan--dark {
  border-color: var(--wr-white-10);
  background: linear-gradient(160deg, var(--wr-hero) 40%, color-mix(in srgb, var(--wr-orange) 55%, var(--wr-hero)) 100%);
  color: var(--wr-white);
}
.sch-plan__badge {
  position: absolute;
  top: -14px;
  left: 32px;
  padding: 4px 14px;
  border-radius: var(--wr-radius-pill);
  background: var(--wr-grad);
  color: var(--wr-black);
}
.sch-plan__price { display: flex; flex-direction: column; gap: 12px; }
.sch-plan__amount { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.sch-plan__amount .sch-fig { font-size: var(--sch-t-h2); letter-spacing: -0.035em; }
.sch-plan__rule { height: 1px; background: var(--wr-black-10); }
.sch-plan .sch-tick { color: var(--wr-black); }
.sch-plan .wr-btn {
  margin-top: auto;
  min-height: 52px;
  padding: 12px 24px;
  font-size: var(--sch-t-label);
  line-height: 1.25;
  text-align: center;
  white-space: normal;
}
.sch-plan--dark .sch-label,
.sch-plan--dark .sch-body { color: var(--wr-white-65); }
.sch-plan--dark .sch-plan__rule { background: var(--wr-white-10); }
.sch-plan--dark .sch-tick { color: var(--wr-white); }
.sch-plan--dark .wr-btn--ghost { color: var(--wr-white); border-color: var(--wr-white-38); }
@media (hover: hover) and (pointer: fine) {
  .sch-plan--dark .wr-btn--ghost:hover { border-color: var(--wr-white); }
}
.sch-plans__note { text-align: center; }

/* ── 18 · Questions + ask your own ──────────────────────────────────────── */
.sch-faq { padding: 0 var(--wr-pad-x); }
.sch-faq__wrap { display: flex; flex-direction: column; gap: 48px; }
.sch-faq__wrap > .sch-h2 { text-align: center; }
.sch-faq__list { display: flex; flex-direction: column; }
.sch-faq__item { border-bottom: 1px solid var(--wr-black-10); }
.sch-faq__item:last-child { border-bottom: 0; }
.sch-faq__q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  width: 100%;
  padding: 32px 4px 32px 0;
  background: none;
  border: 0;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.sch-faq__icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--wr-orange);
  transition: transform 0.24s var(--wr-ease-out);
}
.sch-faq__item.is-open .sch-faq__icon { transform: rotate(45deg); }
.sch-faq__a { padding-bottom: 32px; max-width: 960px; }
.sch-faq__a[hidden] { display: none; }
.sch-faq__item.is-asking .sch-faq__a { opacity: 0.6; }

.sch-ask { display: flex; gap: 12px; padding-top: 32px; }
.sch-ask__input {
  flex-grow: 1;
  min-width: 0;
  min-height: 52px;
  padding: 0 24px;
  border: 0;
  border-radius: var(--wr-radius-pill);
  background: var(--wr-card-bg);
  font: inherit;
  font-size: var(--sch-t-body);
  color: var(--wr-black);
}
.sch-ask__input::placeholder { color: var(--wr-black-72); }

/* Early-access form (Home, Download) */
.sch-ea { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px 12px; align-items: end; }
.sch-ea__field { display: flex; flex-direction: column; gap: 8px; }
.sch-ea .sch-ask__input { width: 100%; }
.sch-ea select.sch-ask__input { appearance: none; padding-right: 48px; background: var(--wr-card-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23111' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 20px center / 16px; }
.sch-ea [aria-invalid="true"] { box-shadow: inset 0 0 0 2px var(--wr-orange); }
.sch-ea__foot { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.sch-ea__msg:empty { display: none; }
.sch-ea [hidden] { display: none; }
.sch-ea__trap { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.sch-ea__label { font-size: var(--sch-t-body); font-weight: 600; color: var(--wr-black); }

/* ── 19 · Closing call to action (the page's one dark surface) ──────────── */
.sch-close__band {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: clamp(48px, 7vw, 92px) clamp(28px, 6vw, 80px);
  border-radius: var(--wr-radius-card);
  border: 1px solid var(--wr-white-10);
  background: linear-gradient(165deg, var(--sch-band-top) 0%, var(--wr-hero) 70%);
}
.sch-close__glow {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(70% 90% at 50% 0%, color-mix(in srgb, var(--wr-orange) 22%, transparent), transparent 62%);
}
.sch-close__band::before,
.sch-close__band::after {
  content: "";
  position: absolute;
  inset: -10px;
  z-index: 4;
  border: 2px solid var(--wr-orange);
  border-radius: calc(var(--wr-radius-card) + 10px);
  pointer-events: none;
}
.sch-close__band::before {
  -webkit-mask-image: radial-gradient(62% 62% at 100% 0, black 30%, transparent 74%);
          mask-image: radial-gradient(62% 62% at 100% 0, black 30%, transparent 74%);
}
.sch-close__band::after {
  -webkit-mask-image: radial-gradient(62% 62% at 0 100%, black 30%, transparent 74%);
          mask-image: radial-gradient(62% 62% at 0 100%, black 30%, transparent 74%);
}
.sch-close__title {
  position: relative;
  margin: 0 0 22px;
  font-size: clamp(36px, 4.4vw, 74px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.02;
  color: var(--wr-white);
  text-wrap: balance;
}
.sch-close__lead {
  position: relative;
  margin: 0 0 34px;
  max-width: 60ch;
  font-size: var(--sch-t-body);
  line-height: 1.6;
  color: var(--wr-white-65);
}
.sch-close__band .wr-btn { position: relative; }

/* ── Reveal Lift — the footer sits fixed beneath the page ───────────────────
   Signal Shell measures the footer and sets the body's bottom padding (the
   scroll room that uncovers it) and rounds the last panel (the footer cap).
   The body is the dark seam; <main> paints the page's white, opaque, so the shell
   rounds the element that paints the edge (well.run Site 011, paintedEdge) and its
   rounded corners open onto the seam. */
.sch-foot-reveal { background: var(--wr-black) !important; padding-bottom: 55vh; }
.sch-foot-reveal #site-footer-mount { position: fixed; bottom: 0; left: 0; right: 0; z-index: 1; width: 100%; }
.sch-foot-reveal main {
  position: relative;
  z-index: 2;
  background: var(--wr-white);
}
.sch-foot-reveal.is-foot-flow main { background: var(--wr-white); }
@media (prefers-reduced-motion: reduce) {
  .sch-foot-reveal { padding-bottom: 0; }
  .sch-foot-reveal #site-footer-mount { position: static; }
  .sch-foot-reveal main { background: var(--wr-white); }
}

/* ── Breakpoints (1260 · 1024 · 768 · 480) ──────────────────────────────── */
@media (max-width: 1260px) {
  .sch-who__grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
  .sch-plans__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .sch-hero__stack { justify-self: start; }
  .sch-topics__grid,
  .sch-duo__row,
  .sch-steps { grid-template-columns: minmax(0, 1fr); }
  .sch-duo__row--flip > .sch-duo__card { order: -1; }
  .sch-slider, .sch-slider--tall { min-height: 420px; }
  .sch-steps__view { min-height: 480px; padding: 40px; }
  .sch-who__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sch-gallery {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-auto-rows: clamp(160px, 26vw, 260px);
    height: auto;
  }
  .sch-gallery > :nth-child(-n+2) { grid-column: span 3; }
  .sch-gallery > :nth-child(n+3) { grid-column: span 2; }
}
@media (max-width: 768px) {
  .sch-hero { padding-top: 120px; padding-bottom: 112px; }
  .sch-hero > .sch-plate__label { display: none; }
  .sch-device { padding: 20px 24px; gap: 16px; }
  .sch-strip__card { padding: 24px 0; }
  .sch-marquee__set { gap: 40px; padding-right: 40px; }
  .sch-picks { grid-template-columns: minmax(0, 1fr); }
  .sch-how__steps { grid-template-columns: minmax(0, 1fr); }
  .sch-plans__grid { grid-template-columns: minmax(0, 1fr); }
  .sch-sport { grid-column: span 6; aspect-ratio: 4 / 3; padding: 8px; }
  .sch-sport__name { padding: 6px 12px; font-size: var(--sch-t-label); white-space: nowrap; }
  .sch-sport__name svg { display: none; }
  .sch-band__plate { padding: 32px 20px 64px; }
  .sch-tourcta { padding: 32px 24px; }
  .sch-steps__view { padding: 24px; }
  .sch-steps__screen { padding: 32px; }
  .sch-step__q { padding: 24px; gap: 16px; }
  .sch-step__panel { padding: 0 24px 24px; }
  .sch-why__mark { left: -20px; top: -64px; width: 180px; }
}
@media (max-width: 480px) {
  .sch-demo__row { flex-direction: column; align-items: stretch; }
  .sch-phone { width: 44%; align-self: flex-end; }
  .sch-board { padding: 16px 20px; }
  .sch-cam__view { gap: 12px; padding: 40px 12px 16px; }
  .sch-cam__view .sch-fig--h2 { font-size: 26px; }
  .sch-bug { gap: 8px; padding: 10px 12px; }
  .sch-who__list,
  .sch-league .sch-tick { grid-template-columns: minmax(0, 1fr); }
  .sch-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sch-gallery > :nth-child(n) { grid-column: span 1; }
  .sch-gallery > :first-child { grid-column: span 2; }
  .sch-how__phone .sch-label { display: none; }
  .sch-ask { flex-direction: column; }
  .sch-ocr__steps .wr-btn--link { margin-left: 0; }
}

/* ── Reduced motion ──────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .sch-marquee__track,
  .sch-strip__card::before { animation: none; }
  .sch-pick, .sch-pill, .sch-swap, .sch-slider__info, .sch-who__card, .sch-who__card::after,
  .sch-step__icon, .sch-faq__icon, .sch-sport__name svg, .wr-skip { transition: none; }
  .sch-slider__info { opacity: 1; transform: none; }
}

/* ── Not found (404.html) ────────────────────────────────────────────────── */
.sch-nf {
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: var(--sch-pad-y) var(--wr-pad-x);
}


/* ============================================================================
   SHARED COMPONENTS — used across the feature pages
   ============================================================================ */

/* Generic surfaces and hovers */
.sch-card--line { background: transparent; }
.sch-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid var(--wr-black-10);
}
.sch-row:last-child { border-bottom: 0; }
.sch-lift { transition: transform 0.28s var(--wr-ease-out), box-shadow 0.28s var(--wr-ease-out); }
.sch-edge { position: relative; transition: transform 0.28s var(--wr-ease-out), box-shadow 0.28s var(--wr-ease-out); }
.sch-edge::after {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1.5px;
  background: radial-gradient(ellipse 95% 70% at 0% 100%, var(--wr-orange) 0%, var(--wr-yellow) 45%, transparent 75%);
  -webkit-mask: linear-gradient(black 0 0) content-box, linear-gradient(black 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(black 0 0) content-box exclude, linear-gradient(black 0 0);
  opacity: 0;
  transition: opacity 0.32s var(--wr-ease-out);
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .sch-lift:hover { transform: translateY(-2px); box-shadow: var(--wr-shadow-md); }
  .sch-edge:hover { transform: translateY(-4px); box-shadow: var(--wr-shadow-md); z-index: 1; }
  .sch-edge:hover::after { opacity: 1; }
}

/* Spark edge — the conic lap around a card (one ambient loop per view) */
.sch-spark { position: relative; }
.sch-spark::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1.5px;
  background: conic-gradient(from var(--sch-spark), transparent 0turn, transparent 0.8turn, var(--wr-yellow) 0.92turn, var(--wr-orange) 0.99turn, transparent 1turn);
  -webkit-mask: linear-gradient(black 0 0) content-box, linear-gradient(black 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(black 0 0) content-box exclude, linear-gradient(black 0 0);
  animation: schSpark 9s linear infinite;
  pointer-events: none;
}

/* Gradient hairline round a card — the plan you want chosen */
.sch-plan-mark { position: relative; }
.sch-plan-mark::after {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1.6px;
  background: var(--wr-grad);
  -webkit-mask: linear-gradient(black 0 0) content-box, linear-gradient(black 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(black 0 0) content-box exclude, linear-gradient(black 0 0);
  pointer-events: none;
}

/* Rule on top with a short gradient tick (grows on scroll with --grow) */
.sch-edge-top { position: relative; padding-top: 24px; border-top: 1px solid var(--wr-black-10); }
.sch-edge-top::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 48px;
  height: 2px;
  border-radius: var(--wr-radius-pill);
  background: var(--wr-grad);
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .sch-edge-top--grow::before {
      transform-origin: left;
      animation: schTickGrow linear both;
      animation-timeline: view();
      animation-range: entry 20% cover 40%;
    }
  }
}
@keyframes schTickGrow { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* Seven-segment digits drawn as pills (score-ui.js renders [data-sch-segs]) */
.sch-segs { display: flex; align-items: stretch; gap: 12px; }
.sch-seg { display: block; height: 100%; width: auto; overflow: visible; }
.sch-seg__on { fill: url(#schSegGrad); }
.sch-seg__off { fill: var(--wr-black-04); }
.sch-seg--stage .sch-seg__off { fill: var(--wr-white-10); }
/* Floating label pinned on a photo */
.sch-callout {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 24px;
  border-radius: var(--wr-radius-pill);
  background: var(--wr-white);
  box-shadow: var(--wr-shadow-md);
  font-size: var(--sch-t-body);
  font-weight: 700;
  line-height: 1.3;
  color: var(--wr-black);
}

/* Viewfinder — camera corners and a scan sweep over a frame */
.sch-vf__corner { position: absolute; width: 40px; height: 40px; border: 2px solid var(--wr-yellow); pointer-events: none; }
.sch-vf__corner--tl { top: 24px; left: 24px; border-right: 0; border-bottom: 0; border-top-left-radius: var(--wr-radius-sm); }
.sch-vf__corner--tr { top: 24px; right: 24px; border-left: 0; border-bottom: 0; border-top-right-radius: var(--wr-radius-sm); }
.sch-vf__corner--bl { bottom: 24px; left: 24px; border-right: 0; border-top: 0; border-bottom-left-radius: var(--wr-radius-sm); }
.sch-vf__corner--br { bottom: 24px; right: 24px; border-left: 0; border-top: 0; border-bottom-right-radius: var(--wr-radius-sm); }
.sch-vf__sweep { position: absolute; inset: 0; pointer-events: none; animation: schScan 4.2s linear infinite; }
.sch-vf__sweep::before {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 36%;
  background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--wr-yellow) 10%, transparent));
}
.sch-vf__sweep::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--wr-grad); }
@keyframes schScan {
  0%   { transform: translateY(-100%); opacity: 0; }
  12%  { opacity: 1; }
  88%  { opacity: 1; }
  100% { transform: translateY(0); opacity: 0; }
}

/* Icons that redraw on hover (stroke icons with pathLength="1") */
.sch-ico > * { stroke-dasharray: 1; stroke-dashoffset: 0; }
@media (hover: hover) and (pointer: fine) {
  .sch-ico-anim:hover .sch-ico > * { animation: schIcoDraw 0.9s var(--wr-ease-out) both; }
  .sch-ico-anim:hover .sch-seg--dead { animation: schLampFlicker 1.6s steps(1, end) infinite; }
}
@keyframes schIcoDraw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes schLampFlicker { 0%, 100% { opacity: 1; } 12% { opacity: 0.2; } 18% { opacity: 1; } 30% { opacity: 0.2; } }

/* Corner brackets that snap in on hover */
.sch-snap { position: relative; }
.sch-snap::before,
.sch-snap::after {
  content: "";
  position: absolute;
  width: 26px;
  height: 26px;
  border: 2.5px solid var(--wr-orange);
  opacity: 0;
  pointer-events: none;
  z-index: 4;
  transition: opacity 0.3s var(--wr-ease-out), transform 0.4s var(--wr-ease-spring);
}
.sch-snap::before { top: -1px; left: -1px; border-width: 2.5px 0 0 2.5px; border-top-left-radius: var(--wr-radius-card); transform: translate(8px, 8px); }
.sch-snap::after { bottom: -1px; right: -1px; border-width: 0 2.5px 2.5px 0; border-bottom-right-radius: var(--wr-radius-card); transform: translate(-8px, -8px); }
@media (hover: hover) and (pointer: fine) {
  .sch-snap:hover::before,
  .sch-snap:hover::after { opacity: 1; transform: translate(0, 0); }
}

/* Recording dot — pulses while something is live */
.sch-dot--rec { animation: schRec 1.6s var(--wr-ease-out) infinite; }
@keyframes schRec {
  0%   { box-shadow: 0 0 0 0 #F0492399; }
  70%  { box-shadow: 0 0 0 9px #F0492300; }
  100% { box-shadow: 0 0 0 0 #F0492300; }
}

/* Photo that eases in on hover */
.sch-zoom { position: relative; overflow: hidden; }
.sch-zoom__img { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 0.6s var(--wr-ease-out); }
@media (hover: hover) and (pointer: fine) { .sch-zoom:hover .sch-zoom__img { transform: scale(1.05); } }

@media (prefers-reduced-motion: reduce) {
  .sch-spark::before, .sch-vf__sweep, .sch-dot--rec { animation: none; }
  .sch-vf__sweep { opacity: 0; }
  .sch-snap::before, .sch-snap::after, .sch-zoom__img, .sch-lift, .sch-edge, .sch-edge::after { transition: none; }
  .sch-ico-anim:hover .sch-ico > *, .sch-ico-anim:hover .sch-seg--dead { animation: none; }
}

/* ============================================================================
   SUB-PAGE LAYOUT — the frame every page other than home is built from
   ============================================================================ */

/* Opening: kicker + title on the left, lead + actions on the right */
.sch-top { padding: clamp(128px, 10vh + 64px, 184px) var(--wr-pad-x) 48px; }
.sch-top__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(40px, 5vw, 80px);
  align-items: end;
}
.sch-top__col { display: flex; flex-direction: column; gap: 32px; align-items: flex-start; }
.sch-top--solo .sch-top__grid { grid-template-columns: minmax(0, 1fr); }
.sch-top--solo .sch-h1 { max-width: 1100px; }
/* The home title is a sentence (audit 1019 new words): a size that keeps the keys on the first screen. */
.sch-hero .sch-h1 { font-size: clamp(40px, 3vw + 14px, 64px); line-height: 1.04; }

/* Section rhythm (sub pages) */
.sch-block { padding: 0 var(--wr-pad-x) var(--sch-pad-y); }
.sch-block--lead { padding-bottom: 48px; }
.sch-block--top { padding-top: var(--sch-pad-y); }
.sch-col { display: flex; flex-direction: column; gap: 48px; }
.sch-col--32 { gap: 32px; }
.sch-col--24 { gap: 24px; }

/* Heads */
.sch-head { display: flex; flex-direction: column; gap: 24px; align-items: flex-start; max-width: 960px; }
.sch-head--center { align-items: center; text-align: center; margin: 0 auto; }
.sch-head--center .sch-body { max-width: 680px; }
.sch-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(40px, 5vw, 80px);
  align-items: end;
}
.sch-pair--wide { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.sch-pair--top { align-items: start; }
.sch-pair--center { align-items: center; }
.sch-prose { display: flex; flex-direction: column; gap: 20px; }
.sch-measure { max-width: 800px; }

/* Grids */
.sch-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sch-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sch-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sch-grid--roomy { gap: 32px; }

/* Stand-in pictures (Brand Plate with the card radius) */
.sch-shot { border-radius: var(--wr-radius-card); aspect-ratio: 4 / 3; padding: 16px; }
.sch-shot--tall { aspect-ratio: 4 / 5; }
.sch-shot--wide { aspect-ratio: 16 / 9; }
.sch-shot > .sch-label { position: absolute; top: 16px; left: 16px; text-align: left; }
.sch-fig-cap { margin: 0; display: flex; flex-direction: column; gap: 20px; }

/* Panorama: a wide photo band, optionally with callouts pinned on it */
.sch-pano { height: clamp(320px, 33vw, 640px); border-radius: var(--wr-radius-card); overflow: hidden; }
.sch-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }

/* Numbered steps */
.sch-flow { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sch-flow__item { display: flex; flex-direction: column; gap: 24px; }
.sch-flow__row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: start; }
.sch-flow__n { font-size: var(--sch-t-h2); }
.sch-flow__text { display: flex; flex-direction: column; gap: 8px; }

/* Tiles: an outlined card with a title and a line */
.sch-tile { padding: 32px; display: flex; flex-direction: column; gap: 16px; background: transparent; }
.sch-tile .sch-h4 { font-weight: 800; }

/* Where next: photo cards that link on to another page */
.sch-next { overflow: hidden; align-items: flex-end; border-radius: var(--wr-radius-card); aspect-ratio: 4 / 5; text-decoration: none; }
.sch-next__info {
  position: relative;
  width: 100%;
  padding: 48px 24px 24px;
  background: linear-gradient(0deg, var(--wr-hero-72) 0%, transparent 100%);
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  text-align: left;
}
.sch-next__info .sch-h4,
.sch-next__info .wr-btn--link { color: var(--wr-white); }

/* Plans without prices: the season line and the way to the pricing page */
.sch-plans-note { padding: clamp(40px, 5vw, 64px); display: flex; flex-direction: column; gap: 24px; align-items: center; text-align: center; }
.sch-plans-note .sch-body { max-width: 720px; }
.sch-actions--center { justify-content: center; }

/* Link-style press next to a primary one on dark */
.sch-close__band .wr-btn--link { color: var(--wr-white); }

/* "At launch" marker for pages whose content arrives on launch day */
.sch-soon {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 32px;
  padding: 0 14px;
  border-radius: var(--wr-radius-pill);
  border: 1px solid var(--wr-black-15);
  font-family: var(--sch-mono);
  font-size: var(--sch-t-label);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--wr-black-72);
}
.sch-soon::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--wr-grad); }

@media (max-width: 1024px) {
  .sch-top__grid,
  .sch-pair,
  .sch-pair--wide { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .sch-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sch-flow { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 768px) {
  .sch-grid,
  .sch-grid--2,
  .sch-trio { grid-template-columns: minmax(0, 1fr); }
  .sch-trio { gap: 24px; }
  .sch-tile { padding: 24px; }
  .sch-next { aspect-ratio: 4 / 3; }
}
@media (max-width: 480px) {
  .sch-grid--4 { grid-template-columns: minmax(0, 1fr); }
}

/* Heading kept for screen readers and the outline, not shown */
.sch-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
}

/* Opening with two presses side by side in the right column */
.sch-top__grid--even { grid-template-columns: minmax(0, 13fr) minmax(0, 11fr); }
@media (max-width: 1024px) { .sch-top__grid--even { grid-template-columns: minmax(0, 1fr); } }
.sch-top--gap { padding-bottom: var(--sch-pad-y); }

/* ── Web 1006 · the app's look (Accounts' score-web.css, approved 2026-10-06) ──
   Panels: white on the light ground, the app's 8% hairline; no gradient or orange rings round a box.
   Keys: the one black key; every other key orange text, never an outlined pill. On the dark closing card
   the one key is a white pill, as in the phone app's island. */
:root {
  --sch-panel: #FFFFFF;
  --sch-panel-line: color-mix(in srgb, var(--wr-black) 8%, transparent);
}
.sch-card, .sch-plan, .sch-step.is-open { background: var(--sch-panel); border-color: var(--sch-panel-line); }
.sch-card--line, .sch-tile { background: var(--sch-panel); }
.sch-plan--chosen { border: 1px solid var(--sch-panel-line); background: var(--sch-panel); }
.sch-plan-mark::after { content: none; }
.sch-close__band { border: 0; }
.sch-close__band::before, .sch-close__band::after { content: none; }

.wr-btn--ghost,
.sch-band__plate .wr-btn--ghost,
.sch-plan--dark .wr-btn--ghost {
  border-color: transparent;
  background: none;
  color: var(--wr-orange);
  padding-inline: 8px;
}
@media (hover: hover) and (pointer: fine) {
  .wr-btn--ghost:hover,
  .sch-band__plate .wr-btn--ghost:hover,
  .sch-plan--dark .wr-btn--ghost:hover { border-color: transparent; transform: none; text-decoration: underline; text-underline-offset: 4px; }
}
.wr-btn--link,
.sch-next__info .wr-btn--link,
.sch-close__band .wr-btn--link { color: var(--wr-orange); font-weight: 700; }
.wr-btn--ghost .wr-btn__arrow svg, .wr-btn--link .wr-btn__arrow svg { stroke: currentColor; }
.sch-close__band .wr-btn--gradient { background: var(--wr-white); color: var(--wr-black); }
@media (hover: hover) and (pointer: fine) {
  .sch-close__band .wr-btn--gradient:hover { box-shadow: 0 10px 28px color-mix(in srgb, var(--wr-black) 40%, transparent); }
}
.wr-btn--ghost { text-transform: none; letter-spacing: 0; font-size: 15px; }
/* the footer's one key, on its dark ground: a white pill */
#site-footer-mount .wr-fc-cta-btn { background: var(--wr-white); color: var(--wr-black); border-color: transparent; }
/* Not found: centred in the window */
.sch-nf { justify-content: center; text-align: center; }
.sch-nf .sch-stack { align-items: center; }

/* ── Features in the fullscreen (small-screen) menu: cards with a picture, a label and a line ── */
.wr-fsnav .sch-fscards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 8px; width: 100%; max-width: 720px; margin: 8px auto 20px; align-items: stretch; }
.wr-fsnav .sch-fscards a.sch-fscard {
  display: grid; grid-template-columns: clamp(76px, 24vw, 104px) 1fr; gap: 12px; align-items: center; height: 100%;
  padding: 8px 12px 8px 8px; border-radius: var(--wr-radius-sm, 14px); background: var(--wr-white); box-shadow: 0 1px 0 var(--wr-black-06), 0 6px 18px var(--wr-black-04);
  text-align: left; opacity: 1; color: var(--wr-black); -webkit-text-fill-color: currentColor;
}
.sch-fscard__img { aspect-ratio: 16 / 10; border-radius: 10px; background-size: cover; background-position: center; background-color: var(--wr-black-04); }
.sch-fscard__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sch-fscard__tag { font-family: var(--sch-mono); font-size: 10.5px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wr-black-72); }
.sch-fscard__name { font-size: 16px; font-weight: 700; line-height: 1.2; }
.sch-fscard__line { font-size: 13px; font-weight: 400; line-height: 1.35; color: var(--wr-black-72); }

/* ── 4 · The flow (replaces the feature run): six steps down a line, then the app's tabs in a circle ── */
.sch-flow__steps { position: relative; list-style: none; margin: 0; padding: 0 0 0 clamp(28px, 5vw, 64px); display: flex; flex-direction: column; gap: clamp(48px, 8vw, 120px); --flow: 0; }
.sch-flow__steps::before, .sch-flow__steps::after { content: ''; position: absolute; left: clamp(7px, 1.4vw, 15px); top: 8px; bottom: 8px; width: 2px; border-radius: 2px; }
.sch-flow__steps::before { background: var(--wr-black-06); }
.sch-flow__steps::after { background: var(--wr-grad); transform-origin: top; transform: scaleY(var(--flow)); }
.sch-flow__step { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
.sch-flow__dot { position: absolute; left: calc(-1 * clamp(28px, 5vw, 64px) + clamp(7px, 1.4vw, 15px) - 7px); top: 12px; width: 16px; height: 16px; border-radius: 50%; background: var(--wr-white); box-shadow: inset 0 0 0 2px var(--wr-black-15); transition: box-shadow .4s, background .4s; }
.sch-flow__step.is-in .sch-flow__dot { background: var(--wr-orange); box-shadow: 0 0 0 6px rgba(240, 73, 35, .14); }
.sch-flow__copy { display: flex; flex-direction: column; gap: 14px; }
.sch-flow__shot { aspect-ratio: 16 / 10; border-radius: var(--wr-radius-card); background-color: var(--wr-black-04); }
.sch-flow__shot.is-photo { background-size: cover; background-position: center top; box-shadow: 0 24px 60px var(--wr-black-08, rgba(0,0,0,.08)); }
.sch-flow__ring { position: relative; margin: clamp(64px, 10vw, 140px) auto 0; width: min(100%, 760px); aspect-ratio: 1; display: grid; place-items: center; --r: clamp(128px, 36vw, 320px); }
.sch-flow__core { position: relative; z-index: 1; max-width: 14ch; text-align: center; font-size: var(--sch-t-card-lg); font-weight: 800; line-height: 1.1; letter-spacing: -0.025em; }
.sch-flow__tabs { position: absolute; inset: 0; list-style: none; margin: 0; padding: 0; }
.sch-flow__tab {
  position: absolute; left: 50%; top: 50%; padding: 10px 16px; border-radius: 999px; white-space: nowrap;
  background: var(--wr-white); box-shadow: 0 1px 0 var(--wr-black-06), 0 10px 30px var(--wr-black-06);
  font-weight: 700; font-size: clamp(12px, 1.4vw, 16px);
  --a: calc(360deg / var(--n) * var(--i) - 90deg);
  transform: translate(-50%, -50%) rotate(var(--a)) translateX(var(--r)) rotate(calc(-1 * var(--a)));
}
@media (prefers-reduced-motion: no-preference) {
  .sch-flow__step .sch-flow__copy, .sch-flow__step .sch-flow__shot { opacity: 0; transform: translateY(32px); transition: opacity .7s var(--wr-ease-out, ease), transform .7s var(--wr-ease-out, ease); }
  .sch-flow__step .sch-flow__shot { transition-delay: .12s; }
  .sch-flow__step.is-in .sch-flow__copy, .sch-flow__step.is-in .sch-flow__shot { opacity: 1; transform: none; }
  .sch-flow__ring .sch-flow__tab { opacity: 0; transform: translate(-50%, -50%) rotate(var(--a)) translateX(calc(var(--r) * .15)) rotate(calc(-1 * var(--a))) scale(.6);
    transition: opacity .6s ease, transform .9s cubic-bezier(.2, .8, .2, 1); transition-delay: calc(var(--i) * 70ms); }
  .sch-flow__ring.is-in .sch-flow__tab { opacity: 1; transform: translate(-50%, -50%) rotate(var(--a)) translateX(var(--r)) rotate(calc(-1 * var(--a))); }
  .sch-flow__core { opacity: 0; transition: opacity .8s ease .5s; }
  .sch-flow__ring.is-in .sch-flow__core { opacity: 1; }
}
@media (max-width: 760px) {
  .sch-flow__step { grid-template-columns: 1fr; gap: 16px; }
  .sch-flow__ring { --r: clamp(118px, 37vw, 200px); }
  .sch-flow__tab { padding: 7px 11px; font-size: 12px; }
  .sch-flow__core { font-size: 22px; max-width: 10ch; }
}

/* ── Features drop-down (desktop): the Tech Hub cards of well.run, nine cards in two rows (owner 19 Oct) ── */
#scoreMega .wr-mega__list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.sch-flow__step { scroll-margin-top: 120px; }

/* ── 4b · The circle: a line drawn round with the scroll; each tab's card comes in as the line reaches it ── */
.sch-orbit { position: relative; height: 240vh; --p: 0; }
.sch-orbit__stage { position: sticky; top: 0; height: 100vh; display: grid; place-items: center; overflow: hidden; padding: 0 var(--wr-pad-x); }
.sch-orbit__ring { position: relative; width: min(92vw, 82vh, 880px); aspect-ratio: 1; display: grid; place-items: center; --r: calc(min(92vw, 82vh, 880px) * .4); }
.sch-orbit__line { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); overflow: visible; }
.sch-orbit__track, .sch-orbit__draw { fill: none; stroke-width: .5; }
.sch-orbit__track { stroke: none; }
.sch-orbit__draw { stroke: url(#schOrbitGrad); stroke-width: 1.4; stroke-linecap: round; stroke-dasharray: 1 1; stroke-dashoffset: calc(1 - var(--p)); opacity: clamp(0, calc(var(--p) * 60 - .2), 1); filter: drop-shadow(0 0 .8px rgba(240, 73, 35, .45)); }
.sch-orbit__core { position: relative; z-index: 1; max-width: 12ch; text-align: center; font-size: clamp(22px, 3.4vw, 48px); font-weight: 800; line-height: 1.06; letter-spacing: -0.03em; opacity: 0; transform: scale(.94); transition: opacity .6s ease, transform .6s ease; }
.sch-orbit.is-whole .sch-orbit__core { opacity: 1; transform: none; }
.sch-orbit__cards { position: absolute; inset: 0; list-style: none; margin: 0; padding: 0; }
.sch-orbit__card {
  --a: calc(360deg / var(--n) * var(--i) - 90deg);
  position: absolute; left: 50%; top: 50%; width: clamp(78px, 12vw, 172px);
  display: flex; flex-direction: column; gap: 6px; padding: 6px; border-radius: 14px;
  background: var(--wr-white); box-shadow: 0 1px 0 var(--wr-black-06), 0 14px 34px var(--wr-black-08, rgba(0,0,0,.08));
  transform: translate(-50%, -50%) rotate(var(--a)) translateX(var(--r)) rotate(calc(-1 * var(--a))) scale(.6);
  opacity: 0; transition: opacity .45s ease, transform .55s cubic-bezier(.2, .9, .25, 1.2);
}
.sch-orbit__card.is-on { opacity: 1; transform: translate(-50%, -50%) rotate(var(--a)) translateX(var(--r)) rotate(calc(-1 * var(--a))); }
.sch-orbit__img { display: block; aspect-ratio: 16 / 10; border-radius: 9px; background-size: cover; background-position: center; background-color: #110b06; }
.sch-orbit__name { font-weight: 700; font-size: clamp(11px, 1.1vw, 15px); line-height: 1.15; padding: 0 2px 2px; }
@media (max-width: 760px) {
  .sch-orbit__ring { width: min(94vw, 76vh); --r: calc(min(94vw, 76vh) * .38); }
  .sch-orbit__card { padding: 4px; gap: 4px; border-radius: 10px; }
  .sch-orbit__img { border-radius: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  .sch-orbit { height: auto; --p: 1; }
  .sch-orbit__stage { position: relative; height: auto; padding-top: 64px; padding-bottom: 64px; }
  .sch-orbit__card, .sch-orbit__core { opacity: 1; transform: translate(-50%, -50%) rotate(var(--a)) translateX(var(--r)) rotate(calc(-1 * var(--a))); transition: none; }
  .sch-orbit__core { transform: none; }
}

/* ── 7 · OCR: the hall's own board, the zones WR Score puts on it, what it read, the same numbers in a score bug ── */
.sch-cam__view--board { position: relative; display: block; padding: 0; background-size: cover; background-position: center; overflow: hidden; }
.sch-ocrz { position: absolute; left: calc(var(--x) * 1%); top: calc(var(--y) * 1%); width: calc(var(--w) * 1%); height: calc(var(--h) * 1%);
  border: 1.5px dashed var(--wr-orange); border-radius: 6px; box-shadow: 0 0 0 1px rgba(0,0,0,.35); }
.sch-ocrz__tag { position: absolute; left: -1.5px; bottom: calc(100% + 4px); padding: 2px 6px; border-radius: 4px; background: var(--wr-orange);
  color: var(--wr-white); font-family: var(--sch-mono); font-size: clamp(8px, .8vw, 10px); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.sch-ocrz--below .sch-ocrz__tag { bottom: auto; top: calc(100% + 4px); }
.sch-cam__read--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sch-cam__bug { display: block; }
.sch-cam__bug img { display: block; width: 100%; height: auto; filter: drop-shadow(0 10px 24px rgba(0,0,0,.18)); }

/* ── 6 · Scoreboard: the hall screen (a real Virtual Board design) beside the phone that keeps the score ── */
.sch-board-shot { flex: 1 1 auto; min-width: 0; aspect-ratio: 16 / 9; border-radius: var(--wr-radius-card); background-size: cover; background-position: center; box-shadow: 0 24px 60px rgba(0,0,0,.14); }
.sch-demo__cap { margin-top: 16px; color: var(--wr-black-72); }
@media (max-width: 1024px) { .sch-board-shot { width: 100%; } }

/* ── The flow, premium (owner 19 Oct): a glowing track, a bright head riding down with the scroll, numbered nodes that light up,
   and a short link drawn from each node into its step ── */
.sch-flow__steps { --x: clamp(20px, 2.4vw, 30px); --pad: clamp(72px, 9vw, 132px); padding-left: var(--pad); }
.sch-flow__steps::before { left: calc(var(--x) - 1px); width: 2px; top: 22px; bottom: 22px; background: linear-gradient(var(--wr-black-06), var(--wr-black-06)); }
.sch-flow__steps::after { left: calc(var(--x) - 1.5px); width: 3px; top: 22px; bottom: 22px; background: linear-gradient(180deg, #FFD800, #FF8A1E 45%, #F04923);
  filter: drop-shadow(0 0 6px rgba(240, 73, 35, .55)) drop-shadow(0 0 18px rgba(255, 138, 30, .35)); }
.sch-flow__comet { position: absolute; left: calc(var(--x) - 9px); top: calc(22px + var(--flow) * (100% - 44px) - 9px); width: 18px; height: 18px; border-radius: 50%;
  background: radial-gradient(circle, #fff 0 32%, #FFD800 33% 55%, rgba(240, 73, 35, .0) 56%); box-shadow: 0 0 0 6px rgba(255, 138, 30, .18), 0 0 28px 6px rgba(240, 73, 35, .45);
  pointer-events: none; z-index: 2; }
.sch-flow__dot { display: none; }
.sch-flow__node { position: absolute; z-index: 3; left: calc(-1 * var(--pad) + var(--x) - 22px); top: 0; width: 44px; height: 44px; border-radius: 50%;
  display: grid; place-items: center; background: var(--wr-white); box-shadow: 0 0 0 1px var(--wr-black-10), 0 8px 22px rgba(0,0,0,.06);
  font-family: var(--sch-mono); font-size: 12px; font-weight: 700; letter-spacing: .04em; color: var(--wr-black-40, rgba(0,0,0,.4));
  transition: background .5s ease, color .5s ease, box-shadow .5s ease, transform .5s cubic-bezier(.2,.9,.25,1.2); }
.sch-flow__step.is-in .sch-flow__node { background: linear-gradient(135deg, #FFD800, #F04923); color: var(--wr-white); transform: scale(1.04);
  box-shadow: 0 0 0 8px rgba(240, 73, 35, .10), 0 12px 32px rgba(240, 73, 35, .35); }
.sch-flow__step { align-items: start; }
.sch-flow__copy { position: relative; padding-top: 6px; }
.sch-flow__copy::before { content: ''; position: absolute; top: 22px; right: 100%; width: calc(var(--pad) - var(--x) - 22px - 10px); margin-right: 10px; height: 1px;
  background: linear-gradient(90deg, rgba(240, 73, 35, .6), rgba(240, 73, 35, 0)); transform-origin: left; transform: scaleX(0); transition: transform .7s ease .15s; }
.sch-flow__step.is-in .sch-flow__copy::before { transform: scaleX(1); }
.sch-flow__shot.is-photo { border-radius: 18px; box-shadow: 0 0 0 1px rgba(0,0,0,.06), 0 30px 70px -20px rgba(20, 12, 6, .35); }
@media (max-width: 760px) {
  .sch-flow__steps { --x: 18px; --pad: 56px; }
  .sch-flow__node { width: 36px; height: 36px; left: calc(-1 * var(--pad) + var(--x) - 18px); font-size: 11px; }
  .sch-flow__copy::before { top: 18px; width: calc(var(--pad) - var(--x) - 18px - 8px); margin-right: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .sch-flow__node, .sch-flow__copy::before { transition: none; }
  .sch-flow__comet { display: none; }
}

/* ── 7 · OCR core: the board, the WR Score core under it, each zone wired to what it read, then out to the score bug ── */
.sch-cam { gap: 0; }
.sch-cam__head { margin-bottom: 16px; }
.sch-cam__view--board { border-radius: var(--wr-radius-card) var(--wr-radius-card) 0 0; }
.sch-core { position: relative; padding: 0 clamp(14px, 2vw, 24px) clamp(18px, 2.4vw, 28px); border-radius: 0 0 var(--wr-radius-card) var(--wr-radius-card);
  background: radial-gradient(120% 80% at 50% 0%, #2a1408 0%, #120b07 55%, #0b0806 100%); color: var(--wr-white);
  box-shadow: 0 30px 70px -24px rgba(20, 12, 6, .45); }
.sch-core__links { display: block; width: 100%; height: clamp(64px, 8vw, 96px); overflow: visible; margin-bottom: -2px; }
.sch-core__links path { fill: none; vector-effect: non-scaling-stroke; }
.sch-core__wires path { stroke: rgba(255, 138, 30, .35); stroke-width: 1.2; stroke-dasharray: 2 3; }
.sch-core__pulses path { stroke: #FFD800; stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: .07 .93; stroke-dashoffset: 1; filter: drop-shadow(0 0 4px rgba(255, 200, 0, .9)); }
.sch-core__head { position: absolute; top: 14px; right: clamp(14px, 2vw, 24px); display: flex; align-items: center; gap: 10px; }
.sch-core__chip { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px 5px 9px; border-radius: 999px; background: linear-gradient(135deg, #FFD800, #F04923);
  color: #160c06; font-family: var(--sch-mono); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.sch-core__chip i, .sch-core__state i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; display: inline-block; }
.sch-core__sub { font-family: var(--sch-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.sch-core__cells { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.sch-core__cell { display: flex; flex-direction: column; gap: 6px; padding: 12px; border-radius: 12px; background: rgba(255,255,255,.04); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.sch-core__name { font-family: var(--sch-mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.sch-core__val { font-family: var(--sch-mono); font-weight: 700; font-size: clamp(22px, 2.6vw, 34px); line-height: 1; color: #FF4A2A; text-shadow: 0 0 14px rgba(255, 74, 42, .55); }
.sch-core__cell:nth-child(2) .sch-core__val { color: #FFD800; text-shadow: 0 0 14px rgba(255, 216, 0, .5); }
.sch-core__state { display: inline-flex; align-items: center; gap: 6px; font-family: var(--sch-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: #3BD16F; }
.sch-core__out { position: relative; display: flex; justify-content: center; height: 40px; margin-top: 4px; }
.sch-core__wire { width: 2px; height: 100%; background: linear-gradient(#FF8A1E, rgba(255,138,30,.15)); box-shadow: 0 0 10px rgba(255,138,30,.6); }
.sch-core__tag { position: absolute; top: 50%; left: calc(50% + 12px); transform: translateY(-50%); font-family: var(--sch-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); }
.sch-core__bug { display: block; }
.sch-core__bug img { display: block; width: 100%; height: auto; filter: drop-shadow(0 8px 20px rgba(0,0,0,.5)); }
@media (prefers-reduced-motion: no-preference) {
  .sch-core__pulses path { animation: schPulse 2.2s linear infinite; }
  .sch-core__pulses path:nth-child(2) { animation-delay: .4s; } .sch-core__pulses path:nth-child(3) { animation-delay: .8s; } .sch-core__pulses path:nth-child(4) { animation-delay: 1.2s; }
  .sch-core__chip i { animation: schBlink 1.6s ease-in-out infinite; }
}
@media (prefers-reduced-motion: reduce) { .sch-core__pulses { display: none; } }
@keyframes schPulse { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes schBlink { 50% { opacity: .35; } }
@media (max-width: 560px) {
  .sch-core__cells { gap: 6px; } .sch-core__cell { padding: 9px 8px; } .sch-core__name, .sch-core__state { font-size: 9px; letter-spacing: .08em; }
}

/* ── The flow, clean (owner 19 Oct: "clean and simple, dont distract, no extra effects") ── */
.sch-flow__steps { --x: 14px; --pad: clamp(52px, 6vw, 80px); }
.sch-flow__steps::before { left: calc(var(--x) - .5px); width: 1px; top: 14px; bottom: 14px; background: var(--wr-black-10); }
.sch-flow__steps::after { left: calc(var(--x) - 1px); width: 2px; top: 14px; bottom: 14px; background: var(--wr-orange); filter: none; }
.sch-flow__comet { display: none; }
.sch-flow__node { left: calc(-1 * var(--pad) + var(--x) - 14px); width: 28px; height: 28px; font-size: 10.5px; font-weight: 600;
  background: var(--wr-white); color: var(--wr-black-72); box-shadow: inset 0 0 0 1px var(--wr-black-15); transition: background .3s ease, color .3s ease; }
.sch-flow__step.is-in .sch-flow__node { background: var(--wr-orange); color: var(--wr-white); transform: none; box-shadow: none; }
.sch-flow__copy::before { display: none; }
.sch-flow__copy { padding-top: 2px; }
.sch-flow__shot.is-photo { border-radius: var(--wr-radius-card); box-shadow: 0 0 0 1px rgba(0,0,0,.06); }
@media (max-width: 760px) { .sch-flow__steps { --x: 12px; --pad: 44px; } .sch-flow__node { width: 24px; height: 24px; left: calc(-1 * var(--pad) + var(--x) - 12px); font-size: 10px; } }

/* ── OCR core, quieter (owner 19 Oct: keep the background, no cards, no tag) ── */
.sch-core__cell { padding: 4px 0 0; border-radius: 0; background: none; box-shadow: none; align-items: center; text-align: center; gap: 4px; }
.sch-core__cells { gap: 0; }
.sch-core__val { font-size: clamp(26px, 3vw, 40px); text-shadow: none; color: #FF4A2A; }
.sch-core__cell:nth-child(2) .sch-core__val { text-shadow: none; }
.sch-core__state { color: rgba(255,255,255,.45); gap: 6px; }
.sch-core__state i { width: 5px; height: 5px; background: #3BD16F; }
.sch-core__wires path { stroke: rgba(255, 138, 30, .45); stroke-width: 1; stroke-dasharray: none; }
.sch-core__pulses path { stroke: #FFB21E; stroke-width: 1.6; stroke-dasharray: .04 .96; filter: none; }
.sch-core__links { height: clamp(56px, 7vw, 84px); }
.sch-core__out { height: 32px; margin-top: 10px; }
.sch-core__wire { width: 1px; box-shadow: none; background: rgba(255, 138, 30, .45); }
.sch-core__tag { color: rgba(255,255,255,.45); }

/* ── 10 · Tournament steps: each step shows the app itself ── */
.sch-steps__screen { padding: 0; overflow: hidden; width: min(100%, 720px); box-shadow: 0 30px 70px -24px rgba(20,12,6,.45); }
.sch-swap--shot { aspect-ratio: 16 / 10; background-size: cover; background-position: center top; position: relative; display: block; }
.sch-swap__cap { position: absolute; left: 12px; bottom: 12px; padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--wr-black); }

/* ── Sliders of stream frames and boards keep the frame's own shape (16:9), so no title is cut ── */
.sch-duo__row { align-items: center; }
.sch-duo__row > .sch-slider.is-photo { aspect-ratio: 16 / 9; height: auto; min-height: 0; background-size: cover; background-position: center; }
.sch-phone.is-photo, .sch-how__phone.is-photo, .sch-sb-phone.is-photo { background-position: center top; }

/* ── 10 · Tournament steps, refined: the screen centred, the picture whole, its name below it ── */
.sch-steps__view { display: grid; place-items: center; }
.sch-steps__screen { width: min(100%, 680px); margin: 0 auto; padding: 8px; border-radius: 18px; background: var(--wr-white); }
.sch-swap--shot { aspect-ratio: auto; display: flex; flex-direction: column; gap: 8px; background: none; }
.sch-swap__img { display: block; aspect-ratio: 16 / 10; border-radius: 12px; background-size: cover; background-position: center top; background-color: #110b06; }
.sch-swap__cap { position: static; align-self: flex-start; padding: 4px 6px 2px; background: none; color: var(--wr-black-72); }
.sch-swap--shot, .sch-swap__img { width: 100%; } .sch-steps__screen { width: min(100%, 680px) !important; }
.sch-steps__view { grid-template-columns: minmax(0, 1fr); } .sch-steps__screen { width: 100% !important; max-width: 680px !important; justify-self: center; }

/* ── 1 · Hero: the hall screen, the laptop and the phone, as simple mockups (owner 19 Oct) ── */
.sch-mock { position: relative; width: 100%; aspect-ratio: 5 / 4; display: block; }
.sch-mock__pic { position: absolute; inset: 0; background-size: cover; background-position: center top; border-radius: inherit; }
.sch-mock__screen { position: absolute; top: 0; right: 0; width: 86%; }
.sch-mock__tv { position: relative; aspect-ratio: 16 / 9; border-radius: 10px; background: #0b0806; padding: 1.4%; box-shadow: 0 30px 70px -20px rgba(0,0,0,.55); }
.sch-mock__tv .sch-mock__pic { inset: 1.4%; border-radius: 4px; }
.sch-mock__stand { display: block; width: 18%; height: 14px; margin: 0 auto; background: linear-gradient(#1a1410, #2a221c); border-radius: 0 0 6px 6px; }
.sch-mock__laptop { position: absolute; left: 0; bottom: 4%; width: 60%; }
.sch-mock__lid { position: relative; aspect-ratio: 16 / 10; border-radius: 12px 12px 0 0; background: #0b0806; padding: 2.4% 2.4% 3%; box-shadow: 0 30px 60px -18px rgba(0,0,0,.55); }
.sch-mock__lid .sch-mock__pic { inset: 2.4% 2.4% 3%; border-radius: 3px; }
.sch-mock__base { display: block; height: 10px; margin: 0 -6%; border-radius: 0 0 14px 14px; background: linear-gradient(#d9d9dc, #a9a9ae); box-shadow: 0 12px 24px -8px rgba(0,0,0,.45); }
.sch-mock__phone { position: absolute; right: 4%; bottom: 0; width: 21%; aspect-ratio: 9 / 19.5; border-radius: 22px; background: #0b0806; padding: 2.6%;
  box-shadow: 0 0 0 2px #2a2420, 0 30px 60px -16px rgba(0,0,0,.6); }
.sch-mock__phone .sch-mock__pic { inset: 4% 5%; border-radius: 16px; }
@media (max-width: 1024px) { .sch-mock { max-width: 640px; margin: 24px auto 0; } }
@media (max-width: 560px) { .sch-mock__tv { border-radius: 6px; } .sch-mock__phone { border-radius: 14px; } .sch-mock__phone .sch-mock__pic { border-radius: 10px; } .sch-mock__stand { height: 8px; } .sch-mock__base { height: 6px; } }

/* ── Photo band with the trial call, refined (owner 19 Oct): the photo stays; the words sit on a soft dark field, centred, the call a clear button ── */
.sch-band__plate { justify-content: center; }
.sch-band__veil { background:
  radial-gradient(56% 48% at 50% 44%, rgba(12, 8, 6, .72) 0%, rgba(12, 8, 6, .45) 55%, rgba(12, 8, 6, .2) 100%),
  linear-gradient(180deg, rgba(12, 8, 6, .2) 0%, rgba(12, 8, 6, .55) 100%); }
.sch-band__plate .sch-h2 { text-align: center; text-shadow: 0 2px 28px rgba(0, 0, 0, .45); }
.sch-band__plate .sch-body { font-size: clamp(17px, 1.4vw, 20px); color: rgba(255, 255, 255, .88); margin-top: -8px; }
.sch-band__plate .wr-btn--ghost, .sch-band__plate .wr-btn--ghost:hover { position: relative; margin-top: 8px; padding: 14px 26px; border-radius: 999px; border: 0;
  background: var(--wr-white); color: var(--wr-black); -webkit-text-fill-color: currentColor; box-shadow: 0 14px 34px -10px rgba(0, 0, 0, .55); }
.sch-band__plate .wr-btn--ghost .wr-btn__label { color: var(--wr-black); -webkit-text-fill-color: currentColor; background: none; font-weight: 700; }
.sch-band__plate .wr-btn--ghost .wr-btn__arrow { color: var(--wr-orange); }

/* The early-access key's words are long ("Download opens soon · Ask for early access"): they wrap inside
   their card and on a phone instead of running past the edge (audit 1020, ruled wording). */
.wr-btn[href^="mailto:score@well.run?subject=Early"], .wr-btn[href^="mailto:score@well.run"] { white-space: normal; max-width: 100%; text-align: left; }

/* S4 (owner's plan G, 24 Oct): a capture or photo as a real image, under its element's content, as the background was */
.sch-cap { position: absolute; inset: 0; z-index: -1; display: block; border-radius: inherit; overflow: hidden; pointer-events: none; }
.sch-cap img { display: block; width: 100%; height: 100%; }
/* the stand-in stripes stay under a real picture, never beside it */
.sch-plate:has(> .sch-cap) { background-image: none; }

/* S7 · the beta roster (owner's plan D): one sentence, the names as a line under it; reads the same at 10 and at 25 */
.sch-roster__card { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: clamp(24px, 3vw, 44px); }
.sch-roster__card .sch-h2 { max-width: 22ch; text-wrap: balance; }
.sch-roster__names { max-width: 70ch; color: var(--wr-black-72); }

/* Broadcast's ladder (owner 21:22): three rungs, numbered, each a name and a line */
.sch-ladder { list-style: none; counter-reset: rung; margin: 8px 0 0; padding: 0; display: grid; gap: 14px; }
.sch-ladder li { counter-increment: rung; display: grid; grid-template-columns: 44px 1fr; column-gap: 16px; row-gap: 4px; align-items: baseline; padding: clamp(1rem, 2vw, 1.5rem); border-radius: var(--wr-radius-card, 20px); background: var(--wr-white); box-shadow: var(--wr-shadow-sm); }
.sch-ladder li::before { content: counter(rung); grid-row: span 3; font-size: 28px; font-weight: 800; color: var(--wr-orange); }
.sch-ladder li > b { font-size: clamp(17px, 1.3vw, 20px); }
.sch-ladder li > .sch-label { justify-self: start; }
.sch-ladder li > .sch-body { grid-column: 2; margin: 0; }
/* a long headline (Broadcast's three sentences, owner 21:22) at a size that keeps it to five lines */
.sch-h1.sch-h1--long { font-size: clamp(34px, 2.6vw + 12px, 54px); line-height: 1.06; }
/* S16 bodies: room between the heading and its cards */
section[aria-labelledby$="BodyH"] .sch-h2 { margin-bottom: clamp(20px, 2.4vw, 36px); }

/* S17 band 3 (owner's plan B): every feature as one strip, eight names and a line each, never eight sections */
.sch-does .sch-h2 { margin-bottom: clamp(20px, 2.4vw, 36px); }
.sch-does__strip { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--wr-black-10); border-left: 1px solid var(--wr-black-10); }
.sch-does__strip li { border-right: 1px solid var(--wr-black-10); border-bottom: 1px solid var(--wr-black-10); }
.sch-does__strip a { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: clamp(16px, 1.8vw, 26px); color: inherit; text-decoration: none; transition: background .2s; }
.sch-does__strip a:hover { background: var(--wr-white); }
.sch-does__strip b { font-size: clamp(16px, 1.2vw, 19px); }
.sch-does__strip span { font-size: 15px; line-height: 1.45; color: var(--wr-black-72); }
@media (max-width: 899px) { .sch-does__strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 460px) { .sch-does__strip { grid-template-columns: 1fr; } }

/* Audit 1025 recheck 1: on a phone the contact pill gives way, so the menu key keeps its place inside the screen */
#spacerPill { min-width: 0; overflow: hidden; }
@media (max-width: 560px) {
  #spacerPill .wr-spacer-contact a[href^="mailto:"] { display: none; }
  #spacerPill .wr-spacer-contact { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
}

/* ── The founder note (C-02; Design proposal-1026-founder-note, the owner's two photos 07:15) ── */

.fn { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 0 28px; margin: 6px 0 4px; }
.fn__ph { width: 112px; height: 112px; border-radius: 50%; overflow: hidden; background: var(--wr-black-06); }
.fn__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fn__t p { margin: 0 0 16px; } .fn__t p:last-of-type { margin-bottom: 18px; }
.fn__t a { color: inherit; font-weight: 700; text-decoration: underline; text-decoration-color: var(--wr-orange); text-underline-offset: 3px; }
.fn__by { display: flex; flex-direction: column; gap: 2px; }
@media (max-width: 768px) { .fn { grid-template-columns: 1fr; gap: 18px; } .fn__ph { width: 88px; height: 88px; } }

/* ── The phone menu (owner 26 Oct 09:40: "the humburger menu on phones lags, eventualy i can not scroll up and stuck. also
   make bottom zone of contact details smaller, it covers half of the screen") ── */
/* the list scrolls inside the menu: without min-height 0 a flex child grows past the screen and the rest can't be reached */
#fsMenu .wr-fsbody { min-height: 0; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
@media (max-width: 1024px) {
  /* a fade, not the full-screen circle reveal, which a phone redraws on every frame */
  #fsMenu { clip-path: none; opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility 0s linear .2s; }
  #fsMenu.is-open { clip-path: none; opacity: 1; visibility: visible; transition: opacity .2s ease; }
  .wr-fscta { animation: none; }
  /* the foot: one language needs no switch; contacts, the key and the socials in two short rows */
  .wr-fsfooter { padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); gap: 8px 16px; flex-direction: row; flex-wrap: wrap; justify-content: center; transition-delay: 0s; }
  .wr-fslang { display: none; }
  .wr-fscontact { flex-basis: 100%; gap: 16px; }
  .wr-fscta { padding: 10px 22px; }
  .wr-fssocial { gap: 14px; }
  .wr-fssocial svg { width: 17px; height: 17px; }
}

/* Made by TV broadcasters (owner 31 Oct 16:16, picture 4): the founder's words as a quote, one column, his name under
   them; Well Run's record and the photo strip below, apart from the quote */
.sch-fq__in { display: grid; gap: clamp(28px, 4vw, 56px); }
.sch-fq__top { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.sch-fq__top .sch-why__photo { width: 100%; }
.sch-fq__quote { margin: 0; display: grid; gap: clamp(20px, 2.4vw, 32px); }
.sch-fq__words { margin: 0; font-size: clamp(18px, 1.5vw, 22px); line-height: 1.55; color: var(--wr-black); }
.sch-fq__words p { margin: 0 0 1em; } .sch-fq__words p:last-child { margin-bottom: 0; }
.sch-fq__words a { color: inherit; font-weight: 700; text-decoration: underline; text-decoration-color: var(--wr-orange); text-underline-offset: 3px; }
.sch-fq__by { display: flex; align-items: center; gap: 16px; }
.sch-fq__by .fn__ph { width: 64px; height: 64px; flex: none; }
/* the record on its picture, under a strong tint (owner 2 Nov 13:28) */
.sch-fq__more { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--wr-radius-card); padding: clamp(28px, 5vw, 72px); background: var(--wr-black); }
.sch-fq__bg { position: absolute; inset: 0; z-index: -2; display: block; }
.sch-fq__bg img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; }
.sch-fq__more::before { content: ""; position: absolute; inset: 0; z-index: -1; background: color-mix(in srgb, var(--wr-black) 80%, transparent); }
.sch-fq__more .sch-stack { max-width: 46rem; }
.sch-fq__more .sch-body { color: var(--wr-white); }
.sch-fq__more .wr-btn--link { color: var(--wr-white); }
.sch-fq__more .wr-btn--link .wr-btn__arrow svg { stroke: currentColor; }
@media (max-width: 899px) { .sch-fq__top { grid-template-columns: minmax(0, 1fr); } .sch-fq__top .sch-why__photo { max-width: 26rem; justify-self: center; } }

/* The open beta (row 5; tools/beta.py writes the markup on the deploy of 1 Dec): the strip at the top of Home, the three
   steps beside the key, and the plans' prices struck with "Free in the beta" */
.sch-beta-strip { background: var(--wr-black); color: #fff; padding: 10px 0; padding-top: calc(var(--wr-header-height, 72px) + 10px); }
.sch-beta-strip p { margin: 0; text-align: center; font-size: clamp(14px, 1.1vw, 16px); line-height: 1.45; }
.sch-beta-strip a { color: var(--wr-yellow); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.sch-beta-steps { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 18px; counter-reset: beta; }
.sch-beta-steps li { display: grid; grid-template-columns: 36px 1fr; gap: 2px 14px; counter-increment: beta; }
.sch-beta-steps li::before { content: counter(beta); grid-row: span 2; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--wr-black); color: #fff; font-weight: 800; }
.sch-beta-steps b { font-weight: 800; font-size: clamp(16px, 1.3vw, 18px); }
.sch-beta-steps span { color: var(--wr-black-72); line-height: 1.45; }
.pp-plan__price.is-struck s { text-decoration-thickness: 2px; opacity: .55; }
.pp-plan__beta { display: inline-block; justify-self: start; width: fit-content; margin: 6px 0 0; padding: 4px 12px; border-radius: 999px; background: var(--wr-grad, var(--wr-orange)); color: var(--wr-black); font-size: 13px; font-weight: 800; }

/* Text never on an edge (owner 3 Nov 11:33; gate exit-site Q1): well.run's parts, measured on this site */
body .wr-consent__bar { padding-block: 1.5rem; }
body .wr-tb-lang .wr-lang-item { padding-inline: .75rem; }
body .wr-consent__btn { padding-inline: 1rem; }

body .wr-consent__actions { flex-wrap: wrap; }
body .wr-consent__actions .wr-consent__btn { flex: none; padding-inline: 1rem; }
.wr-btn.wr-btn--ghost { padding-inline: .75rem; }
.sch-spt-vb .sch-card--line { padding-inline: 1rem; }
.sch-gx-post__card.sch-card { padding: clamp(1rem, 2vw, 1.5rem); }
@media (max-width: 767px) { .sch-sb-sheet.sch-card .sch-label { font-size: .5625rem; letter-spacing: .02em; } }
