.reader-home { margin: 0; }
.reader-home section { padding: 88px 0; }
.reader-home .home-hero { display: grid; grid-template-columns: 1.1fr 1fr; gap: 30px; align-items: center; padding-top: 74px; padding-bottom: 88px; }
.home-hero h1 { font-size: clamp(54px, 7.5vw, 94px); line-height: 1.02; margin: 22px 0; }
.home-hero .intro { font-size: 19px; line-height: 1.75; max-width: 535px; }
.home-hero .actions { align-items: center; margin-top: 22px; gap: 14px; }
.home-hero .button { padding: 13px 24px; }
.hero-note { color: var(--ul-muted); font-size: 15px; line-height: 1.7; max-width: 500px; margin: 18px 0 0; }
.cut-note { font-size: 13px; }
.home-hero .hero-cut { margin: 24px 0 0; font-size: 15px; }
.landscape-art { margin: 0; min-width: 0; }
.landscape-art svg { width: 100%; height: auto; display: block; }
.landscape-art figcaption { text-align: center; font-size: 11px; letter-spacing: .05em; }
.art-axis { color: var(--ul-border); }
.art-point { fill: var(--ul-gold); }
.art-label { fill: var(--ul-text); font: 12px system-ui, sans-serif; paint-order: stroke; stroke: var(--ul-background); stroke-width: 4px; stroke-linejoin: round; }
.reader-home .section-heading { align-items: end; gap: 28px; }
.reader-home h2 { font-size: clamp(31px, 4vw, 46px); }
.launch-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 34px; }
.launch-card { display: flex; flex-direction: column; align-items: flex-start; padding: 30px; color: var(--ul-text); background: var(--ul-surface); border: 1px solid var(--ul-border); border-radius: var(--ul-radius-l); text-decoration: none; }
.launch-card:hover { border-color: var(--ul-edge); background: var(--ul-raised); text-decoration: none; }
.app-symbol { display: grid; place-items: center; width: 55px; height: 55px; border: 1px solid var(--ul-edge); border-radius: var(--ul-radius-m); background: var(--ul-raised); color: var(--ul-link); font: 30px Georgia, serif; margin-bottom: 30px; }
.launch-card h3 { font: 26px/1.3 Georgia, serif; margin: 12px 0 8px; }
.launch-card p { color: var(--ul-muted); font-size: 15px; line-height: 1.75; margin-bottom: 28px; }
.card-action { margin-top: auto; color: var(--ul-link); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.question-list { margin-top: 32px; }
.question-list > a { display: grid; grid-template-columns: 35px 1fr 25px; gap: 22px; align-items: center; border-bottom: 1px solid var(--ul-border); padding: 22px 0; color: var(--ul-text); text-decoration: none; }
.question-list > a:last-child { border-bottom: 0; }
.question-list > a:hover h3 { color: var(--ul-link); text-decoration: underline; }
.question-list > a > span { color: var(--ul-link); font-size: 14px; }
.question-list h3 { font-weight: 500; font-size: 20px; margin: 0; }
.question-list p { color: var(--ul-muted); font-size: 14px; margin: 5px 0; }
.reader-home .about-section { display: grid; grid-template-columns: 1fr 1.2fr; gap: 65px; border-bottom: 0; }
.about-section p { color: var(--ul-muted); }
.about-section summary { color: var(--ul-link); cursor: pointer; padding: 12px 0; }
.home-footer { max-width: 1220px; margin: auto; padding: 38px 36px 45px; border-top: 1px solid var(--ul-border); display: grid; grid-template-columns: 1fr 1fr; gap: 5px 25px; }
.footer-name { color: var(--ul-text); font: 23px Georgia, serif; text-decoration: none; }
.home-footer > p { margin: 0; font-size: 12px; grid-column: 1; }
.home-footer nav { grid-column: 2; grid-row: 1 / span 2; justify-content: flex-end; display: flex; }
.home-footer .site-map { grid-column: 1 / -1; grid-row: 3; display: block; }
@media (prefers-color-scheme: light) { .landscape-art svg g:first-of-type { stroke: #216ca8; } }
@media (max-width: 800px) {
  .reader-home .home-hero { grid-template-columns: 1fr; gap: 15px; padding-top: 48px; }
  .landscape-art { max-width: 430px; margin: 0 auto; }
  .launch-grid { grid-template-columns: 1fr; gap: 24px; }
  .art-label { font-size: 15px; }
  .launch-card { padding: 26px; }
  .app-symbol { margin-bottom: 20px; }
  .reader-home .about-section { grid-template-columns: 1fr; gap: 15px; }
  .reader-home section { padding: 58px 0; }
  .reader-home .section-heading { display: block; }
  .home-footer { display: block; padding: 30px 20px; }
  .home-footer nav { justify-content: flex-start; margin-top: 18px; }
}
@media (max-width: 440px) {
  .home-hero h1 { font-size: 57px; }
  .home-hero .intro { font-size: 17px; }
  .home-hero .actions { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
  .question-list > a { grid-template-columns: 24px 1fr 15px; gap: 12px; }
}
@media (forced-colors: active) { .landscape-art svg g:first-of-type { stroke: CanvasText; } .art-point { fill: CanvasText; } .launch-card { border-color: CanvasText; } }
@media print { .reader-home .home-hero { grid-template-columns: 1fr; } .landscape-art { max-width: 350px; } .launch-card { break-inside: avoid; } }
/* Dated reading navigation, separate from scientific exhibit classes. */
.latest-work { scroll-margin-top: 24px; }
.latest-feature, .latest-card, .latest-upstream { background: var(--ul-surface); border: 1px solid var(--ul-border); border-radius: var(--ul-radius-l); padding: 28px; min-width: 0; }
.latest-feature { margin-top: 30px; }
.latest-feature > h3, .latest-card h3, .latest-upstream h3 { font: 26px/1.35 Georgia, serif; margin: 10px 0 16px; }
.latest-feature p, .latest-card p, .latest-upstream p { max-width: 78ch; }
.latest-chain { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 30px 0; }
.latest-chain li { border-top: 2px solid var(--ul-edge); padding-top: 20px; min-width: 0; }
.latest-chain h4 { font-size: 18px; margin: 12px 0; }
.latest-chain p, .latest-card p, .latest-card li { font-size: 15px; line-height: 1.75; }
/* After the .latest-card p rule: card kickers keep the shared 12px label scale (brand.css). */
.latest-card .card-kicker, .latest-feature .card-kicker { font-size: 12px; letter-spacing: .16em; line-height: 1.6; margin: 0 0 6px; }
.latest-card p code, .latest-chain p code { font-size: 14px; color: var(--ul-text); }
/* Future display equations are authored as <p class="display-formula"><code>…</code></p> (README); pinned cuts are not retrofitted. */
p.display-formula code { display: block; font-size: 15px; line-height: 1.6; padding: 10px 14px; background: var(--ul-raised); border-left: 3px solid var(--ul-border); overflow-x: auto; color: var(--ul-text); } /* p.: equal to .latest-card p code and later, so 15px and text colour hold in every card type */
.latest-chain p, .latest-card > p, .latest-upstream p { color: var(--ul-muted); }
.latest-boundary { background: var(--ul-raised); border-left: 3px solid var(--ul-edge); padding: 13px 18px; border-radius: 0 var(--ul-radius-s) var(--ul-radius-s) 0; }
.latest-identities { border-top: 1px solid var(--ul-border); padding-top: 12px; }
.latest-identities summary { color: var(--ul-link); cursor: pointer; padding: 10px 0; }
.latest-identities code, .latest-card code { overflow-wrap: anywhere; }
.latest-identities li { margin-bottom: 14px; overflow-wrap: anywhere; }
.latest-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 20px; }
.latest-grid > .latest-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.latest-card ul, .latest-upstream ul { padding-left: 22px; }
.latest-card li, .latest-upstream li { margin: 12px 0; }
.latest-upstream { margin-top: 20px; background: var(--ul-raised); }
@media (max-width: 800px) {
  .latest-chain, .latest-grid { grid-template-columns: 1fr; }
  .latest-feature, .latest-card, .latest-upstream { padding: 22px; }
  .latest-chain { gap: 18px; }
}
@media (forced-colors: active) { .latest-feature, .latest-card, .latest-upstream { border-color: CanvasText; } }
@media print { .latest-card, .latest-chain li { break-inside: avoid; } }

.latest-work:focus-visible, .latest-upstream:focus-visible, #further-reading:focus-visible { outline: 3px solid var(--ul-focus); outline-offset: 4px; }
@media (forced-colors: active) { .latest-work:focus-visible, .latest-upstream:focus-visible, #further-reading:focus-visible { outline-color: Highlight; } }
.lineage-note, .cut-pointer { border-top: 1px solid var(--ul-border); padding-top: 12px; margin-top: 16px; color: var(--ul-muted); font-size: 14px; }
.hero-cut { max-width: 78ch; font-size: 15px; margin: 22px 0 0; }
.reading-glossary { margin-top: 26px; border-top: 1px solid var(--ul-border); padding-top: 12px; max-width: 78ch; }
.reading-glossary summary { color: var(--ul-link); cursor: pointer; padding: 10px 0; }
.reading-glossary dt, .latest-card .card-status dt { font-weight: 650; margin-top: 12px; }
.reading-glossary dd, .latest-card .card-status dd { margin: 2px 0 0; font-family: inherit; font-size: 15px; color: var(--ul-muted); }
/* Card-status rows keep the card paragraphs’ 78ch measure; in print a card that carries them may break between its blocks. */
.latest-card .card-status dd { max-width: 78ch; }
@media print { .latest-card:has(> .card-status) { break-inside: auto; } .latest-card .card-status, p.display-formula { break-inside: avoid; } }
