/* Scoped presentation: guest snapshots never replace destination photography. */
.stories-page { letter-spacing: 0; }
.stories-intro { padding-block: 44px 40px; background: var(--sand); }
.stories-intro .crumbs { margin-bottom: 24px; }
.stories-intro .crumbs ol { color: var(--muted); }
.stories-intro .crumbs a { color: var(--ink); }
.stories-intro .eyebrow { margin-bottom: 12px; }
.stories-intro h1 { font-size: 3.75rem; color: var(--ocean); letter-spacing: 0; }
.stories-intro h1 em { font-weight: 500; color: var(--terracotta); }
.stories-intro .lede { margin-top: 18px; max-width: 58ch; }
.stories-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.stories-actions .btn { white-space: normal; line-height: 1.4; text-align: center; }
.stories-page .btn-primary { background: var(--copper); color: var(--ink); }
.stories-page .btn-primary:hover { background: var(--copper-hi); color: var(--ink); }
.stories-actions .btn-outline { border-color: var(--ocean); color: var(--ocean); }
.stories-gallery { padding-block: 44px 56px; }
.stories-gallery .head { margin-bottom: 28px; }
.stories-gallery h2, .stories-review h2 { color: var(--ocean); letter-spacing: 0; }
.story-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 1068px; margin-inline: auto; }
.story-photo { margin: 0; min-width: 0; }
.story-photo img { width: 100%; height: auto; aspect-ratio: 720 / 480; object-fit: contain; background: var(--sand); border-radius: 4px; }
.story-photo figcaption { padding-top: 10px; font-size: .875rem; color: var(--muted); }
.stories-review { padding-block: 44px; background: var(--surface); border-block: 1px solid var(--line); }
.stories-review .wrap { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 28px; align-items: center; }
.stories-review p { margin-top: 14px; max-width: 62ch; color: var(--muted); }
.stories-review .stories-actions { justify-content: flex-end; margin-top: 0; }
@media (max-width: 900px) { .story-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 700px; } .stories-review .wrap { grid-template-columns: 1fr; } .stories-review .stories-actions { justify-content: flex-start; } }
@media (max-width: 520px) { .stories-intro h1 { font-size: 2.75rem; } .story-photo-grid { grid-template-columns: minmax(0, 1fr); max-width: 360px; } .stories-actions { align-items: stretch; } .stories-actions .btn { flex: 1 1 230px; } }