/* "What's here for you" pages — /for/<who>/ (discovery plan 12 A9).
   Built on styles.css tokens. Atkinson Hyperlegible on family and adult
   pages (DD-46), vendored so no third-party font request is needed for it. */
@font-face { font-family: "Atkinson Hyperlegible"; src: url("/brand/fonts/atkinson-normal-latin.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Atkinson Hyperlegible"; src: url("/brand/fonts/atkinson-bold-latin.woff2") format("woff2"); font-weight: 700; font-display: swap; }

.for-hyperlegible .need-what, .for-hyperlegible .need-title, .for-hyperlegible .chapter-lede,
.for-hyperlegible .for-promise-list, .for-hyperlegible .need-meta, .for-hyperlegible .for-secondary {
  font-family: "Atkinson Hyperlegible", var(--f-sans, system-ui), sans-serif;
}
.for-hero .chapter-kicker a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.for-hero .chapter-title { max-width: 22ch; }
.for-hero .chapter-lede { max-width: 60ch; }

.need-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; max-width: 860px; }
.need-row {
  background: var(--paper-2, #FFFDF8); border: 1px solid var(--line); border-radius: var(--radius, 14px);
  padding: 20px 22px; display: grid; gap: 8px;
}
.need-title { font-family: var(--f-serif, Georgia, serif); font-size: 1.25rem; line-height: 1.3; margin: 0; color: var(--ink); }
.need-num { color: var(--ink-mute); }
.need-what { margin: 0; line-height: 1.6; color: var(--ink); max-width: 64ch; }
.need-meta { margin: 2px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.need-product { font-size: 0.95rem; color: var(--ink-mute); text-decoration: underline; text-underline-offset: 3px; }
.need-links { margin: 2px 0 0; }
.need-links a { color: var(--teal); font-weight: 600; }
.need-also { margin: 22px 0 0; color: var(--ink-mute); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

.need-groups-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; }
.need-groups-nav a {
  border: 1px solid var(--line); border-radius: 999px; padding: 7px 14px; font-size: 0.95rem;
  color: var(--ink); text-decoration: none; background: var(--paper-2, #FFFDF8);
}
.need-groups-nav a:hover, .need-groups-nav a:focus-visible { border-color: var(--ink); }
.need-group { margin: 0 0 36px; scroll-margin-top: 90px; }
.need-group-title { font-family: var(--f-serif, Georgia, serif); font-size: 1.5rem; margin: 0 0 14px; }
.need-row { scroll-margin-top: 90px; }

.for-promise-title { font-family: var(--f-serif, Georgia, serif); font-size: 1.5rem; margin: 0 0 12px; }
.for-promise-list { margin: 0 0 26px; padding-left: 1.2em; line-height: 1.7; max-width: 64ch; }
.for-actions { margin: 0 0 14px; }
.for-secondary { margin: 0; color: var(--ink-mute); }
.for-secondary a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 720px) {
  .need-row { padding: 16px; }
  .need-title { font-size: 1.12rem; }
  .for-primary { display: flex; justify-content: center; }
}
