.idv-atlas,
.idv-destination-page,
.idv-continent-page {
  background: var(--idv-paper);
}

.idv-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  padding-block: 1rem;
  color: var(--idv-muted);
  font-size: .78rem;
}

.idv-breadcrumbs a { color: var(--idv-sea); text-decoration: none; }
.idv-breadcrumbs a:hover { text-decoration: underline; }

.idv-destination-hero,
.idv-continent-hero {
  position: relative;
  isolation: isolate;
  min-height: min(680px, 72vh);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: linear-gradient(140deg, var(--idv-sea), var(--idv-night));
  color: #fff;
}

.idv-destination-hero-media,
.idv-continent-hero-media,
.idv-destination-hero-shade,
.idv-continent-hero-shade {
  position: absolute;
  inset: 0;
}

.idv-destination-hero-media,
.idv-continent-hero-media {
  z-index: -2;
  background-position: center;
  background-size: cover;
  transform: scale(1.015);
}

.idv-destination-hero-shade,
.idv-continent-hero-shade {
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(9, 16, 24, .08) 10%, rgba(9, 16, 24, .88) 96%),
    linear-gradient(90deg, rgba(9, 16, 24, .55), transparent 68%);
}

.idv-destination-hero-inner,
.idv-continent-hero-copy {
  padding-block: clamp(5rem, 11vw, 8rem) clamp(3rem, 7vw, 5.4rem);
}

.idv-destination-hero h1,
.idv-continent-hero h1,
.idv-atlas-hero h1 {
  max-width: 950px;
  margin: 0;
  color: #fff;
  font: 700 clamp(3.2rem, 9vw, 7.4rem)/.92 'Fraunces', Georgia, serif;
  letter-spacing: -.045em;
}

.idv-destination-lead,
.idv-continent-intro,
.idv-atlas-hero > .idv-shell > p:last-child {
  max-width: 740px;
  margin: 1.25rem 0 0;
  color: rgba(255,255,255,.84);
  font-size: clamp(1rem, 2vw, 1.25rem);
  line-height: 1.65;
}

.idv-continent-intro p { margin: 0; }

.idv-destination-reading {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem 1.3rem;
  margin-top: 1.5rem;
  color: rgba(255,255,255,.68);
  font-size: .82rem;
}

.idv-facts {
  border-bottom: 1px solid rgba(28,36,49,.09);
  background: #fff;
}

.idv-facts-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
}

.idv-facts-grid > div {
  min-height: 118px;
  padding: 1.65rem clamp(.8rem, 2.5vw, 2rem);
  border-right: 1px solid rgba(28,36,49,.09);
}

.idv-facts-grid > div:first-child { border-left: 1px solid rgba(28,36,49,.09); }
.idv-facts span { display: block; color: var(--idv-muted); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.idv-facts strong { display: block; margin-top: .45rem; color: var(--idv-ink); font: 600 clamp(1rem, 2vw, 1.2rem)/1.25 'Fraunces', Georgia, serif; }

.idv-destination-layout {
  display: grid;
  grid-template-columns: minmax(190px, 270px) minmax(0, 760px);
  justify-content: space-between;
  gap: clamp(2rem, 6vw, 6rem);
  padding-block: clamp(3.5rem, 8vw, 7rem);
}

.idv-destination-aside { position: relative; }
.idv-aside-card { position: sticky; top: 2rem; padding: 1.4rem; border: 1px solid rgba(28,36,49,.09); border-radius: 16px; background: #fff; box-shadow: 0 12px 35px rgba(28,36,49,.06); }
.idv-aside-kicker { margin: 0 0 .55rem; color: var(--idv-rust); font-size: .72rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.idv-aside-card p:not(.idv-aside-kicker) { margin: 0; color: var(--idv-muted); font-size: .9rem; line-height: 1.6; }
.idv-aside-card a { display: inline-flex; gap: .6rem; margin-top: 1rem; color: var(--idv-sea); font-weight: 700; text-decoration: none; }

.idv-destination-content.idv-article-content { width: auto; min-width: 0; max-width: 100%; margin: 0; padding: 0; }
.idv-destination-content > .key-takeaways,
.idv-destination-content > .toc-container,
.idv-article-content > .key-takeaways,
.idv-article-content > .toc-container { padding: 1.35rem 1.5rem; border-radius: 15px; background: #fff; box-shadow: 0 8px 26px rgba(28,36,49,.06); }
.idv-destination-content > .key-takeaways h3,
.idv-article-content > .key-takeaways h3,
.idv-destination-content > .toc-container h3,
.idv-article-content > .toc-container h3 { margin-top: 0; }
.idv-article-content .wp-block-table { width: 100%; max-width: 100%; margin-inline: 0; overflow-x: auto; }
.idv-article-content table { width: 100%; min-width: 580px; border-collapse: collapse; font-size: .93rem; }
.idv-article-content th { background: var(--idv-sea); color: #fff; text-align: left; }
.idv-article-content th,
.idv-article-content td { padding: .85rem 1rem; border: 1px solid #D9D6CF; vertical-align: top; }
.idv-article-content tbody tr:nth-child(even) { background: #F5F1EA; }
.idv-article-content .wp-block-quote { border-radius: 0 12px 12px 0; }
.idv-article-content .idv-source-list { font-size: .9rem; }

.idv-related-section { padding: clamp(4rem, 8vw, 7rem) 0; background: #F0EBE3; }
.idv-related-head { max-width: 720px; margin-bottom: 2rem; }
.idv-related-head h2,
.idv-atlas-heading h2 { margin: .35rem 0 0; color: var(--idv-ink); font-size: clamp(2rem, 5vw, 3.7rem); line-height: 1; }
.idv-related-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.idv-related-card { overflow: hidden; border-radius: 17px; background: #fff; box-shadow: 0 10px 35px rgba(28,36,49,.07); }
.idv-related-card a { color: inherit; text-decoration: none; }
.idv-related-thumb { display: block; aspect-ratio: 16/10; overflow: hidden; background: linear-gradient(145deg,var(--idv-sea),var(--idv-ink)); }
.idv-related-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.idv-related-card:hover img { transform: scale(1.04); }
.idv-related-body { display: block; padding: 1.2rem; }
.idv-related-body em { display: block; color: var(--idv-rust); font-style: normal; font-size: .69rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.idv-related-body strong { display: block; margin-top: .5rem; color: var(--idv-ink); font: 600 1.35rem/1.15 'Fraunces',Georgia,serif; }
.idv-related-body > span { display: block; margin-top: 1.2rem; color: var(--idv-sea); font-size: .84rem; font-weight: 700; }

.idv-atlas-hero {
  padding: clamp(5rem,12vw,9rem) 0;
  background:
    radial-gradient(circle at 82% 26%, rgba(104,200,207,.36), transparent 28rem),
    radial-gradient(circle at 18% 80%, rgba(196,85,45,.28), transparent 24rem),
    var(--idv-night);
}
.idv-atlas-hero h1 { max-width: 830px; font-size: clamp(3rem,8vw,6.5rem); }
.idv-continent-directory { padding-block: clamp(4rem,9vw,7rem); }
.idv-atlas-heading { max-width: 760px; margin-bottom: 2rem; }
.idv-atlas-heading > p:last-child { color: var(--idv-muted); line-height: 1.7; }
.idv-continent-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.idv-continent-tile { position: relative; isolation: isolate; min-height: 360px; display: flex; align-items: flex-end; overflow: hidden; padding: 1.5rem; border-radius: 18px; background: var(--idv-sea); color: #fff !important; text-decoration: none !important; }
.idv-continent-image,
.idv-continent-shade { position: absolute; inset: 0; }
.idv-continent-image { z-index: -2; background-position: center; background-size: cover; transition: transform .45s ease; }
.idv-continent-shade { z-index: -1; background: linear-gradient(180deg,transparent 20%,rgba(10,16,24,.9)); }
.idv-continent-tile--amerique-du-sud { background: radial-gradient(circle at 75% 20%, #C4552D, transparent 38%), linear-gradient(145deg,#174E50,#10151F); }
.idv-continent-tile--oceanie { background: radial-gradient(circle at 22% 18%, #68C8CF, transparent 34%), linear-gradient(145deg,#14555A,#10151F); }
.idv-continent-tile:hover .idv-continent-image { transform: scale(1.04); }
.idv-continent-copy { display: block; }
.idv-continent-copy em { display: block; color: #F0B59A; font-size: .7rem; font-style: normal; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.idv-continent-copy strong { display: block; margin-top: .35rem; color: #fff; font: 650 clamp(1.8rem,4vw,2.8rem)/1 'Fraunces',Georgia,serif; }
.idv-continent-copy > span { display: block; margin-top: .7rem; color: rgba(255,255,255,.72); font-size: .88rem; line-height: 1.5; }

.idv-all-destinations { padding: clamp(4rem,9vw,7rem) 0; background: #F0EBE3; }
.idv-continent-list { padding-block: clamp(4rem,9vw,7rem); }
.idv-destination-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.idv-destination-card { overflow: hidden; border-radius: 17px; background: #fff; box-shadow: 0 8px 28px rgba(28,36,49,.07); }
.idv-destination-card a { color: inherit; text-decoration: none; }
.idv-destination-card-media { display: block; aspect-ratio: 4/3; background: linear-gradient(145deg,var(--idv-sea),var(--idv-night)) center/cover; transition: transform .4s ease; }
.idv-destination-card:hover .idv-destination-card-media { transform: scale(1.035); }
.idv-destination-card-body { display: block; padding: 1.2rem; }
.idv-destination-card-body em { display: block; color: var(--idv-rust); font-style: normal; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.idv-destination-card-body strong { display: block; margin-top: .35rem; color: var(--idv-ink); font: 650 1.65rem/1.1 'Fraunces',Georgia,serif; }
.idv-destination-card-body > span { display: block; margin-top: .65rem; color: var(--idv-muted); font-size: .84rem; }

@media (max-width: 900px) {
  .idv-facts-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .idv-destination-layout { grid-template-columns: minmax(0,1fr); }
  .idv-destination-aside { display: none; }
  .idv-continent-grid,
  .idv-destination-grid,
  .idv-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 580px) {
  .idv-destination-hero,
  .idv-continent-hero { min-height: 590px; }
  .idv-destination-hero h1,
  .idv-continent-hero h1 { font-size: clamp(3.1rem,17vw,5.4rem); }
  .idv-facts-grid { grid-template-columns: 1fr 1fr; }
  .idv-facts-grid > div { min-height: 105px; padding: 1.15rem .8rem; }
  .idv-continent-grid,
  .idv-destination-grid,
  .idv-related-grid { grid-template-columns: 1fr; }
  .idv-continent-tile { min-height: 300px; }
  .idv-article-content table { min-width: 510px; }
}
