/* Homepage reading paths; loaded only on the homepage. */
.home-page .hero-bubble p { max-width:155px; }
.home-page .hc-hero-links { display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 0; }
.home-page .hc-hero-links a { display:inline-flex; align-items:center; gap:12px; min-height:44px; padding:11px 17px; border:1px solid #dadfeb; border-radius:12px; background:#fff; color:#17135f; font-size:14px; font-weight:800; }
.home-page .hc-hero-links a:first-child { background:#17135f; border-color:#17135f; color:#fff; }
.home-page .hc-section { padding:56px 0; }
.home-page .hc-directory { padding-top:28px; }
.home-page .hc-kicker { margin:0 0 10px; color:#076b59; font-size:13px; font-weight:850; letter-spacing:.06em; }
.home-page .hc-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:26px; }
.home-page .hc-heading h2 { margin:0; color:#17135f; font-size:clamp(26px,3.1vw,36px); line-height:1.45; letter-spacing:-.055em; }
.home-page .hc-intro { max-width:460px; margin:0; color:#526073; font-size:15px; line-height:1.85; }
.home-page .hc-group + .hc-group { margin-top:26px; }
.home-page .hc-group-title { margin:0 0 12px; color:#343f53; font-size:17px; font-weight:800; }
.home-page .hc-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.home-page .hc-card { min-width:0; padding:23px; border:1px solid #e0e6ef; border-radius:20px; background:#fff; }
.home-page .hc-card h3,.home-page .hc-card h4 { margin:0; color:#17135f; font-size:21px; line-height:1.55; letter-spacing:-.035em; }
.home-page .hc-card p { margin:11px 0 0; color:#526073; font-size:14px; line-height:1.85; }
.home-page .hc-hub-link { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; border-radius:5px; }
.home-page .hc-arrow { flex:none; display:grid; place-items:center; width:31px; height:31px; border-radius:50%; background:#f0f3fa; color:#17135f; font-size:17px; }
.home-page .hc-directory .hc-card { padding:18px 23px 22px; }
.home-page .hc-directory .hc-group:last-child .hc-card { background:#f7faff; border-color:#dde7f7; }
.home-page .hc-grade-wrap { background:#f5f8fd; border-block:1px solid #e7edf5; }
.home-page .hc-grade-card { display:flex; flex-direction:column; }
.home-page .hc-grade-label { margin-bottom:9px; color:#076b59; font-size:12px; font-weight:800; letter-spacing:.055em; }
.home-page .hc-grade-card .hc-link-list { margin-top:auto; padding-top:20px; }
.home-page .hc-link-list { display:grid; gap:8px; margin:20px 0 0; padding:0; list-style:none; }
.home-page .hc-link-list a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:46px; padding:10px 12px; border:1px solid #dce3ee; border-radius:10px; background:#fff; color:#17135f; font-size:14px; line-height:1.6; font-weight:750; }
.home-page .hc-link-list a span:last-child { flex:none; }
.home-page .hc-extra-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:23px; }
.home-page .hc-extra-links a { display:inline-flex; align-items:center; gap:14px; min-height:44px; color:#17135f; font-size:14px; font-weight:800; text-decoration:underline; text-underline-offset:5px; }
.home-page .hc-question-card { display:flex; flex-direction:column; }
.home-page .hc-question-card h3 { font-size:20px; }
.home-page .hc-question-card .hc-topic { margin:0 0 10px; color:#076b59; font-size:12px; font-weight:800; }
.home-page .hc-question-card .hc-link-list { margin-top:auto; padding-top:18px; }
.home-page .hc-reading-link { display:inline-flex; align-items:center; gap:14px; min-height:44px; margin-top:13px; color:#17135f; font-size:14px; font-weight:800; text-decoration:underline; text-underline-offset:5px; }
.home-page .library-copy a { gap:10px; min-height:44px; max-width:100%; line-height:1.65; }
.home-page .library-copy a span { display:inline; width:auto; margin:0; padding:0; border-radius:0; color:inherit; background:transparent; font:inherit; }
.home-page .library-copy a span:first-child { min-width:0; }
.home-page .library-copy a span:last-child { flex:none; }
.home-page .review-card.featured .hc-reading-link { color:#fff; }
.home-page .hc-section [id],.home-page .hc-section[id] { scroll-margin-top:170px; }
.home-page .hc-hero-links a:focus-visible,.home-page .hc-section a:focus-visible,.home-page .hc-reading-link:focus-visible { outline:3px solid #2d7ff0; outline-offset:4px; }
@media (hover:hover) {
  .home-page .hc-hero-links a:hover,.home-page .hc-link-list a:hover { border-color:#7385bd; background:#edf3ff; color:#17135f; }
  .home-page .hc-hub-link:hover,.home-page .hc-extra-links a:hover,.home-page .hc-reading-link:hover { text-decoration:underline; text-underline-offset:5px; }
}
@media (max-width:900px) {
  .home-page .hc-heading { display:block; }
  .home-page .hc-intro { max-width:650px; margin-top:13px; }
  .home-page .hc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-page .hc-grade-grid { grid-template-columns:1fr; }
  .home-page .hc-grade-card { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
  .home-page .hc-grade-card .hc-link-list { grid-column:2; grid-row:1 / span 3; margin:0; padding-top:0; }
}
@media (max-width:640px) {
  .home-page .hc-section { padding:32px 0; }
  .home-page .hc-directory { padding-top:16px; }
  .home-page .hc-heading { margin-bottom:20px; }
  .home-page .hc-grid { grid-template-columns:1fr; gap:12px; }
  .home-page .hc-card,.home-page .hc-directory .hc-card { padding:19px; border-radius:16px; }
  .home-page .hc-grade-card { display:flex; }
  .home-page .hc-grade-card .hc-link-list { margin:0; padding-top:18px; }
  .home-page .hc-hero-links { gap:8px; margin-top:18px; }
  .home-page .hc-hero-links a { flex:1 1 calc(50% - 8px); justify-content:space-between; padding:11px 12px; font-size:13px; }
  .home-page .hc-hero-links a:last-child { flex-basis:100%; }
  .home-page .hc-extra-links { gap:4px 20px; }
  .home-page .hc-section [id],.home-page .hc-section[id] { scroll-margin-top:240px; }
}
@media (prefers-reduced-motion:reduce) { html:has(.home-page) { scroll-behavior:auto; } }
