/* River destination guides. Loaded after site.css. */
.research-hero {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: 44px;
  align-items: center;
  padding-block: 58px;
  background: var(--sage);
  border-bottom: 1px solid var(--line);
}
.research-hero > .wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: 44px;
  align-items: center;
}
.research-hero > *,
.research-hero > .wrap > *,
.research-layout > *,
.destination-grid > * { min-width: 0; }
.research-hero h1 {
  max-width: 900px;
  margin: 0 0 23px;
  font: 400 clamp(38px, 4.6vw, 62px)/1.08 var(--serif);
  letter-spacing: -1.8px;
  text-wrap: balance;
  overflow-wrap: break-word;
}
.research-hero p:not(.research-kicker):not(.research-caption):not(.breadcrumbs):not(.source-note) {
  max-width: 66ch;
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.85;
}
.research-hero figure { margin: 0; }
.research-hero figure img {
  width: 100%;
  max-height: 420px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 6px;
  background: var(--line);
}
.research-kicker {
  margin: 0 0 17px;
  color: var(--pine);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.research-caption,
.research-hero figcaption {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.research-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 280px);
  gap: clamp(30px, 5vw, 70px);
  align-items: start;
  padding-block: 50px 76px;
}
.research-layout > aside {
  position: sticky;
  top: 110px;
  min-width: 0;
}
.research-body {
  max-width: 76ch;
  min-width: 0;
  font-size: 15px;
  line-height: 1.85;
  overflow-wrap: break-word;
}
.research-body p,
.research-body li {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.9;
}
.research-body p { margin: 0 0 19px; }
.research-body ul,
.research-body ol { padding-left: 23px; }
.research-body li { margin-block: 7px; padding-left: 3px; }
.research-body h2,
.research-related h2,
.research-sources h2 {
  margin: 0 0 18px;
  color: var(--pine);
  font: 400 clamp(28px, 2.9vw, 36px)/1.18 var(--serif);
  letter-spacing: -.7px;
  text-wrap: balance;
}
.research-body h3 {
  margin: 27px 0 13px;
  color: var(--pine);
  font: 400 24px/1.25 var(--serif);
  letter-spacing: -.3px;
}
.research-body a:not(.button),
.source-note a,
.research-sources a,
.research-caption a,
.research-hero figcaption a {
  color: var(--pine);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
.research-body a:not(.button):hover,
.source-note a:hover,
.research-sources a:hover { color: var(--deep); text-decoration-thickness: 2px; }
.research-section {
  margin: 0 0 34px;
  padding-top: 29px;
  border-top: 1px solid var(--line);
  scroll-margin-top: 115px;
}
.research-section:first-child { padding-top: 0; border-top: 0; }
.source-note,
.research-body .source-note {
  display: block;
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.source-note a { display: inline; margin-right: 8px; }
.research-toc {
  margin: 0 0 23px;
  padding: 23px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--white);
}
.research-toc h2,
.research-toc h3 {
  margin: 0 0 13px;
  color: var(--pine);
  font: 400 26px/1.2 var(--serif);
  letter-spacing: -.4px;
}
.research-toc ul,
.research-toc ol { margin: 0; padding: 0; list-style: none; }
.research-toc li { margin: 0; border-top: 1px solid var(--line); }
.research-toc li:first-child { border-top: 0; }
.research-toc a {
  display: block;
  padding-block: 11px;
  color: var(--pine);
  font-size: 12px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.research-toc a:hover { text-decoration: underline; text-underline-offset: 3px; }
.research-toc p { margin: 15px 0 0; color: var(--muted); font-size: 11px; }
.research-toc .button { margin-top: 15px; width: 100%; color: var(--white); }
.research-sources {
  margin-top: 40px;
  padding: 27px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #eeefe7;
  scroll-margin-top: 115px;
}
.research-sources h2 { font-size: 29px; }
.research-sources ul,
.research-sources ol { margin: 0; padding-left: 20px; }
.research-sources li,
.research-sources p {
  margin: 0 0 11px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.85;
  overflow-wrap: anywhere;
}
.research-sources li:last-child,
.research-sources p:last-child { margin-bottom: 0; }
.research-related { margin-top: 42px; padding-top: 33px; border-top: 1px solid var(--line); }
.research-related > p { color: var(--muted); font-size: 13px; max-width: 65ch; }
.research-related .text-link { white-space: normal; }
.destination-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 25px;
  margin-top: 28px;
}
.destination-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--white);
}
.destination-card > a:only-child {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}
.destination-card img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: var(--sage);
}
.destination-card h2,
.destination-card h3 {
  margin-top: 22px;
  margin-bottom: 12px;
  color: var(--pine);
  font: 400 27px/1.17 var(--serif);
  letter-spacing: -.55px;
  overflow-wrap: break-word;
}
.destination-card p { margin: 0 0 22px; color: var(--muted); font-size: 12px; line-height: 1.85; }
.destination-card > :is(h2, h3, p, span),
.destination-card > a:only-child > :is(h2, h3, p, span) { margin-inline: 23px; }
.destination-card .card-body { padding: 23px; }
.destination-card .card-body :is(h2, h3) { margin-top: 0; }
.destination-card .text-link {
  align-self: flex-start;
  margin-top: auto;
  margin-bottom: 23px;
  white-space: normal;
}
.destination-card .card-body .text-link { margin-bottom: 0; }
.destination-card:focus-within { border-color: var(--pine); }
.catalogue-jump-links,
.catalogue-jump-links ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.catalogue-jump-links { margin: 24px 0 30px; }
.catalogue-jump-links ul { margin: 0; padding: 0; list-style: none; }
.catalogue-jump-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 43px;
  max-width: 100%;
  padding: 10px 16px;
  border: 1px solid #b9c7b7;
  border-radius: 4px;
  background: var(--white);
  color: var(--pine);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.catalogue-jump-links a:hover { background: var(--sage); border-color: var(--pine); }
.package-notes {
  margin: 28px 0;
  padding: 21px 24px;
  border-left: 3px solid #759468;
  border-radius: 0 4px 4px 0;
  background: #e6eee4;
  color: #3a5a44;
  overflow-wrap: break-word;
}
.package-notes :is(h2, h3) { margin: 0 0 12px; font: 400 26px/1.2 var(--serif); }
.package-notes p,
.package-notes li { margin-block: 8px; color: inherit; font-size: 12px; line-height: 1.85; }
.package-notes ul { margin-bottom: 0; padding-left: 20px; }
.package-notes a { text-decoration: underline; text-underline-offset: 3px; }
.keyword-note { margin: 18px 0; color: var(--muted); font-size: 11px; line-height: 1.85; overflow-wrap: anywhere; }
:is(.research-hero, .research-layout, .research-related, .destination-grid, .catalogue-jump-links, .package-notes) a:focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: 4px;
}
.destination-card > a:only-child:focus-visible { outline-offset: -4px; }
@media (max-width: 1000px) {
  .research-layout { grid-template-columns: minmax(0, 1fr) 240px; gap: 32px; }
  .destination-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
  .research-toc { padding: 20px; }
}
@media (max-width: 800px) {
  .research-hero,
  .research-hero > .wrap { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .research-hero { padding-block: 40px; }
  .research-hero h1 { max-width: 760px; font-size: clamp(37px, 6vw, 49px); }
  .research-hero figure img { max-height: 390px; aspect-ratio: 16 / 10; }
  .research-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-block: 36px 58px; }
  .research-layout > aside { position: static; }
  .research-body { max-width: none; }
  .research-toc { margin-bottom: 20px; }
}
@media (max-width: 560px) {
  .research-hero { padding-block: 32px; }
  .research-hero h1 { font-size: 37px; line-height: 1.1; letter-spacing: -1px; margin-bottom: 19px; }
  .research-hero p:not(.research-kicker):not(.research-caption):not(.breadcrumbs):not(.source-note) { font-size: 13px; }
  .research-kicker { font-size: 9px; letter-spacing: .12em; }
  .research-hero figure img { aspect-ratio: 4 / 3; }
  .research-body p,
  .research-body li { font-size: 13px; line-height: 1.9; }
  .research-body h2,
  .research-related h2 { font-size: 29px; }
  .research-body h3 { font-size: 23px; }
  .research-section { margin-bottom: 28px; padding-top: 24px; scroll-margin-top: 92px; }
  .research-sources { padding: 20px 18px; scroll-margin-top: 92px; }
  .research-sources h2 { font-size: 26px; }
  .destination-grid { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .destination-card h2,
  .destination-card h3 { font-size: 28px; }
  .catalogue-jump-links,
  .catalogue-jump-links ul { gap: 9px; }
  .catalogue-jump-links a { padding: 10px 12px; font-size: 10px; }
  .package-notes { padding: 18px; }
  .package-notes :is(h2, h3) { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.research-body, .destination-grid) { scroll-behavior: auto; }
  .destination-card img { transition: none; }
}

#prices, #included, #hotel-transfers { scroll-margin-top: 112px; }
.destination-card > .eyebrow { margin-top: 24px; }
.destination-card > .text-link { margin-left: 23px; margin-right: 23px; }
.research-hero .source-note { font-size: 10px; }
