/* Contextual figures, readable captions and a restrained illustrated homepage. */
.entry-content .fly-visual { margin: 2rem 0; padding: 0; max-width: 100%; }
.fly-visual picture { display: block; }
.entry-content .fly-visual img { display: block; width: 100%; height: auto; border-radius: 6px; background: #f4f1e9; }
.entry-content .fly-visual figcaption, .entry-featured figcaption { margin: .85rem 0 0; color: #435b74; font-size: .86rem; line-height: 1.7; text-align: left; }
.fly-visual figcaption strong { color: #142a43; }
.fly-visual figcaption a { font-weight: 600; text-underline-offset: .2em; }
.fly-visual .fly-visual-size { display: inline-flex; align-items: center; min-height: 44px; margin: .2rem .8rem 0 0; font-size: .8rem; }
.fly-visual figcaption .fly-visual-source { display: inline; font-size: .8rem; }
.entry-content .fly-visual-source-excerpt { padding: 1.2rem; border-left: 3px solid #1f5ea8; background: #edf3fa; }
.entry-content .fly-visual-source-excerpt img { width: auto; max-width: 100%; border-radius: 0; background: transparent; }
.entry-content .fly-visual-cv { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.6fr); gap: 1.5rem; align-items: start; padding: 1.2rem; background: #edf3fa; }
.fly-visual-cv figcaption { padding-top: .5rem; }
.fly-visual-cv figcaption p { margin-top: .8rem; font-size: .86rem; }
.fly-visual-previews { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; padding-block: 1rem; }
.entry-content .fly-visual-previews .fly-visual { margin: 0; padding: 1rem; border-top: 3px solid #1f5ea8; background: #edf3fa; }
.fly-visual-previews .fly-visual:nth-child(2) { border-color: #286454; background: #edf4ee; }
.fly-visual-previews .fly-visual:nth-child(3) { border-color: #95612d; background: #f7f1e9; }
.fly-visual-previews .fly-visual > a { display: block; }
.fly-visual-previews .fly-visual img { aspect-ratio: 4 / 3; object-fit: cover; object-position: top; border: 1px solid #cbdbea; background: #fff; }
.fly-visual-previews figcaption strong { display: block; margin-bottom: .35rem; }
.fly-hero .fly-hero-layout { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 2.5rem; align-items: center; }
.fly-hero .fly-hero-copy { min-width: 0; }
.fly-hero .fly-hero-copy h1 { font-size: clamp(2rem,3.8vw,3.05rem); max-width: 19ch; }
.fly-hero .fly-hero-copy p { font-size: 1rem; }
.fly-hero-art { margin: 0; }
.fly-hero-art img { display: block; width: 100%; height: auto; border-radius: 8px; border: 1px solid #6886a3; }
figure.entry-featured { margin: 1.5rem 0; }
.entry-featured img { width: 100%; height: auto; border-radius: 6px; }
.fly-page-heading { margin-bottom: 1.5rem; }
.fly-page-heading.has-cover { display: grid; grid-template-columns: minmax(0,1fr) 220px; gap: 1.5rem; align-items: center; }
.fly-page-heading .entry-header { margin: 0; }
.fly-page-heading figure.entry-featured { margin: 0; }
.fly-compact-cover figcaption { font-size: .72rem; line-height: 1.5; }
@media(max-width:600px) {
  .fly-page-heading.has-cover { grid-template-columns: 1fr; gap: .8rem; }
  .fly-page-heading .fly-compact-cover { max-width: 200px; }
}
@media(max-width:760px) {
  .fly-hero .fly-hero-layout { grid-template-columns: 1fr; gap: 1.5rem; }
  .fly-hero .fly-hero-copy h1 { max-width: 23ch; }
  .fly-hero-art { max-width: 600px; }
  .fly-visual-previews { grid-template-columns: 1fr; }
  .fly-visual-previews .fly-visual img { max-height: 280px; }
  .entry-content .fly-visual-cv { grid-template-columns: 1fr; padding: 1rem; gap: .75rem; }
  .entry-content .fly-visual { margin-block: 1.5rem; }
}
@media print {
  .fly-page-heading.has-cover { display: block; }
  .fly-page-heading .entry-featured { display: none; }
  .fly-visual .fly-visual-size, .fly-hero-art { display: none; }
  .fly-visual img { max-height: 235mm; object-fit: contain; }
  .fly-visual figcaption { break-before: avoid; }
}
