/* Article-specific details. Shared layout is in article.css. */
.title-line { display: block; }
.article-hero h1 { font-size: clamp(38px, 3.7vw, 54px); line-height: 1.12; }
.hero-figure img { object-position: 24% center; }
.evidence-card p { font-size: 14px; line-height: 1.85; margin-bottom: 0; }
.season-switcher { margin-block: 28px 19px; }
.season-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-bottom: 13px; }
.season-tabs button { border: 1px solid #c7cebf; background: transparent; color: #39523f; border-radius: 4px; padding: 11px 7px; min-height: 44px; font-size: 13px; font-weight: 500; }
.season-tabs button[aria-selected='true'] { color: var(--cream); border-color: var(--banner); background: var(--banner); }
.season-tabs button:hover:not([aria-selected='true']) { background: #e6ebdc; }
.season-panel { background: #edf0e6; border: 1px solid #d2dac6; border-radius: 6px; padding: 27px 29px; margin-bottom: 14px; scroll-margin-top: 24px; }
.season-label { text-transform: uppercase; letter-spacing: .13em; font-size: 10px; font-weight: 600; color: #526343; margin-bottom: 9px !important; }
.season-panel h3 { font-size: 21px; line-height: 1.35; letter-spacing: -.025em; margin-bottom: 21px; }
.produce-windows { margin: 0 0 21px; }
.produce-windows > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 20px; border-top: 1px solid #d1d8c7; padding-block: 13px; }
.produce-windows > div:last-child { border-bottom: 1px solid #d1d8c7; }
.produce-windows dt { font-size: 14px; line-height: 1.65; color: #203b31; font-weight: 500; }
.produce-windows dd { margin: 0; text-align: right; font-size: 12px; line-height: 1.65; color: #536345; }
.season-panel .season-meal { font-size: 14px; line-height: 1.85; margin-bottom: 0; }
.plate-guide { background: #e8eef0; border: 1px solid #ccd9de; border-radius: 6px; padding: 26px; margin-block: 26px; }
.plate-guide h3 { margin-bottom: 18px; }
.plate-proportions { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 3px; border-radius: 5px; overflow: hidden; margin-bottom: 19px; }
.plate-proportions > div { display: flex; flex-direction: column; gap: 6px; padding: 20px 14px; background: #d3ddd0; }
.plate-proportions .plate-vegetables { background: #b8c99d; }
.plate-proportions > div:last-child { background: #ded8c8; }
.plate-proportions strong { font-size: 30px; font-weight: 500; color: #22392f; line-height: 1; }
.plate-proportions span { font-size: 12px; line-height: 1.7; color: #304739; }
.plate-guide p { font-size: 13px; line-height: 1.85; margin-bottom: 0; }
.storage-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-block: 25px 20px; }
.storage-cards > div { padding: 21px; border: 1px solid #d5dacd; background: #edf0e6; border-radius: 5px; }
.storage-cards h3 { font-size: 15px; margin-bottom: 10px; }
.storage-cards p { font-size: 13px; line-height: 1.85; margin-bottom: 0; }

@media (max-width: 1100px) {
  .article-hero h1 { font-size: 47px; }
}

@media (max-width: 800px) {
  .article-hero h1 { font-size: 39px; }
}

@media (max-width: 620px) {
  .contents a { font-size: 12px; padding-left: 7px; min-height: 44px; display: flex; align-items: center; }
  .season-tabs { gap: 4px; }
  .season-tabs button { font-size: 12px; padding: 9px 3px; }
  .season-panel { padding: 23px 17px; }
  .season-panel h3 { font-size: 20px; margin-bottom: 18px; }
  .produce-windows > div { gap: 11px; padding-block: 12px; }
  .produce-windows dt { font-size: 13px; }
  .produce-windows dd { font-size: 11px; }
  .season-panel .season-meal { font-size: 13px; }
  .plate-guide { padding: 21px 17px; }
  .plate-proportions > div { padding: 17px 8px; }
  .plate-proportions strong { font-size: 26px; }
  .plate-proportions span { font-size: 10px; }
  .plate-guide p, .evidence-card p { font-size: 13px; }
  .storage-cards { grid-template-columns: 1fr; gap: 10px; }
  .storage-cards > div { padding: 20px 17px; }
  .storage-cards p { font-size: 13px; }
  .article-hero h1 { font-size: clamp(34px, 10.5vw, 48px); }
}

@media (max-width: 380px) {
  .produce-windows > div { grid-template-columns: 1fr; gap: 3px; }
  .produce-windows dd { text-align: left; }
}

@media print {
  .season-tabs { display: none !important; }
  .season-panel[hidden] { display: block !important; }
  .season-panel, .plate-guide, .storage-cards > div { break-inside: avoid; border: 1px solid #aaa; background: white; }
  .season-panel h3 { font-size: 14pt; }
  .season-panel .season-meal, .storage-cards p { font-size: 10pt; }
  .produce-windows dt { font-size: 11pt; }
  .produce-windows dd { font-size: 10pt; }
  .plate-guide p { font-size: 10pt; }
  .article-hero h1 { font-size: 34pt; }
}
