/* r101: compact desktop navigation / first view. Mobile hero remains unchanged. */
@media (min-width: 981px) {
  .site-header__inner {display:grid;grid-template-columns:auto minmax(0,1fr) 220px;gap:18px;min-height:68px}
  .site-header .brand {gap:9px;font-size:19px;white-space:nowrap}
  .site-header .brand__mark {width:38px;height:38px;flex:none}
  .site-header .global-nav {justify-content:center;gap:4px;min-width:0;font-size:14px;line-height:1.5}
  .site-header .global-nav>a {display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 7px;white-space:nowrap;border-radius:6px;color:#254b3b}
  .site-header .global-nav>a:hover {background:#edf5ef;color:#174836}
  .site-header .header-search {display:flex;width:100%;min-width:0;height:40px}
  .site-header .header-search input {flex:1 1 0;min-width:0;width:0;padding:8px 10px;font-size:13px;background:#f6f8f5}
  .site-header .header-search button {flex:0 0 52px;min-height:40px;padding:0 10px;white-space:nowrap;font-size:13px;font-weight:700;line-height:1}
  .site-header :is(a,button,input):focus-visible {outline:3px solid #b67722;outline-offset:2px}
  .page-home .portal-hero.portal-hero--v2 {min-height:clamp(410px,calc(100svh - 260px),500px)}
  .page-home .portal-hero--v2 .portal-hero__content {padding-block:28px}
  .page-home .portal-hero__kicker {font-size:13px;line-height:1.5;margin-bottom:10px}
  .page-home .portal-hero h1 {font-size:clamp(42px,4.1vw,56px);line-height:1.16;letter-spacing:-.03em;max-width:640px}
  .page-home .portal-hero__content>p {font-size:16px;line-height:1.7;margin-top:14px;max-width:610px}
  .page-home .portal-search {max-width:570px;margin-top:18px;padding:4px 6px 4px 16px;gap:10px}
  .page-home .portal-search input {padding:8px 0;font-size:14px}
  .page-home .portal-search button {min-height:40px;font-size:14px;padding-inline:24px}
  .page-home .portal-hero__quick {margin-top:10px;font-size:12px;gap:6px;align-items:center}
  .page-home .portal-section.portal-section--category-nav {padding-block:26px 30px}
  .page-home .portal-section--category-nav .portal-heading {margin-bottom:20px;gap:16px}
  .page-home .portal-section--category-nav .portal-heading h2 {font-size:28px;line-height:1.5}
  .page-home .portal-section--category-nav .portal-heading>p {font-size:13px}
}
/* On small laptops keep all destinations readable, rather than squeezing labels. */
@media (min-width:981px) and (max-width:1199px) {
  .site-header__inner {grid-template-columns:1fr 280px;gap:0 24px;padding-top:8px}
  .site-header .header-search {grid-column:2;grid-row:1}
  .site-header .global-nav {grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:14px}
  .site-header .global-nav>a {min-height:38px;font-size:13px}
}
/* Shared compact article lists: retain full titles and image proportions. */
.ranking-list-section .section-heading h2 {font-size:22px;line-height:1.5}
.ranking-list-section .section-heading p {font-size:13px}
.ranking-list-section .result-group-heading {font-size:19px;margin:24px 0 12px}
.column-related .ranking-compact-list,.related-block .ranking-compact-list {grid-template-columns:1fr}
.column-related .ranking-list-card,.related-block .ranking-list-card {border-bottom:1px solid #e4eae6}
.column-related .ranking-list-card:last-child,.related-block .ranking-list-card:last-child {border-bottom:0}
@media(max-width:760px) {
  .ranking-list-section .section-heading h2 {font-size:19px}
  .ranking-list-section .section-heading {gap:8px;align-items:flex-start}
}

/* r102: a compact monthly selection, with the lead above two smaller articles.
   Bound both image dimensions so portrait/square uploads never stretch the card.
   No cover crop: the complete selected image and full title remain visible. */
.page-home .portal-section.portal-seasonal {padding-block:32px}
.portal-seasonal #seasonal-title {scroll-margin-top:130px}
.portal-seasonal .portal-heading {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px 24px;margin-bottom:20px}
.portal-seasonal .portal-heading>div {grid-column:1;grid-row:1}
.portal-seasonal .portal-heading>div>span {font-size:11px;line-height:1.5}
.portal-seasonal .portal-heading h2 {margin:6px 0 0;font-size:28px;line-height:1.5;letter-spacing:0}
.portal-seasonal .portal-heading>p {grid-column:1;grid-row:2;max-width:none;margin:0;font-size:13px;line-height:1.7}
.portal-seasonal .portal-heading>a {grid-column:2;grid-row:2;justify-self:end;margin:0;font-size:13px;white-space:nowrap}
.portal-seasonal .portal-seasonal-grid {grid-template-columns:minmax(0,1fr);gap:12px}
.portal-seasonal .portal-seasonal-lead {grid-template-columns:180px minmax(0,1fr);gap:22px;align-items:center;min-height:0;padding:16px 20px;border-radius:12px;box-shadow:0 2px 10px rgba(34,67,54,.04)}
.portal-seasonal .portal-seasonal-lead__media {display:flex;align-items:center;justify-content:center;width:180px;height:132px;min-height:0;aspect-ratio:auto;align-self:center;background:transparent}
.portal-seasonal .portal-seasonal-lead__media>img {display:block;width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain;transform:none}
.portal-seasonal .portal-seasonal-pattern {width:72px;height:72px;background:#f0f5f0}
.portal-seasonal .portal-seasonal-pattern svg {width:40px}
.portal-seasonal .portal-seasonal-lead__body {min-width:0;padding:0;justify-content:center}
.portal-seasonal .portal-seasonal-lead__body small,.portal-seasonal .portal-seasonal-side small {font-size:11px;line-height:1.5;letter-spacing:.03em}
.portal-seasonal .portal-seasonal-lead__body strong {margin-top:5px;font-size:18px;line-height:1.65;overflow-wrap:anywhere;text-wrap:pretty}
.portal-seasonal .portal-seasonal-lead__body em {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:6px;font-size:13px;line-height:1.7}
.portal-seasonal .portal-seasonal-lead__body b {align-self:flex-end;margin-top:8px;font-size:13px;line-height:1.6}
.portal-seasonal .portal-seasonal-side {grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:12px}
.portal-seasonal .portal-seasonal-side>a {grid-template-columns:88px minmax(0,1fr);align-items:center;gap:16px;min-height:104px;padding:14px 16px;border-radius:10px}
.portal-seasonal .portal-seasonal-side>a>span {display:flex;align-items:center;justify-content:center;width:88px;height:72px;background:transparent}
.portal-seasonal .portal-seasonal-side img {display:block;width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain}
.portal-seasonal .portal-seasonal-side strong {min-width:0;padding:0;font-size:15px;line-height:1.65;overflow-wrap:anywhere;text-wrap:pretty}
.portal-seasonal .portal-seasonal-side small {margin-bottom:4px}
.portal-seasonal :is(.portal-seasonal-lead,.portal-seasonal-side>a):hover {border-color:#8caa98}
.portal-seasonal :is(.portal-seasonal-lead,.portal-seasonal-side>a):focus-visible {outline:3px solid #b67722;outline-offset:2px}
@media(max-width:680px) {
  .page-home .portal-section.portal-seasonal {padding-block:28px}
  .portal-seasonal .portal-heading {gap:6px;margin-bottom:16px}
  .portal-seasonal .portal-heading>div,.portal-seasonal .portal-heading>p {grid-column:1/-1}
  .portal-seasonal .portal-heading h2 {font-size:22px}
  .portal-seasonal .portal-heading>p {font-size:12px}
  .portal-seasonal .portal-heading>a {grid-column:1/-1;grid-row:3;font-size:12px}
  .portal-seasonal .portal-seasonal-lead {grid-template-columns:88px minmax(0,1fr);gap:12px;padding:14px;border-radius:10px}
  .portal-seasonal .portal-seasonal-lead__media {width:88px;height:76px}
  .portal-seasonal .portal-seasonal-lead__body strong {font-size:15px;line-height:1.65}
  .portal-seasonal .portal-seasonal-lead__body em {display:none}
  .portal-seasonal .portal-seasonal-lead__body b {font-size:12px;margin-top:8px}
  .portal-seasonal .portal-seasonal-side {grid-template-columns:1fr;gap:10px}
  .portal-seasonal .portal-seasonal-side>a {grid-template-columns:76px minmax(0,1fr);gap:12px;min-height:94px;padding:12px 14px}
  .portal-seasonal .portal-seasonal-side>a>span {width:76px;height:64px}
  .portal-seasonal .portal-seasonal-side strong {font-size:14px}
  .portal-seasonal .portal-seasonal-lead__body small,.portal-seasonal .portal-seasonal-side small {font-size:10px}
}
@media(max-width:360px) {
  .portal-seasonal .portal-seasonal-lead {grid-template-columns:72px minmax(0,1fr);gap:10px;padding:12px}
  .portal-seasonal .portal-seasonal-lead__media {width:72px;height:64px}
  .portal-seasonal .portal-seasonal-lead__body strong {font-size:14px}
  .portal-seasonal .portal-seasonal-side>a {grid-template-columns:64px minmax(0,1fr);gap:10px;padding:12px}
  .portal-seasonal .portal-seasonal-side>a>span {width:64px;height:56px}
}
