/* Homepage and unfrozen chrome. Loaded only by pages outside the frozen article set.
   The shipped Fraunces file is a static 600–700 subset, so the spec's opsz/SOFT/WONK
   settings are declared and have no effect. */

html[data-theme="light"] { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }

.visually-hidden {
  position: absolute;
  clip-path: inset(50%);
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  white-space: nowrap;
}

.header-next {
  backdrop-filter: none;
  background: var(--bg);
}
.header-next .brand,
.site-footer-next .brand {
  color: var(--ink);
  font-size: 0.9375rem;
  letter-spacing: -0.02em;
}
.header-next .brand img,
.site-footer-next .brand img {
  border-radius: 0;
}
[data-theme="dark"] .header-next .brand img,
[data-theme="dark"] .site-footer-next .brand img {
  filter: invert(1);
}
.header-next .nav a {
  color: var(--ink);
  font-size: 0.9375rem;
  font-weight: 600;
}
.header-next .nav a:hover,
.header-next .nav a[aria-current="page"] {
  color: var(--accent);
}
.header-next .nav .nav-cta,
.header-next .nav .nav-cta:hover,
.header-next .nav .nav-cta[aria-current="page"] {
  background: var(--accent);
  border-radius: 6px;
  color: var(--accent-ink);
  font-size: 0.9375rem;
  min-height: 2.75rem;
  padding-inline: 1rem;
}
@media (max-width: 48rem) {
  .header-next .header-contact,
  .header-next a.header-contact {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: var(--accent);
    font-size: 0.9375rem;
    font-weight: 600;
    min-height: 0;
    padding: 0;
  }
  .header-next .menu-button {
    border-radius: 6px;
    background: transparent;
  }
}

.site-footer-next {
  border-top: 1px solid var(--ink);
  padding-block: 3rem 1.5rem;
}
.site-footer-next .footer-top {
  align-items: start;
  display: grid;
  gap: 1.5rem 2rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
}
.site-footer-next .footer-tagline {
  color: var(--muted);
  margin: 0.75rem 0 0;
  max-width: 28rem;
}
.site-footer-next .footer-links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1.15rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-footer-next .footer-links a {
  color: var(--text);
  font-size: 0.9375rem;
  text-decoration: none;
}
.site-footer-next .footer-links a:hover { color: var(--accent); text-decoration: underline; }
.site-footer-next .footer-col h2 {
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.4;
  margin: 0 0 0.75rem;
  text-transform: none;
}
.site-footer-next .footer-col ul {
  display: grid;
  gap: 0.45rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-footer-next .footer-col a {
  color: var(--text);
  font-size: 0.9375rem;
  font-weight: 400;
  text-decoration: none;
}
.site-footer-next .footer-col a:hover { color: var(--accent); }
.site-footer-next .footer-utility {
  align-items: center;
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin-top: 2rem;
  padding-top: 1rem;
}
.site-footer-next .footer-utility p,
.site-footer-next .footer-utility nav {
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.8125rem;
  gap: 0.35rem 0.75rem;
  margin: 0;
}
.site-footer-next .footer-utility a { color: var(--muted); }
.site-footer-next .footer-utility nav { margin-left: auto; }
.site-footer-next .theme-toggle { border-radius: 6px; }
@media (max-width: 48rem) {
  .site-footer-next { padding-block: 0; }
  .site-footer-next .footer-top {
    gap: 1rem;
    grid-template-columns: 1fr;
  }
  .site-footer-next .footer-brand { grid-column: 1 / -1; }
  .site-footer-next .footer-col h2 { margin-bottom: 0.2rem; }
  .site-footer-next .footer-col ul { gap: 0.15rem; }
  .site-footer-next .footer-utility { margin-top: 0; padding-top: 4px; }
  .site-footer-next .footer-utility nav { margin-left: 0; }
}

body.page-home,
body.page-study {
  --bg: #faf9f6;
  --paper: #ffffff;
  --ink: #10141b;
  --text: #333b47;
  --muted: #576274;
  --line: #d9dee6;
  --accent: #075e63;
  --accent-ink: #ffffff;
  background: #faf9f6;
  color: #333b47;
  font-size: 1.0625rem;
  line-height: 1.6;
}
[data-theme="dark"] body.page-home,
[data-theme="dark"] body.page-study {
  --bg: #0f1217;
  --paper: #0f1217;
  --ink: #f2f5f8;
  --text: #d4dbe4;
  --muted: #a3aec0;
  --line: #2c3442;
  --accent: #43d9cb;
  --accent-ink: #0f1217;
  background: #0f1217;
  color: #d4dbe4;
}

body.page-home {
  overflow-x: clip;
}
body.page-home :is(h1, h2, h3, .writing-title, .ledger-title) {
  font-family: var(--font-serif);
  font-variation-settings: "opsz" 72, "SOFT" 0, "WONK" 0;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--ink);
}
body.page-home h1 {
  font-size: clamp(3rem, 1.5rem + 2.2vw, 3.5rem);
  line-height: 1.05;
  margin: 0;
  text-wrap: wrap;
}
body.page-home .hero-line { display: block; }
body.page-home h2 {
  font-size: 2.5rem;
  line-height: 1.1;
  margin: 0.25rem 0 0;
  text-wrap: balance;
}
body.page-home h3,
body.page-home .writing-title,
body.page-home .proof h3 {
  font-size: 1.5rem;
  line-height: 1.25;
  margin: 0;
  text-wrap: balance;
}
body.page-home p { margin: 0; max-width: 68ch; }
body.page-home a { color: var(--accent); }
body.page-home a.button-primary,
body.page-study a.button-primary,
body.page-home .skip-link,
body.page-study .skip-link,
.header-next a.header-contact {
  color: var(--accent-ink);
}
@media (max-width: 72rem) {
  .header-next a.header-contact {
    background: transparent;
    color: var(--accent);
  }
}
body.page-home .skip-link,
body.page-study .skip-link {
  background: var(--ink);
  color: var(--bg);
}
body.page-home .idx,
body.page-home .meta,
body.page-home time,
body.page-home .num {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
body.page-home .section {
  border-top: 0;
  position: relative;
}
body.page-home .section::before {
  background: #10141b;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: min(75rem, calc(100% - 2rem));
}
body.page-home main > section:not(.hero) { padding: 72px 0 80px; }
[data-theme="dark"] body.page-home .section::before { background: #3a4352; }
body.page-home .home-grid,
body.page-home .hero-grid,
.site-footer-next .footer-top { align-items: start; }
body.page-home .hero::after { background: none; content: none; }
body.page-home .ask { background: #faf9f6; }
[data-theme="dark"] body.page-home .ask { background: #0f1217; }
body.page-home .home-grid,
body.page-home .hero-grid {
  display: grid;
  gap: 2rem 24px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
body.page-home .rail { grid-column: 1 / span 4; }
body.page-home .stage { grid-column: 5 / span 8; }
body.page-home .hero-copy { grid-column: 1 / -1; max-width: 40rem; }
body.page-home .ledger {
  border-inline-start: 1px solid var(--line);
  grid-column: 9 / span 4;
  padding-inline-start: 24px;
}
@media (min-width: 64.01rem) {
  body.page-home .rail { position: sticky; top: 5.5rem; }
  body.page-home .hero-line { display: block; white-space: nowrap; }
}
body.page-home .hero { padding-block: 4.5rem 72px; }
body.page-home .hero-lead {
  font-size: 1.25rem;
  line-height: 1.6;
  margin-top: 1.25rem;
  max-width: 62ch;
  text-wrap: pretty;
}
body.page-home .hero-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  margin-top: 1.75rem;
}
body.page-home .button,
body.page-home .submit-button,
body.page-home .look-form button {
  border-radius: 6px;
  font-size: 0.9375rem;
  font-weight: 600;
  min-height: 3rem;
}
body.page-home .text-link { font-size: 0.9375rem; }
body.page-home a:has(.link-label),
body.page-study a:has(.link-label) { text-decoration: none; }
body.page-home .link-label,
body.page-study .link-label {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}
body.page-home .text-link .row-arrow,
body.page-home .row-arrow,
body.page-study .row-arrow {
  display: inline-block;
  text-decoration: none;
  transition: transform 160ms ease;
}
body.page-home a:hover .row-arrow,
body.page-study a:hover .row-arrow { transform: translateX(4px); }
@media (prefers-reduced-motion: reduce) {
  body.page-home .row-arrow { transition: none; }
}

body.page-home .ledger h2 {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0;
  margin: 0 0 0.5rem;
}
body.page-home .ledger ol { list-style: none; margin: 0; padding: 0; }
body.page-home .ledger li + li { border-top: 1px solid var(--line); }
body.page-home .ledger a {
  display: grid;
  gap: 0.25rem;
  padding-block: 0.9rem;
  text-decoration: none;
}
body.page-home .ledger a:hover { background: #f3f4f5; }
[data-theme="dark"] body.page-home .ledger a:hover { background: #161b22; }
body.page-home .ledger-title {
  color: var(--ink);
  font-size: 1.25rem;
  line-height: 1.3;
}

body.page-home .bench,
body.page-study .bench {
  container-type: inline-size;
  max-width: 100%;
}
body.page-home .bench table,
body.page-study .bench table {
  border-collapse: collapse;
  width: 100%;
}
body.page-home .bench caption,
body.page-study .bench caption {
  caption-side: bottom;
  color: var(--muted);
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-top: 1rem;
  max-width: 62ch;
  padding: 0;
  text-align: start;
  text-wrap: pretty;
}
body.page-home .bench th,
body.page-home .bench td,
body.page-study .bench th,
body.page-study .bench td {
  border-bottom: 1px solid var(--line);
  padding: 0.75rem 0.5rem 0.75rem 0;
  vertical-align: middle;
}
body.page-home .bench thead th,
body.page-study .bench thead th {
  background: var(--bg);
  border-top: 1px solid #10141b;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  position: sticky;
  text-align: start;
  text-wrap: balance;
  top: 4.25rem;
}
[data-theme="dark"] body.page-home .bench thead th,
[data-theme="dark"] body.page-study .bench thead th { border-top-color: #3a4352; }
body.page-home .bench .num,
body.page-study .bench .num { text-align: end; }
body.page-home .bench thead th.num,
body.page-study .bench thead th.num {
  text-align: right;
}
body.page-home .bench thead th.nowrap,
body.page-study .bench thead th.nowrap {
  text-wrap: nowrap;
  white-space: nowrap;
}
body.page-home .bench tbody td.num,
body.page-study .bench tbody td.num {
  color: var(--ink);
  font-size: 0.9375rem;
  font-variant-numeric: tabular-nums;
}
body.page-home .bench tbody th,
body.page-study .bench tbody th {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 600;
  text-align: start;
}
body.page-home .role,
body.page-study .role {
  color: var(--muted);
  display: block;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 400;
}
body.page-home .role-maker,
body.page-study .role-maker,
body.page-home .role-id,
body.page-study .role-id { white-space: nowrap; }
body.page-home .bench-group th,
body.page-study .bench-group th {
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  padding-top: 1.1rem;
  text-align: start;
}
.bench-bar { min-width: 176px; width: 176px; }
body.page-home .bench :is(td, th).bench-bar,
body.page-study .bench :is(td, th).bench-bar { padding-inline: 0; }
.bar-track {
  background: #e6e8ec;
  border-radius: 2px;
  display: block;
  height: 8px;
  width: 100%;
}
.bar-fill { background: #8a94a3; display: block; height: 100%; }
.bar-88 { width: 88%; }
.bar-87 { width: 87%; }
.bar-82 { width: 82%; }
.bar-80 { width: 80%; }
.bar-62 { width: 62%; }
.bar-42 { width: 42%; }
.bar-fill.base { background: #afb8c6; }
.bench-scores .acc-label { display: none; }
.bench-scores .bar-unit {
  display: none;
  font-family: var(--font-mono);
  font-size: 0.9375rem;
  font-variant-numeric: tabular-nums;
  font-weight: 500;
}
body.page-study .bench-scores .bar-unit {
  font-family: var(--font-sans);
  font-weight: 400;
}
.bench-scores .bar-col-name {
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
[data-theme="dark"] .bar-track {
  background: #2a3340;
  box-shadow: inset 0 0 0 1px #465064;
}
[data-theme="dark"] .bar-fill { background: #94a3b8; }
[data-theme="dark"] .bar-fill.base { background: #525d6e; }

body.page-home .proof {
  display: grid;
  gap: 1.5rem 24px;
  grid-template-columns: 1fr 1fr;
  margin-top: 3rem;
}
body.page-home .proof article + article {
  border-inline-start: 1px solid var(--line);
  padding-inline-start: 24px;
}
body.page-home .proof p,
body.page-home .split p,
body.page-home .how p,
body.page-home .rail p:not(.idx) {
  font-size: 1.0625rem;
  line-height: 1.6;
}
body.page-home .proof p { margin-top: 0.6rem; }

body.page-home .service-row {
  border-top: 1px solid var(--line);
  padding-block: 1.5rem;
}
body.page-home .service-row:last-of-type { border-bottom: 1px solid var(--line); }
body.page-home .service-proof { margin: 1.25rem 0 0; }
body.page-study .other-systems { margin-top: 1.5rem; }
body.page-home :is(#work, #build) .service-row:first-of-type { border-top: 0; }
body.page-home .service-row:hover { background: #f3f4f5; }
[data-theme="dark"] body.page-home .service-row:hover { background: #161b22; }
body.page-home :is(#work, #build) h3 a {
  color: inherit;
  text-decoration: none;
}
body.page-home :is(#work, #build) h3 a:hover,
body.page-home :is(#work, #build) h3 a:focus-visible {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
body.page-home .split {
  display: grid;
  gap: 1rem 24px;
  grid-template-columns: 1fr 1fr;
  margin-top: 0.9rem;
}
body.page-home .service-row .idx { display: block; margin-bottom: 6px; }
body.page-home .label {
  color: var(--muted);
  font-size: 0.8125rem;
  margin-bottom: 0.25rem;
}
body.page-home .row-foot { font-size: 0.9375rem; margin-top: 0.9rem; }
body.page-home .how {
  display: grid;
  gap: 1.25rem 24px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 2.5rem;
}
body.page-home .how article + article {
  border-inline-start: 1px solid var(--line);
  padding-inline-start: 24px;
}
body.page-home .how h3 { font-size: 1.25rem; }
body.page-home .method-link { margin-top: 1.5rem; }

body.page-home .writing-rows,
body.page-study .writing-rows {
  list-style: none;
  margin: 0;
  padding: 0;
}
body.page-home .writing-rows a,
body.page-study .writing-rows a {
  align-items: center;
  border-top: 1px solid var(--line);
  color: inherit;
  display: grid;
  gap: 0.35rem 1.25rem;
  grid-template-columns: 7.5rem minmax(0, 1fr) auto;
  padding-block: 1rem;
  text-decoration: none;
}
body.page-home #lab .writing-rows li:first-child a { border-top: 0; }
body.page-home .writing-rows li:last-child a,
body.page-study .writing-rows li:last-child a { border-bottom: 1px solid var(--line); }
body.page-home .writing-rows a:hover,
body.page-study .writing-rows a:hover { background: #f3f4f5; }
[data-theme="dark"] body.page-home .writing-rows a:hover,
[data-theme="dark"] body.page-study .writing-rows a:hover { background: #161b22; }
body.page-home .writing-dek {
  color: var(--muted);
  display: block;
  font-size: 0.9375rem;
  line-clamp: unset;
  max-width: 65ch;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  -webkit-line-clamp: unset;
}
body.page-home .writing-title,
body.page-study .writing-title { display: block; }

body.page-home .look-band {
  background: #f3f4f5;
  border-block: 1px solid var(--line);
  padding-block: 7.5rem;
}
[data-theme="dark"] body.page-home .look-band { background: #161b22; }
body.page-home .look-form {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  gap: 0.4rem;
  grid-template-columns: 1fr;
  max-width: 40rem;
  padding: 0;
}
body.page-home .look-form:focus-within { border-color: transparent; box-shadow: none; }
body.page-home .look-form label,
body.page-home .field label {
  clip: auto;
  color: var(--ink);
  font-size: 0.9375rem;
  font-weight: 600;
  height: auto;
  overflow: visible;
  position: static;
  white-space: normal;
  width: auto;
}
body.page-home .look-form input::placeholder,
body.page-home .field input::placeholder,
body.page-home .field textarea::placeholder { color: #576274; opacity: 1; }
[data-theme="dark"] body.page-home .look-form input::placeholder,
[data-theme="dark"] body.page-home .field input::placeholder,
[data-theme="dark"] body.page-home .field textarea::placeholder { color: #a3aec0; }
body.page-home .look-form button {
  background: var(--accent);
  color: var(--accent-ink);
}
body.page-home .look-controls { display: flex; gap: 0.5rem; }
body.page-home .look-controls input { flex: 1; }
body.page-home .field input,
body.page-home .field textarea,
body.page-home .look-form input {
  background: #ffffff;
  border: 1px solid #c3cbd6;
  border-radius: 6px;
  color: #10141b;
  font-size: 1rem;
  min-height: 3rem;
  padding: 0.75rem 0.9rem;
  width: 100%;
}
body.page-home .field textarea { min-height: 8rem; resize: vertical; }
[data-theme="dark"] body.page-home .field input,
[data-theme="dark"] body.page-home .field textarea,
[data-theme="dark"] body.page-home .look-form input {
  background: #0f1217;
  border-color: #3a4352;
  color: #f2f5f8;
}
body.page-home .look-note { color: var(--muted); font-size: 0.9375rem; margin-top: 0.75rem; }
body.page-home .look-result { margin-top: 1.5rem; }
body.page-home .kv {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 0.25rem 1rem;
  grid-template-columns: 9rem minmax(0, 1fr);
  padding-block: 0.7rem;
}
body.page-home .kv:last-child { border-bottom: 1px solid var(--line); }
body.page-home .kv span:first-child {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 0.8125rem;
}
body.page-home .kv span:last-child { font-size: 0.9375rem; overflow-wrap: anywhere; }

body.page-home .ask-grid { align-items: start; }
body.page-home .ask-intro p { margin-top: 1rem; }
body.page-home .ask-intro .button { margin-top: 1.25rem; }
body.page-home .form-grid { gap: 1rem; }
body.page-home .form-note,
body.page-home .form-status { font-size: 0.9375rem; }
body.page-home .form-submit-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
body.page-home .turnstile-slot[hidden],
body.page-home .turnstile-slot:not(:has(iframe)) {
  display: none;
  height: 0;
  min-height: 0;
  margin: 0;
}
body.page-home .submit-button {
  background: transparent;
  border: 1px solid #10141b;
  color: #10141b;
}
[data-theme="dark"] body.page-home .submit-button {
  border-color: #f2f5f8;
  color: #f2f5f8;
}
body.page-home .submit-button:hover {
  background: #10141b;
  color: #faf9f6;
}
[data-theme="dark"] body.page-home .submit-button:hover {
  background: #f2f5f8;
  color: #0f1217;
}

body.page-study { font-size: 1.0625rem; }
body.page-study h1 {
  color: #10141b;
  font-family: var(--font-serif);
  font-size: clamp(2.5rem, 1.4rem + 2vw, 3.25rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.08;
  margin: 0.5rem 0 1rem;
  max-width: 22ch;
  text-wrap: balance;
}
body.page-study h2 {
  color: #10141b;
  font-family: var(--font-serif);
  font-size: 2.5rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 2.5rem 0 0.75rem;
  text-wrap: balance;
}
[data-theme="dark"] body.page-study h1,
[data-theme="dark"] body.page-study h2 { color: #f2f5f8; }
body.page-study .study-page {
  max-width: 780px;
  width: min(100% - 2rem, 780px);
}
body.page-study .study-hero,
body.page-study .study-page { padding-block: 4rem 5rem; }
body.page-study .study-hero p,
body.page-study .study-page p,
body.page-study .study-page li { max-width: 65ch; }
body.page-study .study-page ul {
  margin: 0.75rem 0 0;
  padding-inline-start: 1.25rem;
}
body.page-study .study-page li + li { margin-top: 0.35rem; }
body.page-study .table-note {
  color: var(--muted);
  font-size: 0.9375rem;
  margin-top: 0.75rem;
}
body.page-study strong { font-weight: 600; }
.bench-split table {
  --bench-label-2: "Yes/no (of 30)";
  --bench-label-3: "Multiple choice (of 12)";
  --bench-label-4: "Scored (of 18)";
  --bench-label-5: "Total (of 60)";
  --bench-label-6: "Missed";
}
@container (max-width: 36rem) {
  .bench-split table,
  .bench-split tbody,
  .bench-split tr,
  .bench-split th,
  .bench-split td {
    display: block;
    min-width: 0;
    width: auto;
  }
  .bench-split thead { display: none; }
  .bench-split tr + tr { border-top: 1px solid var(--line); }
  .bench-split tbody th { border-bottom: 0; padding-bottom: 0; }
  .bench-split td {
    align-items: baseline;
    border-bottom: 0;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding-block: 4px;
  }
  .bench-split td:nth-child(2)::before { content: var(--bench-label-2); }
  .bench-split td:nth-child(3)::before { content: var(--bench-label-3); }
  .bench-split td:nth-child(4)::before { content: var(--bench-label-4); }
  .bench-split td:nth-child(5)::before { content: var(--bench-label-5); }
  .bench-split td:nth-child(6)::before { content: var(--bench-label-6); }
  .bench-split td::before {
    color: var(--muted);
    font-family: var(--font-sans);
    font-size: 0.8125rem;
    font-weight: 400;
  }
}
body.page-study .writing-title {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 600;
}
body.page-study .meta-label,
body.page-study time {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 0.8125rem;
}
body.page-study .study-note { color: var(--muted); font-size: 0.9375rem; margin-top: 1.5rem; }
body.page-study .breadcrumbs { font-size: 0.9375rem; margin-bottom: 1.5rem; }

@media (max-width: 64rem) {
  body.page-home .rail,
  body.page-home .stage,
  body.page-home .hero-copy,
  body.page-home .ledger { grid-column: 1 / -1; }
  body.page-home .ledger {
    border-inline-start: 0;
    border-top: 1px solid var(--line);
    margin-top: 0.5rem;
    padding-inline-start: 0;
    padding-top: 1.25rem;
  }
  body.page-home .proof,
  body.page-home .how,
  body.page-home .split { grid-template-columns: 1fr; }
  body.page-home .proof article + article,
  body.page-home .how article + article {
    border-inline-start: 0;
    border-top: 1px solid var(--line);
    padding-inline-start: 0;
    padding-top: 1.25rem;
  }
}
@media (max-width: 48rem) {
  body.page-home { font-size: 1rem; }
  body.page-home h1 { font-size: clamp(2.5rem, 8vw, 2.75rem); }
  body.page-home h2 { font-size: 1.875rem; }
  body.page-home h3,
  body.page-home .writing-title,
  body.page-home .proof h3 { font-size: 1.3125rem; }
  body.page-home .how h3,
  body.page-home .ledger-title { font-size: 1.125rem; }
  body.page-home .hero-lead { font-size: 1.125rem; line-height: 1.45; margin-top: 1rem; }
  body.page-home .hero-actions { gap: 0.75rem; margin-top: 1.25rem; }
  body.page-home .section::before { width: min(75rem, calc(100% - 1.5rem)); }
  body.page-home main > section:not(.hero) { padding: 36px 0 40px; }
  body.page-home .hero { padding-block: 2.5rem 48px; }
  body.page-study .study-page { width: min(100% - 1.5rem, 780px); }
  body.page-home .home-grid,
  body.page-home .hero-grid { gap: 1rem 24px; }
  body.page-home .ledger h2 { margin-bottom: 0.25rem; }
  body.page-home .ledger a { padding-block: 0.65rem; }
  body.page-home .bench th,
  body.page-home .bench td,
  body.page-study .bench th,
  body.page-study .bench td { padding: 2px 0; }
  body.page-home .bench caption { line-height: 1.45; margin-top: 0; }
  body.page-home .bench-group th,
  body.page-study .bench-group th { padding-top: 2px; }
  body.page-study .bench-baseline :is(th, td):nth-child(n + 2) {
    padding-left: 16px;
    white-space: nowrap;
  }
  body.page-home .proof { gap: 1rem; margin-top: 1.5rem; }
  body.page-home .proof p,
  body.page-home .split p,
  body.page-home .how p,
  body.page-home .rail p:not(.idx) {
    font-size: 1rem;
    line-height: 1.6;
  }
  body.page-home .proof article + article { padding-top: 0.75rem; }
  body.page-home .how article + article { padding-top: 4px; }
  body.page-home .service-row { padding-block: 0; }
  body.page-home .split { gap: 4px; margin-top: 0.2rem; }
  body.page-home .row-foot { margin-top: 0.2rem; }
  body.page-home .how { gap: 0; margin-top: 4px; }
  body.page-home .method-link { margin-top: 1rem; }
  body.page-home .writing-rows a { padding-block: 0.65rem; }
  body.page-home .form-grid { gap: 14px; grid-template-columns: 1fr 1fr; }
  body.page-home .field-wide { grid-column: 1 / -1; }
  body.page-home .field textarea { min-height: 6.5rem; }
  body.page-home .ask-intro p { margin-top: 0.75rem; }
  body.page-home .ask-intro .button { margin-top: 0.85rem; }
  body.page-home .hero-actions .button { width: 100%; }
  body.page-home .look-controls { flex-direction: column; }
  body.page-home .writing-rows a,
  body.page-study .writing-rows a { grid-template-columns: 1fr auto; }
  body.page-home .writing-rows time,
  body.page-study .writing-rows time,
  body.page-study .meta-label { grid-column: 1 / -1; }
  body.page-home .kv { grid-template-columns: 1fr; }
}
@media (max-width: 30rem) {
  .bench-scores .acc { display: none; }
  .bench-scores .bar-col-name { display: none; }
  .bench-scores .acc-label { display: inline; }
  .bench-scores .bar-unit {
    display: inline-block;
    font-variant-numeric: tabular-nums;
    margin-inline-end: 8px;
    min-width: 2.75rem;
    text-align: right;
    vertical-align: middle;
  }
  .bench-scores .bench-bar {
    min-width: 0;
    text-align: right;
    white-space: nowrap;
    width: auto;
  }
  .bench-scores .bar-track {
    display: inline-block;
    vertical-align: middle;
    width: 56px;
  }
  body.page-home .bench-scores thead th,
  body.page-study .bench-scores thead th { position: static; }
  body.page-home .bench-scores thead th.num,
  body.page-study .bench-scores thead th.num,
  body.page-home .bench-scores tbody td.num,
  body.page-study .bench-scores tbody td.num {
    text-align: right;
    white-space: nowrap;
  }
  body.page-home .bench-scores thead th.bench-bar,
  body.page-study .bench-scores thead th.bench-bar { text-align: right; }
  body.page-home .bench-scores :is(th, td).num:not(.acc),
  body.page-study .bench-scores :is(th, td).num:not(.acc) {
    padding-right: 12px;
    width: 1%;
  }
  body.page-study h2 { font-size: 1.875rem; }
}
body.page-home h1 { text-wrap: balance; }
body.page-home .hero-kicker {
  color: var(--ink);
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 1.15rem + 0.7vw, 1.75rem);
  font-variation-settings: "opsz" 72, "SOFT" 0, "WONK" 0;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin-top: 1.15rem;
  text-wrap: balance;
}
body.page-home .service-example {
  color: var(--muted);
  font-size: 0.9375rem;
  line-height: 1.5;
  margin-top: 0.85rem;
}
body.page-home .work-also { color: var(--muted); font-size: 0.9375rem; line-height: 1.5; margin-top: 1.25rem; }
body.page-home .work-also a { color: var(--ink); }
body.page-home .how { border-top: 1px solid var(--line); padding-top: 1.25rem; }
@media (max-width: 48rem) {
  body.page-home .hero-kicker { font-size: 1.35rem; line-height: 1.3; margin-top: 0.85rem; }
  body.page-home .work-also { margin-top: 1rem; }
  body.page-home .how { border-top: 1px solid var(--line); margin-top: 1.25rem; padding-top: 1rem; }
  body.page-home .service-row { padding-block: 0.9rem; }
  body.page-home .how article + article { margin-top: 0.9rem; padding-top: 0.9rem; }
}
