/* Home only: an editorial library, without automatic movement. */
.home-library-intro { padding: 2.25rem 0 1.75rem; }
.home-library-intro-row { display: flex; align-items: end; justify-content: space-between; gap: 1.25rem; }
.home-library-intro h1 { margin: 0 0 .65rem; color: var(--gge-ink); font: 500 clamp(2.4rem, 5vw, 4.2rem)/1.08 var(--gge-serif); letter-spacing: -.035em; }
.home-library-intro-row p { margin-bottom: 0; color: var(--theme-muted, #60605c); }
.home-library-author { flex-shrink: 0; font-style: italic; }
.home-library-intro .home-content-counts { margin: 1.25rem 0 0; }
.home-library-feature { margin-bottom: 3rem; }
.home-library-hero { display: grid; grid-template-columns: 1.15fr 1fr; overflow: hidden; border: 1px solid var(--gge-stone); border-radius: 1rem; background: var(--theme-surface, var(--gge-paper-light)); }
.home-library-hero-image { display: block; min-height: 24rem; background: var(--gge-paper); }
.home-library-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.home-library-placeholder { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 1rem; color: var(--gge-terracotta); }
.home-library-placeholder span { font: 600 4rem var(--gge-serif); letter-spacing: .12em; }
.home-library-placeholder i { font-size: 3rem; }
.home-library-hero-copy { align-self: center; padding: clamp(1.5rem, 3vw, 3rem); }
.home-library-hero h2 { margin: .85rem 0 1rem; font: 500 clamp(1.9rem, 3vw, 2.8rem)/1.15 var(--gge-serif); letter-spacing: -.025em; }
.home-library-hero h2 a, .home-library-card h3 a { color: var(--gge-ink); text-decoration: none; }
.home-library-hero-copy > p:not(.eyebrow) { color: var(--theme-muted, #60605c); line-height: 1.75; }
.home-library-meta { display: flex; flex-wrap: wrap; gap: .4rem 1rem; color: var(--theme-muted, #60605c); font-size: .76rem; letter-spacing: .045em; text-transform: uppercase; }
.home-library-meta > span { color: var(--gge-terracotta); font-weight: 700; }
.home-library-shelf { margin-bottom: 3rem; }
.home-library-section-title { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.4rem; }
.home-library-section-title h2, .home-library-letter h2, .home-library-topics h2, .home-library-newsletter h2 { color: var(--gge-ink); font: 500 clamp(1.8rem, 3vw, 2.6rem)/1.18 var(--gge-serif); margin: 0; }
.home-library-section-title > a { flex-shrink: 0; color: var(--gge-terracotta); }
.home-library-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.home-library-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--gge-stone); border-radius: .85rem; background: var(--theme-surface, #fff); }
.home-library-card--quote { background: var(--gge-paper); border-top: 3px solid var(--gge-terracotta); }
.home-library-card-image { display: block; aspect-ratio: 3 / 2; overflow: hidden; }
.home-library-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-library-card-symbol { color: var(--gge-terracotta); padding: 1.4rem 1.4rem 0; font-size: 2.4rem; }
.home-library-card-copy { padding: 1.4rem; display: flex; flex-direction: column; flex: 1; align-items: start; gap: .85rem; }
.home-library-card h3 { font: 600 1.5rem/1.25 var(--gge-serif); margin: 0; overflow-wrap: anywhere; }
.home-library-card-copy > p { margin: 0; color: var(--theme-muted, #60605c); line-height: 1.7; }
.home-library-card blockquote { padding: 0; margin: 0; border: 0; color: var(--gge-ink); font: italic 1.2rem/1.65 var(--gge-serif); }
.home-library-attribution { font-size: .9rem; }
.home-library-read { margin-top: auto; padding-top: .5rem; color: var(--gge-terracotta); text-decoration: none; font-weight: 600; }
.home-library-card a:hover, .home-library-hero h2 a:hover { text-decoration: underline; }
.home-library-letter { padding: 2.75rem 0; background: var(--gge-paper); border-block: 1px solid var(--gge-stone); }
.home-library-letter p:not(.eyebrow) { color: var(--theme-muted, #60605c); font: 400 1.12rem/1.85 var(--gge-serif); margin: 1rem 0 0; }
.home-library-letter .home-library-signature { font-style: italic; }
.home-library-topics { padding-top: 2.25rem; padding-bottom: 2.25rem; }
.home-library-topics > div { display: flex; gap: .65rem; flex-wrap: wrap; margin-top: 1.1rem; }
.home-library-topics a { padding: .55rem .9rem; border: 1px solid var(--gge-stone); border-radius: 2rem; color: var(--gge-ink); text-decoration: none; }
.home-library-newsletter { border-top: 1px solid var(--gge-stone); padding: 2.25rem 0; }
.home-library-newsletter > div { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; }
.home-library-newsletter p:not(.eyebrow) { margin: .8rem 0 0; max-width: 42rem; color: var(--theme-muted, #60605c); }
.home-library-newsletter .btn { flex-shrink: 0; color: var(--gge-ink); border-color: var(--gge-stone); }
:is(.home-library-intro,.home-library-feature,.home-library-shelf,.home-library-topics,.home-library-newsletter) a:focus-visible { outline: 3px solid var(--gge-terracotta); outline-offset: 4px; }
@media (max-width: 991.98px) {
  .home-library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-library-hero { grid-template-columns: 1fr; }
  .home-library-hero-image { min-height: 0; aspect-ratio: 16 / 9; }
  .home-library-intro-row { display: block; }
  .home-library-author { margin-top: .8rem !important; }
}
@media (max-width: 599.98px) {
  .home-library-intro { padding-top: 1.5rem; }
  .home-library-grid { grid-template-columns: 1fr; }
  .home-library-section-title, .home-library-newsletter > div { align-items: start; flex-direction: column; }
  .home-library-feature, .home-library-shelf { margin-bottom: 2rem; }
  .home-library-letter { padding-block: 2rem; }
}
