/* Shared editorial mechanics; scene, crop, hero and gallery layouts remain compositions. */
.eg-hero-descriptor { display: flex; flex-wrap: wrap; align-items: center; gap: var(--eg-space-3); padding-block: var(--eg-space-3); border-top: var(--eg-hairline) solid currentColor; font-size: var(--eg-text-meta); font-weight: var(--eg-weight-label); }
.eg-hero-descriptor > * { margin: 0; }
.eg-faq { border-top: var(--eg-hairline) solid var(--eg-color-line); }
.eg-faq details { border-bottom: var(--eg-hairline) solid var(--eg-color-line); }
.eg-faq summary { display: flex; min-height: 75px; align-items: center; justify-content: space-between; gap: var(--eg-space-3); cursor: pointer; list-style: none; font-size: .96rem; font-weight: var(--eg-weight-label); }
.eg-faq summary::-webkit-details-marker { display: none; }
.eg-faq summary::after { content: '+'; color: var(--eg-color-link); font-size: 1.5rem; font-weight: 400; }
.eg-faq details[open] summary::after { content: '−'; }
.eg-faq details > :not(summary) { margin-block: 0 var(--eg-space-3); color: var(--eg-color-muted); font-size: var(--eg-text-small); }
.eg-closing-cta { padding: var(--eg-space-5); border-top: var(--eg-indicator) solid var(--eg-color-accent); color: var(--eg-color-surface); background: var(--eg-color-dark); }
.eg-closing-cta__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--eg-space-5); }
.eg-figure { margin: 0; }
.eg-figure img { display: block; max-width: 100%; height: auto; }
.eg-caption, .eg-figure figcaption { margin: 0; padding-block-start: var(--eg-space-2); color: var(--eg-color-muted); font-size: var(--eg-text-meta); line-height: var(--eg-line-compact); }
.eg-figure--zoom { overflow: hidden; }
.eg-figure--zoom img { transition: transform var(--eg-media-duration) var(--eg-media-ease); }
.eg-figure--zoom:hover img { transform: scale(1.025); }
.eg-specs { margin: 0; border-top: var(--eg-hairline) solid var(--eg-color-line); }
.eg-specs__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: var(--eg-space-2); padding-block: var(--eg-space-2); border-bottom: var(--eg-hairline) solid var(--eg-color-line); }
.eg-specs__row > * { margin: 0; font-size: var(--eg-text-small); line-height: var(--eg-line-compact); }
.eg-specs__row dt { font-weight: var(--eg-weight-label); }
.eg-specs__row dd { color: var(--eg-color-muted); }
.eg-metric-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--eg-space-3); }
.eg-metric-row__item > * { margin-block-start: 0; }
.eg-context-nav ol { display: flex; flex-wrap: wrap; gap: var(--eg-space-1); margin: 0; padding: 0; list-style: none; font-size: var(--eg-text-meta); }
.eg-context-nav a { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 820px) { .eg-closing-cta__inner { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 520px) {
  .eg-hero-descriptor { flex-direction: column; align-items: stretch; gap: var(--eg-space-1); padding-block: var(--eg-space-2); }
  .eg-hero-descriptor > * { width: 100%; border: 0; padding: 0; }
  .eg-hero-descriptor > *::before, .eg-hero-descriptor > *::after { content: none; }
  .eg-closing-cta { padding: var(--eg-space-3); }
  .eg-specs__row, .eg-metric-row { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .eg-figure--zoom img { transition: none; } .eg-figure--zoom:hover img { transform: none; } }
