* { box-sizing: border-box; margin:0; padding:0; }
body { font-family: 'Poppins', sans-serif; background:#fafafa; color:#333; line-height:1.6; }
.container { max-width:800px; margin:0 auto; padding:20px; }
.hero { text-align:center; padding:60px 20px; background:#4A90E2; color:#fff; }
.hero .subhead { font-size:1.2rem; margin-top:10px; }

/* Carousel */
.hero-carousel { position: relative; margin:20px auto; max-width:800px; }
.hero-carousel figure { margin:0; position:relative; }
.hero-carousel img { width:100%; display:block; border-radius:8px; }
.hero-carousel figcaption { position:absolute; bottom:10px; left:50%; transform: translateX(-50%); background:rgba(0,0,0,0.6); color:#fff; padding:6px 12px; border-radius:4px; font-style:italic; }

/* Intro */
.intro { text-align:center; margin:40px 0; }

/* Gallery */
.journey-highlights h2 { text-align:center; margin-bottom:20px; }
.journey-highlights .grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr)); gap:20px; }
.journey-highlights figure { margin:0; }
.journey-highlights img { width:100%; border-radius:8px; }
.journey-highlights figcaption { text-align:center; margin-top:8px; font-style:italic; font-size:0.9rem; }

/* Midpage CTA */
.midpage-cta { text-align:center; background:#f0f4f8; padding:40px 20px; margin:40px 0; border-radius:8px; }
.midpage-cta h2 { margin-bottom:12px; }
.midpage-cta p { margin-bottom:20px; }
.button { background:#E67E22; color:#fff; padding:12px 24px; text-decoration:none; border-radius:5px; font-weight:600; }
.button:hover { background:#cf711b; }

/* Footer */
.footer { text-align:center; padding:20px 0; color:#777; font-size:0.9rem; }