/* The feature pages (/sees-your-screen, and the ones to come): one thing
   hikomi does, answered the way people search for it. landing.css is the
   frame - the buttons, the drawn scenes, the footer; this is the page: the
   answer first beside a scene that shows it, then a section per question, in
   a column short enough to read, its left edge on the headline's. */

/* The top of the page: the logo home, and the app. Not sticky - these pages
   have no header script to frost it once the page moves (as contact.html). */
header.page-top { position: static; display: flex; justify-content: space-between; align-items: center; }

.topic-hero {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.15fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
  margin-top: clamp(16px, 5vh, 56px);
}
.topic-hero h1 {
  margin: 0 0 20px;
  font-size: clamp(2.4rem, 4.6vw, 4rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.035em;
}

/* A question and its answer. Tighter than the front page's sections: these
   follow on from each other. */
section.topic-qa { margin-bottom: clamp(56px, 9vh, 88px); }
.topic-qa h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1.08; max-width: 24ch; }
.topic-qa > p, .topic-qa > div > p, .topic-qa > ul, .topic-qa > ol {
  max-width: 64ch;
  color: var(--ink-2);
}
.topic-qa p { margin: 0 0 14px; }
.topic-qa strong { color: var(--ink); font-weight: 600; }
.topic-qa .note { font-size: .95rem; color: var(--ink-3); }
.topic-qa .ticks { margin: 18px 0 20px; }

/* Beside its scene, the way the front page shows it. */
.topic-qa.with-scene {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}

/* Steps are a sequence, so they are numbered. */
.steps { list-style: none; counter-reset: step; margin: 20px 0 18px; padding: 0; }
.steps li { counter-increment: step; position: relative; min-height: 32px; margin-bottom: 14px; padding: 3px 0 0 48px; }
.steps li::before {
  content: counter(step);
  position: absolute; left: 0; top: 0;
  width: 32px; height: 32px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--solid); color: var(--on-solid);
  font: 800 .95rem/1 var(--font-display);
}

/* What you might ask: your words as you'd type them to the character, then
   what they'd be about. */
.asks { list-style: none; margin: 18px 0 22px; padding: 0; display: grid; gap: 14px; }
.asks q {
  display: block; width: fit-content; margin-bottom: 4px; padding: 6px 13px;
  border-radius: var(--r-control) var(--r-control) var(--r-control) 4px;
  background: var(--paper); box-shadow: inset 0 0 0 1px var(--line);
  color: var(--ink); font-weight: 600;
}

/* The way out: try it. */
section.topic-end { text-align: center; margin-bottom: clamp(72px, 12vh, 120px); }
.topic-end h2 { font-size: clamp(1.9rem, 3.4vw, 2.8rem); }
.topic-end > p { margin: 0 auto 22px; max-width: 52ch; color: var(--ink-2); }
.topic-end .actions { justify-content: center; }
.topic-end .fineprint { margin: 18px auto 0; }

footer .mark { display: block; width: 160px; height: auto; margin: 0 auto 20px; }

@media (max-width: 900px) {
  .topic-hero, .topic-qa.with-scene { grid-template-columns: 1fr; }
}
