/* Homepage reading routes. Shared typography and institutional content are retained. */
.home-hero { min-height:0; padding:3.5rem 1.5rem 3rem; }
.home-hero .hero-inner { max-width:860px; min-width:0; overflow-wrap:anywhere; }
.home-hero .button { white-space:normal; }
.home-hero .eyebrow { margin-bottom:1.2rem; }
.home-hero h1.hero-title { font-size:clamp(2.6rem,6vw,5rem); line-height:1.04; margin-bottom:1.3rem; }
.home-hero .hero-plain { max-width:650px; margin-bottom:1.7rem; }
.home-hero .hero-spiral { width:min(90vw,720px); }
.home-section { max-width:var(--max); margin:0 auto; padding:2.5rem 1.5rem; border-top:1px solid var(--line); scroll-margin-top:10rem; overflow-wrap:anywhere; }
.home-section-head { display:flex; align-items:end; justify-content:space-between; gap:1.25rem; margin-bottom:1.5rem; }
.home-section-head .eyebrow { margin:0 0 .5rem; }
.home-section h2 { font-family:var(--font-display); font-size:clamp(1.65rem,3vw,2.3rem); line-height:1.15; letter-spacing:-.025em; font-weight:600; margin:0; }
.home-section-head p { max-width:22rem; margin:0; color:var(--muted); font-size:1rem; }
.home-more { flex-shrink:0; font-family:var(--font-display); font-size:.85rem; display:inline-flex; align-items:center; gap:.5rem; min-height:44px; }
.home-reading-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.home-reading { display:flex; flex-direction:column; padding:1.3rem; border:1px solid var(--line-strong); background:var(--bg-soft); color:var(--text); }
.home-reading:hover { border-color:var(--accent); text-decoration:none; }
.home-reading-kind { color:var(--accent); font-family:var(--font-display); font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.home-reading h3 { font-family:var(--font-display); font-size:1.2rem; line-height:1.3; font-weight:600; margin:.75rem 0 .65rem; }
.home-reading p { font-size:1rem; line-height:1.55; color:var(--muted); margin:0 0 1.1rem; }
.home-reading .home-read { margin-top:auto; font-family:var(--font-display); font-size:.8rem; color:var(--accent); }
.home-recent-list { list-style:none; padding:0; margin:0; }
.home-recent-list li { display:grid; grid-template-columns:7rem minmax(0,1fr); gap:1rem; border-top:1px solid var(--line); padding:1rem 0; }
.home-recent-list time { font-family:var(--font-display); font-size:.78rem; color:var(--muted); padding-top:.15rem; }
.home-recent-list a { font-family:var(--font-display); font-weight:500; font-size:1.05rem; line-height:1.4; }
.home-recent-list p { color:var(--muted); font-size:.95rem; line-height:1.45; margin:.35rem 0 0; }
.home-collections { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--line-strong); }
.home-collection { padding:1rem 1.1rem; color:var(--text); display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.home-collection:nth-child(3n) { border-right:0; }
.home-collection:nth-last-child(-n+3) { border-bottom:0; }
.home-collection:hover { background:var(--accent-soft); text-decoration:none; }
.home-collection-title { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.5rem; font-family:var(--font-display); font-size:1rem; font-weight:600; }
.home-collection-count { color:var(--accent); font-size:.9rem; font-variant-numeric:tabular-nums; font-weight:500; }
.home-collection p { color:var(--muted); font-size:.9rem; line-height:1.4; margin:.35rem 0 0; }
.home-org-link { color:var(--muted); font-size:.9rem; margin:1rem 0 0; }
@media(max-width:880px) {
  .home-hero { min-height:0; padding:2.5rem 1.25rem; }
  .home-section { padding:2rem 1.25rem; }
  .home-section-head { align-items:start; flex-direction:column; gap:.6rem; }
  .home-section-head p { max-width:none; }
  .home-reading-grid { grid-template-columns:minmax(0,1fr); gap:.75rem; }
  .home-reading { padding:1rem 1.1rem; }
  .home-reading h3 { margin:.4rem 0; }
  .home-reading p { margin-bottom:.5rem; }
}
@media(max-width:540px) {
  .home-hero h1.hero-title { font-size:2.6rem; }
  .home-hero .hero-actions { gap:.6rem; }
  .home-hero .button { padding:.7rem 1rem; min-height:44px; }
  .home-recent-list li { grid-template-columns:1fr; gap:.25rem; }
  .home-collections { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-collection { padding:.9rem .8rem; }
  .home-collection:nth-child(3n) { border-right:1px solid var(--line); }
  .home-collection:nth-child(2n) { border-right:0; }
  .home-collection:nth-last-child(-n+3) { border-bottom:1px solid var(--line); }
  .home-collection:nth-last-child(-n+2) { border-bottom:0; }
}
@media(max-width:360px) {
  .home-hero h1.hero-title { font-size:2.3rem; }
  .home-collection-title { flex-wrap:wrap; }
}
