.outing-guide {
  color: var(--pine-deep);
  padding-block: clamp(1rem, 3vw, 3rem) clamp(3rem, 7vw, 6rem);
}
.outing-guide .breadcrumbs { margin: 0 0 clamp(1.6rem, 3vw, 3rem); }
.outing-intro, .outing-guide > header { padding-bottom: clamp(1.8rem, 4vw, 4rem); border-bottom: 2px solid var(--pine); }
.outing-guide h1 {
  font: 400 clamp(3.7rem, 8vw, 8.2rem)/.91 var(--display);
  max-width: 20ch;
  letter-spacing: -.02em;
}
.outing-guide h1 + p, .outing-intro > p { margin-top: 1.2rem; max-width: 60ch; font-size: clamp(1.05rem, 1.6vw, 1.45rem); line-height: 1.5; }
.outing-guide h2 { font: 600 clamp(1.65rem, 3vw, 2.95rem)/1.13 var(--serif); }
.outing-guide h3 { font: 600 1.2rem/1.3 var(--serif); }
.outing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 2rem); margin-block: clamp(1.4rem, 3vw, 3rem); }
.outing-card {
  min-width: 0;
  scroll-margin-top: 1rem;
  padding: clamp(1.2rem, 3vw, 2.35rem);
  background: #fbf9f0;
  border-top: 4px solid #829773;
  overflow-wrap: break-word;
}
.outing-card:nth-child(2n) { border-color: #cfac65; }
.outing-card :is(h2, h3, dl, ul, p) + :is(p, h3, dl, ul, nav) { margin-top: .75rem; }
.outing-guide :is(dd, li, p) { max-width: 70ch; }
.outing-guide dt { margin-top: .9rem; font-weight: 650; }
.outing-guide dd { margin: .15rem 0 .5rem; }
.outing-guide .outing-card a, .outing-guide nav > a { text-underline-offset: .2em; }
.outing-jump, .outing-links { display: flex; flex-wrap: wrap; align-items: center; gap: 0 1rem; }
.outing-jump { margin-top: 1rem; }
.outing-jump a, .outing-links a { display: inline-flex; align-items: center; min-height: 44px; }
.outing-location { font-weight: 600; color: #52654d; margin-bottom: .4rem; }
.outing-sources { margin-top: .75rem; font-size: .91rem; }
.outing-contact { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .85fr); gap: clamp(1rem, 3vw, 3rem); padding: clamp(1.35rem, 3vw, 3rem); background: #e7eddc; }
.outing-contact p { margin-top: .75rem; }
.partner-email { display: grid; align-content: start; justify-items: start; gap: 1rem; }
.partner-email span { overflow-wrap: anywhere; }
.station-finder { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); align-items: start; gap: clamp(1.25rem, 3.7vw, 4rem); padding: clamp(1.2rem, 3vw, 2.7rem); margin-top: clamp(1.6rem, 4vw, 4rem); color: #183c30; background: #e5ecd9; border-top: 4px solid #476c51; }
.station-finder h2 { margin-bottom: .7rem; }
.station-finder .station-intro > a { display: inline-flex; align-items: center; min-height: 44px; margin-top: .55rem; }
.station-console { min-width: 0; padding: clamp(.9rem, 2vw, 1.6rem); background: var(--paper-light); border: 1px solid #bdcabb; }
.station-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: .8rem 1rem; align-items: end; }
.station-form label { display: grid; min-width: 0; gap: .28rem; font-weight: 600; }
.station-form label:nth-child(2) { grid-column: span 2; grid-row: 1; }
.station-form :is(button, select) { width: 100%; min-height: 46px; border: 1px solid #71856c; border-radius: 0; background: white; padding: .45rem .6rem; color: inherit; }
.station-form button { grid-column: 1/-1; background: #254b38; color: white; border-color: #254b38; font-weight: 650; }
.station-form small { grid-column: 1/-1; font-size: .86rem; line-height: 1.45; }
.station-console [role=status]:not(:empty) { margin-top: 1rem; font-weight: 650; }
.station-results:not(:empty) { margin-top: .65rem; }
.station-maps { display: flex; flex-wrap: wrap; gap: 0 1rem; }
.station-maps a, .verified-access > summary { display: inline-flex; align-items: center; min-height: 44px; }
.verified-access > summary { cursor: pointer; text-decoration: underline; }
.verified-access .source-list { font-size: .9rem; }
@media (max-width: 760px) {
  .outing-grid, .outing-contact, .station-finder { grid-template-columns: minmax(0, 1fr); }
  .station-form { gap: .65rem; }
}
.outing-section { margin: clamp(2rem, 4vw, 3rem) 0 1rem; font: 600 clamp(1.5rem, 2.6vw, 2.2rem)/1.15 var(--serif); letter-spacing: -.03em; color: var(--pine-deep); }
.outing-note { margin: -.4rem 0 1rem; color: var(--muted); }
.outing-elsewhere ul { margin: 0 0 1.5rem; padding-left: 1.2rem; line-height: 1.9; }
.outing-elsewhere a { text-decoration: underline; text-underline-offset: 3px; }
.surf-photo { margin: 0 0 1.25rem; }
.surf-photo > a { display: block; overflow: hidden; }
.surf-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.surf-photo figcaption { margin-top: .45rem; font-size: .82rem; line-height: 1.4; }
.surf-guide a { text-decoration: none; }
.surf-guide :is(h2 a, .outing-jump a, .outing-links a, .surf-booking-action) { transition: color .18s ease, background-color .18s ease, transform .18s ease; transform-origin: left center; }
.surf-guide h2 a { display: inline-block; }
.surf-guide a:is(:hover, :focus-visible) { color: #85522e; text-decoration: none; }
.surf-booking { margin-top: 1.2rem; padding: 1rem; background: #e7eddc; border-left: 3px solid #829773; }
.surf-booking .surf-meeting { margin-top: .6rem; }
.surf-booking-note { font-weight: 600; }
.surf-guide .surf-booking-action { display: inline-flex; align-items: center; min-height: 44px; margin-top: .7rem; padding: .5rem .75rem; color: var(--paper-light); background: var(--pine-deep); font: 100 1rem/1.35 'cofo-cinema1909', var(--body); }
.surf-guide .surf-booking-action:is(:hover, :focus-visible) { color: var(--pine-deep); background: #d7e2c6; }
.surf-card > .outing-links { margin-top: 1rem; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  body:not(.motion-paused) .surf-guide :is(h2 a, .outing-jump a, .outing-links a, .surf-booking-action):hover { transform: scale(1.025); }
}
@media (prefers-reduced-motion: reduce) {
  .surf-guide a { transition: none; transform: none; }
}
