.falls-guide {
  background: #f4e9c9;
  border-block: 2px solid var(--ink);
}
.falls-intro {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  align-items: end;
  gap: 2rem;
  margin-bottom: 2rem;
}
.falls-intro h2 { margin-bottom: 0; }
.falls-intro h2 span { color: #a83522; }
.falls-intro .lead { margin: 0; font-size: clamp(17px, 1.6vw, 23px); }
.falls-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(20px, 4vw, 56px);
}
.falls-figure {
  margin: 0 8px 8px 0;
  border: 2px solid var(--ink);
  background: #f8edce;
  box-shadow: 8px 8px 0 var(--ink);
}
.falls-map-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: clamp(15px, 2.6vw, 30px);
  color: white;
  background: var(--blue);
}
.falls-map-heading strong {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(31px, 4.4vw, 64px);
  line-height: .87;
  letter-spacing: -.06em;
}
.falls-map-heading strong span { color: #ffe580; }
.falls-badge {
  padding: .65em .75em;
  border: 2px solid var(--ink);
  background: #ffe580;
  color: var(--ink);
  font-size: clamp(9px, 1vw, 13px);
  line-height: 1.15;
  text-align: center;
  font-weight: 900;
  letter-spacing: .08em;
  transform: rotate(5deg);
}
.falls-map { display: block; width: 100%; height: auto; }
.falls-map-label {
  fill: #17233b;
  font: 900 16px 'DM Sans', sans-serif;
  letter-spacing: 1px;
}
.falls-pin circle { fill: #f97253; stroke: #17233b; stroke-width: 3; }
.falls-pin text {
  fill: #17233b;
  font: 900 19px 'Space Grotesk', sans-serif;
  text-anchor: middle;
  dominant-baseline: central;
  pointer-events: none;
}
.falls-home rect { fill: #ffe580; stroke: #17233b; stroke-width: 3; }
.falls-home text { fill: #17233b; font: 900 17px 'DM Sans', sans-serif; }
.falls-pin:hover circle, .falls-pin:focus-visible circle,
.falls-home:hover rect, .falls-home:focus-visible rect { fill: white; stroke-width: 5; }
.falls-figure figcaption {
  padding: 13px 16px;
  border-top: 2px solid var(--ink);
  font-size: 13px;
  line-height: 1.5;
}
.falls-figure figcaption a, .falls-links a { text-decoration: underline; text-underline-offset: 3px; }
.falls-stops { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ink); }
.falls-stops li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid #8c8575;
  scroll-margin-top: 18px;
}
.falls-stops li:target { background: #fff8e7; }
.falls-number {
  align-self: start;
  background: var(--orange);
  border: 2px solid var(--ink);
  border-radius: 50%;
  width: 37px;
  height: 37px;
  display: grid;
  place-items: center;
  font-weight: 900;
}
.falls-stops h3 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(21px, 2vw, 29px);
  line-height: 1.08;
  letter-spacing: -.04em;
  margin: 4px 0 5px;
}
.falls-stops p { margin: 0; line-height: 1.4; }
.falls-stops .falls-kind {
  color: #454b56;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.falls-links { display: flex; flex-wrap: wrap; gap: 3px 15px; margin-top: 4px; }
.falls-links a { padding: 5px 0; font-weight: 900; font-size: 13px; }
.falls-press {
  margin-top: 28px;
  border-top: 1px solid currentColor;
  padding-top: 22px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px;
}
.falls-press p { margin: .45em 0 0; max-width: 55ch; line-height: 1.45; }
@media (max-width: 850px) {
  .falls-intro, .falls-layout { grid-template-columns: 1fr; }
  .falls-intro { gap: 1rem; }
}
@media (max-width: 530px) {
  .top { flex-wrap: wrap; }
  .top nav { order: 3; width: 100%; }
  .top nav a:nth-child(2) { display: inline; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

main { overflow-x: clip; }

.falls-stops .falls-throwback {
  margin: 9px 0 3px;
  padding: 9px 11px;
  border-left: 3px solid var(--blue);
  background: #fff8e7;
  font-size: 14px;
}
.falls-throwback a { text-decoration: underline; text-underline-offset: 3px; }
