@font-face {
  font-family: "ITC Galliard";
  src: url("../assets/fonts/itc-galliard-400.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Neue Frutiger";
  src: url("../assets/fonts/neue-frutiger-400.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --paper: #f1f1eb;
  --paper-deep: #e7e7df;
  --paper-light: #f1f1eb;
  --pine: #17362e;
  --pine-2: #234b3f;
  --pine-dark: #0b211c;
  --ink: #182820;
  --quiet: #4f6057;
  --rust: #93432f;
  --ochre: #e6ae43;
  --snow: #dce7e5;
  --line: rgba(23, 54, 46, .18);
  --white: #fffdf7;
  --display: "ITC Galliard", Georgia, serif;
  --body: "Neue Frutiger", Arial, sans-serif;
  --shell: min(1280px, calc(100vw - 96px));
  --radius: 22px;
  --radius-small: 16px;
  --card-shadow: 0 28px 70px -28px rgba(29, 57, 47, .34);
  --ease: cubic-bezier(.22, 1, .36, 1);
  /* aliases for house footer chrome */
  --paper-cool: var(--paper);
  --paper-deep: #eee9de;
  --hair: var(--line);
  --wrap: 1320px;
  --pad: clamp(22px, 5vw, 68px);
  --gap: clamp(88px, 10vw, 148px);
  --slate: var(--quiet);
  --slate-light: #8e9893;
  --pine-deep: var(--pine-dark);
  --ochre-deep: #925331;
}


*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

body.menu-open { overflow: hidden; }
body.video-open { overflow: hidden; }

::selection { background: var(--ochre); color: var(--pine-dark); }

::-webkit-scrollbar { width: 11px; }
::-webkit-scrollbar-track { background: var(--paper-deep); }
::-webkit-scrollbar-thumb { background: var(--pine-2); border: 3px solid var(--paper-deep); border-radius: 99px; }

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input { font: inherit; }
button { color: inherit; }

:focus-visible {
  outline: 3px solid var(--ochre);
  outline-offset: 4px;
}

.skip-link {
  position: fixed;
  z-index: 999;
  top: 12px;
  left: 12px;
  padding: 10px 16px;
  background: var(--white);
  color: var(--pine-dark);
  transform: translateY(-160%);
  transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }

.shell { width: var(--shell); margin-inline: auto; }

.site-header {
  position: absolute;
  z-index: 40;
  inset: 0 0 auto;
  width: min(100%, 1320px);
  height: clamp(120px, 14vw, 164px);
  margin-inline: auto;
  padding-inline: clamp(22px, 5vw, 68px);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-logo { display: inline-flex; align-items: center; align-self: flex-start; margin-top: 14px; filter: drop-shadow(0 5px 18px rgba(0,0,0,.38)); }
.site-logo img { width: clamp(108px, 11vw, 148px); height: auto; }

.header-actions { display: flex; align-items: center; gap: 18px; }

.menu-trigger {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 50px;
  border: 0;
  border-radius: 999px;
  background: rgba(13, 27, 22, .24);
  box-shadow: inset 0 0 0 1px rgba(255, 253, 248, .7);
  backdrop-filter: blur(10px);
  color: var(--white);
  padding: 0 20px;
  cursor: pointer;
  letter-spacing: .02em;
  font-size: 14px;
}
.menu-trigger__bars { width: 20px; display: grid; gap: 4px; }
.menu-trigger__bars i { height: 1px; background: currentColor; border-radius: 1px; }
.menu-trigger__bars i:nth-child(2) { width: 14px; margin-left: auto; }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 14px;
  line-height: 1;
  letter-spacing: .045em;
  text-decoration: none;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s var(--ease);
}
.button:hover { transform: translateY(-2px); }
.button--gold { background: var(--ochre); color: var(--pine-dark); }
.button--gold:hover { background: #f2bf57; }
.header-book.button--gold {
  color: #fffdf8;
  background: #b86e3f;
  box-shadow: 0 8px 24px rgba(61, 30, 15, .17);
}
.header-book.button--gold:hover {
  color: #fffdf8;
  background: #925331;
  transform: none;
}
.button--pine { background: var(--pine); color: var(--white); }
.button--pine:hover { background: var(--pine-2); }
.button--outline { border-color: currentColor; background: transparent; }

.menu-panel {
  position: fixed;
  z-index: 100;
  inset: 0;
  color: var(--white);
  background: var(--pine-dark);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease, visibility .35s;
  overflow: auto;
}
.menu-panel.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
.menu-panel__wash {
  position: absolute;
  inset: 0;
  opacity: .15;
  background:
    radial-gradient(circle at 82% 18%, rgba(230, 174, 67, .35), transparent 25%),
    repeating-linear-gradient(125deg, transparent 0 68px, rgba(255,255,255,.08) 69px 70px);
  pointer-events: none;
}
.menu-panel__top {
  position: relative;
  z-index: 1;
  width: var(--shell);
  height: 120px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255,255,255,.2);
}
.menu-close {
  width: 52px;
  height: 52px;
  position: relative;
  border: 1px solid rgba(255,255,255,.4);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.menu-close span { position: absolute; top: 25px; left: 14px; width: 22px; height: 1px; background: currentColor; }
.menu-close span:first-child { transform: rotate(45deg); }
.menu-close span:last-child { transform: rotate(-45deg); }
.menu-panel__inner {
  position: relative;
  z-index: 1;
  width: var(--shell);
  min-height: calc(100vh - 120px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
  gap: clamp(60px, 10vw, 160px);
  align-items: center;
  padding-block: 54px;
}
.menu-nav { display: grid; grid-template-columns: 1fr 1fr; column-gap: clamp(28px, 5vw, 80px); }
.menu-nav a {
  display: flex;
  gap: 16px;
  align-items: baseline;
  padding: 13px 0;
  border-bottom: 1px solid rgba(255,255,255,.14);
  font-family: var(--display);
  font-size: clamp(24px, 3vw, 46px);
  line-height: 1.1;
  text-decoration: none;
  transition: color .2s ease, padding-left .3s var(--ease);
}
.menu-nav a:hover, .menu-nav a.is-current { color: var(--ochre); padding-left: 8px; }
.menu-nav a span { color: rgba(255,255,255,.5); font-family: var(--body); font-size: 11px; letter-spacing: .1em; }
.menu-contact { border-left: 1px solid rgba(255,255,255,.24); padding-left: 36px; }
.menu-contact > p { max-width: 260px; margin: 0 0 28px; font-family: var(--display); font-size: 30px; line-height: 1.2; }
.menu-contact dl { margin: 44px 0 0; }
.menu-contact dl div { padding: 17px 0; border-top: 1px solid rgba(255,255,255,.16); }
.menu-contact dt { color: rgba(255,255,255,.6); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }
.menu-contact dd { margin: 4px 0 0; }
.menu-contact a { text-decoration-thickness: 1px; text-underline-offset: 4px; }

.hero-wrap { width: min(100%, 1320px); margin-inline: auto; padding-inline: clamp(22px, 5vw, 68px); }
.page-hero {
  position: relative;
  min-height: clamp(540px, 62vh, 700px);
  display: flex;
  align-items: flex-end;
  color: var(--white);
  background: var(--pine-dark);
  overflow: hidden;
  isolation: isolate;
}
.page-hero--av13 { min-height: clamp(660px, 78vh, 790px); }
.page-hero__image,
.page-hero__grade { position: absolute; inset: 0; }
.page-hero__image {
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 44%;
  filter: saturate(.94) contrast(1.06) brightness(.93);
}
.page-hero__grade {
  z-index: -2;
  background:
    linear-gradient(180deg, rgba(8,20,15,.7) 0%, rgba(8,20,15,.2) 25%, rgba(8,20,15,.32) 47%, rgba(8,20,15,.78) 79%, rgba(8,20,15,.95) 100%),
    linear-gradient(90deg, rgba(8,20,15,.42), rgba(8,20,15,0) 60%);
}
.page-hero__content { padding-top: clamp(190px, 24vh, 250px); padding-bottom: clamp(92px, 11vh, 126px); }
.page-hero h1 {
  max-width: 900px;
  margin: 0;
  color: var(--white);
  font-family: var(--display);
  font-size: clamp(3.35rem, 6vw, 6rem);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.025em;
  text-shadow: 0 4px 25px rgba(0,0,0,.38);
  text-wrap: balance;
}
.page-hero h1 em { color: #eab388; font-style: italic; }
.page-hero__lead {
  max-width: 640px;
  margin: 22px 0 0;
  color: rgba(255,253,248,.9);
  font-size: clamp(1.02rem, 1.35vw, 1.18rem);
  line-height: 1.56;
  text-shadow: 0 2px 12px rgba(0,0,0,.62);
}
.page-hero__edge {
  position: absolute;
  left: 26px;
  right: 26px;
  bottom: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  color: rgba(255,255,255,.58);
  font-size: .61rem;
}
.page-hero__edge i { height: 1px; flex: 1; background: rgba(255,255,255,.2); }
.text-link { display: inline-flex; align-items: center; min-height: 34px; gap: 9px; padding-block: 5px; text-decoration: none; border-bottom: 1px solid currentColor; font-size: 14px; letter-spacing: .03em; }
.text-link--light { color: var(--white); }
.text-link span { transition: transform .25s var(--ease); }
.text-link:hover span { transform: translate(3px, -3px); }

.bike-wheel-section {
  position: relative;
  min-height: 990px;
  padding: 128px 0 142px;
  overflow: hidden;
  overflow: clip;
  background: var(--paper);
  isolation: isolate;
}
.bike-wheel-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 92px;
  right: -360px;
  width: 620px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(230,174,67,.075);
  pointer-events: none;
}
.bike-wheel {
  min-height: 720px;
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: clamp(40px, 5.5vw, 86px);
}
.bike-wheel__copy {
  position: relative;
  z-index: 8;
  display: grid;
  gap: 28px;
  max-width: 460px;
}
.bike-wheel__copy h2 { margin: 0; color: var(--pine); }
.bike-wheel__lead {
  margin: 0;
  color: var(--pine);
  font-family: var(--display);
  font-size: clamp(25px, 2.1vw, 31px);
  line-height: 1.16;
}
.bike-wheel__copy > p:not(.bike-wheel__lead) { max-width: 35ch; margin: 0; color: var(--quiet); }
.bike-wheel__copy .button { width: fit-content; }
.bike-wheel__stage { position: relative; height: 700px; }
.bike-wheel__mileage {
  position: absolute;
  z-index: -1;
  top: -80px;
  left: -9%;
  color: rgba(147,67,47,.13);
  font-family: var(--display);
  font-size: clamp(220px, 22vw, 330px);
  line-height: 1;
  letter-spacing: -.09em;
  white-space: nowrap;
}
.bike-wheel__mileage small {
  position: absolute;
  top: 48px;
  left: calc(100% + 10px);
  font-family: var(--body);
  font-size: clamp(18px, 3vw, 38px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: .06em;
}
.bike-wheel__photo {
  position: absolute;
  z-index: 1;
  top: 20px;
  right: 0;
  width: min(570px, 45vw);
  aspect-ratio: 1;
  margin: 0;
  overflow: hidden;
  border: 16px solid var(--paper);
  border-radius: 50%;
  outline: 1px solid var(--line);
  background: var(--paper-deep);
  box-shadow: var(--card-shadow);
}
.bike-wheel__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 57% center; }
.bike-wheel__rider {
  position: absolute;
  z-index: 6;
  left: -18%;
  bottom: -4%;
  display: block;
  width: 112%;
  max-width: none;
  padding: 6px;
  background: rgba(241,241,235,0);
  pointer-events: none;
  filter: drop-shadow(0 30px 24px rgba(11,33,28,.24));
}
.bike-wheel__rider img { width: 100%; height: auto; max-width: none; }
.bike-wheel__fact {
  position: absolute;
  z-index: 8;
  right: 0;
  bottom: 12px;
  display: grid;
  gap: 2px;
  padding: 12px 0 12px 24px;
  border-left: 1px solid var(--rust);
  color: var(--quiet);
  font-size: 11px;
}
.bike-wheel__fact strong { color: var(--pine); font-size: 14px; font-weight: 400; }
.lake-chapter {
  position: relative;
  min-height: 960px;
  overflow: hidden;
  isolation: isolate;
  background: var(--paper);
}
.lake-chapter::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background: repeating-linear-gradient(0deg, transparent 0 39px, rgba(23,54,46,.025) 40px);
  pointer-events: none;
}
.lake-plate {
  position: absolute;
  z-index: 1;
  inset: 72px 28% 72px 0;
  overflow: hidden;
}
.lake-plate img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.lake-veil::after {
  content: "";
  position: absolute;
  inset: -1px;
  background:
    linear-gradient(to left,
      #f1f1eb 0%,
      rgba(241,241,235,.999) 7%,
      rgba(241,241,235,.989) 13%,
      rgba(241,241,235,.942) 19%,
      rgba(241,241,235,.790) 25%,
      rgba(241,241,235,.500) 32%,
      rgba(241,241,235,.210) 39%,
      rgba(241,241,235,.058) 46%,
      rgba(241,241,235,.011) 53%,
      rgba(241,241,235,.001) 60%,
      rgba(241,241,235,0) 68%),
    linear-gradient(to bottom,
      #f1f1eb 0%,
      rgba(241,241,235,.99) 3%,
      rgba(241,241,235,.79) 7%,
      rgba(241,241,235,.21) 12%,
      rgba(241,241,235,.011) 17%,
      rgba(241,241,235,0) 23%),
    linear-gradient(to top,
      #f1f1eb 0%,
      rgba(241,241,235,.99) 3%,
      rgba(241,241,235,.79) 7%,
      rgba(241,241,235,.21) 12%,
      rgba(241,241,235,.011) 17%,
      rgba(241,241,235,0) 23%);
  pointer-events: none;
}
.lake-number {
  position: absolute;
  z-index: 2;
  top: 32px;
  left: clamp(26px, 5vw, 90px);
  color: rgba(23,54,46,.09);
  font-family: var(--display);
  font-size: clamp(150px, 21vw, 320px);
  line-height: 1;
  letter-spacing: -.09em;
}
.lake-copy {
  position: relative;
  z-index: 5;
  width: min(590px, 44vw);
  margin-left: auto;
  margin-right: max(48px, calc((100vw - min(1280px, calc(100vw - 96px))) / 2));
  padding: 150px 0 130px;
}
.lake-copy h2 {
  margin: 0;
  color: var(--pine);
  font-family: var(--display);
  font-size: clamp(54px, 6vw, 88px);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.048em;
}
.destination-lead { margin: 31px 0 17px; color: var(--pine); font-size: 21px; line-height: 1.45; }
.lake-copy > p:not(.destination-lead) { margin: 0; color: var(--quiet); }
.field-notes { display: grid; grid-template-columns: repeat(3, 1fr); margin: 36px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.field-notes div { min-width: 0; padding: 17px 12px 17px 0; }
.field-notes div + div { padding-left: 15px; border-left: 1px solid var(--line); }
.field-notes dt { color: var(--quiet); font-size: 10px; line-height: 1.3; letter-spacing: .09em; text-transform: uppercase; }
.field-notes dd { margin: 5px 0 0; color: var(--pine); font-family: var(--display); font-size: 17px; line-height: 1.2; }
.lake-copy .button { gap: 10px; }

.town-chapter {
  position: relative;
  min-height: 1080px;
  padding: 142px 0 130px;
  overflow: hidden;
  background: var(--paper);
}
.town-grid { position: relative; display: grid; grid-template-columns: minmax(350px, .73fr) minmax(600px, 1.27fr); gap: clamp(54px, 8vw, 122px); align-items: center; }
.town-copy { max-width: 490px; }
.town-copy h2 {
  margin: 0;
  color: var(--pine);
  font-family: var(--display);
  font-size: clamp(56px, 6vw, 88px);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.05em;
}
.town-copy > p:not(.destination-lead) { margin: 0; color: var(--quiet); }
.town-copy .button { margin-top: 32px; }
.town-copy .button { gap: 10px; }
.town-cluster { position: relative; height: 800px; display: grid; grid-template-columns: repeat(12, 1fr); grid-template-rows: repeat(12, 1fr); }
.town-photo { position: relative; margin: 0; padding: 6px; overflow: hidden; border-radius: var(--radius); background: var(--white); box-shadow: var(--card-shadow); }
.town-photo img { width: 100%; height: 100%; object-fit: cover; border-radius: calc(var(--radius) - 6px); transition: transform .85s var(--ease); }
.town-photo:hover img { transform: scale(1.035); }
.town-photo figcaption { position: absolute; z-index: 2; left: 14px; bottom: 12px; padding: 6px 10px; border-radius: 999px; background: rgba(241,241,235,.92); color: var(--pine); font-size: 9px; line-height: 1; letter-spacing: .12em; text-transform: uppercase; }
.town-photo--sign { z-index: 1; grid-column: 1 / 8; grid-row: 1 / 7; transform: rotate(-1deg); }
.town-photo--sign img { object-position: center; }
.town-photo--street { z-index: 3; grid-column: 7 / 13; grid-row: 2 / 10; transform: rotate(.65deg); }
.town-photo--street img { object-position: center; }
.town-photo--mural { z-index: 4; grid-column: 2 / 6; grid-row: 7 / 13; transform: rotate(1.2deg); }
.town-photo--mural img { object-position: center 35%; }
.town-photo--stroll { z-index: 5; grid-column: 6 / 10; grid-row: 9 / 13; transform: rotate(-.7deg); }

.ride-chapter {
  position: relative;
  min-height: 1080px;
  padding: 132px 0 124px;
  overflow: hidden;
  background: var(--paper);
}
.ride-grid { display: grid; grid-template-columns: minmax(620px, 1.3fr) minmax(360px, .7fr); gap: clamp(60px, 8vw, 120px); align-items: center; }
.ride-stage {
  --ride-x: 0px;
  --ride-y: 0px;
  position: relative;
  min-height: 800px;
  transform: translate3d(var(--ride-x), var(--ride-y), 0);
  transition: transform .5s var(--ease);
}
.ride-track { position: absolute; z-index: 0; inset: 4% -6% 0 -10%; width: 116%; height: 96%; overflow: visible; }
.ride-track path { fill: none; stroke: rgba(169,79,50,.45); stroke-width: 3; stroke-linecap: round; stroke-dasharray: .012 .025; }
.ride-track path + path { stroke: rgba(23,54,46,.2); stroke-width: 1; stroke-dasharray: none; }
.ride-stage__main {
  position: absolute;
  z-index: 2;
  top: 30px;
  left: 0;
  width: 83%;
  height: 620px;
  margin: 0;
  padding: 6px;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: var(--card-shadow);
}
.ride-stage__main img { width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: calc(var(--radius) - 6px); }
.stage-veil::after { content: ""; position: absolute; inset: 6px; border-radius: calc(var(--radius) - 6px); background: linear-gradient(0deg, rgba(11,33,28,.42), rgba(11,33,28,0) 45%); pointer-events: none; }
.ride-video-trigger,
.lake-video-trigger {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  border: 2px solid rgba(255,255,255,.92);
  border-radius: 999px;
  background: rgba(11,33,28,.72);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 15px 34px rgba(7,23,18,.28);
  color: var(--white);
  cursor: pointer;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: background-color .25s ease, transform .3s var(--ease), box-shadow .25s ease;
}
.ride-video-trigger:hover,
.lake-video-trigger:hover { background: var(--rust); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1), 0 18px 40px rgba(7,23,18,.34); transform: translateY(-2px); }
.ride-video-trigger__icon,
.lake-video-trigger__icon {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--white);
  box-shadow: inset 0 0 0 1px rgba(23,54,46,.12);
  color: var(--pine);
}
.ride-video-trigger > span:last-child,
.lake-video-trigger > span:last-child { display: grid; gap: 1px; text-align: left; }
.ride-video-trigger strong,
.lake-video-trigger strong { font-family: var(--display); font-size: 17px; font-weight: 400; line-height: 1.05; }
.ride-video-trigger small,
.lake-video-trigger small { color: rgba(255,255,255,.77); font-size: 9px; line-height: 1.2; letter-spacing: .02em; }
.ride-video-trigger {
  position: absolute;
  z-index: 6;
  top: 24px;
  right: 24px;
  padding: 7px 16px 7px 7px;
}
.lake-video-trigger {
  position: absolute;
  z-index: 4;
  left: clamp(28px, 7vw, 112px);
  bottom: clamp(56px, 8vw, 108px);
  padding: 8px 18px 8px 8px;
  border-width: 1px;
  box-shadow: inset 0 7px 20px rgba(0,0,0,.18), inset 0 0 0 5px rgba(255,255,255,.06), 0 18px 38px rgba(7,23,18,.3);
}
.lake-video-trigger__icon { width: 48px; height: 48px; border: 4px solid rgba(255,255,255,.42); }
.ride-stage figcaption { position: absolute; z-index: 4; left: 25px; bottom: 23px; color: var(--white); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.ride-stage__detail {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 10px;
  width: 40%;
  height: 300px;
  margin: 0;
  padding: 6px;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: var(--card-shadow);
}
.ride-stage__detail img { width: 100%; height: 100%; object-fit: cover; border-radius: calc(var(--radius) - 6px); }
.ride-stage__detail figcaption { left: 18px; bottom: 16px; padding: 3px 6px; background: rgba(11,33,28,.6); }
.ride-stage__word { position: absolute; z-index: 1; left: -6px; bottom: 6px; color: rgba(23,54,46,.11); font-family: var(--display); font-size: clamp(90px, 10vw, 150px); line-height: .75; letter-spacing: -.08em; }
.ride-copy { position: relative; z-index: 3; max-width: 510px; }
.ride-copy h2 {
  margin: 0;
  color: var(--pine);
  font-family: var(--display);
  font-size: clamp(55px, 5.8vw, 84px);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.05em;
}
.ride-copy > p:not(.destination-lead) { margin: 0; color: var(--quiet); }
.ride-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin: 34px 0 36px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ride-stats div { padding: 16px 10px 16px 0; }
.ride-stats div + div { padding-left: 13px; border-left: 1px solid var(--line); }
.ride-stats dt { color: var(--quiet); font-size: 9px; line-height: 1.3; letter-spacing: .1em; text-transform: uppercase; }
.ride-stats dd { margin: 5px 0 0; color: var(--pine); font-family: var(--display); font-size: 18px; line-height: 1.15; }
.ride-copy .button { gap: 10px; }

.summit-chapter {
  position: relative;
  min-height: 1180px;
  padding: 170px 0 154px;
  overflow: hidden;
  isolation: isolate;
  background: var(--paper);
}
.summit-chapter::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(135deg, transparent 0 49.9%, rgba(23,54,46,.035) 50%, transparent 50.1%) 0 0 / 180px 180px,
    linear-gradient(45deg, transparent 0 49.9%, rgba(23,54,46,.025) 50%, transparent 50.1%) 0 0 / 180px 180px;
}
.summit-ghost {
  position: absolute;
  z-index: 0;
  left: -2vw;
  top: 46px;
  color: rgba(23,54,46,.055);
  font-family: var(--display);
  font-size: clamp(150px, 22vw, 330px);
  line-height: .75;
  letter-spacing: -.08em;
  white-space: nowrap;
  pointer-events: none;
}
.summit-poster { position: relative; z-index: 2; }
.summit-poster__frame {
  position: relative;
  isolation: isolate;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 6px solid rgba(255,253,247,.86);
  border-radius: 30px;
  background: #2d5c48;
  box-shadow: 0 36px 90px -46px rgba(11,33,28,.62), 0 1px 0 rgba(255,255,255,.7) inset;
}
.summit-poster__frame::before,
.summit-poster__frame::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
}
.summit-poster__frame::before {
  background:
    linear-gradient(90deg, rgba(7,28,22,.73) 0%, rgba(7,28,22,.5) 29%, rgba(7,28,22,.16) 57%, rgba(7,28,22,0) 78%),
    linear-gradient(0deg, rgba(7,28,22,.36) 0%, rgba(7,28,22,0) 48%);
}
.summit-poster__frame::after {
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 24px;
  box-shadow: 0 0 80px rgba(8,29,23,.08) inset;
}
.summit-poster__media {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 48%;
}
.summit-poster__copy {
  position: absolute;
  z-index: 2;
  left: clamp(34px, 6.3vw, 88px);
  bottom: clamp(38px, 7.1vw, 96px);
  width: min(680px, calc(100% - 56px));
  color: var(--white);
  text-shadow: 0 3px 30px rgba(3,19,14,.24);
}
.summit-poster__copy h2 {
  margin: 0;
  color: inherit;
  font-family: var(--display);
  font-size: clamp(72px, 8.4vw, 132px);
  font-weight: 400;
  line-height: .78;
  letter-spacing: -.045em;
}
.summit-poster__copy p {
  max-width: 18em;
  margin: clamp(22px, 2.6vw, 34px) 0 0;
  font-size: clamp(17px, 1.45vw, 22px);
  line-height: 1.4;
  letter-spacing: -.012em;
}

@media (max-width: 980px) {
  .summit-poster__frame {
    height: clamp(540px, 80vw, 720px);
    aspect-ratio: auto;
  }
}
.summit-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(360px, .72fr) minmax(650px, 1.28fr); gap: clamp(70px, 10vw, 150px); align-items: center; }
.summit-copy { max-width: 510px; }
.summit-copy h2 {
  margin: 0;
  color: var(--pine);
  font-family: var(--display);
  font-size: clamp(58px, 6.2vw, 90px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.05em;
}
.summit-copy > p:not(.destination-lead) { margin: 0; color: var(--quiet); }
.summit-note { display: grid; grid-template-columns: 44px 1fr; gap: 16px; margin: 34px 0; padding: 20px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.summit-note > span { color: var(--rust); font-size: 31px; line-height: 1; }
.summit-note p { margin: 0; color: var(--quiet); font-size: 14px; line-height: 1.5; }
.summit-copy .button { gap: 10px; }
.summit-media { position: relative; min-height: 805px; }
.summit-photo { position: absolute; margin: 0; padding: 6px; overflow: hidden; border-radius: var(--radius); background: var(--white); box-shadow: var(--card-shadow); }
.summit-photo img { width: 100%; height: 100%; object-fit: cover; border-radius: calc(var(--radius) - 6px); }
.summit-photo figcaption { position: absolute; z-index: 4; left: 22px; bottom: 20px; padding: 5px 8px; background: rgba(11,33,28,.68); color: var(--white); font-size: 9px; line-height: 1; letter-spacing: .12em; text-transform: uppercase; }
.summit-photo--gondola { z-index: 3; top: 0; right: 0; width: 66%; height: 670px; transform: rotate(.7deg); }
.summit-photo--gondola img { object-position: center 42%; }
.summit-veil::after { content: ""; position: absolute; inset: 6px; border-radius: calc(var(--radius) - 6px); background: linear-gradient(0deg, rgba(11,33,28,.35), rgba(11,33,28,0) 42%); pointer-events: none; }
.summit-photo--slopes { z-index: 4; left: 0; bottom: 0; width: 58%; height: 330px; transform: rotate(-.8deg); }
.summit-photo--lift { z-index: 5; left: 5%; top: 205px; width: 34%; height: 270px; transform: rotate(-1.3deg); }
.summit-media__altitude { position: absolute; z-index: 2; right: 65%; top: 8%; color: rgba(169,79,50,.18); font-family: var(--display); font-size: 72px; line-height: .72; letter-spacing: -.07em; text-align: right; }

.nearby-section {
  position: relative;
  min-height: 900px;
  padding: 126px 0 118px;
  overflow: hidden;
  background: var(--paper);
}
.nearby-head { display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: end; margin-bottom: 62px; }
.nearby-head h2 {
  margin: 0;
  color: var(--pine);
  font-family: var(--display);
  font-size: clamp(58px, 7vw, 98px);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.055em;
}
.nearby-head__aside { justify-self: end; width: min(100%, 410px); }
.nearby-head__aside p { margin: 0; color: var(--quiet); font-size: 15px; }
.nearby-rail-wrap {
  position: relative;
  width: var(--shell);
  margin-inline: auto;
}
.nearby-rail-wrap::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  bottom: 26px;
  width: clamp(72px, 8vw, 118px);
  background: linear-gradient(90deg, rgba(241,241,235,0), rgba(241,241,235,.84) 62%, var(--paper) 100%);
  pointer-events: none;
  transition: opacity .24s ease;
}
.nearby-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(276px, calc((100% - 66px) / 4));
  gap: 22px;
  padding: 10px 0 28px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.nearby-rail::-webkit-scrollbar { display: none; width: 0; height: 0; }
.rail-control {
  --rail-edge-shift: 0%;
  position: absolute;
  z-index: 4;
  top: calc(50% - 9px);
  width: 62px;
  height: 62px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 4px solid var(--white);
  border-radius: 50%;
  background: var(--pine);
  box-shadow: 0 14px 34px rgba(20,45,37,.3);
  color: var(--white);
  cursor: pointer;
  transform: translate(var(--rail-edge-shift), -50%);
  transition: background-color .2s ease, color .2s ease, opacity .2s ease, transform .2s var(--ease);
}
.rail-control--prev { --rail-edge-shift: -50%; left: 0; }
.rail-control--next { --rail-edge-shift: 50%; right: 0; }
.rail-control:hover:not(:disabled) { background: var(--rust); transform: translate(var(--rail-edge-shift), -50%) scale(1.06); }
.rail-control span { font-size: 27px; line-height: 1; transform: translateY(-1px); }
.nearby-card { scroll-snap-align: start; display: flex; flex-direction: column; min-height: 475px; padding: 0 0 22px; overflow: hidden; border-radius: var(--radius); background: var(--white); color: var(--pine); text-decoration: none; box-shadow: 0 16px 38px -28px rgba(29,57,47,.38); transition: box-shadow .3s ease; }
.nearby-card:hover { box-shadow: 0 24px 52px -25px rgba(20,45,37,.34); }
.nearby-card:focus-visible { outline: 2px solid var(--rust); outline-offset: 4px; box-shadow: 0 24px 52px -25px rgba(20,45,37,.34); }
.nearby-card__image { display: block; height: 272px; padding: 6px; overflow: hidden; border-radius: var(--radius); background: var(--white); }
.nearby-card__image img { width: 100%; height: 100%; object-fit: cover; border-radius: calc(var(--radius) - 6px); }
.nearby-card__meta { display: flex; justify-content: space-between; gap: 10px; padding: 12px 16px 0; color: var(--rust); font-size: 10px; letter-spacing: .02em; }
.nearby-card__meta b { font-weight: 400; }
.nearby-card__meta i { color: var(--quiet); font-style: normal; }
.nearby-card > strong { padding: 18px 16px 0; font-family: var(--display); font-size: 23px; font-weight: 400; line-height: 1.12; }
.nearby-card > small { margin-top: auto; padding: 18px 16px 0; color: var(--quiet); font-size: 11px; }

.local-section { position: relative; padding: 118px 0 120px; overflow: hidden; background: var(--paper); }
.local-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 24%, rgba(147,67,47,.07), transparent 24%),
    radial-gradient(circle at 88% 76%, rgba(23,54,46,.08), transparent 27%);
}
.local-guide { position: relative; z-index: 1; }
.local-guide__intro {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: start;
  margin-bottom: 48px;
}
.local-guide__intro h2 { margin: 0; max-width: none; width: 100%; color: var(--pine); font-family: var(--display); font-size: 4rem; font-weight: 400; line-height: 1.05; letter-spacing: -.02em; white-space: nowrap; }
.local-guide__lede p { max-width: 46rem; margin: 0; color: var(--quiet); font-size: 16px; }
.local-guide__lede a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  margin-top: 15px;
  color: var(--pine);
  font-size: 12px;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.local-spotlight {
  display: grid;
  grid-template-columns: minmax(340px,.82fr) minmax(0,1.18fr);
  gap: 28px;
  align-items: stretch;
}
.local-spotlight__stage {
  position: relative;
  min-height: 760px;
  height: 100%;
  overflow: hidden;
  border: 4px solid rgba(255,253,247,.78);
  border-radius: var(--radius);
  background: rgba(255,253,247,.42);
  box-shadow: 0 28px 64px -48px rgba(23,54,46,.48);
  isolation: isolate;
}
.local-spotlight__stage::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(0deg, rgba(6,26,21,.9) 0%, rgba(6,26,21,.58) 27%, rgba(6,26,21,.08) 63%, rgba(6,26,21,0) 76%);
  pointer-events: none;
}
.local-spotlight__stage > img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity .22s ease, transform .55s var(--ease);
}
.local-spotlight__stage.is-changing > img { opacity: .28; transform: scale(1.025); }
.local-spotlight__content {
  position: absolute;
  z-index: 2;
  left: clamp(26px,4vw,48px);
  right: clamp(26px,4vw,48px);
  bottom: clamp(26px,4vw,43px);
  max-width: 420px;
  padding: 11px 14px 12px;
  border-radius: 12px;
  background-image: linear-gradient(90deg, rgba(6,26,21,.36) 0%, rgba(6,26,21,.14) 72%, rgba(6,26,21,0) 100%);
  color: var(--white);
  transition: opacity .2s ease, transform .3s var(--ease);
}
.local-spotlight__stage.is-changing .local-spotlight__content { opacity: .25; transform: translateY(7px); }
.local-spotlight__content h3 { margin: 0; color: var(--white); font-family: var(--display); font-size: clamp(30px,3vw,40px); font-weight: 400; line-height: 1.02; letter-spacing: -.025em; }
.local-spotlight__content p { max-width: 42ch; margin: 9px 0 0; color: rgba(255,255,255,.82); font-size: 13px; line-height: 1.45; }
.local-spotlight__content a { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; margin-top: 10px; color: var(--white); font-size: 11px; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.local-stop-picker {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  grid-template-rows: repeat(5,minmax(0,1fr));
  gap: 12px;
  min-width: 0;
}
.local-stop-choice {
  position: relative;
  display: grid;
  grid-template-columns: 86px minmax(0,1fr) 26px;
  gap: 12px;
  align-items: center;
  min-height: 143px;
  padding: 8px 11px 8px 8px;
  overflow: hidden;
  border: 1px solid rgba(23,54,46,.1);
  border-radius: var(--radius-small);
  background: rgba(241,241,235,.28);
  box-shadow: none;
  color: var(--pine);
  cursor: pointer;
  text-align: left;
  transition: background-color .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.local-stop-choice::before {
  content: "";
  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 0;
  width: 4px;
  border-radius: 0 4px 4px 0;
  background: var(--rust);
  opacity: 0;
  transform: scaleY(.35);
  transition: opacity .24s ease, transform .35s var(--ease);
}
.local-stop-choice:hover { border-color: rgba(23,54,46,.2); background: rgba(255,253,247,.42); box-shadow: 0 15px 32px -29px rgba(23,54,46,.42); }
.local-stop-choice.is-active { border-color: rgba(147,67,47,.34); background: rgba(255,253,247,.58); box-shadow: 0 17px 38px -31px rgba(23,54,46,.46); }
.local-stop-choice.is-active::before { opacity: 1; transform: scaleY(1); }
.local-stop-choice__thumb { display: block; width: 86px; height: 105px; padding: 6px; overflow: hidden; border-radius: 12px; background: rgba(255,253,247,.68); box-shadow: inset 0 0 0 1px rgba(23,54,46,.07); transition: box-shadow .24s ease; }
.local-stop-choice__thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 9px; }
.local-stop-choice.is-active .local-stop-choice__thumb { box-shadow: inset 0 0 0 2px var(--rust); }
.local-stop-choice__text { min-width: 0; }
.local-stop-choice__text strong { display: block; font-family: var(--display); font-size: 19px; font-weight: 400; line-height: 1.06; }
.local-stop-choice__text small { display: block; margin-top: 7px; color: var(--quiet); font-size: 10px; line-height: 1.3; }
.local-stop-choice i { position: relative; display: block; justify-self: center; align-self: center; width: 26px; height: 26px; border: 1px solid var(--line); border-radius: 50%; font-size: 0; font-style: normal; line-height: 0; opacity: .48; transition: background-color .24s ease, color .24s ease, opacity .24s ease; }
.local-stop-choice i::before { content: ""; position: absolute; top: 50%; left: 7px; width: 10px; height: 1px; background: currentColor; transform: translateY(-50%); }
.local-stop-choice i::after { content: ""; position: absolute; top: 50%; left: 11px; width: 6px; height: 6px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: translateY(-50%) rotate(45deg); transform-origin: center; }
.local-stop-choice.is-active i { background: var(--pine); color: var(--white); opacity: 1; }

.vlb { position: fixed; z-index: 200; inset: 0; display: flex; align-items: center; justify-content: center; padding: clamp(18px,4vmin,56px); }
.vlb[hidden] { display: none; }
.vlb__back { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(7,23,18,.86); cursor: pointer; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.vlb__box { position: relative; width: min(1020px,94vw); max-height: calc(100vh - 36px); overflow: auto; border: 6px solid var(--white); border-radius: var(--radius); background: var(--pine-dark); box-shadow: 0 42px 100px -30px rgba(0,0,0,.78); animation: vlbIn .32s var(--ease); }
@keyframes vlbIn { from { opacity: 0; transform: scale(.96) translateY(12px); } to { opacity: 1; transform: none; } }
.vlb__frame { display: block; width: 100%; aspect-ratio: 16 / 9; background: #06110e; }
.vlb__frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.vlb__close { position: absolute; z-index: 3; top: 14px; right: 14px; display: inline-grid; place-items: center; width: 50px; height: 50px; padding: 0; border: 3px solid var(--white); border-radius: 50%; background: rgba(11,33,28,.82); box-shadow: 0 9px 25px rgba(0,0,0,.28); color: var(--white); cursor: pointer; font-size: 27px; line-height: 1; transition: background-color .2s ease, transform .25s var(--ease); }
.vlb__close:hover { background: var(--rust); transform: rotate(90deg); }
.vlb__caption { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 34px; align-items: end; padding: 25px 29px 28px; color: var(--white); }
.vlb__caption h2 { margin: 0; font-family: var(--display); font-size: clamp(27px,3vw,39px); font-weight: 400; line-height: 1.03; }
.vlb__caption p { max-width: 690px; margin: 7px 0 0; color: rgba(255,255,255,.7); font-size: 12px; line-height: 1.45; }
.vlb__caption a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--white); font-size: 12px; white-space: nowrap; text-underline-offset: 5px; }

.closing-section { min-height: 900px; padding: 124px 0; background: var(--paper); }
.closing-panel { position: relative; min-height: 652px; overflow: hidden; border-radius: var(--radius); isolation: isolate; background: var(--pine-dark); color: var(--white); box-shadow: var(--card-shadow); }
.closing-panel > img { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.closing-panel__scrim { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(9,30,25,.2) 0%, rgba(9,30,25,.52) 42%, rgba(9,30,25,.93) 100%), linear-gradient(0deg, rgba(9,30,25,.55), rgba(9,30,25,.1)); }
.closing-panel__route { position: absolute; z-index: 1; top: 50%; left: 8%; right: 51%; height: 1px; background: rgba(255,255,255,.52); }
.closing-panel__route::before, .closing-panel__route::after, .closing-panel__route i { content: ""; position: absolute; top: -5px; width: 11px; height: 11px; border-radius: 50%; border: 2px solid var(--ochre); background: var(--pine-dark); }
.closing-panel__route::before { left: 0; }
.closing-panel__route::after { right: 0; }
.closing-panel__route i:nth-child(1) { left: 25%; }
.closing-panel__route i:nth-child(2) { left: 50%; }
.closing-panel__route i:nth-child(3) { left: 75%; }
.closing-panel__route i:nth-child(4) { display: none; }
.closing-copy { position: relative; z-index: 2; width: min(510px, 44%); margin-left: auto; padding: 104px 76px 92px 0; }
.closing-copy h2 { margin: 0; font-family: var(--display); font-size: clamp(56px, 6vw, 86px); font-weight: 400; line-height: .91; letter-spacing: -.05em; }
.closing-copy > span { display: block; max-width: 440px; margin-top: 28px; color: rgba(255,255,255,.8); font-size: 19px; line-height: 1.5; }
.closing-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 35px; }

.good-sam-section { min-height: 360px; padding: 72px 0; background: var(--paper); }
.good-sam-band { min-height: 216px; display: grid; grid-template-columns: minmax(380px, 1fr) 220px minmax(250px, .52fr); gap: 48px; align-items: center; padding: 42px 54px; overflow: hidden; border: 1px solid rgba(23,54,46,.12); border-radius: var(--radius); background: var(--white); box-shadow: var(--card-shadow); }
.good-sam-logo { grid-column: 2; grid-row: 1; display: flex; align-items: center; justify-content: center; min-height: 126px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-small); background: var(--paper-light); }
.good-sam-copy { grid-column: 1; grid-row: 1; }
.good-sam-logo img { width: 166px; height: auto; }
.good-sam-copy h2 { margin: 0; color: var(--pine); font-family: var(--display); font-size: clamp(35px, 3.6vw, 52px); font-weight: 400; line-height: 1; letter-spacing: -.035em; }
.good-sam-action { grid-column: 3; grid-row: 1; padding-left: 34px; border-left: 1px solid var(--line); }
.good-sam-action p { margin: 0 0 18px; color: var(--quiet); font-size: 14px; }
.good-sam-action .text-link { color: var(--pine); }

/* v12 footer base removed — house footer chrome appended below */
.footer-main { display: grid; grid-template-columns: minmax(290px, 1.22fr) .58fr .58fr minmax(270px, .82fr); gap: clamp(46px, 6vw, 92px); padding-bottom: 68px; }
.footer-logo { width: 144px; height: auto; filter: drop-shadow(0 12px 24px rgba(29,57,47,.15)); }
.footer-brand > h2 { max-width: 300px; margin: 30px 0 0; font-family: var(--display); font-size: 35px; font-weight: 400; line-height: 1.04; letter-spacing: -.035em; }
.footer-brand > p { max-width: 340px; margin: 18px 0 24px; color: var(--quiet); font-size: 15px; }
.footer-social { display: flex; gap: 18px; margin-bottom: 30px; }
.footer-social a { display: inline-flex; align-items: center; min-height: 34px; color: var(--pine-2); font-size: 11px; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.footer-social a:hover { color: var(--rust); }
.footer-brand .button { width: fit-content; }
.footer-column, .footer-contact { padding-top: 9px; }
.footer-column h2, .footer-contact h2 { margin: 0 0 24px; color: var(--rust); font-family: var(--body); font-size: 10px; font-weight: 400; letter-spacing: .16em; text-transform: uppercase; }
.footer-column a { display: flex; align-items: center; width: fit-content; min-height: 32px; margin: 0 0 4px; color: var(--quiet); text-decoration: none; font-size: 14px; }
.footer-column a:hover, .footer-column a[aria-current="page"] { color: var(--pine); text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.footer-contact address { margin: 0 0 14px; color: var(--quiet); font-style: normal; font-size: 14px; }
.footer-contact > a { display: flex; align-items: center; width: fit-content; min-height: 32px; color: var(--pine-2); font-size: 13px; text-decoration-thickness: 1px; text-underline-offset: 4px; overflow-wrap: anywhere; }
.footer-contact__hours { margin-top: 30px !important; }
.footer-contact > p { margin: 0 0 9px; color: var(--quiet); font-size: 13px; line-height: 1.45; }
.footer-trust { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.footer-mark { display: inline-flex; align-items: center; justify-content: center; min-height: 58px; padding: 8px; border-radius: 14px; background: var(--paper-light); }
.footer-mark img { display: block; max-height: 42px; width: auto; }
.footer-mark--sam { width: 116px; }
.footer-mark--payments { width: 238px; }
.footer-mark--powered { width: 218px; margin-left: auto; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding-top: 24px; color: var(--quiet); font-size: 11px; }
.footer-bottom p { margin: 0; }
.footer-bottom nav { display: flex; gap: 22px; }
.footer-bottom a { display: inline-flex; align-items: center; min-height: 32px; color: inherit; text-decoration: none; }
.footer-bottom a:hover { color: var(--pine); }

/* Captions and practical labels stay conversational rather than promotional. */
.field-notes dt,
.town-photo figcaption,
.ride-stage figcaption,
.ride-stats dt,
.summit-photo figcaption,
.nearby-card__meta {
  letter-spacing: .02em;
  text-transform: none;
}
.button span { letter-spacing: 0; }

@media (max-width: 900px) {
  :root { --shell: min(100% - 48px, 760px); }
  .site-header, .menu-panel__top { height: 132px; }
  .menu-panel__inner { min-height: calc(100vh - 132px); grid-template-columns: 1fr; align-content: start; gap: 48px; }
  .menu-contact { border-left: 0; padding-left: 0; }
  .menu-contact dl { display: none; }
  .bike-wheel-section { min-height: 930px; padding-block: 116px 102px; }
  .bike-wheel { grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr); gap: 38px; }
  .bike-wheel__stage { height: 670px; }
  .bike-wheel__rider { left: -12%; width: 108%; }
  .lake-chapter { min-height: 920px; }
  .lake-plate { right: 22%; }
  .lake-copy { width: min(470px, 50vw); margin-right: 24px; }
  .town-chapter { min-height: 1000px; padding-block: 110px; }
  .town-grid { grid-template-columns: .7fr 1.3fr; gap: 42px; }
  .town-cluster { height: 700px; }
  .ride-chapter { min-height: 1020px; padding-block: 110px; }
  .ride-grid { grid-template-columns: 1.2fr .8fr; gap: 42px; }
  .ride-stage { min-height: 720px; }
  .ride-stage__main { height: 560px; }
  .ride-stage__detail { height: 250px; }
  .ride-stats { grid-template-columns: 1fr; }
  .ride-stats div + div { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }
  .summit-chapter { min-height: 1080px; padding-block: 128px; }
  .summit-grid { grid-template-columns: .75fr 1.25fr; gap: 44px; }
  .summit-media { min-height: 710px; }
  .summit-photo--gondola { height: 590px; }
  .summit-photo--slopes { height: 270px; }
  .summit-photo--lift { top: 178px; height: 235px; }
  .summit-media__altitude { font-size: 54px; }
  .nearby-section { min-height: 850px; padding-block: 105px 98px; }
  .nearby-rail { grid-auto-columns: minmax(270px, 33vw); }
  .local-guide__intro { grid-template-columns: 1fr; gap: 18px; }
  .local-spotlight { grid-template-columns: 1fr; gap: 20px; }
  .local-spotlight__stage { min-height: 430px; }
  .local-stop-choice { min-height: 132px; }
  .closing-copy { width: 53%; padding-right: 52px; }
  .closing-panel__route { right: 57%; }
  .good-sam-band { grid-template-columns: 170px 1fr; gap: 34px; padding-inline: 38px; }
  .good-sam-copy { grid-column: 1; }
  .good-sam-logo { grid-column: 2; }
  .good-sam-action { grid-column: 1 / -1; grid-row: 2; padding-left: 0; border-left: 0; }
  .footer-main { grid-template-columns: 1.2fr .8fr .8fr; }
  .footer-contact { grid-column: 2 / 4; display: grid; grid-template-columns: 1fr 1fr; column-gap: 30px; }
  .footer-contact h2:first-child, .footer-contact address, .footer-contact > a { grid-column: 1; }
  .footer-contact__hours, .footer-contact > p { grid-column: 2; }
  .footer-contact__hours { grid-row: 1; margin-top: 0 !important; }
}

@media (max-width: 820px) {
  .bike-wheel-section { min-height: 0; padding-block: 112px; }
  .bike-wheel { min-height: 0; grid-template-columns: 1fr; gap: 54px; }
  .bike-wheel__copy { max-width: 580px; }
  .bike-wheel__stage { height: 630px; }
  .bike-wheel__photo { width: 500px; max-width: 70vw; }
  .bike-wheel__rider { left: -2%; width: 104%; }
  .bike-wheel__mileage { left: 0; }
  .lake-chapter { min-height: 0; padding-bottom: 100px; }
  .lake-plate { position: relative; inset: auto; width: 100%; height: 560px; }
  .lake-veil::after {
    background: linear-gradient(to top,
      #f1f1eb 0%,
      rgba(241,241,235,.999) 7%,
      rgba(241,241,235,.989) 13%,
      rgba(241,241,235,.942) 19%,
      rgba(241,241,235,.790) 25%,
      rgba(241,241,235,.500) 32%,
      rgba(241,241,235,.210) 39%,
      rgba(241,241,235,.058) 46%,
      rgba(241,241,235,.011) 53%,
      rgba(241,241,235,.001) 60%,
      rgba(241,241,235,0) 68%);
  }
  .lake-number { top: 414px; left: 28px; font-size: 170px; }
  .lake-copy { width: var(--shell); margin: 0 auto; padding: 74px 0 0; }
}

@media (max-width: 620px) {
  :root { --shell: calc(100% - 32px); }
  body { font-size: 16px; }
  .site-header, .menu-panel__top { height: 110px; }
  .site-logo img { width: 92px; }
  .menu-panel__top .site-logo { align-self: center; margin-top: 0; }
  .header-actions { gap: 10px; }
  .header-book { display: none; }
  .menu-trigger { min-height: 46px; padding-inline: 16px; }
  .menu-nav { grid-template-columns: 1fr; }
  .menu-nav a { font-size: 28px; padding-block: 10px; }
  .menu-panel__inner { padding-top: 26px; }
  .menu-contact { padding-bottom: 35px; }
  .page-hero--av13 { min-height: 660px; }
  .page-hero__image { object-position: center 44%; }
  .page-hero__content { padding-top: 155px; padding-bottom: 92px; }
  .page-hero h1 { font-size: clamp(3rem, 13.5vw, 4.7rem); }
  .page-hero__lead { margin-top: 20px; font-size: 16px; }
  .page-hero__edge { left: 16px; right: 16px; bottom: 13px; font-size: .5rem; }
  .bike-wheel-section { padding: 96px 0 98px; }
  .bike-wheel { gap: 38px; }
  .bike-wheel__copy { gap: 24px; }
  .bike-wheel__lead { font-size: 24px; }
  .bike-wheel__stage { height: 560px; }
  .bike-wheel__mileage { top: -35px; left: -6%; font-size: 190px; }
  .bike-wheel__mileage small { top: 28px; left: calc(100% + 6px); font-size: 20px; }
  .bike-wheel__photo { top: 30px; right: -70px; width: 350px; max-width: none; border-width: 10px; }
  .bike-wheel__rider { left: -25%; bottom: 82px; width: 145%; }
  .bike-wheel__fact { right: 0; bottom: 0; max-width: 138px; padding-left: 14px; }
  .lake-chapter { min-height: 0; padding-bottom: 86px; }
  .lake-plate { position: relative; inset: auto; width: 100%; height: 470px; }
  .lake-veil::after {
    background: linear-gradient(to top,
      #f1f1eb 0%,
      rgba(241,241,235,.999) 7%,
      rgba(241,241,235,.989) 13%,
      rgba(241,241,235,.942) 19%,
      rgba(241,241,235,.790) 25%,
      rgba(241,241,235,.500) 32%,
      rgba(241,241,235,.210) 39%,
      rgba(241,241,235,.058) 46%,
      rgba(241,241,235,.011) 53%,
      rgba(241,241,235,.001) 60%,
      rgba(241,241,235,0) 68%);
  }
  .lake-number { top: 320px; left: 10px; font-size: 150px; }
  .lake-copy { width: var(--shell); margin: 0 auto; padding: 64px 0 0; }
  .lake-copy h2 { font-size: clamp(50px, 14vw, 66px); }
  .destination-lead { font-size: 19px; }
  .field-notes { grid-template-columns: 1fr; }
  .field-notes div + div { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }
  .town-chapter { min-height: 0; padding: 96px 0 88px; }
  .town-grid { grid-template-columns: 1fr; gap: 58px; }
  .town-copy h2 { font-size: clamp(50px, 14vw, 66px); }
  .town-cluster { height: 650px; width: calc(100% + 16px); margin-left: -8px; }
  .town-photo--sign { grid-column: 1 / 9; grid-row: 1 / 5; }
  .town-photo--street { grid-column: 6 / 13; grid-row: 4 / 9; }
  .town-photo--mural { grid-column: 1 / 6; grid-row: 6 / 12; }
  .town-photo--stroll { grid-column: 5 / 12; grid-row: 9 / 13; }
  .ride-chapter { min-height: 0; padding: 96px 0 88px; }
  .ride-grid { grid-template-columns: 1fr; gap: 58px; }
  .ride-stage { min-height: 620px; }
  .ride-stage__main { top: 0; width: 93%; height: 450px; }
  .ride-stage__detail { width: 54%; height: 235px; bottom: 0; }
  .ride-stage__word { font-size: 76px; }
  .ride-video-trigger { top: 18px; right: 18px; }
  .ride-copy h2 { font-size: clamp(50px, 14vw, 66px); }
  .summit-chapter { min-height: 0; padding: 96px 0 90px; }
  .summit-ghost { top: 56px; font-size: 114px; }
  .summit-poster__frame {
    height: auto;
    min-height: min(760px, calc(100svh - 32px));
    aspect-ratio: auto;
    border-width: 5px;
    border-radius: 24px;
  }
  .summit-poster__frame::before {
    background:
      linear-gradient(0deg, rgba(7,28,22,.76) 0%, rgba(7,28,22,.34) 46%, rgba(7,28,22,0) 76%),
      linear-gradient(90deg, rgba(7,28,22,.24), rgba(7,28,22,0) 78%);
  }
  .summit-poster__frame::after { border-radius: 18px; }
  .summit-poster__media { object-position: 48% 50%; }
  .summit-poster__copy {
    left: clamp(22px, 7vw, 36px);
    bottom: clamp(28px, 9vw, 48px);
    width: calc(100% - 44px);
  }
  .summit-poster__copy h2 { font-size: clamp(58px, 16vw, 88px); }
  .summit-poster__copy p { max-width: none; margin-top: 18px; font-size: 16px; }
  .summit-grid { grid-template-columns: 1fr; gap: 58px; }
  .summit-copy h2 { font-size: clamp(52px, 15vw, 68px); }
  .summit-media { min-height: 650px; }
  .summit-photo--gondola { width: 76%; height: 500px; }
  .summit-photo--slopes { width: 64%; height: 230px; }
  .summit-photo--lift { top: 170px; width: 48%; height: 220px; }
  .summit-media__altitude { top: 12%; right: 67%; font-size: 43px; }
  .nearby-section { min-height: 0; padding: 92px 0 82px; }
  .nearby-head { grid-template-columns: 1fr; gap: 28px; margin-bottom: 46px; }
  .nearby-head__aside { justify-self: stretch; width: 100%; }
  .nearby-rail { grid-auto-columns: 270px; padding-right: 12px; padding-left: 12px; scroll-padding-inline: 12px; }
  .nearby-rail-wrap::after { width: 76px; }
  .rail-control { width: 54px; height: 54px; }
  .rail-control--prev { left: 12px; }
  .rail-control--next { --rail-edge-shift: -50%; right: auto; left: 282px; }
  .rail-control span { font-size: 24px; }
  .local-section { min-height: 0; padding: 84px 0; }
  .local-guide__intro { grid-template-columns: 1fr; gap: 16px; margin-bottom: 38px; }
  .local-guide__intro h2 { white-space: normal; }
  .local-guide__lede p { font-size: 15px; }
  .local-spotlight__stage { min-height: 360px; }
  .local-spotlight__content { left: 23px; right: 23px; bottom: 24px; }
  .local-spotlight__content h3 { font-size: 31px; }
  .local-spotlight__content p { margin-top: 9px; font-size: 12px; }
  .local-spotlight__content a { margin-top: 10px; }
  .local-stop-picker { gap: 10px; }
  .local-stop-choice { grid-template-columns: 1fr; grid-template-rows: 84px auto; gap: 8px; align-items: start; min-height: 148px; padding: 6px 6px 10px; }
  .local-stop-choice::before { top: 9px; bottom: 9px; }
  .local-stop-choice__thumb { width: 100%; height: 84px; padding: 6px; }
  .local-stop-choice__text { padding: 0 5px; }
  .local-stop-choice__text strong { font-size: 17px; }
  .local-stop-choice__text small { display: none; }
  .local-stop-choice i { display: none; }
  .lake-video-trigger { left: 18px; bottom: 78px; padding-right: 15px; }
  .lake-video-trigger__icon { width: 44px; height: 44px; }
  .vlb { padding: 14px; }
  .vlb__box { width: 100%; max-height: calc(100vh - 28px); border-width: 4px; }
  .vlb__close { top: 10px; right: 10px; width: 44px; height: 44px; }
  .vlb__caption { grid-template-columns: 1fr; gap: 17px; padding: 22px 20px 24px; }
  .vlb__caption a { width: fit-content; }
  .closing-section { min-height: 0; padding: 82px 0; }
  .closing-panel { min-height: 680px; }
  .closing-panel > img { object-position: 60% center; }
  .closing-panel__scrim { background: linear-gradient(0deg, rgba(9,30,25,.94) 0%, rgba(9,30,25,.5) 68%, rgba(9,30,25,.18) 100%); }
  .closing-panel__route { top: 39%; left: 8%; right: 8%; }
  .closing-copy { position: absolute; inset: auto 24px 48px; width: auto; padding: 0; }
  .closing-copy h2 { font-size: clamp(52px, 15vw, 68px); }
  .closing-copy > span { font-size: 17px; }
  .good-sam-section { min-height: 0; padding: 64px 0; }
  .good-sam-band { grid-template-columns: 1fr; gap: 30px; padding: 34px 24px; }
  .good-sam-copy, .good-sam-logo, .good-sam-action { grid-column: 1; grid-row: auto; }
  .good-sam-logo { width: 190px; }
  .site-footer { min-height: 0; padding-top: 78px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 54px 30px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-contact { grid-column: 1 / -1; display: block; padding-top: 12px; border-top: 1px solid var(--line); }
  .footer-contact__hours { margin-top: 30px !important; }
  .footer-trust { gap: 10px; }
  .footer-mark--powered { margin-left: 0; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .footer-bottom nav { flex-wrap: wrap; }
}

/* Park Details uses one steady Galliard scale for primary section titles. */
.bike-wheel__copy h2,
.lake-copy h2,
.town-copy h2,
.ride-copy h2,
.summit-copy h2,
.nearby-head h2,
.local-guide__intro h2 {
  font-family: var(--display);
  font-size: 4rem;
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -.02em;
}

@media (max-width: 620px) {
  .local-guide__intro h2 { font-size: clamp(3.15rem, 13.2vw, 3.5rem); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (prefers-contrast: more) {
  .summit-poster__frame::before {
    background: linear-gradient(90deg, rgba(4,20,15,.88), rgba(4,20,15,.46) 52%, rgba(4,20,15,.04) 82%);
  }
}



/* House chrome container used by shared footer */
.wrap{width:min(100%,var(--wrap));margin-inline:auto;padding-inline:var(--pad)}

/* ===== House footer chrome (shared site footer) ===== */
.site-footer{--above:var(--paper-cool);--above-rgb:241,241,235;position:relative;margin-top:100px;padding:clamp(78px,8vw,112px) 0 100px;background:url("../assets/img/grain.png?v=2") repeat,linear-gradient(180deg,rgb(241,241,235) 0%,rgb(241,241,235) 18%,rgb(241,241,235) 21%,rgb(241,241,235) 24%,rgb(242,242,236) 27%,rgb(243,242,236) 30%,rgb(244,243,237) 33%,rgb(245,244,238) 36%,rgb(246,244,238) 39%,rgb(247,245,239) 42%,rgb(247,245,239) 48%,rgb(246,244,238) 54%,rgb(246,243,236) 57%,rgb(244,241,234) 60%,rgb(242,239,230) 63%,rgb(241,237,227) 66%,rgb(239,235,225) 69%,rgb(239,234,223) 72%,rgb(238,233,222) 78%,rgb(238,232,221) 84.6%,rgb(237,230,218) 89%,rgb(236,229,215) 93.4%,rgb(236,228,214) 100%);background-blend-mode:soft-light,normal;isolation:isolate}

.site-footer::after{content:"";position:absolute;inset:auto 0 0;z-index:0;height:clamp(430px,45vw,650px);background:url("../assets/img/sierra-band.webp") center bottom/cover no-repeat;opacity:.45;filter:saturate(.88) contrast(.97);pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.01) 2.5%,rgba(0,0,0,.06) 5%,rgba(0,0,0,.16) 7.5%,rgba(0,0,0,.32) 10%,rgba(0,0,0,.5) 12.5%,rgba(0,0,0,.68) 15%,rgba(0,0,0,.84) 17.5%,rgba(0,0,0,.94) 20%,rgba(0,0,0,.99) 22.5%,#000 25%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.01) 2.5%,rgba(0,0,0,.06) 5%,rgba(0,0,0,.16) 7.5%,rgba(0,0,0,.32) 10%,rgba(0,0,0,.5) 12.5%,rgba(0,0,0,.68) 15%,rgba(0,0,0,.84) 17.5%,rgba(0,0,0,.94) 20%,rgba(0,0,0,.99) 22.5%,#000 25%)}

.site-footer::before{content:"";position:absolute;inset:auto 0 0;z-index:2;height:100%;background:linear-gradient(90deg,rgba(247,245,239,.12) 0%,rgba(247,245,239,.12) 5%,rgba(247,245,239,.55) 10%,rgba(247,245,239,.8) 17%,rgba(247,245,239,.84) 50%,rgba(247,245,239,.72) 83%,rgba(247,245,239,.4) 90%,rgba(247,245,239,.08) 95%,rgba(247,245,239,.08) 100%);pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.01) 2%,rgba(0,0,0,.06) 4%,rgba(0,0,0,.16) 6%,rgba(0,0,0,.32) 8%,rgba(0,0,0,.5) 10%,rgba(0,0,0,.68) 12%,rgba(0,0,0,.84) 14%,rgba(0,0,0,.94) 16%,rgba(0,0,0,.99) 18%,#000 20%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.01) 2%,rgba(0,0,0,.06) 4%,rgba(0,0,0,.16) 6%,rgba(0,0,0,.32) 8%,rgba(0,0,0,.5) 10%,rgba(0,0,0,.68) 12%,rgba(0,0,0,.84) 14%,rgba(0,0,0,.94) 16%,rgba(0,0,0,.99) 18%,#000 20%)}

.site-footer__blend{position:absolute;left:0;right:0;top:-140px;height:480px;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(241,241,235,1) 0%,rgba(241,241,235,1) 28%,rgba(241,241,235,.99) 35.2%,rgba(241,241,235,.94) 42.4%,rgba(241,241,235,.84) 49.6%,rgba(241,241,235,.68) 56.8%,rgba(241,241,235,.5) 64%,rgba(241,241,235,.32) 71.2%,rgba(241,241,235,.16) 78.4%,rgba(241,241,235,.06) 85.6%,rgba(241,241,235,.01) 92.8%,rgba(241,241,235,0) 100%)}
.site-footer__tree{position:absolute;right:0;bottom:0;z-index:1;height:calc(clamp(430px,45vw,650px) + 740px);width:calc((clamp(430px,45vw,650px) + 740px)*.431);background:url("../assets/img/footer-spruce4.webp") left bottom/auto 100% no-repeat;opacity:.6;filter:saturate(.9) contrast(.98);pointer-events:none}
.site-footer>.wrap{position:relative;z-index:3}

.site-footer__brand{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:clamp(28px,5vw,72px);padding-bottom:54px;margin-bottom:50px;border-bottom:1px solid var(--hair)}

.site-footer__logo{display:block;width:clamp(118px,10vw,144px);max-width:100%;filter:drop-shadow(0 12px 24px rgba(29,57,47,.15))}
.site-footer__logo img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}

.site-footer__brand-copy{max-width:480px}

.site-footer__tagline{margin-bottom:7px;font-family:var(--display);font-size:clamp(1.75rem,2.5vw,2.35rem);line-height:1.05;color:var(--pine)}

.site-footer__brand-copy>p:not(.site-footer__tagline){font-size:.92rem;line-height:1.58;color:#46544d}

.site-footer__brand-actions{display:flex;flex-direction:column;align-items:flex-end;gap:20px}

.social-links{display:flex;align-items:center;gap:18px}

.social-links a{display:inline-flex;align-items:center;gap:9px;min-height:44px;color:var(--pine);font-size:.78rem}

.social-links__icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(29,57,47,.32);border-radius:50%;color:var(--pine);background:rgba(255,253,248,.55);box-shadow:0 8px 20px rgba(29,57,47,.07);transition:color .22s var(--ease),background-color .22s var(--ease),border-color .22s var(--ease)}

.social-links__icon svg{width:19px;height:19px}

.social-links a:hover .social-links__icon{color:var(--white);background:var(--pine);border-color:var(--pine)}

.site-footer__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(30px,5vw,72px);margin-bottom:58px}

.site-footer__column{display:flex;flex-direction:column;align-items:flex-start;gap:9px}

.site-footer__column h2{margin-bottom:8px;font-family:var(--body);font-size:.69rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pine)}

.site-footer__column a,.site-footer__column>span,.site-footer__column p,.site-footer__column address{font-size:.84rem;line-height:1.55;color:#46544d}

.site-footer__column a{display:inline-flex;align-items:center;min-height:34px}

.site-footer__column a{color:var(--pine)}

.site-footer__column a{min-width:44px}

.site-footer__column>span{color:rgba(93,105,100,.64);cursor:not-allowed}

.site-footer__column a,.site-footer__column address{overflow-wrap:anywhere}

.site-footer__partners{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding:28px 0;border-top:1px solid rgba(29,57,47,.18);border-bottom:1px solid rgba(29,57,47,.18)}

.site-footer__partner{display:flex;flex-direction:column;align-items:flex-start;gap:8px}

.site-footer__partner>span{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:#232d27}

.site-footer__partner>img{width:auto;max-height:38px}

.site-footer__partner--sam{flex-direction:row;align-items:center;justify-content:center;gap:13px}

.site-footer__partner--sam>img{height:74px;max-height:none;filter:drop-shadow(0 0 1px rgba(29,57,47,.35)) drop-shadow(0 6px 12px rgba(29,57,47,.12))}

.site-footer__partner--sam>span{font-family:var(--display);font-size:1.05rem;line-height:1.05;letter-spacing:0;text-transform:none;color:var(--pine)}

.site-footer__partner--sam b{display:block;font-weight:400}

.site-footer__partner--right{align-items:flex-end;text-align:right}

.site-footer__partner--right>img{max-height:34px}

.site-footer__legal{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:25px;font-size:.72rem;color:#33413a}

.site-footer__legal>div{display:flex;gap:18px}

.site-footer__legal>div span{cursor:not-allowed}

.site-footer__legal a{display:inline-flex;align-items:center;min-height:36px;color:var(--pine)}
.page--attractions-v12 .site-footer .wrap{position:relative;z-index:3}


/* House pill CTAs used by shared home footer */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:13px 25px;border-radius:999px;font-family:var(--body);font-size:.91rem;line-height:1.1;letter-spacing:.02em;white-space:nowrap;text-decoration:none;border:0;cursor:pointer;transition:color .24s var(--ease),background-color .24s var(--ease),box-shadow .24s var(--ease)}
.pill--outline{color:var(--pine);background:transparent;box-shadow:inset 0 0 0 1px rgba(29,57,47,.5)}
.pill--outline:hover{color:var(--white);background:var(--pine)}
.pill--ochre{color:var(--white);background:var(--ochre);box-shadow:0 8px 24px rgba(61,30,15,.17)}
.pill--ochre:hover{background:var(--ochre-deep,#925331)}
