/* Hallmark · macrostructure: Conversational FAQ · tone: clear reference page · anchor hue: yellow · user supplied layout and copy */
@import url("tokens.css");
* { box-sizing: border-box; }
html, body { margin: 0; overflow-x: clip; }
body { background: var(--color-paper); color: var(--color-ink); font-family: var(--font-body); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-underline-offset: 5px; }
a:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 5px; }
a:active { opacity: .65; }
.masthead { border-bottom: var(--rule-thin) solid var(--color-rule); }
.masthead-inner, .category-inner, main, footer { width: min(100% - 40px, 920px); margin-inline: auto; }
.masthead-inner { min-height: 80px; display: flex; justify-content: space-between; align-items: center; gap: var(--space-md); }
.site-name { font-size: var(--text-md); font-weight: 650; letter-spacing: .02em; }
.yellow-dot { display: inline-block; width: 8px; height: 8px; background: var(--color-accent); margin-inline-start: var(--space-sm); }
.preview-label { color: var(--color-muted); font-size: var(--text-xs); white-space: nowrap; }
.category-bar { border-bottom: var(--rule-thin) solid var(--color-rule); }
.category-inner { display: flex; justify-content: space-between; gap: var(--space-md); }
.category { display: inline-flex; align-items: center; min-height: 65px; position: relative; color: var(--color-muted); font-size: var(--text-base); white-space: nowrap; }
.current { color: var(--color-ink); font-weight: 600; }
.current::after { content: ""; position: absolute; bottom: 0; height: 4px; background: var(--color-accent); inset-inline: 0; }
main { padding-block: var(--space-2xl) var(--space-3xl); }
.article-label { display: flex; justify-content: space-between; align-items: center; color: var(--color-body); font-size: var(--text-sm); }
.article-label > :first-child::after { content: ""; display: block; width: 38px; height: 3px; background: var(--color-accent); margin-top: 10px; }
.question-number { color: var(--color-muted); font-size: var(--text-xs); }
h1 { font-family: var(--font-display); font-size: var(--text-display); line-height: 1.55; letter-spacing: -.025em; font-weight: 600; margin: 28px 0 32px; overflow-wrap: anywhere; min-width: 0; }
.answer { margin: 0 0 var(--space-lg); font-size: var(--text-answer); line-height: 1.9; font-weight: 400; color: var(--color-ink); }
.answer strong { font-weight: 650; white-space: nowrap; background: linear-gradient(var(--color-paper) 38%, var(--color-highlight) 38%, var(--color-highlight) 92%, var(--color-paper) 92%); padding-inline: 2px; }
.unit { font-weight: 450; font-size: .8em; margin-left: 3px; }
.desktop-break { display: none; }
.explanation { color: var(--color-muted); font-size: var(--text-base); line-height: 1.95; margin: 0; }
.schools { margin-top: var(--space-2xl); }
h2 { font-size: var(--text-md); line-height: 1.6; font-weight: 550; margin: 0; }
.section-note { color: var(--color-muted); font-size: var(--text-sm); line-height: 1.8; margin: var(--space-sm) 0 var(--space-lg); }
.school-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); }
.school-list li { padding-block: 12px; border-top: var(--rule-thin) solid var(--color-rule); font-size: var(--text-base); color: var(--color-body); line-height: 1.7; overflow-wrap: anywhere; }
.school-list li:last-child { border-bottom: var(--rule-thin) solid var(--color-rule); }
.admissions-note { margin-top: var(--space-lg); }
.source-link { display: inline-flex; align-items: center; min-height: 44px; gap: var(--space-sm); color: var(--color-muted); font-size: var(--text-sm); text-decoration: none; white-space: nowrap; }
.evidence { margin-top: var(--space-2xl); }
.evidence-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-sm); margin-bottom: var(--space-md); }
.evidence-heading a { min-height: 44px; display: inline-flex; align-items: center; font-size: var(--text-sm); color: var(--color-muted); text-decoration: none; white-space: nowrap; }
figure { margin: 0; }
.evidence-image { display: block; border: var(--rule-thin) solid var(--color-rule); border-radius: var(--radius-image); overflow: clip; }
img { display: block; width: 100%; height: auto; }
figcaption { color: var(--color-muted); font-size: var(--text-xs); line-height: 1.8; margin-top: var(--space-sm); }
footer { border-top: var(--rule-thin) solid var(--color-rule); padding-block: var(--space-lg); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-sm); color: var(--color-muted); font-size: var(--text-xs); }
footer a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; white-space: nowrap; }
@media (hover: hover) { .source-link:hover, .evidence-heading a:hover, footer a:hover { color: var(--color-ink); text-decoration: underline; } .evidence-image:hover { outline: 1px solid var(--color-muted); } }
@media (min-width: 40rem) {
  .masthead-inner, .category-inner, main, footer { width: min(100% - 96px, 920px); }
  .masthead-inner { min-height: 96px; }
  .site-name { font-size: var(--text-lg); }
  .preview-label { font-size: var(--text-sm); }
  .category-inner { justify-content: flex-start; gap: 100px; }
  .category { min-height: 76px; font-size: var(--text-md); }
  main { padding-block: var(--space-3xl) var(--space-4xl); }
  .article-label { font-size: var(--text-base); }
  .question-number { font-size: var(--text-sm); }
  h1 { margin-block: var(--space-xl) var(--space-2xl); line-height: 1.48; }
  .desktop-break { display: block; }
  .explanation { max-width: 800px; font-size: var(--text-md); }
  .answer { margin-bottom: var(--space-xl); }
  .schools { margin-top: var(--space-3xl); }
  h2 { font-size: var(--text-lg); }
  .school-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-xl); }
  .school-list li { padding-block: var(--space-md); font-size: var(--text-md); }
  .school-list li:nth-last-child(2) { border-bottom: var(--rule-thin) solid var(--color-rule); }
  .evidence { margin-top: var(--space-3xl); }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }

/* User-approved reference update: continuous prose, natural wrapping, no data grid or highlighting. */
main { width: min(100% - 32px, 760px); padding-top: var(--space-xl); }
h1 { margin: 0 0 var(--space-xl); font-size: clamp(26px, 6.1vw, 48px); font-weight: 650; line-height: 1.5; letter-spacing: 0; }
.answer { font-size: clamp(21px, 4.05vw, 32px); font-weight: 600; line-height: 2; margin: 0 0 var(--space-xl); color: var(--color-ink); }
.answer > span { display: inline-block; white-space: nowrap; }
.explanation { color: var(--color-muted); font-size: clamp(17px, 3.8vw, 30px); line-height: 1.9; }
.schools { margin-top: var(--space-xl); }
.schools h2 { color: var(--color-muted); font-size: clamp(17px, 3.8vw, 30px); font-weight: 400; line-height: 1.9; }
.school-prose { color: var(--color-muted); font-size: clamp(17px, 3.8vw, 30px); line-height: 1.9; margin: var(--space-lg) 0 0; }
.school-prose strong { font-weight: 600; }
.admissions-note { margin-top: 0; }
.source-link { margin-top: var(--space-sm); }
@media (min-width: 40rem) {
  main { width: min(100% - 32px, 760px); padding-top: var(--space-2xl); }
  h1 { margin-bottom: var(--space-2xl); }
  .answer { margin-bottom: var(--space-2xl); }
  .schools { margin-top: var(--space-xl); }
  .school-prose { margin-top: var(--space-xl); }
}

/* Second question: user-supplied case titles followed by direct external links. */
.cases-page .answer { margin-bottom: var(--space-2xl); }
.case-stories { display: flex; flex-direction: column; gap: var(--space-2xl); }
.case-story h2 { color: var(--color-body); font-size: clamp(20px, 3.2vw, 28px); font-weight: 600; line-height: 1.85; overflow-wrap: anywhere; min-width: 0; }
.case-link { color: var(--color-muted); display: inline-flex; align-items: center; gap: var(--space-sm); min-height: 48px; margin-top: var(--space-sm); font-size: var(--text-base); line-height: 1.4; white-space: nowrap; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.case-link[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (hover: hover) { .case-link:hover { color: var(--color-ink); } }
@media (min-width: 40rem) {
  .cases-page .answer { margin-bottom: var(--space-3xl); }
  .case-stories { gap: var(--space-3xl); }
  .case-link { font-size: var(--text-md); }
}
