.destination-page { --destination-sand: #eee5d5; --destination-coral: #bd714e; }

.destination-page .destination-hero {
  background: linear-gradient(90deg, rgba(9, 37, 42, .83) 0%, rgba(9, 37, 42, .52) 52%, rgba(9, 37, 42, .16) 100%), url('../images/praias/arraial/arraial-dajuda.jpeg') center 52% / cover;
}
.arraial-destination .destination-hero { background-image: linear-gradient(90deg, rgba(9, 37, 42, .84) 0%, rgba(9, 37, 42, .5) 52%, rgba(9, 37, 42, .12) 100%), url('../images/destinos/arraial-dajuda/arraial-centro-historico-vista-aerea.jpg'); background-position: center 55%; }
.trancoso-destination .destination-hero { background-image: linear-gradient(90deg, rgba(9, 37, 42, .84) 0%, rgba(9, 37, 42, .5) 52%, rgba(9, 37, 42, .12) 100%), url('../images/destinos/trancoso/trancoso-quadrado-casario.webp'); background-position: center 48%; }
.caraiva-destination .destination-hero { background-image: linear-gradient(90deg, rgba(9, 37, 42, .84) 0%, rgba(9, 37, 42, .5) 52%, rgba(9, 37, 42, .12) 100%), url('../images/destinos/caraiva/foz-rio-caraiva-aerea.jpeg'); background-position: center 48%; }
.cabralia-destination .destination-hero { background-image: linear-gradient(90deg, rgba(9, 37, 42, .86) 0%, rgba(9, 37, 42, .52) 52%, rgba(9, 37, 42, .14) 100%), url('../images/passeios/rio-joao-de-tiba/aerea-rio-joao-de-tiba.webp'); background-position: center 44%; }
.santo-andre-destination .destination-hero { background-image: linear-gradient(90deg, rgba(9, 37, 42, .86) 0%, rgba(9, 37, 42, .52) 52%, rgba(9, 37, 42, .14) 100%), url('../images/destinos/santo-andre/santo-andre-rio-joao-de-tiba-barcos.webp'); background-position: center 50%; }
.porto-seguro-destination .destination-hero { background-image: linear-gradient(90deg, rgba(9, 37, 42, .88) 0%, rgba(9, 37, 42, .56) 52%, rgba(9, 37, 42, .16) 100%), url('../images/passeios/centro-historico/vista-porto-seguro-ba.webp'); background-position: center 50%; }
.belmonte-destination .destination-hero { background-image: linear-gradient(90deg, rgba(9, 37, 42, .9) 0%, rgba(9, 37, 42, .58) 55%, rgba(9, 37, 42, .2) 100%), url('../images/destinos/belmonte/belmonte-bahia.jpg'); background-position: center 62%; }
.corumbau-destination .destination-hero { background-image: linear-gradient(90deg, rgba(9, 37, 42, .86) 0%, rgba(9, 37, 42, .54) 55%, rgba(9, 37, 42, .17) 100%), url('../images/destinos/corumbau/ponta-do-corumbau-aerea.webp'); background-position: center 58%; }
.cumuruxatiba-destination .destination-hero { background-image: linear-gradient(90deg, rgba(9, 37, 42, .9) 0%, rgba(9, 37, 42, .56) 55%, rgba(9, 37, 42, .16) 100%), url('../images/destinos/cumuruxatiba/praia-do-centro.jpg'); background-position: center 55%; }
.prado-destination .destination-hero { background-image: linear-gradient(90deg, rgba(9, 37, 42, .9) 0%, rgba(9, 37, 42, .57) 55%, rgba(9, 37, 42, .16) 100%), url('../images/destinos/prado/praia-novo-prado.jpg'); background-position: center 52%; }
.destination-image-credit { max-width: 1180px; margin: 10px auto 0; padding: 0 24px; color: #708079; font-size: .68rem; text-align: right; }
.destination-image-credit a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.destination-page .destination-hero h1 { max-width: 850px; }
.destination-page .hero-scroll { display: inline-flex; gap: 12px; align-items: center; margin-top: 48px; padding-bottom: 7px; border-bottom: 1px solid rgba(255,255,255,.55); color: #fff; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.destination-page .guide-content { max-width: 1180px; }
.destination-page .toc-links { max-width: 900px; }
.destination-page .section-label { display: block; max-width: 760px; margin-top: 96px; color: #96704d; letter-spacing: .18em; }

.destination-intro { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr); gap: 82px; align-items: start; }
.destination-intro-copy .label { color: #96704d; letter-spacing: .18em; }
.destination-intro-copy h2 { margin: 18px 0 24px; color: var(--editorial-ink); font-family: var(--font-display); font-size: clamp(2.8rem, 5vw, 4.7rem); font-weight: 500; line-height: .98; letter-spacing: -.04em; }
.destination-intro-copy p { color: #465b54; font-size: 1.05rem; line-height: 1.85; }
.destination-facts { border-top: 1px solid var(--editorial-line); }
.destination-facts div { padding: 20px 0; border-bottom: 1px solid var(--editorial-line); }
.destination-facts span { display: block; margin-bottom: 6px; color: #7b8a84; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.destination-facts strong { color: var(--editorial-ink); font-family: var(--font-display); font-size: 1.22rem; font-weight: 500; line-height: 1.25; }

.destination-photo { margin: 76px 0 0; }
.destination-photo img { display: block; width: 100%; max-height: 650px; object-fit: cover; border-radius: 20px; }
.destination-photo figcaption { margin-top: 10px; color: #708079; font-size: .75rem; }
.destination-photo-split { display: grid; grid-template-columns: 1.45fr .55fr; gap: 0; align-items: stretch; }
.destination-photo-split img { min-height: 480px; border-radius: 20px 0 0 20px; }
.destination-photo-split blockquote { display: flex; align-items: flex-end; margin: 0; padding: 42px 32px; border-radius: 0 20px 20px 0; background: var(--editorial-ink); color: #fff; font-family: var(--font-display); font-size: clamp(1.6rem, 2.5vw, 2.35rem); line-height: 1.15; }
.caraiva-destination .destination-photo-wide img { height: auto; max-height: none; }
.caraiva-destination .destination-photo-split img { height: 520px; max-height: none; }
.trancoso-destination .destination-photo-wide img { height: auto; max-height: none; }
.santo-andre-destination .destination-photo-wide img { height: auto; max-height: none; }
.santo-andre-beach-photo img { aspect-ratio: 3 / 2; object-fit: cover; object-position: center 58%; }
.santo-andre-destination .santo-andre-riverside-photo img { height: 520px; max-height: none; object-position: center 55%; }
.porto-seguro-destination .destination-photo-wide img { height: auto; max-height: none; }
.porto-estuary-photo img, .porto-historic-photo img { aspect-ratio: 16 / 9; object-fit: cover; }
.porto-estuary-photo img { object-position: center 48%; }
.porto-historic-photo img { object-position: center 42%; }
.porto-seguro-destination .porto-mundai-photo img { height: 520px; max-height: none; object-position: center 55%; }
.arraial-photo-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 76px; }
.arraial-photo-pair figure { margin: 0; }
.arraial-photo-pair img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 20px; }
.arraial-photo-pair figcaption { margin-top: 10px; color: #708079; font-size: .75rem; }
.corumbau-beach-photo img { height: clamp(380px, 45vw, 560px); max-height: none; object-fit: cover; }
.corumbau-photo-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 76px; }
.corumbau-photo-pair figure { margin: 0; }
.corumbau-photo-pair img { display: block; width: 100%; height: clamp(270px, 32vw, 380px); object-fit: cover; border-radius: 20px; }
.corumbau-photo-pair figcaption { margin-top: 10px; color: #708079; font-size: .75rem; }

.numbered-list { max-width: 940px; margin-top: 42px; border-top: 1px solid var(--editorial-line); }
.numbered-list article { display: grid; grid-template-columns: 76px 1fr; gap: 22px; padding: 28px 0; border-bottom: 1px solid var(--editorial-line); }
.numbered-list article > span { color: var(--destination-coral); font-family: var(--font-display); font-size: 1.55rem; }
.numbered-list h3, .stay-comparison h3, .timeline-list h3 { margin: 0 0 8px; color: var(--editorial-ink); font-family: var(--font-display); font-size: 1.65rem; font-weight: 500; }
.numbered-list p, .stay-comparison p, .timeline-list p { margin: 0; color: #526760; line-height: 1.72; }

.destination-card-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; max-width: 1100px; margin-top: 42px; background: var(--editorial-line); border: 1px solid var(--editorial-line); }
.destination-card-grid article { grid-column: span 2; min-height: 250px; padding: 28px; background: var(--editorial-paper); }
.destination-card-grid article:nth-child(n+4) { grid-column: span 3; }
.destination-card-grid-four article { grid-column: span 3; }
.destination-card-grid article > span { color: #96704d; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.destination-card-grid h3 { margin: 14px 0 10px; color: var(--editorial-ink); font-family: var(--font-display); font-size: 2rem; font-weight: 500; }
.destination-card-grid p { color: #526760; line-height: 1.65; }
.destination-card-grid a { color: var(--editorial-green); font-size: .82rem; font-weight: 700; }

.stay-comparison { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; max-width: 980px; margin-top: 42px; border-top: 1px solid var(--editorial-line); }
.stay-comparison article { padding: 28px 32px 28px 0; border-bottom: 1px solid var(--editorial-line); }
.stay-comparison article:nth-child(odd) { border-right: 1px solid var(--editorial-line); }
.stay-comparison article:nth-child(even) { padding-left: 32px; }
.stay-comparison strong { display: block; margin-top: 18px; color: #96704d; font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; }
.inline-cta { margin-top: 34px; padding: 22px 0; border-bottom: 1px solid var(--editorial-line); }

.timeline-list { max-width: 820px; margin: 42px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--editorial-line); }
.timeline-list li { display: grid; grid-template-columns: 110px 1fr; gap: 28px; padding: 28px 0; border-bottom: 1px solid var(--editorial-line); }
.timeline-list li > span { color: var(--destination-coral); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.destination-faq { max-width: 820px; margin-top: 100px; }
.destination-faq > .label { color: #96704d; letter-spacing: .18em; }
.destination-faq > h2 { margin: 18px 0 36px; color: var(--editorial-ink); font-family: var(--font-display); font-size: clamp(2.3rem, 4vw, 3.5rem); font-weight: 500; }
.destination-faq details { border-top: 1px solid var(--editorial-line); }
.destination-faq details:last-child { border-bottom: 1px solid var(--editorial-line); }
.destination-faq summary { padding: 22px 36px 22px 0; color: var(--editorial-ink); font-family: var(--font-display); font-size: 1.35rem; cursor: pointer; }
.destination-faq details p { max-width: 680px; margin: -4px 0 24px; color: #526760; line-height: 1.75; }
.destination-quote-panel { display: grid; grid-template-columns: .5fr 1.5fr; gap: 42px; max-width: 980px; margin-top: 74px; padding: 42px; border-radius: 20px; background: var(--editorial-ink); color: #fff; }
.destination-quote-panel > span { color: #d8c49a; font-size: .68rem; letter-spacing: .13em; text-transform: uppercase; }
.destination-quote-panel blockquote { margin: 0; font-family: var(--font-display); font-size: clamp(1.85rem, 3vw, 2.75rem); line-height: 1.12; }

@media (max-width: 800px) {
  .destination-page .destination-hero { background-position: 62% center; }
  .arraial-destination .destination-hero { background-position: 38% center; }
  .santo-andre-destination .destination-hero { background-position: 54% center; }
  .corumbau-destination .destination-hero { background-position: 52% center; }
  .destination-page .destination-hero h1 { max-width: 270px; font-size: clamp(2.75rem, 13vw, 3.35rem); text-wrap: auto; }
  .destination-page .hero-scroll { display: none; }
  .destination-page .section-label { margin-top: 72px; }
  .destination-intro { grid-template-columns: 1fr; gap: 38px; }
  .destination-photo { margin-top: 54px; }
  .destination-photo-split { grid-template-columns: 1fr; }
  .destination-photo-split img { min-height: 320px; border-radius: 16px 16px 0 0; }
  .destination-photo-split blockquote { min-height: 240px; border-radius: 0 0 16px 16px; }
  .caraiva-destination .caraiva-riverside-photo img { aspect-ratio: 4 / 3; object-position: 35% center; }
  .caraiva-destination .caraiva-estuary-photo img { aspect-ratio: 16 / 9; }
  .caraiva-destination .destination-photo-split img { height: 320px; min-height: 0; object-position: center 60%; }
  .trancoso-destination .destination-photo-wide img { aspect-ratio: 4 / 3; object-fit: cover; }
  .trancoso-destination .trancoso-quadrado-photo img { object-position: center 55%; }
  .trancoso-destination .trancoso-rio-verde-photo img { aspect-ratio: 16 / 9; }
  .santo-andre-beach-photo img { aspect-ratio: 4 / 3; }
  .santo-andre-guaiu-photo img { aspect-ratio: 4 / 3; object-fit: cover; }
  .santo-andre-destination .santo-andre-riverside-photo img { height: 320px; min-height: 0; }
  .porto-estuary-photo img, .porto-historic-photo img { aspect-ratio: 4 / 3; }
  .porto-river-photo img { aspect-ratio: 16 / 9; object-fit: cover; }
  .porto-seguro-destination .porto-mundai-photo img { height: 320px; min-height: 0; }
  .arraial-photo-pair { grid-template-columns: 1fr; gap: 30px; margin-top: 54px; }
  .arraial-photo-pair img { border-radius: 16px; }
  .corumbau-beach-photo img { height: clamp(260px, 80vw, 420px); }
  .corumbau-photo-pair { grid-template-columns: 1fr; gap: 30px; margin-top: 54px; }
  .corumbau-photo-pair img { height: clamp(250px, 74vw, 340px); border-radius: 16px; }
  .destination-quote-panel { grid-template-columns: 1fr; gap: 20px; margin-top: 54px; padding: 30px 26px; }
  .destination-card-grid { grid-template-columns: 1fr; }
  .destination-card-grid article, .destination-card-grid article:nth-child(n+4), .destination-card-grid-four article { grid-column: auto; min-height: 0; }
  .stay-comparison { grid-template-columns: 1fr; }
  .stay-comparison article, .stay-comparison article:nth-child(even) { padding: 26px 0; border-right: 0; }
  .timeline-list li { grid-template-columns: 82px 1fr; gap: 16px; }
}

@media (max-width: 520px) {
  .numbered-list article { grid-template-columns: 46px 1fr; gap: 10px; }
  .timeline-list li { grid-template-columns: 1fr; gap: 10px; }
}
