/* Refine the existing editorial layout with approved photography, not a second theme. */
.ed-index .ed-feature--photo {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  align-items: stretch; gap: 0; padding: 0; margin: 0 0 38px;
  border: 1px solid var(--ed-line); background: #fff;
}
.ed-feature--photo > *, .ed-feature-copy > *, .ed-resource-links > *, .ed-story--text { min-width: 0; }
.ed-feature--photo .ed-feature-media { position: relative; aspect-ratio: auto; min-height: 365px; max-height: none; background: #dce5e9; }
.ed-feature--photo .ed-feature-media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 240ms ease-out; }
.ed-feature--photo .ed-feature-media:hover img { transform: scale(1.02); }
.ed-feature-copy { padding: clamp(25px, 3.1vw, 42px); display: flex; flex-direction: column; justify-content: center; }
.ed-feature--photo .ed-feature-label { font-size: 12px; line-height: 1.6; }
.pkp-public .ed-feature--photo h2 { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(29px, 2.8vw, 37px); font-weight: 600; line-height: 1.24; letter-spacing: -.025em; margin: 15px 0 18px; max-width: 100%; overflow-wrap: break-word; text-wrap: pretty; color: var(--ed-navy); }
.ed-feature--photo p { font-size: 16px; line-height: 1.8; margin: 0 0 22px; max-width: 50ch; }
.ed-feature--photo .ed-feature-meta { flex-wrap: wrap; gap: 7px 20px; font-size: 12px; margin-bottom: 24px; }
.ed-feature--photo .ed-resource-action { align-self: flex-start; display: inline-flex; align-items: center; gap: 23px; min-height: 47px; padding: 12px 20px; background: var(--ed-navy); color: #fff; font-size: 14px; margin-top: 0; transition: background-color 180ms ease-out; }
.ed-feature--photo .ed-resource-action:hover { background: #006d71; color: #fff; }
.ed-resource-action svg, .ed-resource-links svg { flex: none; }
.ed-resource-navigation { margin: 0 0 30px; }
.pkp-public .ed-resource-navigation h2, .pkp-public .ed-library-heading { font-family: 'Playfair Display', Georgia, serif; font-size: 28px; line-height: 1.3; font-weight: 600; color: var(--ed-navy); margin: 0 0 20px; }
.ed-resource-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--ed-line); border-bottom: 1px solid var(--ed-line); }
.ed-resource-links > a { display: flex; flex-direction: column; padding: 24px 22px; border-right: 1px solid var(--ed-line); color: var(--ed-navy); }
.ed-resource-links > a:first-child { padding-left: 0; }
.ed-resource-links > a:last-child { border-right: 0; padding-right: 0; }
.pkp-public .ed-resource-links h3 { font-family: Inter, Arial, sans-serif; font-weight: 650; font-size: 16px; line-height: 1.4; margin: 0 0 12px; }
.ed-resource-links p { font-size: 14px; line-height: 1.7; color: var(--ed-muted); margin: 0 0 19px; }
.ed-resource-links > a > span { margin-top: auto; display: flex; gap: 12px; align-items: center; justify-content: space-between; color: var(--ed-teal); font-size: 12px; font-weight: 600; line-height: 1.5; }
.ed-resource-links > a:hover h3 { color: var(--ed-teal); }
.ed-resource-library { padding-top: 36px; scroll-margin-top: 108px; }
.ed-resource-library:focus { outline: none; }
.ed-index .ed-story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ed-index .ed-story--text { display: flex; padding: 28px 0; }
.ed-story--text > div { min-width: 0; display: flex; flex-direction: column; width: 100%; }
.ed-index .ed-story--text h3 { font-size: 24px; line-height: 1.35; }
.ed-index .ed-story--text p { font-size: 15px; line-height: 1.8; }
.ed-story--text .ed-read { align-self: flex-start; margin-top: auto; padding-block: 9px; min-height: 40px; font-size: 14px; }
.ed-cover.ed-cover--photo img { object-fit: cover; }
.home-guides-grid .home-guide-photo { padding: 0; aspect-ratio: 16 / 10; }
.home-guides-grid .home-guide-photo img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1000px) {
  .ed-resource-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ed-resource-links > a { padding: 20px; }
  .ed-resource-links > a:nth-child(odd) { padding-left: 0; }
  .ed-resource-links > a:nth-child(even) { border-right: 0; padding-right: 0; }
  .ed-resource-links > a:nth-child(-n+2) { border-bottom: 1px solid var(--ed-line); }
}
@media (max-width: 860px) {
  .ed-index .ed-feature--photo { grid-template-columns: minmax(0, 1fr); }
  .ed-feature--photo .ed-feature-media { min-height: 0; aspect-ratio: 16 / 9; }
  .ed-feature-copy { padding: 28px; }
  .pkp-public .ed-feature--photo h2 { font-size: 31px; max-width: 28ch; }
}
@media (max-width: 680px) {
  .ed-index .ed-story-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .ed-index .ed-feature--photo { margin-bottom: 30px; }
  .ed-feature-copy { padding: 23px 21px 26px; }
  .ed-feature--photo .ed-feature-media { aspect-ratio: 16 / 10; }
  .pkp-public .ed-feature--photo h2 { font-size: 29px; }
  .ed-feature--photo p { font-size: 15px; }
  .ed-resource-links { grid-template-columns: minmax(0, 1fr); }
  .ed-resource-links > a { padding: 20px 0; border: 0; border-bottom: 1px solid var(--ed-line); }
  .ed-resource-links > a:last-child { border-bottom: 0; }
  .ed-resource-links p { margin-bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) { .ed-feature--photo img, .ed-resource-action { transition: none !important; transform: none !important; } }
@media print { .ed-resource-navigation { break-inside: avoid; } .ed-feature--photo { break-inside: avoid; } }
