/* Additions use the edition's existing fonts, colours and panel styles. */
.hero { padding-bottom: 2.8rem; }
#start-here, #search, #themes { scroll-margin-top: 24px; }
.starting-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 1.8rem;
}
.starting-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-top: 2px solid var(--accent);
  padding-top: 1.1rem;
}
.starting-card .section-kicker { margin-bottom: .5rem; }
.starting-card h3 {
  font-size: 1.26rem;
  line-height: 1.35;
  font-weight: normal;
  color: var(--accent-dark);
  margin-bottom: .7rem;
}
.starting-description { color: var(--text-light); font-size: .94rem; }
.starting-card blockquote {
  margin: 1rem 0 1.1rem;
  font-size: 1.02rem;
  line-height: 1.7;
  font-style: italic;
}
.starting-link { margin-top: auto; padding-top: .4rem; }
.starting-link a, .search-result a { color: var(--accent-dark); }
.starting-source { display: block; margin-top: .25rem; font-size: .83rem; color: var(--text-light); }
.theme-explorer { margin-top: 2rem; padding-top: 1.4rem; border-top: 1px solid var(--border); }
.theme-label { margin-bottom: .7rem; color: var(--text-light); font-size: .94rem; }
.theme-buttons { display: flex; flex-wrap: wrap; gap: .6rem; }
.theme-button, .search-more {
  font: inherit;
  font-size: .92rem;
  color: var(--accent-dark);
  border: 1px solid var(--border);
  border-radius: 7px;
  padding: .55rem .85rem;
  background: var(--bg);
  cursor: pointer;
}
.theme-button:hover, .search-more:hover { border-color: var(--accent-dark); }
.theme-button:focus-visible, .search-more:focus-visible {
  outline: 2px solid var(--accent-dark);
  outline-offset: 3px;
}
.collection-search-row { display: flex; gap: .6rem; }
#collection-search {
  display: block;
  width: 100%;
  min-width: 0;
  padding: .75rem .85rem;
  font: inherit;
  color: var(--text);
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 7px;
}
#collection-search:focus { outline: 2px solid var(--accent-dark); outline-offset: 2px; }
.search-submit { font: inherit; cursor: pointer; }
.search-help { color: var(--text-light); font-size: .88rem; margin-top: .6rem; }
.search-help a { color: var(--accent-dark); }
.search-results { list-style: none; padding: 0; margin: 0; }
.search-result { border-top: 1px solid var(--border); padding: 1.1rem 0; }
.search-result h3 { font-size: 1.14rem; font-weight: normal; line-height: 1.45; }
.search-result .text-meta { font-size: .83rem; overflow-wrap: anywhere; }
.search-snippet { margin-top: .55rem; font-size: .97rem; line-height: 1.7; }
.search-more { margin-top: .8rem; }
.search-empty { color: var(--text-light); padding: .5rem 0; }
[hidden] { display: none !important; }
@media (max-width: 1100px) and (min-width: 981px) {
  .starting-grid { grid-template-columns: 1fr; gap: 1.8rem; }
}
@media (max-width: 720px) {
  .starting-grid { grid-template-columns: 1fr; gap: 1.8rem; }
  .starting-card blockquote { max-width: 42em; }
  .collection-search-row { flex-wrap: wrap; }
  .search-submit { padding: .6rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
