/* Pit River Stories — TLR R/Public project treatment.
   Palette follows the controlling v0.2 registry; v0.6 adaptive colors remain provisional. */
body.tlr-page-stories {
  --story-ink: #08090C;
  --story-paper: #FAFAF8;
  --story-cream: #F4F0E8;
  --story-text: #D9DDE6;
  --story-signal: #6FA7FF;
  --story-rust: #8C4A2F;
  --story-boundary: #606569;
  color: var(--story-text);
}
body.tlr-page-stories .tlr-shell-main { width: min(1120px, calc(100% - 2rem)); max-width: 1120px; }
body.tlr-page-stories :focus-visible { outline: 3px solid var(--story-signal); outline-offset: 3px; }
body.tlr-page-stories .story-kicker {
  display: block;
  color: var(--story-signal);
  font: 700 .72rem/1.35 "Courier New", monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.story-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(16rem, .82fr);
  gap: clamp(1.2rem, 3vw, 2.5rem);
  align-items: stretch;
  margin: 1.3rem 0 3.2rem;
  padding: clamp(1.35rem, 4vw, 3.1rem);
  border: 1px solid var(--story-boundary);
  border-top: .45rem solid var(--story-rust);
  background: var(--story-ink);
}
.story-hero__copy h2 {
  max-width: 18ch;
  margin: .45rem 0 .8rem;
  color: var(--story-cream);
  font-size: clamp(2rem, 5vw, 3.6rem);
  line-height: 1.02;
}
.story-hero__copy p { max-width: 62ch; color: var(--story-text) !important; font-size: 1.03rem; line-height: 1.65; }
.story-primary-link {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  min-height: 48px;
  margin-top: .45rem;
  padding: .82rem 1.05rem;
  border: 1px solid var(--story-rust);
  border-radius: 4px;
  background: var(--story-rust);
  color: var(--story-paper) !important;
  font: 700 .9rem/1.2 "Courier New", monospace;
  text-decoration: none !important;
}
.story-primary-link:hover { text-decoration: underline !important; text-underline-offset: .2em; }
.story-primary-link:focus-visible { outline-offset: 4px; }
.story-status {
  align-self: center;
  padding: 1.25rem 1.3rem;
  border: 1px solid var(--story-boundary);
  border-left: .38rem solid var(--story-signal);
  background: var(--story-ink);
}
.story-status__label {
  display: inline-block;
  margin-bottom: .85rem;
  padding: .25rem .55rem;
  border: 1px solid var(--story-signal);
  border-radius: 999px;
  color: var(--story-signal);
  font: 700 .67rem/1.2 "Courier New", monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.story-status strong { display: block; color: var(--story-cream); font: 700 1.3rem/1.2 "Playfair Display", Georgia, serif; }
.story-status p { margin: .7rem 0 0; color: var(--story-text) !important; font-size: .9rem; line-height: 1.55; }
.story-section { margin: 3.4rem 0; }
.story-section__heading { max-width: 68ch; margin-bottom: 1.15rem; }
.story-section__heading h2,.story-method__intro h2,.story-worksheet h2,.story-voice h2,.story-boundary h2 {
  margin: .4rem 0 .65rem;
  color: var(--story-cream);
  font: 700 clamp(1.65rem, 3.3vw, 2.4rem)/1.12 "Playfair Display", Georgia, serif;
}
.story-section__heading p,.story-method__intro p { max-width: 64ch; color: var(--story-text) !important; }
.story-section--offerings .story-kicker {
  display: inline-block;
  padding: .28rem .55rem;
  background: var(--story-rust);
  color: var(--story-paper);
}
.story-offerings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; }
.story-offer {
  min-height: 13.5rem;
  padding: 1.15rem 1.2rem;
  border: 1px solid var(--story-boundary);
  border-top: .34rem solid var(--story-rust);
  background: var(--story-ink);
}
.story-offer__number { color: var(--story-signal); font: 700 .72rem/1.2 "Courier New", monospace; letter-spacing: .1em; }
.story-offer h3 { margin: .65rem 0 .45rem; color: var(--story-cream); font-size: 1.3rem; }
.story-offer p { margin: 0; color: var(--story-text) !important; line-height: 1.55; }
.story-method {
  display: grid;
  grid-template-columns: minmax(14rem, .78fr) minmax(0, 1.4fr);
  gap: clamp(1.2rem, 4vw, 3rem);
  margin: 3.5rem 0;
  padding: clamp(1.25rem, 3vw, 2.25rem);
  border-top: 1px solid var(--story-signal);
  border-bottom: 1px solid var(--story-boundary);
  background: var(--story-ink);
}
.story-method__intro h2 { font-size: clamp(1.55rem, 2.7vw, 2.1rem); }
.story-method__intro p { font-size: .95rem; }
.story-steps { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; counter-reset: story-step; }
.story-steps li { counter-increment: story-step; display: grid; grid-template-columns: 2rem 1fr; column-gap: .7rem; padding: .75rem 0; border-bottom: 1px solid var(--story-boundary); }
.story-steps li::before { content: counter(story-step, decimal-leading-zero); grid-row: span 2; padding-top: .12rem; color: var(--story-signal); font: 700 .72rem/1.4 "Courier New", monospace; }
.story-steps strong { color: var(--story-cream); font-size: 1rem; }
.story-steps span { color: var(--story-text); font-size: .9rem; line-height: 1.5; }
.story-worksheet {
  margin: 3.8rem 0;
  padding: clamp(1.25rem, 4vw, 2.6rem);
  border: 1px solid var(--story-boundary);
  border-top: .35rem solid var(--story-signal);
  background: var(--story-ink);
}
.story-worksheet__intro { max-width: 73ch; }
.story-worksheet__intro > p { color: var(--story-text) !important; }
.story-local-note {
  margin: 1rem 0 1.35rem;
  padding: .9rem 1rem;
  border-left: .3rem solid var(--story-boundary);
  background: rgba(96, 101, 105, .14);
  color: var(--story-text);
  font-size: .9rem;
  line-height: 1.55;
}
.story-local-note strong { color: var(--story-cream); }
.story-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.story-field { display: flex; flex-direction: column; gap: .38rem; }
.story-field--wide { grid-column: 1 / -1; }
.story-field label { color: var(--story-cream); font-weight: 700; line-height: 1.35; }
.story-field__hint { color: var(--story-text); font-size: .82rem; line-height: 1.45; }
.story-field textarea,.story-field select {
  width: 100%;
  padding: .78rem .85rem;
  border: 1px solid var(--story-boundary);
  border-radius: 4px;
  background: var(--story-ink);
  color: var(--story-cream);
  font: 400 .97rem/1.5 "Source Serif 4", Georgia, serif;
}
.story-field textarea::placeholder { color: var(--story-text); opacity: 1; }
.story-field textarea:focus-visible,.story-field select:focus-visible { border-color: var(--story-signal); }
.story-worksheet__actions { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; margin-top: 1.2rem; }
.story-button {
  min-height: 48px;
  padding: .7rem 1rem;
  border: 1px solid var(--story-rust);
  border-radius: 4px;
  background: var(--story-rust);
  color: var(--story-paper);
  cursor: pointer;
  font: 700 .8rem/1.3 "Courier New", monospace;
}
.story-button:hover { text-decoration: underline; text-underline-offset: .2em; }
.story-button--quiet { border-color: var(--story-boundary); background: transparent; color: var(--story-text); }
.story-button--quiet:hover { border-color: var(--story-signal); color: var(--story-cream); }
.story-feedback { min-height: 1.4em; color: var(--story-signal); font-size: .85rem; }
.story-voice {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1rem;
  align-items: center;
  margin: 3rem 0;
  padding: 1.25rem 1.35rem;
  border: 1px solid var(--story-boundary);
  border-left: .4rem solid var(--story-signal);
  background: var(--story-ink);
}
.story-voice__mark { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border: 1px solid var(--story-signal); border-radius: 50%; color: var(--story-signal); font-size: 1.15rem; }
.story-voice__support-links { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1rem 0 .25rem; }
.story-voice__badge {
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  min-height: 44px;
  padding: .45rem .75rem;
  border: 1px solid var(--story-boundary);
  border-radius: 999px;
  background: rgba(96,101,105,.12);
  color: var(--story-cream) !important;
  font: 700 .78rem/1.25 "Courier New", monospace;
  text-decoration: none !important;
}
.story-voice__badge:hover { border-color: var(--story-signal); text-decoration: underline !important; text-underline-offset: .18em; }
.story-voice__badge:focus-visible { outline: 3px solid var(--story-signal); outline-offset: 3px; }
.story-voice__badge-symbol {
  display: inline-grid;
  place-items: center;
  flex: 0 0 1.35rem;
  width: 1.35rem;
  height: 1.35rem;
  border: 1px solid var(--story-signal);
  border-radius: 50%;
  color: var(--story-signal);
  font: 700 .92rem/1 Arial, sans-serif;
}
.story-voice__badge-symbol--caution { border: 0; font-size: 1.15rem; }
.story-help__funding { margin-top: 0; padding: .8rem .9rem; border-left: .25rem solid var(--story-signal); background: rgba(96,101,105,.12); color: var(--story-text) !important; line-height: 1.55; }
.story-help__funding strong { color: var(--story-cream); }
.story-voice__content { min-width: 0; }
.story-voice h2 { margin: .3rem 0; font-size: clamp(1.3rem, 2.5vw, 1.75rem); }
.story-voice p { max-width: 78ch; margin: .4rem 0 0; color: var(--story-text) !important; font-size: .91rem; line-height: 1.55; }
.story-voice__status { align-self: start; padding: .38rem .55rem; border: 1px solid var(--story-boundary); border-radius: 999px; color: var(--story-text); font: 700 .62rem/1.3 "Courier New", monospace; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.story-voice__closed { display: grid; gap: .35rem; margin-top: 1rem; padding: .9rem 1rem; border-left: .25rem solid var(--story-signal); background: rgba(111,167,255,.08); }
.story-voice__closed strong { color: var(--story-cream); }
.story-voice__closed span { color: var(--story-text); font-size: .9rem; line-height: 1.5; }
.story-voice__form { margin-top: 1.3rem; padding-top: 1.2rem; border-top: 1px solid var(--story-boundary); }
.story-voice__form[hidden] { display: none !important; }
.story-voice__form h3 { margin: 0 0 .8rem; color: var(--story-cream); font: 700 1.15rem/1.25 "Playfair Display", Georgia, serif; }
.story-voice__fieldset { min-width: 0; margin: 0; padding: 1rem; border: 1px solid var(--story-boundary); }
.story-voice__fieldset legend { padding: 0 .4rem; color: var(--story-cream); font-weight: 700; }
.story-voice__fieldset > .story-field__hint { margin: 0 0 .9rem; }
.story-voice__controls { display: flex; flex-wrap: wrap; gap: .6rem; margin: .8rem 0; }
.story-voice__controls button:disabled { cursor: not-allowed; opacity: .55; }
.story-voice__timer { color: var(--story-cream) !important; font: 700 .78rem/1.4 "Courier New", monospace !important; }
.story-voice__live-status { min-height: 1.45em; color: var(--story-signal) !important; font-size: .88rem !important; }
.story-voice__live-status[data-state="error"] { color: #FFB6A8 !important; }
.story-voice__preview { display: block; width: min(100%, 32rem); margin: .8rem 0; }
.story-voice__download { display: inline-block; margin: .2rem 0 .5rem; color: var(--story-signal); font-size: .9rem; font-weight: 700; text-underline-offset: .18em; }
.story-voice__file-field { margin-top: .8rem; }
.story-voice__file-field input[type="file"] { display: block; width: 100%; max-width: 34rem; margin-top: .5rem; padding: .7rem; border: 1px solid var(--story-boundary); border-radius: 4px; background: var(--story-ink); color: var(--story-text); }
.story-voice__details { margin-top: 1rem; }
.story-voice__terms { margin: .8rem 0 1rem; }
.story-voice__submit-status { margin-top: .6rem !important; }
.story-boundary { display: grid; grid-template-columns: minmax(15rem, .7fr) minmax(0, 1.3fr); gap: 1rem 2.5rem; margin: 3.2rem 0; padding: 1.25rem 0; border-top: 1px solid var(--story-boundary); border-bottom: 1px solid var(--story-boundary); }
.story-boundary h2 { font-size: clamp(1.45rem, 2.6vw, 1.9rem); }
.story-boundary__copy p { margin: .4rem 0 .75rem; color: var(--story-text) !important; line-height: 1.55; }
body.tlr-page-stories .tlr-related-card strong { color: var(--story-cream); }
body.tlr-page-stories .tlr-related-card span { color: var(--story-text); }
@media (max-width: 820px) {
  .story-hero { grid-template-columns: 1fr; }
  .story-status { align-self: stretch; }
  .story-method,.story-boundary { grid-template-columns: 1fr; }
  .story-offerings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .story-offerings,.story-fields { grid-template-columns: 1fr; }
  .story-field--wide { grid-column: auto; }
  .story-offer { min-height: 0; }
  .story-voice { grid-template-columns: auto 1fr; }
  .story-voice__status { grid-column: 2; justify-self: start; }
}
@media (prefers-reduced-motion: reduce) {
  .story-primary-link,.story-button { scroll-behavior: auto; transition: none; }
}
@media print {
  body.tlr-page-stories,body.tlr-page-stories .tlr-shell-header,body.tlr-page-stories .clarity,body.tlr-page-stories .tlr-global-nav,body.tlr-page-stories footer {
    background: #fff !important;
    color: #111 !important;
  }
  .story-hero,.story-status,.story-offer,.story-method,.story-worksheet,.story-voice,.story-local-note {
    background: #fff !important;
    color: #111 !important;
    box-shadow: none !important;
    border-color: #777 !important;
  }
  .story-hero *, .story-status *, .story-offer *, .story-method *, .story-worksheet *, .story-voice *, .story-boundary * { color: #111 !important; }
  .story-worksheet__actions,.tlr-related { display: none !important; }
}

/* Homepage route card: a restrained R/Public marker, with label text on Rust. */
body.tlr-page-home .step7-route-grid--six { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.tlr-page-home .step7-route-card--stories { --route-accent: #8C4A2F; }
body.tlr-page-home .step7-route-card--stories .step7-route-card__eyebrow {
  align-self: flex-start;
  padding: .25rem .45rem;
  background: #8C4A2F;
  color: #FAFAF8;
}
@media (max-width: 960px) { body.tlr-page-home .step7-route-grid--six { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { body.tlr-page-home .step7-route-grid--six { grid-template-columns: 1fr; } }


.story-intake {
  margin: 3.4rem 0;
  padding: clamp(1.25rem, 4vw, 2.6rem);
  border: 1px solid var(--story-boundary);
  border-top: .42rem solid var(--story-rust);
  background: var(--story-ink);
}
.story-intake__intro { max-width: 72ch; }
.story-intake__intro h2,.story-help h2 {
  margin: .4rem 0 .65rem;
  color: var(--story-cream);
  font: 700 clamp(1.65rem, 3.3vw, 2.4rem)/1.12 "Playfair Display", Georgia, serif;
}
.story-intake__intro p { max-width: 68ch; color: var(--story-text) !important; }
.story-intake__text-only {
  margin: 1rem 0 1.3rem;
  padding: .8rem .95rem;
  border-left: .3rem solid var(--story-signal);
  background: rgba(111,167,255,.09);
  line-height: 1.55;
}
.story-intake__text-only strong { color: var(--story-cream); }
.story-intake__terms {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .7rem;
  margin: 1.4rem 0 1.6rem;
}
.story-intake__terms > div {
  display: grid;
  gap: .35rem;
  padding: .9rem 1rem;
  border: 1px solid var(--story-boundary);
  background: rgba(96,101,105,.10);
}
.story-intake__terms strong { color: var(--story-cream); font-size: .94rem; }
.story-intake__terms span { color: var(--story-text); font-size: .88rem; line-height: 1.5; }
.story-form { padding-top: 1.35rem; border-top: 1px solid var(--story-boundary); }
.story-form .story-field input[type="text"],.story-form .story-field input[type="email"] {
  width: 100%; padding: .78rem .85rem; border: 1px solid var(--story-boundary); border-radius: 4px;
  background: var(--story-ink); color: var(--story-cream); font: 400 .97rem/1.5 "Source Serif 4", Georgia, serif;
}
.story-form .story-field input::placeholder { color: var(--story-text); opacity: 1; }
.story-form .story-field input:focus-visible,.story-form .story-field select:focus-visible,.story-form .story-field textarea:focus-visible { outline: 3px solid var(--story-signal); outline-offset: 2px; border-color: var(--story-signal); }
.story-field__optional { color: var(--story-text); font-size: .8em; font-weight: 400; }
.story-form__check { display: block; padding: .85rem .95rem; border: 1px solid var(--story-boundary); background: rgba(96,101,105,.10); }
.story-form__check label { display: flex; gap: .65rem; align-items: flex-start; color: var(--story-text); font-size: .92rem; line-height: 1.5; }
.story-form__check input { width: 1.2rem; height: 1.2rem; flex: 0 0 1.2rem; margin: .1rem 0 0; accent-color: var(--story-signal); }
.story-form__actions { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; align-items: center; margin-top: 1.2rem; }
.story-form__actions p { max-width: 58ch; margin: 0; color: var(--story-text); font-size: .88rem; line-height: 1.5; }
.story-form__actions a,.story-help__copy a { color: var(--story-signal); font-weight: 700; text-underline-offset: .18em; }
.story-help {
  display: grid; grid-template-columns: minmax(15rem,.8fr) minmax(0,1.2fr); gap: 1rem 2.3rem;
  margin: 3rem 0; padding: 1.2rem 0; border-top: 1px solid var(--story-signal); border-bottom: 1px solid var(--story-boundary);
}
.story-help h2 { font-size: clamp(1.45rem, 2.7vw, 1.95rem); }
.story-help__copy p { margin: .35rem 0 .8rem; color: var(--story-text) !important; line-height: 1.55; }
.story-help__actions { display: flex; flex-wrap: wrap; gap: .45rem 1.1rem; margin-top: .2rem; }
.tlr-page-stories-thanks .story-thanks {
  max-width: 760px; margin: 2rem auto; padding: clamp(1.4rem,4vw,3rem); border: 1px solid var(--story-boundary);
  border-top: .42rem solid var(--story-rust); background: var(--story-ink);
}
.story-thanks h2 { color: var(--story-cream); font: 700 clamp(1.8rem,4vw,2.7rem)/1.1 "Playfair Display",Georgia,serif; }
.story-thanks p { color: var(--story-text) !important; line-height: 1.6; }
.story-thanks .story-primary-link { margin-top: .6rem; }
@media (max-width: 820px) { .story-help { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .story-intake__terms { grid-template-columns: 1fr; } }
