.rich-copy .rome-photo { margin: 1.5rem 0 2rem; padding: 1rem; border: 1px solid var(--line); background: #fff; }
.rome-photo img { display: block; width: 100%; max-width: 800px; height: auto; margin: auto; }
.rich-copy .rome-photo figcaption { margin-top: 1rem; font-size: 1rem; line-height: 1.65; }
.rome-image-credit { display: block; margin-top: .5rem; font-size: .9rem; overflow-wrap: anywhere; }
.rome-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0 2rem; }
.rich-copy .rome-pair > section { min-width: 0; margin: 0; padding: 1rem; border: 1px solid var(--line); background: var(--paper); }
.rich-copy .rome-pair h3 { margin: 0 0 .75rem; font-size: 1.1rem; line-height: 1.5; }
.rich-copy .rome-pair p { margin: 0; font-size: 1rem; line-height: 1.7; }
.rich-copy .rome-flow { list-style: none; margin: 1.5rem 0 2rem; padding: 0; counter-reset: water-step; }
.rome-flow > li { counter-increment: water-step; padding: 1rem; margin: 0 0 .75rem; border-left: 4px solid var(--night); background: #e3efea; }
.rome-flow strong { display: block; font-size: 1.1rem; }
.rome-flow strong::before { content: counter(water-step) ". "; }
.rome-flow span { display: block; margin-top: .4rem; font-size: 1rem; line-height: 1.65; }
.rich-copy .rome-check { margin: 1.25rem 0 2rem; padding: 1rem; border-left: 4px solid var(--night); background: var(--yellow-soft); }
.rich-copy .rome-check p { margin: 0 0 .75rem; }
.rich-copy .rome-check details { margin: 0; }
.rome-check summary { min-height: 44px; padding: .5rem 0; cursor: pointer; font-weight: 800; }
.rome-check summary:focus-visible { outline: 3px solid var(--night); outline-offset: 3px; }
.rich-copy .rome-credit { margin-top: 2rem; font-size: .9rem; }
@media (max-width: 650px) {
  .rome-pair { grid-template-columns: minmax(0, 1fr); }
  .rich-copy .rome-photo { padding: .5rem; }
}
