/* Takyonics: the quiet document template. Privacy, 404, anything that is a
   page to read rather than a page to travel. Same tokens, no scroll engine. */

.doc-body { min-height: 100svh; display: flex; flex-direction: column; }
.doc-bar { position: static; padding-block: var(--sc-5); }
.doc-bar > * { pointer-events: auto; }

.doc { flex: 1; width: 100%; max-width: var(--sc-maxw); margin-inline: auto; padding: var(--sc-7) var(--sc-gutter) var(--sc-9); }
.doc__head { max-width: 40rem; margin-bottom: var(--sc-8); }
.doc__head .sc-display { max-width: 14ch; }
.doc__meta { margin: var(--sc-4) 0 0; color: var(--sc-ink-soft); font-size: var(--sc-t-sm); }
.doc__grid { display: grid; grid-template-columns: 14rem minmax(0, 1fr); gap: var(--sc-8); align-items: start; }
.doc__toc { position: sticky; top: var(--sc-6); display: grid; gap: var(--sc-2); font-size: var(--sc-t-sm); }
.doc__toc a { color: var(--sc-ink-soft); text-decoration: none; }
.doc__toc a:hover { color: var(--sc-ink); }
.doc__text { max-width: var(--sc-measure); }
.doc__text h2 { font-family: var(--sc-font-display); font-size: var(--sc-t-xl); font-weight: 560; letter-spacing: var(--sc-track-snug); line-height: 1.1; margin: var(--sc-8) 0 var(--sc-4); text-wrap: balance; }
.doc__text h2:first-child { margin-top: 0; }
.doc__text p, .doc__text li { color: var(--sc-ink-soft); text-wrap: pretty; }
.doc__text p { margin: 0 0 var(--sc-4); }
.doc__text ul { margin: 0 0 var(--sc-4); padding-left: 1.2em; }
.doc__text li + li { margin-top: var(--sc-2); }
.doc__text strong { color: var(--sc-ink); font-weight: 500; }
.doc__text a { color: var(--sc-ink); }
.placeholder { color: var(--sc-accent); }

.doc-foot {
  display: grid; gap: var(--sc-3);
  padding: var(--sc-6) var(--sc-gutter) max(1.5rem, env(safe-area-inset-bottom));
  border-top: 1px solid var(--sc-hairline);
  font-size: var(--sc-t-sm); color: var(--sc-ink-soft);
}

/* 404 */
.lost { flex: 1; display: grid; place-items: center; text-align: center; padding: var(--sc-8) var(--sc-gutter); }
.lost__inner { display: grid; gap: var(--sc-5); justify-items: center; }
.lost__mark { width: clamp(5.5rem, 11vw, 9rem); height: auto; }
.lost__inner .sc-lede { max-width: 30ch; }
.lost__links { display: flex; gap: var(--sc-5); align-items: center; flex-wrap: wrap; justify-content: center; }
.lost__links a:not(.cta) { color: var(--sc-ink-soft); }

@media (max-width: 860px) {
  .doc__grid { grid-template-columns: 1fr; gap: var(--sc-6); }
  .doc__toc { position: static; }
  .doc { padding-top: var(--sc-6); }
}

/* App policy pages under /verse */
.doc__app { display: flex; align-items: center; gap: var(--sc-4); margin-bottom: var(--sc-5); }
.doc__app img { width: 3.5rem; height: 3.5rem; border-radius: 22%; box-shadow: var(--sc-e2), var(--sc-edge); }
.doc__app span { font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
.doc__summary {
  margin: var(--sc-6) 0 0; padding: var(--sc-5); max-width: 40rem;
  border: 1px solid var(--sc-hairline-strong); border-radius: var(--sc-r-lg);
  background: var(--sc-surface); box-shadow: var(--sc-edge);
  color: var(--sc-ink); text-wrap: pretty;
}
.doc__text h3 { font-family: var(--sc-font-display); font-size: var(--sc-t-lg); font-weight: 560; letter-spacing: var(--sc-track-snug); line-height: 1.2; margin: var(--sc-6) 0 var(--sc-3); color: var(--sc-ink); }
.doc__text ol { margin: 0 0 var(--sc-4); padding-left: 1.3em; }
.doc__text ol li { color: var(--sc-ink-soft); text-wrap: pretty; }
.doc__text address { font-style: normal; color: var(--sc-ink-soft); line-height: 1.7; margin: 0 0 var(--sc-4); }

/* Service pages */
.svc-hero { position: relative; isolation: isolate; min-height: min(62vh, 36rem); display: grid; align-items: end; overflow: clip; }
.svc-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.svc-hero__scrim { position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, var(--sc-canvas) 0%, color-mix(in oklab, var(--sc-canvas) 82%, transparent) 38%, color-mix(in oklab, var(--sc-canvas) 30%, transparent) 70%, transparent 100%); }
.svc-hero__inner { width: 100%; max-width: var(--sc-maxw); margin-inline: auto; padding: var(--sc-9) var(--sc-gutter) var(--sc-6); display: grid; gap: var(--sc-5); justify-items: start; }
.svc-hero__inner .sc-display { max-width: 16ch; }
.svc-hero__inner .sc-lede { max-width: 42ch; }
.svc { padding-bottom: var(--sc-9); }
.svc__grid { display: grid; grid-template-columns: 14rem minmax(0, 1fr); gap: var(--sc-8); align-items: start; padding-top: var(--sc-7); }
.svc__text { max-width: var(--sc-measure); }
.svc__text h2 { font-family: var(--sc-font-display); font-size: var(--sc-t-xl); font-weight: 560; letter-spacing: var(--sc-track-snug); line-height: 1.1; margin: var(--sc-8) 0 var(--sc-4); text-wrap: balance; }
.svc__text h2:first-child { margin-top: 0; }
.svc__text h3 { font-family: var(--sc-font-display); font-size: var(--sc-t-lg); font-weight: 560; letter-spacing: var(--sc-track-snug); line-height: 1.2; margin: var(--sc-6) 0 var(--sc-2); }
.svc__text p, .svc__text li { color: var(--sc-ink-soft); text-wrap: pretty; }
.svc__text p { margin: 0 0 var(--sc-4); }
.svc__text ul { margin: 0 0 var(--sc-4); padding-left: 1.2em; }
.svc__text li + li { margin-top: var(--sc-2); }
.svc__text strong { color: var(--sc-ink); font-weight: 500; }
.svc__text a:not(.cta) { color: var(--sc-ink); }
.svc__facts { list-style: none; padding: 0; margin: 0 0 var(--sc-4); display: grid; gap: 0; border-top: 1px solid var(--sc-hairline); }
.svc__facts li { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: var(--sc-4); padding: var(--sc-3) 0; border-bottom: 1px solid var(--sc-hairline); margin: 0; }
.svc__facts li span:first-child { color: var(--sc-ink); font-weight: 500; }
.svc__steps { list-style: none; margin: 0 0 var(--sc-4); padding: 0; counter-reset: step; }
.svc__steps li { counter-increment: step; position: relative; padding: var(--sc-4) 0 var(--sc-4) 3rem; border-top: 1px solid var(--sc-hairline); margin: 0; }
.svc__steps li:last-child { border-bottom: 1px solid var(--sc-hairline); }
.svc__steps li::before { content: counter(step, decimal-leading-zero); position: absolute; left: 0; top: calc(var(--sc-4) + 0.3em); font-family: var(--sc-font-mono); font-size: var(--sc-t-xs); letter-spacing: 0.08em; color: var(--sc-accent); }
.svc__steps h3 { margin: 0 0 var(--sc-2); }
.svc__steps p { margin: 0; }
.svc__faq dt { font-family: var(--sc-font-display); font-weight: 560; font-size: var(--sc-t-lg); letter-spacing: var(--sc-track-snug); color: var(--sc-ink); margin: var(--sc-6) 0 var(--sc-2); }
.svc__faq dd { margin: 0; color: var(--sc-ink-soft); text-wrap: pretty; }
.svc__cta { margin-top: var(--sc-8); padding: var(--sc-6); border: 1px solid var(--sc-hairline-strong); border-radius: var(--sc-r-lg); background: var(--sc-surface); box-shadow: var(--sc-edge); display: grid; gap: var(--sc-4); justify-items: start; }
.svc__cta p { margin: 0; color: var(--sc-ink); max-width: 40ch; }
.svc__related { margin-top: var(--sc-7); padding-top: var(--sc-5); border-top: 1px solid var(--sc-hairline); display: flex; gap: var(--sc-5); flex-wrap: wrap; font-size: var(--sc-t-sm); }
.svc__related a { color: var(--sc-ink-soft); }
.svc__related a:hover { color: var(--sc-ink); }
.foot__nav--services { margin-right: auto; }
@media (max-width: 860px) {
  .svc__grid { grid-template-columns: 1fr; gap: var(--sc-6); }
  .svc__facts li { grid-template-columns: 1fr; gap: var(--sc-1); }
  .svc-hero { min-height: 54vh; }
}
