/* Shared rows keep neighboring headings and card edges aligned as content rotates. */
header > nav.wrap { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:0; padding:0; overflow:visible; }
header > nav.wrap > a { display:flex; align-items:center; justify-content:center; padding:12px 4px; font-size:17px; letter-spacing:0; white-space:nowrap; min-width:0; }
#homepage.home-grid-v2 { --home-gap:24px; }
#homepage .section-head { min-height:46px; margin:0 0 18px; padding:0 0 10px; gap:12px; }
#homepage .section-head h2 { font-size:21px; line-height:32px; min-width:0; }
#homepage .section-head > a { flex:none; white-space:nowrap; }
#homepage .hero { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--home-gap); margin:0 0 32px; }
#homepage #daily-feature { min-width:0; display:flex; }
#homepage #daily-feature > .landscape { width:100%; }
#homepage .editor { min-width:0; padding:0; display:flex; flex-direction:column; }
#homepage .lead-title { height:76px; line-height:38px; margin:14px 0 8px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
#homepage .lead-desc { height:52px; line-height:26px; margin:0; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
#homepage .editor-list { margin-top:auto; padding-top:6px; }
#homepage .line-item { height:40px; align-items:center; padding:6px 0; }
#homepage .line-item > span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#homepage .new-section { margin-bottom:32px; }
#homepage .new-works, #homepage #poem-columns, #homepage #reading-classics, #homepage .reading-quotes { column-gap:var(--home-gap); }
#homepage .home-rows { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:32px var(--home-gap); }
#homepage .home-rows > section { display:flex; flex-direction:column; min-width:0; margin:0; align-self:stretch; grid-area:auto; }
#homepage.home-grid-v2 #daily-reading { grid-area:auto; align-self:stretch; }
#homepage.home-grid-v2 .home-rows > section > .section-head,
#homepage.home-grid-v2 #daily-reading > .section-head { flex:none; height:46px; min-height:46px; margin:0 0 18px; padding:0 0 10px; }
#homepage #poem-columns { flex:1; }
#homepage #poem-columns > div { display:flex; flex-direction:column; }
#homepage #poem-columns .poem-card { flex:1; margin:0; }
#homepage #poem-columns .poem-row { flex:none; }
#homepage #home-quotes { flex:1; display:grid; grid-template-rows:1.5fr repeat(3,1fr); gap:0; }
#homepage #home-quotes .quote-feature { margin:0; padding:16px 18px; display:flex; flex-direction:column; justify-content:center; min-width:0; }
#homepage #home-quotes .quote-feature > a { font-size:19px; line-height:28px; margin:6px 0; max-height:84px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
#homepage #home-quotes .quote-feature p { font-size:12px; line-height:20px; margin:0; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
#homepage #home-quotes .quote-row { display:flex; flex-direction:column; justify-content:center; min-height:76px; padding:10px 0; overflow-wrap:anywhere; font-size:14px; line-height:22px; }
#homepage #home-quotes .quote-row small { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#homepage .quote-row .quote-text { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
#homepage #home-topics { flex:1; gap:12px; }
#homepage #home-topics .topic { height:100%; min-height:218px; padding:22px 16px; }
#homepage #authors { padding:0; gap:8px 10px; grid-template-columns:repeat(3,minmax(0,1fr)); flex:1; }
#homepage #authors .portrait-poet { gap:4px; justify-content:center; }
#homepage #authors .portrait-poet img { width:48px; height:48px; }
#homepage #authors .portrait-poet strong { font-size:15px; line-height:22px; white-space:nowrap; width:100%; overflow:hidden; text-overflow:ellipsis; }
#homepage #daily-reading .daily-carousel { height:var(--home-classic-height); }
#homepage .home-note-section .small-note { height:var(--home-quote-height); margin:0; padding:16px 18px; display:flex; flex-direction:column; justify-content:space-between; }
#homepage .home-note-section .small-note p { margin:0; }
#homepage .home-language { margin:32px 0 0; }
#homepage .language-portals { gap:var(--home-gap); }
#homepage .language-portals article { padding:24px; gap:20px; }
#homepage .language-portals article > div { display:grid; grid-template-rows:20px 38px 52px 42px; gap:8px; }
#homepage .language-portals .eyebrow { font-size:12px; letter-spacing:0; line-height:20px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#homepage .language-portals h3 { margin:0; line-height:38px; }
#homepage .language-portals p { min-height:0; margin:0; font-size:14px; line-height:26px; }
#homepage .language-portals form { margin:0; height:42px; flex-wrap:nowrap; }
#homepage .language-portals input { min-width:0; flex:1 1 0; }
#homepage .language-portals button { flex:none; white-space:nowrap; }
#homepage .bottom-banner { margin-top:32px; }
@media(max-width:1100px) {
  header > nav.wrap > a { font-size:15px; padding-inline:2px; }
  #homepage .home-rows { grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); }
}
@media(max-width:900px) {
  header > nav.wrap { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #homepage.home-grid-v2 { --home-gap:18px; }
  #homepage .home-rows { grid-template-columns:minmax(0,1fr); }
  #homepage #home-quotes { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto auto; gap:12px 18px; }
  #homepage #home-quotes .quote-feature { grid-row:span 2; }
  #homepage #home-quotes .quote-row:last-child { grid-column:1/-1; }
  #homepage #home-topics .topic { min-height:157px; }
  #homepage #authors { grid-template-columns:repeat(9,minmax(0,1fr)); gap:8px; }
  #homepage .hero { grid-template-columns:minmax(0,1fr); }
  #homepage .editor-list { margin-top:18px; }
  #homepage .language-portals { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #homepage .portal-glyph { display:none; }
}
@media(max-width:700px) {
  header > nav.wrap { grid-template-columns:repeat(3,minmax(0,1fr)); }
  header > nav.wrap > a { font-size:14px; padding:10px 4px; }
  #homepage .section-head h2 { font-size:19px; letter-spacing:0; }
  #homepage .section-head > span { display:none; }
  #homepage #authors { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 8px; }
  #homepage .language-portals { grid-template-columns:minmax(0,1fr); }
  #homepage .language-portals article { padding:20px; }
  #homepage .language-portals .portal-glyph { display:block; }
}
@media(max-width:480px) {
  #homepage .language-portals .portal-glyph { display:none; }
  #homepage #reading-classics, #homepage .reading-quotes { grid-template-columns:minmax(0,1fr); gap:16px; }
  #homepage #home-quotes { display:flex; flex-direction:column; }
  #homepage #home-topics { gap:8px; }
  #homepage #home-topics .topic { padding:16px 10px; }
}
