
:root {
  --color-black: #121212;
  --color-black-light: oklch(21.57% 0 0);
  --color-gray: #f2f4f7;
  --color-white: #ffffff;
  --color-cta-green: #bada55;
  --color-cta-green-hover: #afcf4a;
  --color-cta-blue: #0057e1;
  --color-cta-blue-hover: #004ac0;
  --color-difficulty-blue: #006ac7;
  --color-difficulty-red: #db3241;
  --color-difficulty-black: #242424;
  --color-review-star: #fbbc04;
  --color-section-a: var(--color-gray);
  --color-section-b: var(--color-white);
  --color-text: var(--color-black);
  --color-surface: var(--color-section-b);
  --color-surface-elevated: var(--color-section-a);
  --color-line: color-mix(in srgb, var(--color-black) 10%, transparent);
  --line-width: var(--border-width);
  --color-focus: var(--color-cta-blue);
  --color-on-image: var(--color-white);
  --color-image: var(--color-black);
  --hover-amount: 15%;
  --color-hover: color-mix(in srgb, var(--color-text) var(--hover-amount), transparent);
  --shadow-image: 0 4px 16px color-mix(in srgb, var(--color-black) 18%, transparent);
  --shadow-bar: 0 -4px 16px color-mix(in srgb, var(--color-black) 18%, transparent);
  --font-heading: "Fictional", sans-serif;
  --font-body: "Fixel", sans-serif;
  --font-weight-regular: 400;
  --font-weight-semibold: 600;
  --font-weight-heading: 800;
  --text-body: 1rem;
  --text-note: 0.875rem;
  --heading-1: clamp(2.488rem, 2.188rem + 1.08vw, 3.052rem);
  --heading-2: clamp(2.074rem, 1.401rem + 0.69vw, 1.953rem);
  --heading-3: clamp(1.728rem, 1.12rem + 0.553vw, 1.563rem);
  --line-height-heading-1: 1.2;
  --line-height-heading-2: 1.28;
  --line-height-heading-3: 1.32;
  --line-height-body: 1.6;
  --line-height-control: 1.25;
  --letter-spacing-heading: 0.03em;
  --letter-spacing-body: 0.03em;
  --text-logo: 1rem;
  --text-logo-fluid: clamp(11px, 1.15vw, 16px);
  --letter-spacing-logo: 0.28em;
  --letter-spacing-logo-tagline: 0.12em;
  --text-measure: 48ch;
  --prose-width: var(--text-measure);
  --flow-micro: 0.25em;
  --flow-tight: 0.5em;
  --flow-text: 1em;
  --flow-action: 2em;
  --space-s: 16px;
  --space-m: 24px;
  --space-l: 48px;
  --space-xl: 96px;
  --size-1: 4px;
  --size-2: 8px;
  --size-3: 16px;
  --size-4: 24px;
  --size-5: 32px;
  --size-6: 48px;
  --size-7: 64px;
  --size-8: 96px;
  --size-9: 128px;
  --size-10: 160px;
  --header-height: 80px;
  --size-control: var(--size-6);
  --size-touch: 44px;
  --size-icon: var(--size-4);
  --size-icon-small: 20px;
  --border-width: 2px;
  --border-width-thin: 1px;
  --radius-control: 9999px;
  --radius-check: 6px;
  --logo-size: var(--size-6);
  --logo-size-mobile: 46px;
  --logo-size-fluid: clamp(32px, 3.4vw, 48px);
  --header-gap-fluid: clamp(4px, 0.8vw, 24px);
  --header-group-gap-fluid: clamp(4px, 0.8vw, 16px);
  --header-nav-gap-fluid: clamp(8px, 1.2vw, 16px);
  --google-logo-height: 18px;
  --google-logo-clearspace: 10px;
  --google-logo-clearspace-bottom: 5px;
  --nav-gap: var(--space-m);
  --button-height: var(--size-control);
  --button-padding-x: var(--space-m);
  --button-padding-y: 0.75rem;
  --button-gap: var(--flow-tight);
  --field-height: var(--size-control);
  --field-padding-x: var(--space-s);
  --field-gap: var(--flow-tight);
  --form-gap: var(--space-m);
  --radius-field: calc(var(--field-height) / 2);
  --slideshow-control-width: calc(var(--size-icon) + 2 * var(--button-padding-x) + var(--size-1));
  --utility-size-desktop: 36px;
  --utility-size-compact: var(--size-5);
  --utility-size-mobile: var(--size-touch);
  --utility-icon-size: var(--size-icon-small);
  --utility-gap: var(--flow-tight);
  --utility-gap-compact: 6px;
  --utility-padding-mobile: calc(var(--space-s) - var(--size-1));
  --utility-bar-height: calc(var(--utility-size-mobile) + 2 * var(--utility-padding-mobile));
  --transition-fast: 150ms ease;
  --transition: 250ms ease;
  --grid-columns: 12;
  --grid-gutter: var(--space-m);
  --page-margin: var(--space-l);
  --grid-max-width: 1280px;
  --hero-height: 50vh;
}
@media (768px <= width < 1200px) {
  :root {
    --grid-columns: 8;
    --page-margin: 32px;
    --hero-height: 100svh;
  }
}
@media (width < 768px) {
  :root {
    --space-m: 16px;
    --space-l: 32px;
    --space-xl: 64px;
    --grid-columns: 4;
    --page-margin: 20px;
    --hero-height: 100svh;
  }
}
:root[data-theme="dark"] {
  --color-section-a: var(--color-black-light);
  --color-section-b: var(--color-black);
  --color-text: var(--color-gray);
  --color-line: color-mix(in srgb, var(--color-white) 10%, transparent);
  --color-focus: var(--color-cta-green);
  --hover-amount: 12%;
}
[data-section-tone="base"] {
  --color-surface: var(--color-section-b);
  --color-surface-elevated: var(--color-section-a);
}
[data-section-tone="alternate"] {
  --color-surface: var(--color-section-a);
  --color-surface-elevated: var(--color-section-b);
}
@font-face {
  font-family: "Fictional";
  src: url("/assets/fonts/file.woff2") format("woff2");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}
@font-face {
  font-family: "Fixel";
  src: url("/assets/fonts/fixel.woff2") format("woff2"), url("/assets/fonts/file.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
*,
*::before,
*::after {
  box-sizing: border-box;
  border: 0;
  box-shadow: none;
  text-shadow: none;
  margin: 0;
  padding: 0;
}
* {
  scrollbar-width: none;
}
*::-webkit-scrollbar {
  display: none;
}
html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
}
html,
body {
  width: 100%;
  min-height: 100%;
}
ul,
ol {
  list-style: none;
}
a {
  color: inherit;
  text-decoration: none;
}
main a {
  text-decoration-line: underline;
  text-decoration-thickness: var(--border-width-thin);
  text-underline-offset: 0.15em;
}
main a:hover {
  text-decoration-thickness: var(--border-width);
}
main :is(nav, h1, h2, h3, h4, h5, h6, .heading--1, .heading--2, .heading--3) a,
main a:is(.button, .utility-button, .tour-overview__image-link, .featured-tours__media, .leaflet-control-zoom-in, .leaflet-control-zoom-out, .blog-downloads__link, .tour-dates__button) {
  text-decoration: none;
}
button,
input,
textarea,
select {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: inherit;
  font: inherit;
}
button {
  cursor: pointer;
}
img,
picture,
video,
svg,
canvas {
  display: block;
  max-width: 100%;
}
img {
  height: auto;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
body {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-body);
  letter-spacing: var(--letter-spacing-body);
  color: var(--color-text);
  background-color: var(--color-surface);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.menu-open {
  overflow: hidden;
}
main {
  width: 100%;
}
::selection {
  color: var(--color-text);
  background: var(--color-cta-green);
}
:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 3px;
}
h1,
h2,
h3,
h4,
h5,
h6,
.heading--1,
.heading--2,
.heading--3 {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-heading);
  letter-spacing: var(--letter-spacing-heading);
  text-wrap: balance;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
}
.heading--1 {
  font-size: var(--heading-1);
  line-height: var(--line-height-heading-1);
}
.heading--2,
.rich-text--article h2 {
  font-size: var(--heading-2);
  line-height: var(--line-height-heading-2);
}
.heading--3,
.rich-text :is(h3, h4, h5, h6),
.rich-text:not(.rich-text--article) h2 {
  font-size: var(--heading-3);
  line-height: var(--line-height-heading-3);
}
p {
  font-size: var(--text-body);
  line-height: var(--line-height-body);
  letter-spacing: var(--letter-spacing-body);
}
.prose {
  width: 100%;
  max-width: var(--prose-width);
}
:where(p, blockquote, figcaption, address, dd),
:where(ul:not([class]), ol:not([class])) > li {
  max-width: var(--text-measure);
}
.prose [id] {
  scroll-margin-top: calc(var(--header-height) + var(--space-m));
}
.container,
.grid {
  width: 100%;
  max-width: calc(var(--grid-max-width) + (2 * var(--page-margin)));
  margin-inline: auto;
  padding-inline: var(--page-margin);
}
.grid {
  display: grid;
  grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
  column-gap: var(--grid-gutter);
}
.grid > * {
  min-width: 0;
}
.grid-full {
  grid-column: 1 / -1;
}
.grid-content {
  grid-column: 4 / span 7;
}
.grid-content-wide {
  grid-column: 3 / span 8;
}
.section {
  width: 100%;
  padding-block: var(--space-xl);
}
.section--sm {
  padding-block: var(--space-l);
}
.section--lg {
  padding-block: var(--space-xl);
}
.button {
  height: auto;
  min-height: var(--button-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--button-gap);
  padding-inline: var(--button-padding-x);
  padding-block: var(--button-padding-y);
  border: 2px solid transparent;
  border-radius: var(--radius-control);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-control);
  letter-spacing: var(--letter-spacing-body);
  white-space: nowrap;
  overflow-wrap: normal;
  hyphens: none;
  flex-shrink: 0;
  max-inline-size: 100%;
  text-align: center;
  transition: none;
  animation: none;
}
.button.slideshow-arrow {
  width: var(--slideshow-control-width);
  min-width: var(--slideshow-control-width);
  height: var(--button-height);
  min-height: var(--button-height);
  padding: 0;
  border: 2px solid currentColor;
  border-radius: var(--radius-control);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.button.slideshow-arrow svg {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
}
.button--primary {
  color: var(--color-text);
  background-color: var(--color-cta-green);
}
.button--primary:hover {
  background-color: var(--color-cta-green-hover);
}
.button--secondary {
  color: var(--color-on-image);
  background-color: var(--color-cta-blue);
}
.button--secondary:hover {
  background-color: var(--color-cta-blue-hover);
}
.button--standard {
  border-color: currentColor;
  color: currentColor;
  background: transparent;
}
.button--standard:hover {
  background-color: var(--color-hover);
}
.button::before,
.button::after {
  content: none;
}
hr {
  display: none;
}
.field {
  display: flex;
  flex-direction: column;
  gap: var(--field-gap);
}
.field__label {
  font-weight: var(--font-weight-semibold);
}
.input,
.select,
.textarea {
  width: 100%;
  min-height: var(--field-height);
  padding-inline: var(--field-padding-x);
  border: 0;
  border-radius: var(--radius-field);
  color: var(--color-text);
  background-color: var(--color-surface-elevated);
}
.textarea {
  min-height: 144px;
  padding-block: var(--space-s);
  resize: vertical;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),
select {
  border-radius: var(--radius-field);
}
textarea {
  border-radius: var(--radius-field);
}
.input:focus,
.select:focus,
.textarea:focus {
  background-color: var(--color-surface);
}
.form-stack {
  display: flex;
  flex-direction: column;
  gap: var(--form-gap);
}
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: calc(-1 * var(--border-width-thin)) !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
@media (width < 768px) {
  .grid-content,
  .grid-content-wide {
    grid-column: 1 / -1;
  }
  .button {
    min-height: 48px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
.select--filter {
  appearance: none;
  min-height: var(--button-height);
  padding: var(--flow-tight) var(--space-l) var(--flow-tight) var(--space-s);
  border: 2px solid currentColor;
  font: inherit;
  font-weight: var(--font-weight-semibold);
  text-align: left;
  text-align-last: left;
  cursor: pointer;
}
.select--filter:hover,
.select--filter:focus {
  background: transparent;
}
.select--filter option {
  text-align: left;
  color: var(--color-text);
  background: var(--color-surface);
}
@supports (appearance: base-select) {
  .select--filter,
  .select--filter::picker(select) {
    appearance: base-select;
  }
  .select--filter::picker-icon {
    display: none;
  }
  .select--filter::picker(select) {
    color: var(--color-text);
    box-shadow: none;
  }
  .select--filter option {
    justify-content: flex-start;
    padding: var(--flow-tight) var(--space-s);
  }
  .select--filter option:hover,
  .select--filter option:focus {
    background: var(--color-surface);
    outline: none;
    border: 0;
  }
}
.select--filter option:focus-visible {
  text-decoration: underline;
}
h1,
h2,
h3,
h4,
h5,
h6,
.heading--1,
.heading--2,
.heading--3 {
  min-width: 0;
  max-width: 100%;
  -webkit-hyphens: auto;
  hyphens: auto;
  overflow-wrap: anywhere;
  word-break: normal;
}
main :where(p, li, dd, dt) {
  -webkit-hyphens: auto;
  hyphens: auto;
  overflow-wrap: anywhere;
  word-break: normal;
}
.select--filter:hover,
.select--filter:open {
  background: var(--color-hover);
}
.select--filter option:hover,
.select--filter option:focus,
.select--filter option:checked {
  background: var(--color-hover);
  border: 0;
  outline: none;
  box-shadow: none;
}
@media (min-width: 768px) {
  :root {
    --menu-marker-width: var(--size-3);
    --menu-marker-thickness: var(--border-width);
    --color-filter-menu: color-mix(in srgb, var(--color-text) var(--hover-amount), var(--color-surface));
  }
  .select--filter::picker(select) {
    border: 0;
    background: var(--color-filter-menu);
  }
  .select--filter option,
  .select--filter option:hover,
  .select--filter option:focus,
  .select--filter option:checked {
    background: transparent;
    gap: var(--flow-tight);
  }
  .select--filter option::checkmark {
    display: none;
  }
  .select--filter option::before {
    content: none;
    display: inline-block;
    flex: 0 0 var(--menu-marker-width);
    width: var(--menu-marker-width);
    height: var(--menu-marker-thickness);
    background: currentColor;
    visibility: hidden;
  }
  .select--filter option:hover::before,
  .select--filter option:focus-visible::before,
  .select--filter option:checked::before {
    visibility: visible;
  }
  .select--filter option:is(:hover,:focus,:checked) {
    font-weight: var(--font-weight-semibold);
  }
}
input:focus, select:focus, textarea:focus, .phone-trigger:focus { outline: none; }
input:focus-visible, select:focus-visible, textarea:focus-visible, .phone-trigger:focus-visible { outline: 2px solid currentColor; outline-offset: var(--size-1); box-shadow: none; background-color: var(--color-surface); }
.button--standard:is([aria-current="page"],[aria-pressed="true"]) { background:var(--color-text); color:var(--color-surface); border-color:var(--color-text); }
:is(input,select,textarea):focus {
  outline: 2px solid var(--color-text);
  outline-offset: var(--size-1);
  box-shadow: none;
}
.select--filter,
.select--filter:is(:hover,:focus,:open) {
  background: var(--color-surface);
}
.select--filter option:is(:hover,:focus,:checked) {
  background: transparent;
}
@supports (appearance: base-select) {
  .select--filter:open {
    position: relative;
    border-radius: var(--radius-control);
    outline: none;
  }
  .select--filter:open::before {
    content: '';
    position: absolute;
    inset: calc(-1 * var(--size-2)) calc(-1 * var(--size-2)) calc(-1 * var(--border-width));
    border: 2px solid var(--color-text);
    border-bottom: 0;
    border-radius: calc(var(--radius-field) + var(--size-2) - var(--border-width)) calc(var(--radius-field) + var(--size-2) - var(--border-width)) 0 0;
    pointer-events: none;
  }
  .select--filter::picker(select) {
    position: fixed;
    top: var(--picker-top, anchor(bottom));
    bottom: auto;
    left: var(--picker-left, calc(anchor(left) - var(--size-2) + var(--border-width)));
    right: auto;
    width: var(--picker-width, calc(anchor-size(width) + 12px));
    max-height: min(var(--picker-space, 50dvh), 24rem);
    overflow-y: auto;
    scrollbar-width: thin;
    overscroll-behavior: contain;
    margin: 0;
    position-area: none;
    position-try-fallbacks: none;
    box-sizing: border-box;
    border: 2px solid var(--color-text);
    border-top: 0;
    border-radius: 0 0 calc(var(--radius-field) + var(--size-2) - var(--border-width)) calc(var(--radius-field) + var(--size-2) - var(--border-width));
    outline: none;
    background: var(--select-menu-surface, var(--color-surface));
    padding-block: var(--flow-tight);
  }
  .select--filter[data-picker-up]::picker(select) {
    top: auto; bottom: var(--picker-bottom);
    border-top: 2px solid var(--color-text); border-bottom: 0;
    border-radius: calc(var(--radius-field) + var(--size-2) - var(--border-width)) calc(var(--radius-field) + var(--size-2) - var(--border-width)) 0 0;
  }
  .select--filter[data-picker-up]:open::before {
    inset: calc(-1 * var(--border-width)) calc(-1 * var(--size-2)) calc(-1 * var(--size-2));
    border-top: 0; border-bottom: 2px solid var(--color-text);
    border-radius: 0 0 calc(var(--radius-field) + var(--size-2) - var(--border-width)) calc(var(--radius-field) + var(--size-2) - var(--border-width));
  }
}
.motion-control {
 position:absolute; inset-inline-end:var(--page-margin); inset-block-end:var(--space-m);
 z-index:5; display:inline-flex; align-items:center; justify-content:center;
 width:44px; height:44px; min-height:44px; padding:0; border-radius:50%;
 background:transparent; color:var(--color-white); border:1px solid currentColor;
 pointer-events:auto;
}
.motion-control svg { flex:none; }
.motion-control[hidden] { display:none; }
.hero > .motion-control { inset-block-start:auto; inset-block-end:var(--space-m); inset-inline-start:auto; inset-inline-end:var(--page-margin); z-index:3; }
.motion-control:is(:hover,:focus-visible,:active) { background:transparent; color:var(--color-white); border-color:var(--color-white); }
.background-video > .motion-control { inset-inline-end:var(--space-s); inset-block-end:var(--space-s); }
.button[data-wrap-label] { white-space:normal; overflow-wrap:anywhere; height:auto; }
.skip-link {
  position: fixed;
  top: var(--flow-tight);
  left: var(--flow-tight);
  z-index: 10000;
  padding: var(--button-padding-y) calc(var(--space-m) - var(--flow-micro));
  border-radius: 999px;
  background: var(--color-black);
  color: var(--color-white);
  font-weight: var(--font-weight-semibold);
  text-decoration: none;
  transform: translateY(-200%);
}
.skip-link:focus-visible {
  transform: none;
}
@media (768px <= width < 1200px) {
  .grid-content { grid-column: 3 / span 5; }
  .grid-content-wide { grid-column: 2 / span 6; }
}
:is(.about-teaser__content, .site-footer__bottom) > :where(p, address),
:where(figure) > figcaption {
  margin-inline: auto;
}
@media (width < 768px) {
  body .about-teaser__content,
  body .bullet-point--columns .bullet-point__section-title,
  body .topo-process__title,
  body .tour-overview__title,
  body .site-footer__bottom,
  body .blog-downloads__type,
  body :is(.blog-article, .rich-text--article, .gallery) figcaption,
  body .gallery-lightbox figure {
    text-align: left;
  }
  body .about-teaser__content {
    align-items: flex-start;
  }
  body .about-teaser__logo {
    justify-self: start;
  }
  body :is(.about-teaser__content, .site-footer__bottom) > :where(p, address),
  body :where(figure) > figcaption {
    margin-inline: 0;
  }
  body .site-footer__preferences {
    justify-content: flex-start;
  }
}
.cta-section {
  position: relative;
  isolation: isolate;
  color: var(--color-on-image);
  background: var(--color-text);
}
.cta-section.section--lg {
  padding-block: calc(var(--space-xl) * 1.5);
}
@media (min-width: 768px) {
  .cta-section__content > p {
    max-width: var(--text-measure);
  }
}
.cta-section__background {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cta-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: color-mix(in srgb, var(--color-text) 65%, transparent);
}
.cta-section__content {
  grid-column: 3 / span 8;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  --flow-gap: var(--space-m);
  text-align: left;
}
.cta-section__content .button {
  max-width: 100%;
}
.cta-section__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-s);
  max-width: 100%;
}
@media (width < 768px) {
  .cta-section__actions {
    flex-direction: column;
    align-items: inherit;
  }
}
@media (width < 768px) {
  .cta-section__content {
    grid-column: 1 / -1;
    align-items: flex-start;
    text-align: left;
  }
}
@media (768px <= width < 1200px) {
  .cta-section__content { grid-column: 2 / span 6; }
}
.discipline-section {
  position: relative;
  isolation: isolate;
}
.discipline-section img.discipline-section__image--cutout {
  width: 70%;
  justify-self: center;
  aspect-ratio: auto;
  height: auto;
  object-fit: contain;
  box-shadow: none;
}
.discipline-section__grid {
  align-items: center;
  row-gap: var(--space-l);
}
.discipline-section__content {
  grid-column: 2 / span 5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  --flow-gap: var(--space-m);
}
.discipline-section__background {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.discipline-section--background-left,
.discipline-section--background-right {
  color: var(--color-on-image);
}
.discipline-section--background-left::before,
.discipline-section--background-right::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, color-mix(in srgb, var(--color-text) 85%, transparent), color-mix(in srgb, var(--color-text) 35%, transparent));
}
.discipline-section--background-right::before {
  transform: scaleX(-1);
}
.discipline-section--background-right .discipline-section__content {
  grid-column: 7 / span 5;
}
.discipline-section__image {
  grid-column: 8 / span 5;
  grid-row: 1;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.discipline-section .discipline-section__image.background-video {
  aspect-ratio: 3 / 4;
}
.discipline-section--image-left .discipline-section__image {
  grid-column: 1 / span 6;
  aspect-ratio: 4 / 5;
}
.discipline-section--image-left .discipline-section__content {
  grid-column: 8 / span 5;
  grid-row: 1;
}
.discipline-section--image-right .discipline-section__content {
  grid-column: 1 / span 6;
  grid-row: 1;
}
.discipline-section .button {
  max-width: 100%;
  height: auto;
  padding-block: var(--flow-tight);
}
@media (width < 768px) {
  .discipline-section .discipline-section__content,
  .discipline-section .discipline-section__image {
    grid-column: 1 / -1;
    grid-row: auto;
  }
  .discipline-section .discipline-section__image {
    aspect-ratio: 4 / 3;
  }
  .discipline-section--background-left::before,
  .discipline-section--background-right::before {
    background: color-mix(in srgb, var(--color-text) 78%, transparent);
  }
}
@media (768px <= width < 1200px) {
  .discipline-section__content { grid-column: 2 / span 3; }
  .discipline-section--background-right .discipline-section__content { grid-column: 5 / span 3; }
  .discipline-section__image { grid-column: 6 / span 3; }
  .discipline-section--image-left .discipline-section__image { grid-column: 1 / span 4; }
  .discipline-section--image-left .discipline-section__content { grid-column: 6 / span 3; }
  .discipline-section--image-right .discipline-section__content { grid-column: 1 / span 4; }
}
.about-teaser__grid {
  row-gap: var(--space-l);
  align-items: start;
}
.about-teaser__logo {
  grid-column: 6 / span 2;
  justify-self: center;
  width: var(--size-9);
  height: auto;
}
.about-teaser__content {
  grid-column: 4 / span 6;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  --flow-gap: var(--space-m);
  height: 100%;
}
.about-teaser__button {
  margin-top: auto;
}
@media (width < 768px) {
  .about-teaser__logo,
  .about-teaser__content {
    grid-column: 1 / -1;
  }
  .about-teaser__content {
    align-items: flex-start;
    text-align: left;
  }
  .about-teaser__logo {
    width: var(--size-9);
  }
  .about-teaser__button {
    margin-top: 0;
  }
}
@media (768px <= width < 1200px) {
  .about-teaser__logo { grid-column: 4 / span 2; }
  .about-teaser__content { grid-column: 3 / span 4; }
}
.faq-section__content {
  grid-column: 3 / span 8;
}
.faq-section__items {
  margin-top: 0;
}
.faq-section__item + .faq-section__item {
  margin-top: var(--flow-tight);
}
.faq-section__question {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-l);
  min-height: var(--button-height);
  padding-block: var(--space-s);
  font-family: var(--font-heading);
  font-weight: var(--font-weight-heading);
  font-size: var(--heading-3);
  line-height: var(--line-height-heading-3);
  letter-spacing: var(--letter-spacing-heading);
  list-style: none;
  cursor: pointer;
}
.faq-section__question::-webkit-details-marker {
  display: none;
}
.faq-section__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 1.6em;
  height: 1lh;
  margin-right: calc(var(--border-width) - var(--size-2));
}
.faq-section__icon svg {
  transition: transform var(--transition-fast);
}
.faq-section__item[open] .faq-section__icon svg {
  transform: rotate(180deg);
}
.faq-section__answer {
  max-width: var(--prose-width);
  padding-bottom: var(--space-m);
  padding-right: var(--space-l);
}
.tour-info-accordion__body {
  display: grid;
  --flow-gap: var(--space-m);
}
@media (width < 768px) {
  .faq-section__content {
    grid-column: 1 / -1;
  }
  .faq-section__question {
    gap: var(--space-l);
  }
}
@media (768px <= width < 1200px) {
  .faq-section__content { grid-column: 2 / span 6; }
}
.text-section__content {
  grid-column: 3 / span 8;
  display: grid;
  --flow-gap: var(--space-m);
  text-align: left;
}
@media (min-width: 768px) {
  .tour-info-intro .content-section__content {
    grid-column: 3 / span 7;
  }
}
@media (width < 768px) {
  .text-section__content {
    grid-column: 1 / -1;
  }
}
@media (768px <= width < 1200px) {
  .text-section__content { grid-column: 2 / span 6; }
  .tour-info-intro .content-section__content { grid-column: 2 / span 5; }
}
.topo-process {
  --topo-detail-color: color-mix(in srgb, var(--color-text) 18%, var(--color-surface));
}
.topo-process__title {
  grid-column: 3 / span 8;
  margin-bottom: var(--flow-tight);
  text-align: center;
}
.topo-process__steps {
  grid-column: 2 / span 10;
}
.topo-process__step {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--size-8) minmax(0, 1fr);
  column-gap: var(--space-l);
  min-height: var(--size-10);
  padding-bottom: var(--space-xl);
}
.topo-process__route {
  position: absolute;
  top: var(--space-s);
  left: calc(50% - var(--space-l));
  width: var(--size-8);
  height: 100%;
  overflow: visible;
  fill: none;
  color: var(--color-difficulty-red);
  pointer-events: none;
}
.topo-process__route path {
  stroke: currentColor;
  stroke-width: 2;
  stroke-dasharray: 8 8;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}
.topo-process__step:nth-child(even) .topo-process__route {
  transform: scaleX(-1);
}
.topo-process__details {
  position: absolute;
  top: var(--space-s);
  left: calc(50% - var(--space-l));
  width: var(--size-8);
  height: 100%;
  color: var(--topo-detail-color);
  font-family: var(--font-body);
  line-height: 1;
  pointer-events: none;
}
.topo-process__details span {
  position: absolute;
}
.topo-process__bolt {
  top: 30%;
  left: 85%;
}
.topo-process__piton {
  top: 70%;
  right: 70%;
}
.topo-process__step:nth-child(even) .topo-process__bolt {
  left: auto;
  right: 85%;
}
.topo-process__step:nth-child(even) .topo-process__piton {
  right: auto;
  left: 70%;
}
.topo-process__content {
  grid-column: 3;
  min-width: 0;
}
.topo-process__number {
  position: absolute;
  top: 0;
  left: calc(50% - var(--space-s));
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--size-5);
  height: var(--size-5);
  background: var(--color-surface);
  border: 2px solid currentColor;
  border-radius: 50%;
  font-weight: var(--font-weight-semibold);
  line-height: 1;
}
.topo-process__step:nth-child(even) .topo-process__content {
  grid-column: 1;
}
.topo-process__step:nth-child(even) .topo-process__number {
  margin-left: auto;
}
@media (width < 768px) {
  .topo-process__title {
    grid-column: 1 / -1;
    text-align: left;
  }
  .topo-process__steps {
    grid-column: 1 / -1;
  }
  .topo-process__step {
    grid-template-columns: var(--size-6) minmax(0, 1fr);
    column-gap: var(--space-m);
  }
  .topo-process__route,
  .topo-process__details {
    left: 0;
    width: var(--size-6);
  }
  .topo-process__step .topo-process__content,
  .topo-process__step:nth-child(even) .topo-process__content {
    grid-column: 2;
  }
  .topo-process__step:nth-child(even) .topo-process__number {
    margin-left: 0;
  }
  .topo-process__number {
    left: var(--flow-tight);
  }
}
.topo-process__number { font-family: var(--font-body); color: var(--color-text); }
.topo-process__details { --topo-detail-color: color-mix(in srgb, var(--color-text) 18%, var(--color-surface)); }
@media(width < 768px) {
 .tour-topo__rail,
.tour-topo-crossing,
.tour-overview__topo { display: none; }
}
@media (768px <= width < 1200px) {
  .topo-process__title { grid-column: 2 / span 6; }
  .topo-process__steps { grid-column: 2 / span 6; }
  .topo-process__content { grid-column: 2; }
}
.text-image__grid {
  align-items: center;
  row-gap: var(--space-l);
}
.text-image__content {
  grid-column: 1 / span 6;
  display: grid;
  --flow-gap: var(--space-m);
}
.text-image__content p {
  max-width: var(--prose-width);
}
.text-image__image {
  grid-column: 8 / span 5;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.text-image__image.background-video {
  aspect-ratio: 3 / 4;
}
@media (width < 768px) {
  .text-image__content,
  .text-image__image {
    grid-column: 1 / -1;
  }
}
@media (768px <= width < 1200px) {
  .text-image__content { grid-column: 1 / span 4; }
  .text-image__image { grid-column: 6 / span 3; }
}
.bullet-point__section-title {
  grid-column: 3 / span 8;
  margin-bottom: var(--space-xl);
}
.bullet-point--columns .bullet-point__section-title {
  text-align: center;
}
.bullet-point--columns .bullet-point__list {
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(var(--bullet-point-rows), auto);
  grid-auto-flow: column;
  column-gap: var(--grid-gutter);
}
.bullet-point--columns .bullet-point__title {
  overflow-wrap: anywhere;
  hyphens: auto;
}
.bullet-point__list {
  grid-column: 3 / span 8;
  display: grid;
  gap: var(--space-l);
}
.bullet-point__item {
  display: grid;
  grid-template-columns: var(--size-4) minmax(0, 1fr);
  column-gap: var(--space-s);
  align-items: start;
}
.bullet-point__check {
  width: var(--size-4);
  height: var(--size-4);
  margin-top: var(--flow-micro);
  color: var(--color-cta-green);
}
.bullet-point__title {
  text-wrap: initial;
}
.bullet-point__content p {
  max-width: var(--prose-width);
}
@media (width < 768px) {
  .bullet-point--columns .bullet-point__section-title {
    text-align: left;
  }
  .bullet-point__section-title {
    grid-column: 1 / -1;
  }
  .bullet-point--columns .bullet-point__list {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    grid-auto-flow: row;
  }
  .bullet-point__list {
    grid-column: 1 / -1;
    gap: var(--space-l);
  }
  .bullet-point__check {
    margin-top: 0;
  }
}
@media (768px <= width < 1200px) {
  .bullet-point__section-title { grid-column: 2 / span 6; }
  .bullet-point__list { grid-column: 2 / span 6; }
}
.site-header {
  --brand-logo-size: var(--logo-size);
  --brand-line-height: 1.25;
  --brand-font-size: var(--text-logo);
  --header-group-gap: var(--space-s);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-height);
  z-index: 1000;
  color: var(--color-on-image);
  background-color: transparent;
  transform: translateY(0);
  transition:
    transform var(--transition),
    color var(--transition),
    background-color var(--transition);
}
.site-header.is-scrolled,
.site-header.is-menu-open {
  color: var(--color-text);
  background-color: var(--color-section-b);
}
.site-header.is-hidden {
  transform: translateY(-100%);
}
.site-header.is-menu-open {
  transform: translateY(0);
}
.site-header__inner {
  width: 100%;
  height: 100%;
  margin-inline: auto;
  padding-left: max(var(--page-margin), env(safe-area-inset-left, 0px));
  padding-right: max(var(--page-margin), env(safe-area-inset-right, 0px));
  display: flex;
  align-items: center;
  gap: var(--space-m);
}
.site-header__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--header-group-gap);
  flex-shrink: 0;
}
.site-header__logo {
  width: var(--brand-logo-size);
  height: var(--brand-logo-size);
  flex-shrink: 0;
  object-fit: contain;
}
.site-header__brand-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  font-family: var(--font-heading);
  font-weight: var(--font-weight-heading);
  font-size: var(--brand-font-size);
  line-height: var(--brand-line-height);
  letter-spacing: var(--letter-spacing-logo);
  white-space: nowrap;
}
.site-header__brand-text span {
  display: block;
  text-align: left;
}
.site-header__navigation {
  flex: 1;
  justify-content: center;
  display: flex;
  align-items: center;
  gap: var(--nav-gap);
}
.site-header__navigation a {
  position: relative;
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--font-weight-regular);
  line-height: 1;
  white-space: nowrap;
  text-transform: none;
}
.site-header__actions {
  flex-shrink: 0;
}
.site-header__menu-button {
  display: none;
  width: 32px;
  height: 24px;
  position: relative;
  flex-direction: column;
  justify-content: space-between;
  color: inherit;
}
.site-header__menu-button span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: currentColor;
  transform-origin: center;
  transition:
    transform var(--transition-fast),
    opacity var(--transition-fast);
}
.site-header__menu-button.is-active span:nth-child(1) {
  transform: translateY(11px) rotate(45deg);
}
.site-header__menu-button.is-active span:nth-child(2) {
  opacity: 0;
}
.site-header__menu-button.is-active span:nth-child(3) {
  transform: translateY(-11px) rotate(-45deg);
}
.mobile-navigation {
  display: none;
}
.tour-menu {
  position: relative;
}
.tour-menu__row {
  display: flex;
  align-items: center;
  gap: var(--flow-micro);
}
.tour-menu__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 44px;
  flex-shrink: 0;
}
.tour-menu__toggle svg {
  transition: transform var(--transition-fast);
}
.tour-menu__toggle[aria-expanded="true"] svg {
  transform: rotate(180deg);
}
.tour-menu__submenu a {
  display: block;
}
@media (min-width: 768px) {
  .site-header:hover,
  .site-header:has(:focus-visible) {
    color: var(--color-text);
    background-color: var(--color-section-b);
  }
  .site-header__navigation .tour-menu__toggle {
    display: none;
  }
  .site-header__navigation .tour-menu__row {
    height: var(--header-height);
  }
  .site-header__navigation .tour-menu__submenu {
    position: absolute;
    top: 100%;
    left: calc(-1 * var(--space-s));
    width: max-content;
    max-width: calc(100vw - 2 * var(--page-margin));
    padding-block: var(--space-s);
    color: var(--color-text);
    background-color: var(--color-section-b);
  }
  .site-header__navigation .tour-menu__submenu a {
    padding: var(--space-s);
    white-space: normal;
  }
  .site-header__inner,
  .site-header__actions {
    gap: var(--nav-gap);
  }
}
@media (width < 768px) {
  .site-header {
    --brand-logo-size: var(--logo-size-mobile);
  }
  .site-header__inner {
    gap: var(--space-s);
  }
  .site-header__brand-text {
    font-family: var(--font-heading);
  }
  .site-header__navigation {
    display: none;
  }
  .site-header__actions {
    gap: var(--header-group-gap);
  }
  .site-header__menu-button {
    display: flex;
  }
  .mobile-navigation {
    display: block;
    position: fixed;
    top: var(--header-height);
    left: 0;
    width: 100%;
    overflow-y: auto;
    color: var(--color-text);
    background-color: var(--color-section-b);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: none;
  }
  .mobile-navigation.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
  .mobile-navigation__inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: var(--space-l) var(--page-margin) var(--space-xl);
  }
  .mobile-navigation__inner a {
    width: 100%;
    padding-block: var(--space-s);
    font-family: var(--font-body);
    font-size: var(--heading-2);
    font-weight: var(--font-weight-heading);
    line-height: var(--line-height-heading-2);
    letter-spacing: var(--letter-spacing-heading);
  }
  .mobile-navigation .tour-menu__row > a {
    flex: 1;
    min-width: 0;
    width: auto;
  }
  .mobile-navigation .tour-menu__toggle {
    width: 44px;
    margin-right: calc(var(--border-width) - var(--size-2));
  }
  .mobile-navigation .tour-menu__submenu {
    padding-left: 0;
    padding-bottom: var(--space-s);
  }
}
@media (width < 768px) {
  .site-header__inner {
    position: relative;
    z-index: 2;
  }
  .site-header.is-menu-open .site-header__inner {
    background-color: inherit;
  }
  .site-header__logo {
    display: block;
  }
  .mobile-navigation {
    z-index: 1;
    overscroll-behavior: contain;
    transition: none;
  }
  .mobile-navigation__inner > a,
  .mobile-navigation .tour-menu a {
    white-space: normal;
  }
}
@media (min-width: 768px) {
  .site-header__navigation .tour-menu__submenu {
    padding-top: 0;
    border: 0;
  }
  .site-header__navigation .tour-menu__submenu a {
    display: flex;
    align-items: center;
    gap: var(--flow-tight);
  }
  .site-header__navigation .tour-menu__submenu a::before {
    content: none;
    flex: 0 0 var(--menu-marker-width);
    width: var(--menu-marker-width);
    height: var(--menu-marker-thickness);
    background: currentColor;
    visibility: hidden;
  }
  .site-header__navigation .tour-menu__submenu a:hover::before,
  .site-header__navigation .tour-menu__submenu a:focus-visible::before,
  .site-header__navigation .tour-menu__submenu a[aria-current="page"]::before {
    visibility: visible;
  }
}
@media (min-width: 768px) {
  .site-header__navigation .tour-menu__submenu a {
    padding-inline: var(--space-s);
  }
}
.site-header :is(.site-header__navigation,.mobile-navigation__inner) a:has(> .menu-label) {
  display: inline-grid;
}
.site-header .menu-label, .site-header .menu-label-reserve { grid-area: 1 / 1; }
.site-header .menu-label-reserve { visibility: hidden; font-weight: var(--font-weight-semibold); pointer-events: none; }
.site-header :is(.site-header__navigation,.mobile-navigation__inner) a:has(> .menu-label):is(:hover,:focus-visible) {
  font-weight: var(--font-weight-semibold);
  text-decoration: none;
}
@media (width < 768px) {
  .mobile-navigation__inner > a,
  .mobile-navigation .tour-menu a {
    font-size: var(--heading-2);
  }
  .mobile-navigation .tour-menu__submenu {
    padding-inline-start: var(--space-m);
  }
}
.site-header.is-compact .site-header__navigation { display: none; }
.site-header.is-compact .site-header__menu-button { display: flex; flex-shrink: 0; }
.site-header.is-compact .mobile-navigation {
 display: block; position: fixed; top: var(--header-height); inset-inline: 0;
 height: calc(100dvh - var(--header-height)); overflow-y: auto; overscroll-behavior: contain;
 background: var(--color-section-b); color: var(--color-text);
 opacity: 0; visibility: hidden; pointer-events: none;
}
.site-header.is-compact .mobile-navigation.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.site-header.is-compact .mobile-navigation__inner {
 display: flex; flex-direction: column; padding: var(--space-m) var(--page-margin);
 padding-bottom: max(var(--space-xl), env(safe-area-inset-bottom, 0px));
}
.site-header.is-compact .mobile-navigation__inner a { padding-block: var(--space-s); white-space: normal; overflow-wrap: anywhere; }
.site-header .theme-toggle {
  font-family: var(--font-body);
}
.site-header .site-header__navigation a, .site-header .mobile-navigation__inner a, .site-header .mobile-navigation .tour-menu a { font-family:var(--font-body); font-size:var(--text-body); font-weight:var(--font-weight-regular); line-height:1.55; letter-spacing:var(--letter-spacing-body); text-transform:none; }
.site-header:not(.is-scrolled):not(.is-menu-open) { background-color:transparent; }
@media (min-width:768px) {
 .site-header:not(.is-scrolled):not(.is-menu-open):is(:hover,:has(:focus-visible)) { color:var(--color-text); background-color:var(--color-section-b); }
}
.layout--solid-header main { padding-top:var(--header-height); }
.layout--solid-header .site-header,.layout--solid-header .site-header:not(.is-scrolled):not(.is-menu-open) { background-color:var(--color-section-b); color:var(--color-text); }
@media(min-width:768px) {
 .site-header { --brand-font-size:var(--text-logo-fluid); --brand-logo-size:var(--logo-size-fluid); --header-group-gap:var(--header-group-gap-fluid); --nav-gap:var(--header-gap-fluid); }
 .site-header__inner { gap:var(--header-gap-fluid); }
 .site-header__brand-text { font-size:var(--brand-font-size); letter-spacing:var(--letter-spacing-logo-tagline); }
}
@media(width < 768px) {
 .site-header { --brand-font-size:var(--text-logo); }
 .site-header__inner { column-gap:var(--space-m); }
 .site-header__brand { flex-shrink:1; min-width:0; }
 .site-header__brand-text { font-size:var(--brand-font-size); letter-spacing:var(--letter-spacing-logo-tagline); }
 .site-header .mobile-navigation__inner > a,.site-header .mobile-navigation .tour-menu a { font-size:var(--heading-2); line-height:var(--line-height-heading-2); white-space:normal; overflow-wrap:anywhere; min-width:0; }
}
.site-header__actions {
--utility-gap:var(--flow-tight); display:flex; align-items:center; gap:var(--utility-gap);
}
.site-header__actions {
margin-left:auto; position:relative;
}
.site-header .utility-language {
border:0; border-radius:0;
}
.site-header__actions > *::before {
content:none;
}
@media (min-width:768px) {
.site-header__actions .utility-language {
order:-1;
}
.site-header__navigation {
gap:var(--header-nav-gap-fluid);
}
}
@media (768px <= width < 1200px) {
.site-header .site-header__navigation { display: none; }
.site-header .site-header__menu-button { display: flex; flex-shrink: 0; }
}
@media (min-width:768px) and (max-width:1199px) {
.site-header {
--utility-size:var(--utility-size-compact);
}
.site-header__actions {
--utility-gap:var(--utility-gap-compact);
}
.site-header__navigation {
gap:var(--flow-tight);
}
.site-header__menu-button {
margin-left:var(--space-m);
}
}
@media (width < 768px) {
.site-header__actions > :not(.site-header__menu-button):not(.utility-language):not(.theme-toggle) {
display:none;
}
.site-header__inner { padding-block:var(--flow-tight);
}
.site-header__actions {
display:flex; margin-left:auto; width:auto;
}
.site-header__menu-button {
position:relative; inset:auto;
width:var(--utility-size); flex:0 0 var(--utility-size); align-items:center;
margin-left:var(--flow-tight);
}
.site-header__menu-button span {
width:32px;
}
.mobile-navigation {
height:calc(100dvh - var(--header-height));
}
body:has(.mobile-utilities.is-visible) .mobile-navigation {
height:calc(100dvh - var(--header-height) - var(--utility-bar-height) - env(safe-area-inset-bottom,0px));
}
}
.site-header.is-short-brand .site-header__brand-text { display: none; }
@media (width < 768px) {
 .site-header__inner { display:grid; grid-template-columns:minmax(0,1fr) max-content; }
 .site-header__brand { container:header-brand / inline-size; width:100%; }
 .site-header__actions { margin-inline-start:0; }
}
@container header-brand (width < 10.75rem) {
 .site-header__brand-text { display:none; }
}
.hero {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 100vh;
  min-height: var(--hero-height);
  overflow: hidden;
  isolation: isolate;
  color: var(--color-on-image);
  background-color: var(--color-image);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--color-image) 78%, transparent) 0%,
    color-mix(in srgb, var(--color-image) 40%, transparent) 100%);
  pointer-events: none;
}
.hero__grid {
  position: relative;
  z-index: 2;
  align-content: center;
  padding-block: calc(var(--header-height) + var(--space-l)) var(--space-l);
}
.hero__content {
  grid-column: 1 / span 8;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  --flow-gap: var(--space-m);
}
.hero__title,
.hero__slogan {
  max-width: 100%;
  color: inherit;
}
.hero__slogan {
  max-width: var(--text-measure);
}
.hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--flow-tight) var(--space-m);
}
.hero__meta p {
  margin: 0;
}
.hero__actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-s) var(--space-m);
  max-width: 100%;
}
.hero__actions .button {
  max-width: 100%;
}
.hero__contacts {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-l);
  font-weight: var(--font-weight-semibold);
}
.hero__actions + .hero__contacts {
  margin-top: var(--space-l);
}
.hero__contact-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-s);
  max-width: 100%;
}
.hero__contact-link span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.hero__contact-icon {
  flex-shrink: 0;
}
.hero__contact-link--address {
  flex-basis: 100%;
}
.hero-scroll-target {
  scroll-margin-top: calc(var(--header-height) + var(--space-m));
}
.hero__navigation {
  position: absolute;
  inset-inline: var(--page-margin);
  bottom: var(--space-m);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-m);
}
.hero__navigation a {
  display: inline-flex;
  align-items: center;
  gap: var(--flow-tight);
  opacity: 0.5;
  transition: opacity var(--transition-fast);
}
.hero__navigation:is(:hover, :focus-within) a {
  opacity: 1;
}
.hero__navigation svg {
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
}
.hero__navigation .hero__next {
  margin-left: auto;
}
.hero:has(> .hero__grid > .hero__navigation) .hero__grid {
  padding-bottom: calc(2 * var(--space-m) + var(--text-body) * var(--line-height-body));
}
.hero__background {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--hero-focus-desktop, 50% 50%);
}
.hero__fallback > img,
.hero__slide > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--hero-focus-desktop, 50% 50%);
}
.hero__slide {
  opacity: 0;
  transition: opacity var(--transition);
}
.hero__slide.is-active {
  opacity: 1;
}
.background-video:not(.hero__background) {
  position: relative;
}
.background-video {
  overflow: hidden;
}
.background-video > img,
.background-video > video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--video-position, center);
}
.background-video > video {
  opacity: 0;
}
.background-video.is-playing > video {
  opacity: 1;
}
.hero .motion-control {
  opacity: 0.5;
  transition: opacity var(--transition-fast);
}
.hero .motion-control:is(:hover, :focus-visible) {
  opacity: 1;
}
@keyframes hero-content-reveal {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes hero-image-zoom {
  from { transform: scale(1.08); }
  to { transform: scale(1); }
}
@media (prefers-reduced-motion: no-preference) {
  .hero { --hero-content-start: 0.5s; --hero-actions-start: calc(var(--hero-content-start) + 0.3s); }
  .hero__content > * { --hero-reveal-delay: var(--hero-content-start); }
  .hero__content > :nth-child(2) { --hero-reveal-delay: calc(var(--hero-content-start) + 0.15s); }
  .hero__content > :nth-child(n + 3) { --hero-reveal-delay: calc(var(--hero-content-start) + 0.3s); }
  :is(.hero__actions, .hero__contacts) > * { --hero-reveal-delay: var(--hero-actions-start); }
  :is(.hero__actions, .hero__contacts) > :nth-child(n + 2) { --hero-reveal-delay: calc(var(--hero-actions-start) + 0.15s); }
  .hero__navigation { --hero-reveal-delay: var(--hero-content-start); }
  .hero__content > *,
  :is(.hero__actions, .hero__contacts) > *,
  .hero__navigation {
    animation: hero-content-reveal 1.1s cubic-bezier(.215, .61, .355, 1) var(--hero-reveal-delay, .8s) both;
  }
  .hero:focus-within :is(.hero__content > *, .hero__actions > *, .hero__contacts > *, .hero__navigation) {
    animation: none;
  }
  .hero > img.hero__background,
  .hero > .hero__fallback > img,
  .hero > .hero__slide > img {
    animation: hero-image-zoom 2.4s cubic-bezier(.22, 1, .36, 1) both;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero__slide {
    transition: none;
  }
}
@media (width >= 1200px) {
  .hero--full {
    min-height: 100vh;
    min-height: 100svh;
  }
}
@media (768px <= width < 1200px) {
  .hero__content {
    grid-column: 1 / span 6;
  }
}
@media (width < 768px) {
  .hero::before {
    background: linear-gradient(to top,
      color-mix(in srgb, var(--color-image) 82%, transparent) 0%,
      color-mix(in srgb, var(--color-image) 50%, transparent) 100%);
  }
  .hero__content {
    grid-column: 1 / -1;
    --flow-gap: var(--space-s);
  }
  .hero__actions {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }
  .hero__contacts {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: var(--space-m);
  }
  .hero__contact-link--address {
    flex-basis: auto;
  }
  .hero__background,
  .hero__fallback > img,
  .hero__slide > img {
    object-position: var(--hero-focus-mobile, var(--hero-focus-desktop, 50% 50%));
  }
  .hero--full .hero__slide > img {
    object-position: 50% 28%;
    animation: none;
  }
  .hero--full .hero__slide:nth-of-type(2) > img {
    object-position: 50% 0%;
  }
}
@media (min-width: 768px) {
  .hero__video {
    display: none;
  }
}
.content-section__content {
    grid-column: 4 / span 7;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    --flow-gap: var(--space-m);
}
.content-section__content p {
    max-width: var(--prose-width);
}
.category-intro__content {
    grid-column: 3 / span 8;
    text-align: left;
    align-items: flex-start;
    --flow-gap: var(--space-m);
}
.category-intro__content .expandable-text { width: 100%; }
.category-intro__content .expandable-text__toggle { margin-inline-start: 0; }
.category-intro__content p {
    max-width: none;
}
@media (width < 768px) {
    .content-section__content {
        grid-column: 1 / -1;
        --flow-gap: var(--space-s);
    }
    .category-intro__content {
        --flow-gap: var(--space-m);
    }
}
@media (768px <= width < 1200px) {
  .content-section__content { grid-column: 3 / span 5; }
  .category-intro__content { grid-column: 2 / span 6; }
}
.site-footer {
  position: relative;
  --footer-entry-surface: var(--color-section-b);
  width: 100%;
  color: var(--color-text);
  background-color: var(--color-surface-elevated);
}
.site-footer__sponsors {
  padding-block: var(--space-l);
  background-color: var(--footer-entry-surface);
  text-align: left;
}
.site-footer__sponsor-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--space-l);
  margin-top: var(--space-m);
}
.site-footer__sponsor-logos img,
.site-footer__sponsor-placeholder {
  width: 200px;
  height: 80px;
  object-fit: contain;
  object-position: left center;
}
.site-footer__sponsor-placeholder {
  display: grid;
  place-items: center;
  font-weight: var(--font-weight-semibold);
}
.site-footer__credentials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-l);
  padding-block: var(--space-xl);
}
.site-footer__round-logo {
  height: 100px;
  flex-shrink: 0;
  object-fit: contain;
}
.site-footer img {
  background: transparent;
  box-shadow: none;
}
.site-footer__logo-placeholder {
  display: grid;
  place-items: center;
  background-color: var(--color-surface);
  font-weight: var(--font-weight-semibold);
}
.site-footer__grid {
  row-gap: var(--space-l);
  padding-bottom: var(--space-l);
}
.site-footer__column {
  grid-column: span 3;
  min-width: 0;
  line-height: var(--line-height-body);
  overflow-wrap: anywhere;
}
.site-footer__column h2 {
  margin-bottom: var(--space-m);
}
.site-footer__links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--flow-tight);
}
.site-footer__links a {
  display: inline-block;
}
.site-footer__contact {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  font-style: normal;
}
.site-footer__contact p {
  font-size: inherit;
}
.site-footer__bottom {
  grid-column: 1 / -1;
  text-align: center;
}
@media (width < 768px) {
  .site-footer__credentials {
    gap: var(--space-m);
    padding-block: var(--space-l);
  }
  .site-footer__round-logo {
    height: 100px;
  }
  .site-footer__column {
    grid-column: 1 / -1;
  }
}
.site-footer[data-footer-tone="alternate"] { --footer-entry-surface: var(--color-section-a); }
.site-footer::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: calc(100% - var(--border-width));
  height: calc(var(--size-6) + var(--border-width));
  background: var(--footer-entry-surface);
  clip-path: polygon(0 0, 50% 100%, 100% 0, 100% 100%, 0 100%);
  pointer-events: none;
}
@media (width < 768px) {
  .site-footer::before { height: calc(var(--size-4) + var(--border-width)); }
}
@media (768px <= width < 1200px) {
  .site-footer__column { grid-column: span 2; }
}
.about-story__section + .about-story__section {
    padding-top: 0;
}
.about-story__row {
    align-items: center;
    row-gap: var(--space-l);
}
.about-story__row + .about-story__row {
    margin-top: var(--space-xl);
}
.about-story__text {
    grid-column: 8 / span 5;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    --flow-gap: var(--space-m);
}
.about-story__image {
    grid-column: 1 / span 6;
    grid-row: 1;
    width: 100%;
    aspect-ratio: 4 / 3;
    height: auto;
    object-fit: cover;
}
.about-story__row--reverse .about-story__text {
    grid-column: 1 / span 6;
}
.about-story__row--reverse .about-story__image {
    grid-column: 8 / span 5;
}
.about-story__row--portrait .about-story__image {
    aspect-ratio: 4 / 5;
}
.about-story__row--milestone .about-story__text {
    grid-column: 1 / span 4;
}
.about-story__row--milestone .about-story__image {
    grid-column: 6 / span 7;
    aspect-ratio: 16 / 9;
}
.about-story__signature {
    font-family: var(--font-heading);
    font-weight: var(--font-weight-heading);
}
@media (width < 768px) {
    .about-story__row .about-story__text,
    .about-story__row .about-story__image {
        grid-column: 1 / -1;
        grid-row: auto;
    }
    .about-story__row .about-story__image {
        aspect-ratio: 4 / 3;
    }
    .about-story__row + .about-story__row {
        margin-top: var(--space-l);
    }
}
@media (768px <= width < 1200px) {
  .about-story__text { grid-column: 6 / span 3; }
  .about-story__image { grid-column: 1 / span 4; }
  .about-story__row--reverse .about-story__text { grid-column: 1 / span 4; }
  .about-story__row--reverse .about-story__image { grid-column: 6 / span 3; }
  .about-story__row--milestone .about-story__text { grid-column: 1 / span 3; }
  .about-story__row--milestone .about-story__image { grid-column: 4 / span 5; }
}
.social-proof {
    --review-rule: var(--color-line);
}
.social-proof__grid { row-gap: 0; align-items: start; }
.social-proof__title { grid-column: 1 / -1; margin-bottom: var(--flow-tight); }
.social-proof__note[hidden], .social-proof__controls[hidden] { display: none; }
.social-proof__cta {
    grid-column: 1 / -1;
    justify-self: start;
    max-width: 100%;
    margin-top: var(--space-l);
}
.social-proof__cta .button { max-width: 100%; white-space: normal; }
.social-proof__review-slot { grid-column: 1 / -1; min-width: 0; }
.social-proof__review-slot.is-pending { min-height: calc(var(--size-10) + var(--size-9)); }
.social-proof__reviews[hidden] { display: none; }
.social-proof__footer {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-s) var(--space-m);
    margin-top: var(--space-xl);
    padding-top: var(--space-m);
    border-top: var(--line-width) solid var(--review-rule);
}
.social-proof__notes { display: grid; gap: var(--flow-tight); justify-items: start; }
.social-proof__note, .review-card__note, .review-card__original { font-size: var(--text-note); }
.social-proof__note { display: inline-flex; align-items: flex-start; gap: var(--flow-tight); }
.social-proof__note svg { flex: none; }
.social-proof__note .review-attribution__link { padding: 0 var(--flow-micro); vertical-align: -4px; }
.social-proof__controls { display: flex; align-items: center; gap: var(--space-s); }
.review-carousel__counter { display: none; font-variant-numeric: tabular-nums; }
.review-attribution__link { display: inline-block; vertical-align: calc(-1 * var(--google-logo-clearspace-bottom) - var(--google-logo-height) * 6 / 22); white-space: nowrap; padding: var(--google-logo-clearspace) var(--google-logo-clearspace) var(--google-logo-clearspace-bottom); }
.review-attribution__link img { display: block; height: var(--google-logo-height); width: auto; max-width: none; }
.review-carousel { position: relative; touch-action: pan-y pinch-zoom; min-width: 0; }
.review-carousel__track { position: relative; display: grid; grid-template-columns: repeat(var(--review-columns, 1), minmax(0, 1fr)); align-items: stretch; }
.review-carousel__track.is-slide-transitioning { overflow: clip; }
.review-card { grid-row: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--space-s); text-align: left; }
.review-card.is-hidden { visibility: hidden; pointer-events: none; }
.review-card__author { display: flex; align-items: center; gap: var(--space-s); }
.review-card__author > div { min-width: 0; }
.review-card__author time { display: block; }
.review-card__initial {
    flex: 0 0 var(--size-6);
    width: var(--size-6);
    height: var(--size-6);
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--color-text) 10%, transparent);
    font-weight: var(--font-weight-semibold);
}
.review-card__name { font-weight: var(--font-weight-semibold); overflow-wrap: anywhere; }
.review-card__stars { color: var(--color-review-star); }
.review-card__text { overflow-wrap: anywhere; }
.review-card__original { display: inline-flex; align-items: center; gap: var(--flow-tight); margin-top: auto; }
.review-card__original svg { flex: none; }
@media (width < 768px) {
    .social-proof__footer { display: contents; }
    .social-proof__title { order: 1; max-width: 14ch; text-wrap: balance; margin-bottom: var(--space-xl); }
    .social-proof__review-slot { order: 3; }
    .social-proof__controls { order: 4; grid-column: 1 / -1; justify-content: space-between; margin-top: var(--space-m); }
    .social-proof__cta { order: 5; justify-self: stretch; }
    .social-proof__cta .button { width: 100%; }
    .social-proof__notes { order: 6; grid-column: 1 / -1; margin-top: var(--space-xl); }
    .review-carousel__counter { display: inline; }
}
@media (min-width: 768px) {
    .social-proof__grid { grid-template-rows: auto 1fr auto; }
    .social-proof__title { grid-column: 1 / span 5; grid-row: 1; }
    .social-proof__title { max-width: 14ch; text-wrap: balance; }
    .social-proof__cta { grid-column: 1 / span 5; grid-row: 2; margin-top: 0; align-self: end; }
    .social-proof__review-slot { grid-column: 6 / -1; grid-row: 1 / span 2; }
    .review-card { padding-inline: var(--grid-gutter); border-left: var(--line-width) solid var(--review-rule); }
}
@media (min-width: 1200px) {
    .social-proof__title, .social-proof__cta { grid-column: 1 / span 4; }
    .social-proof__review-slot { grid-column: 5 / -1; }
}
@media (768px <= width < 1200px) {
  .social-proof__title { grid-column: 1 / span 3; }
  .social-proof__cta { grid-column: 1 / span 3; }
  .social-proof__review-slot { grid-column: 4 / -1; }
}
.tour-overview {
  --tour-topo-detail: color-mix(in srgb, var(--color-text) 18%, var(--color-surface));
}
.tour-overview__list,
.tour-overview__empty {
  grid-column: 1 / -1;
}
.tour-overview__item {
  position: relative;
  display: grid;
  grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
  gap: 0 var(--grid-gutter);
  padding-bottom: var(--space-xl);
}
.tour-overview__item.is-last {
  padding-bottom: 0;
}
.tour-overview__content {
  grid-column: 3 / span 7;
  grid-row: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.tour-overview__content :is(h2,h3) {
  overflow-wrap: anywhere;
}
.tour-overview__content h2 a:hover,
.tour-overview__content h3 a:hover,
.tour-overview__content :is(h2,h3) a:focus-visible {
  color: inherit;
}
.tour-overview__image-link {
  grid-column: 10 / span 3;
  grid-row: 1;
  align-self: start;
  min-width: 0;
  overflow: hidden;
}
.tour-overview__image {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
}
.tour-overview__image-link,
.featured-tours__media {
  box-shadow: var(--shadow-image);
}
@media (hover: hover) and (pointer: fine) {
  .tour-overview__item .tour-overview__image,
  .featured-tours__slide .featured-tours__image {
    filter: brightness(0.85) saturate(0.85);
    transform: scale(1);
    transition: filter 550ms ease, transform 550ms ease;
  }
  .tour-overview__item:is(:hover, :focus-within) .tour-overview__image,
  .featured-tours__slide:is(:hover, :focus-within) .featured-tours__image {
    filter: brightness(1) saturate(1);
    transform: scale(1.05);
  }
}
@media (prefers-reduced-motion: reduce) {
  .tour-overview__item .tour-overview__image,
  .featured-tours__slide .featured-tours__image {
    transition: none;
    transform: none;
  }
  .tour-overview__item:is(:hover, :focus-within) .tour-overview__image,
  .featured-tours__slide:is(:hover, :focus-within) .featured-tours__image {
    transform: none;
  }
}
.tour-overview__facts {
  flex-wrap: wrap;
}
.tour-overview__location {
  align-items: center;
  gap: var(--flow-tight);
}
.tour-overview__difficulty {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  justify-self: start;
  font-weight: var(--font-weight-regular);
  color: var(--color-on-image);
}
.tour-overview__difficulty--beginner {
  background: var(--color-difficulty-blue);
}
.tour-overview__difficulty--intermediate {
  background: var(--color-difficulty-red);
}
.tour-overview__difficulty--advanced {
  background: var(--color-difficulty-black);
}
.tour-overview__topo {
  grid-column: 2;
  grid-row: 1;
  position: relative;
  pointer-events: none;
  color: var(--tour-topo-detail);
}
.tour-overview__route {
  position: absolute;
  top: var(--space-s);
  width: 100%;
  height: calc(100% + var(--size-8));
  overflow: visible;
  fill: none;
  color: var(--color-difficulty-red);
}
.tour-overview__route path {
  stroke: currentColor;
  stroke-width: 2;
  stroke-dasharray: 8 8;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}
.tour-overview__item.is-even .tour-overview__route {
  transform: scaleX(-1);
}
.tour-overview__item.is-last .tour-overview__route {
  height: calc(100% - var(--size-3));
}
.tour-overview__belay {
  position: absolute;
  top: 0;
  left: calc(50% - var(--space-s));
  width: var(--size-5);
  height: var(--size-5);
  border: 2px solid currentColor;
  border-radius: 50%;
  background: var(--color-surface);
  z-index: 1;
}
@media (width < 768px) {
  .tour-overview__topo {
    display: none;
  }
  .tour-overview__list {
    display: grid;
  }
  .tour-overview__item {
    display: flex;
    flex-direction: column;
    padding: 0;
    gap: var(--space-m);
  }
  .tour-overview__item.is-last {
    padding-bottom: 0;
  }
  .tour-overview__image-link {
    width: 100%;
  }
  .tour-overview__image {
    aspect-ratio: 4 / 3;
  }
  .tour-overview__content {
    width: 100%;
  }
  .tour-overview__difficulty {
    position: absolute;
    right: 0;
    top: 0;
    writing-mode: horizontal-tb;
    padding: var(--flow-tight) var(--space-s);
  }
}
.tour-overview__filters {
  grid-column: 1 / -1;
  min-width: 0;
  margin-bottom: var(--space-xl);
}
.tour-filter-label {
  padding: 0;
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-body);
  letter-spacing: var(--letter-spacing-body);
}
.tour-overview__filters legend {
  margin-bottom: var(--space-s);
}
.tour-overview__filter-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-s);
}
.tour-overview__filters .button[aria-pressed="true"] {
  background: var(--color-text);
  color: var(--color-surface);
  border-color: var(--color-text);
}
.tour-overview__item[hidden],
.tour-overview__filters[hidden] {
  display: none;
}
.tour-overview__filter-status:not(.visually-hidden) {
  grid-column: 5 / -1;
}
@media (width < 768px) {
  .tour-overview__filters,
  .tour-overview__filter-status:not(.visually-hidden) {
    grid-column: 1 / -1;
  }
  .tour-overview__filters {
    margin-bottom: var(--space-l);
  }
}
.tour-overview__title {
  text-align: center;
  grid-column: 1 / -1;
  min-width: 0;
  white-space: pre-line;
  margin-bottom: var(--flow-tight);
}
@media (min-width: 768px) {
  #rocktober-tours .tour-overview__title { grid-column: 2 / -2; }
}
.tour-overview__filters--dropdowns {
  grid-column: 2 / -2;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr));
  gap: var(--space-m);
}
.tour-overview__select-label {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  min-width: 0;
}
.tour-overview__select-wrap {
  position: relative;
  display: block;
}
.tour-overview__select-arrow {
  position: absolute;
  right: var(--space-s);
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
.tour-overview__more {
  grid-column: 1 / -1;
  justify-self: center;
  margin-top: var(--space-xl);
  max-width: 100%;
}
.tour-overview__more .button {
  width: max-content;
  max-width: 100%;
  height: auto;
  padding-block: var(--flow-tight);
}
@media (width < 768px) {
  .tour-overview__title {
    text-align: left;
  }
  .tour-overview__filters--dropdowns {
    grid-column: 1 / -1;
  }
}
@media (width < 768px) {
  .tour-overview__list {
    gap: var(--space-xl);
  }
}
.tour-overview__details { left: 0; width: 100%; height: calc(100% + var(--size-8)); }
.tour-overview__item.is-last .tour-overview__details { height: calc(100% - var(--size-3)); }
.tour-overview__item.is-even .topo-process__bolt { left: auto; right: 85%; }
.tour-overview__item.is-even .topo-process__piton { right: auto; left: 70%; }
.tour-overview__belay { color: var(--color-text); }
.tour-overview__content { --flow-gap: var(--space-s); }
.tour-overview__facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--space-m); width: 100%; }
.tour-overview__fact { min-width: 0; }
:is(.tour-overview__fact, .tour-summary__fact) dt { font-weight: var(--font-weight-regular); }
:is(.tour-overview__fact, .tour-summary__fact) dd { font-family: var(--font-body); font-weight: var(--font-weight-semibold); letter-spacing: var(--letter-spacing-body); }
.tour-overview__action { display: grid; justify-items: start; }
.tour-overview__action > * { --flow-gap: var(--space-s); }
@media(width < 768px) {
 .tour-overview__facts { grid-template-columns: repeat(auto-fit,minmax(min(100%,calc(var(--size-7) * 2)),1fr)); }
 .tour-overview__content { --flow-gap: var(--space-m); }
}
.tour-overview__facts { margin-top: 0; }
.tour-overview__location { display: inline; font: inherit; }
@media(min-width:768px) {
 .tour-overview__facts { display: flex; flex-wrap: wrap; }
 .tour-overview__fact { flex: 0 1 auto; max-width: 100%; }
}
.featured-tours__card > .tour-overview__facts:has(+ .tour-overview__action),
.tour-summary__facts:has(+ .tour-summary__price) { margin-block-end: var(--flow-action); }
:is(.tour-overview__action, .tour-summary__price) .tour-overview__price-unit { display: block; font-family: var(--font-body); font-size: var(--text-body); font-weight: var(--font-weight-regular); line-height: var(--line-height-body); letter-spacing: var(--letter-spacing-body); }
@media(min-width:768px) {
.tour-overview__difficulty { z-index: 1; }
 .tour-overview__item > .tour-overview__action { grid-row: 1; min-width: 0; margin-top: 0; }
 .tour-overview__facts { gap: var(--space-s) var(--space-m); }
 .tour-overview__button { max-width: 100%; }
}
@media(width < 768px) {
 .tour-overview__item > .tour-overview__action { margin-top: var(--flow-tight); }
}
@media(min-width:768px) {
 .tour-overview__list { isolation: isolate; }
 .tour-overview__item { --tour-row-gap: var(--space-xl); margin-bottom: var(--tour-row-gap); align-items: stretch; }
 .tour-overview__item.is-last { margin-bottom: 0; }
 .tour-overview__image-link { align-self: stretch; position: relative; min-height: calc(var(--size-10) + var(--size-7)); }
 .tour-overview__image { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
 .tour-overview__content { align-self: stretch; padding-inline: 0; }
 .tour-overview__item > .tour-overview__action { grid-column: 10 / span 3; align-self: stretch; padding: var(--space-m); }
 .tour-overview__fact:last-child { flex-basis: auto; }
 .tour-overview__topo { position: absolute; width: auto; max-width: none; justify-self: stretch; height: var(--tour-row-gap); z-index: -1; }
 .tour-overview__route, .tour-overview__item.is-last .tour-overview__route { top: 0; height: 100%; width: 100%; }
 .tour-overview__belay { top: calc(50% - var(--space-s)); }
 .tour-overview__details { top: 0; height: 100%; }
}
@media(min-width:768px) { .tour-overview__topo { left: 0; right: 0; } }
@media(min-width:768px) {
 .tour-overview__list { padding-top: var(--space-xl); }
 .tour-overview__item > .tour-overview__action { align-content: center; justify-content: center; justify-items: start; text-align: left; }
 .tour-overview__topo { top: calc(-1 * var(--tour-row-gap)); }
 .tour-overview__item.is-last .tour-overview__topo { display: block; }
 .tour-overview__belay { left: calc(46% - var(--space-s)); }
 .tour-overview__item.is-even .tour-overview__belay { left: calc(54% - var(--space-s)); }
 .tour-overview__item.is-last .tour-overview__details { height: 100%; }
}
@media(min-width:768px) {
 .tour-overview__item, .tour-overview__item.is-last { padding: 0; }
 .tour-overview__content { padding-block: var(--space-m); }
 .tour-overview__item > .tour-overview__action {
  background: transparent;
 }
}
@media(min-width:768px) {
 .tour-overview__item { min-height: calc(var(--size-10) * 2 + var(--size-7)); }
 .tour-overview__difficulty { writing-mode: horizontal-tb; padding: var(--flow-tight) var(--space-s); }
 .tour-overview__item > .tour-overview__action { position: relative; border-left: 0; }
 .tour-overview__item > .tour-overview__action::before {
  content: ''; position: absolute; left: 0; top: var(--space-m); bottom: var(--space-m);
  width: var(--line-width); background: var(--color-line);
 }
 .tour-overview__item.is-first .tour-overview__route { clip-path: inset(50% 0 0 0); }
 .tour-overview__item.is-first .topo-process__bolt { display: none; }
}
@media(min-width:768px) {
 .tour-overview__item { background: transparent; }
 .tour-overview__content { justify-content: flex-start; }
 .tour-overview__difficulty { width: max-content; max-width: 100%; white-space: nowrap; overflow-wrap: normal; hyphens: none; justify-self: start; }
}
@media(min-width:768px) {
 .tour-overview__image-link, .tour-overview__difficulty { grid-column: 1 / span 4; }
 .tour-overview__topo { grid-column: 2 / 5; }
 .tour-overview__content { grid-column: 5 / span 5; }
}
.tour-overview__section-title { grid-column: 1 / -1; margin-bottom: var(--flow-tight); text-align: start; }
.tour-overview__item--editorial .tour-overview__difficulty { z-index: 1; }
.tour-overview__list { container: tour-list / inline-size; }
@container tour-list (width < 64rem) {
 .tour-overview__item { grid-template-rows: auto 1fr; }
 .tour-overview__item > .tour-overview__content { grid-column: 5 / -1; padding-bottom: 0; }
 .tour-overview__item > .tour-overview__image-link { grid-row: 1 / 3; }
 .tour-overview__item > .tour-overview__action {
  grid-column: 5 / -1; grid-row: 2; padding: var(--flow-action) 0 var(--space-m);
  align-content: start; justify-content: start;
 }
 .tour-overview__item > .tour-overview__action::before { display: none; }
}
@container tour-list (width < 40rem) {
 .tour-overview__item { display: flex; flex-direction: column; min-height: 0; gap: var(--space-m); }
 .tour-overview__item > .tour-overview__image-link { width: 100%; min-height: 0; position: relative; }
 .tour-overview__image { position: static; width: 100%; height: auto; aspect-ratio: 4 / 3; }
 .tour-overview__item > .tour-overview__content { padding: 0; }
 .tour-overview__item > .tour-overview__action { padding: 0; }
 .tour-overview__topo { display: none !important; }
 .tour-overview__difficulty { position: absolute; top: 0; left: 0; writing-mode: horizontal-tb; }
}
.tour-overview__difficulty { display:block; top:0; left:0; right:auto; writing-mode:horizontal-tb; padding:var(--flow-tight) var(--space-s); z-index:2; }
.tour-overview--home .tour-overview__title { text-align: left; }
.tour-overview--related .tour-overview__title { text-align: left; margin-bottom: var(--space-xl); }
.tour-overview--home .tour-overview__filters--dropdowns { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr); column-gap: var(--grid-gutter); }
@media (width < 768px) {
  .tour-overview--home .tour-overview__filters { margin-bottom: var(--space-xl); }
}
@media (min-width: 768px) {
  .tour-overview--home .tour-overview__filters--dropdowns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .tour-overview--home .tour-overview__title { grid-column: 1 / span 4; grid-row: 1; align-self: end; margin-bottom: var(--space-xl); }
  .tour-overview--home .tour-overview__filters--dropdowns { grid-column: 5 / -1; grid-row: 1; align-self: end; }
}
@media (768px <= width < 1200px) {
  .tour-overview__content { grid-column: 2 / span 5; }
  .tour-overview__image-link { grid-column: 7 / span 2; }
  .tour-overview__filter-status:not(.visually-hidden) { grid-column: 4 / -1; }
  .tour-overview__item > .tour-overview__action { grid-column: 7 / span 2; }
  .tour-overview__image-link, .tour-overview__difficulty { grid-column: 1 / span 3; }
  .tour-overview__topo { grid-column: 2 / 4; }
  .tour-overview__content { grid-column: 4 / span 3; }
}
:is(img.image-shadow, img):not(:where(
  .site-header__logo, .site-footer img, .social-proof img,
  .hero img, .background-video[data-background-video="hero"] img,
  .cta-section__background, .discipline-section__background,
  .tour-overview__image, .featured-tours__image
)) {
  box-shadow: var(--shadow-image);
}
:where(main img, .gallery-lightbox img):not(:where(
  .hero img, .background-video img,
  .cta-section__background, .discipline-section__background,
  .tour-overview__image, .featured-tours__image,
  [src*="/icons/"], [src$=".svg"], [src*="topo"], [src*="routengrafik"],
  [data-image-filter="none"]
)) {
filter: brightness(0.85) saturate(0.85);
}
:root {
  color-scheme: light;
}
:root[data-theme="dark"] {
  color-scheme: dark;
}
[data-section-tone] {
  color: var(--color-text);
  background-color: var(--color-surface);
}
[data-section-tone] .select--filter {
  --color-filter-menu: color-mix(in srgb, var(--color-text) var(--hover-amount), var(--color-surface));
}
[data-surface="image"] {
  --color-text: var(--color-on-image);
  color: var(--color-on-image);
  background-color: var(--color-image);
}
.cta-section::before {
background: color-mix(in srgb, var(--color-image) 65%, transparent);
}
.discipline-section--background-left::before,
.discipline-section--background-right::before {
background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--color-image) 85%, transparent),
    color-mix(in srgb, var(--color-image) 35%, transparent)
  );
}
.button--primary {
color: var(--color-black);
}
.button--secondary {
color: var(--color-white);
}
.tour-overview__belay {
background: var(--color-surface);
}
.tour-overview__filters .button[aria-pressed="true"] {
background: var(--color-text);
  color: var(--color-surface);
  border-color: var(--color-text);
}
:root[data-theme="dark"] .about-teaser__logo [data-color="1"] {
fill: var(--color-surface);
}
.about-teaser__logo [data-color="2"] {
fill: var(--color-text);
}
:root[data-theme="dark"] .site-footer__sponsor-logos img {
filter: brightness(0) invert(1);
}
.theme-toggle {
display: inline-flex;
  align-items: center;
  gap: var(--flow-tight);
  flex-shrink: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--font-weight-regular);
  line-height: 1;
  letter-spacing: var(--letter-spacing-body);
}
.theme-toggle[hidden] {
display: none;
}
.theme-toggle__icon {
width: 1em;
  height: 1em;
  flex-shrink: 0;
}
.theme-toggle__sun {
display: none;
}
.theme-toggle[data-target-theme="light"] .theme-toggle__moon {
display: none;
}
.theme-toggle[data-target-theme="light"] .theme-toggle__sun {
display: block;
}
@media (width < 768px) {
.discipline-section--background-left::before,
.discipline-section--background-right::before {
background: color-mix(in srgb, var(--color-image) 78%, transparent);
}
}
.social-proof[data-surface="image"] {
background-image: none;
  isolation: isolate;
}
.social-proof[data-surface="image"]::after {
content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: var(--social-proof-image);
  background-size: cover;
  background-position: center;
  opacity: var(--section-image-opacity, 1);
  pointer-events: none;
}
.social-proof[data-surface="image"]::before {
z-index: -1;
}
.cta-section__background,
.discipline-section__background {
opacity: var(--section-image-opacity, 1);
}
@media (width < 768px) {
.theme-toggle {
grid-area: 1 / 3;
}
}
.site-footer__preferences {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--space-m);
  margin-bottom: var(--space-m);
}
.social-proof[data-surface="image"]::after {
content: none;
}
.site-footer .theme-toggle {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-body);
  letter-spacing: var(--letter-spacing-body);
  text-transform: none;
}
.site-footer .theme-toggle__icon {
transform: translateY(-0.2em);
}
.site-footer__preferences {
--utility-gap: var(--space-m);
  gap: var(--utility-gap);
}
:where(.site-header,.site-footer__preferences,.mobile-utilities) {
--utility-size: var(--utility-size-desktop); --utility-gap: var(--flow-tight);
}
.site-footer__preferences {
--utility-gap:var(--flow-tight); display:flex; align-items:center; gap:var(--utility-gap);
}
.site-header, .mobile-utilities { --utility-radius:0px; --utility-search-radius:0px; --utility-border-width:0px; --utility-icon-size:var(--size-icon); }
:is(.site-header,.mobile-utilities) .utility-button:not(.utility-language) { font-size:var(--size-icon); font-weight:var(--font-weight-semibold); }
:is(.site-header,.mobile-utilities) :is(.utility-button svg,.theme-toggle__icon,.header-search summary svg) { stroke-width:2.2; }
@media (min-width:768px) {
 .site-header { --utility-icon-size:var(--size-icon-small); }
 .site-header .utility-button--mail svg { width:18px; height:18px; }
}
:is(.site-header,.mobile-utilities) .utility-button[href^="https://wa.me/"] svg { width:calc(var(--utility-icon-size) * .85); height:calc(var(--utility-icon-size) * .85); }
:is(.site-header,.mobile-utilities) .utility-button[href$="/faq"] svg { width:calc(var(--utility-icon-size) * .9); height:calc(var(--utility-icon-size) * .9); stroke-width:2.6; }
.mobile-utilities .utility-button--mail svg { width:22px; height:22px; }
@media (width < 768px) {
 .site-header .theme-toggle .theme-toggle__icon { width:20px; height:20px; stroke-width:1.7; }
}
@media (min-width:768px) {
 :is(.site-header,.site-footer__preferences) .theme-toggle .theme-toggle__icon { width:18px; height:18px; }
 :is(.site-header,.site-footer__preferences) .utility-button[href^="https://wa.me/"] svg { width:15.5px; height:15.5px; }
}
.utility-button,
.site-header .theme-toggle,
.site-footer .theme-toggle,
.mobile-utilities .theme-toggle {
display:inline-flex; align-items:center; justify-content:center; flex:0 0 var(--utility-size);
  width:var(--utility-size); height:var(--utility-size); padding:0; border:var(--utility-border-width,1px) solid currentColor; border-radius:var(--utility-radius,50%);
  color:inherit; background:transparent; font-family:var(--font-body); font-weight:var(--font-weight-regular); line-height:1; cursor:pointer;
}
.utility-button svg,
.site-header .theme-toggle__icon,
.site-footer .theme-toggle__icon,
.mobile-utilities .theme-toggle__icon {
width:var(--utility-icon-size); height:var(--utility-icon-size); transform:none;
}
:is(.site-header,.mobile-utilities) :is(.utility-button svg,.theme-toggle__icon,.header-search summary svg) { transform:translateY(-2px); }
:is(.site-header,.mobile-utilities) .header-search summary svg,
:is(.site-header,.mobile-utilities) .utility-button--mail svg { transform:translateY(-1.5px); }
:is(.site-header,.mobile-utilities) .utility-button[href$="/faq"] svg { transform:translateY(-1px); }
.site-header .theme-toggle__label,
.site-footer .theme-toggle__label,
.mobile-utilities .theme-toggle__label {
display:none;
}
.site-header .theme-toggle[hidden],
.site-footer .theme-toggle[hidden],
.mobile-utilities .theme-toggle[hidden] {
display:none;
}
.site-footer__preferences > *::before {
content:none;
}
.site-footer__preferences {
position:relative; width:fit-content; max-width:100%; margin-inline:auto; flex-wrap:nowrap;
}
.mobile-utilities {
display:none;
}
@media (width < 768px) {
body {
padding-bottom:calc(var(--utility-bar-height) + env(safe-area-inset-bottom,0px));
}
html {
scroll-padding-bottom:calc(var(--utility-bar-height) + env(safe-area-inset-bottom,0px));
}
.site-footer__preferences {
margin-inline:0;
}
.site-footer__preferences > :not(.theme-toggle) {
display:none;
}
.site-footer__preferences .theme-toggle {
width:auto; height:auto; flex:0 0 auto; gap:var(--space-s); border:0; border-radius:0;
}
.site-footer__preferences .theme-toggle .theme-toggle__icon {
box-sizing:border-box; width:var(--utility-size); height:var(--utility-size); padding:var(--size-2);
  border:var(--border-width-thin) solid currentColor; border-radius:50%; transform:none;
}
.site-footer__preferences .theme-toggle .theme-toggle__label {
display:inline; order:1;
}
.mobile-utilities {
display:flex; position:fixed; inset-inline:0; bottom:var(--keyboard-offset,0px); z-index:1100; justify-content:center;
    padding:var(--utility-padding-mobile) max(var(--utility-padding-mobile),env(safe-area-inset-right,0px)) calc(var(--utility-padding-mobile) + env(safe-area-inset-bottom,0px)) max(var(--utility-padding-mobile),env(safe-area-inset-left,0px));
    color:var(--color-text); background:var(--color-section-b);
    box-shadow:var(--shadow-bar);
    --utility-size:var(--utility-size-mobile); --utility-gap:var(--flow-tight);
    visibility:hidden; opacity:0; transform:translateY(100%);
    transition:transform var(--transition),opacity var(--transition),visibility var(--transition);
}
.mobile-utilities.is-visible, .mobile-utilities:focus-within {
visibility:visible; opacity:1; transform:translateY(0);
}
.mobile-utilities__controls {
display:flex; align-items:center; justify-content:space-around; gap:var(--utility-gap); position:relative; width:100%; max-width:100%;
}
}
@media (max-width:359px) {
.mobile-utilities {
--utility-gap:var(--utility-gap-compact);
}
}
@media (prefers-reduced-motion:reduce) {
.mobile-utilities {
transition:none;
}
}
@media (pointer: coarse) {
 :is(.site-header,.mobile-utilities) :is(.utility-button,.theme-toggle),
 .site-header__menu-button { position:relative; }
 :is(.site-header,.mobile-utilities) :is(.utility-button,.theme-toggle,.header-search summary)::after,
 .site-header__menu-button::after {
  content:""; position:absolute; top:50%; left:50%; width:max(100%,44px); height:max(100%,44px); transform:translate(-50%,-50%);
 }
}
@media (hover:hover) {
 :is(.site-header__actions,.site-footer__preferences) :is(.utility-button,.theme-toggle,.site-header__menu-button) { position:relative; }
 :is(.site-header__actions,.site-footer__preferences) :is(.utility-button,.theme-toggle,.header-search summary,.site-header__menu-button)[aria-label]::before {
  content:attr(aria-label); position:absolute; left:50%; z-index:3; width:max-content;
  padding:var(--size-1) var(--size-2); color:var(--color-surface); background:var(--color-text);
  font-family:var(--font-body); font-size:var(--text-body); font-weight:var(--font-weight-regular); line-height:1.3; letter-spacing:var(--letter-spacing-body); white-space:nowrap;
  transform:translateX(-50%); pointer-events:none; display:none;
 }
 .site-header__actions :is(.utility-button,.theme-toggle,.header-search summary,.site-header__menu-button)::before { top:calc(100% + var(--size-2)); }
 .site-footer__preferences :is(.utility-button,.theme-toggle,.header-search summary)::before { bottom:calc(100% + var(--size-2)); }
 .site-header__actions > :is(.utility-button,.theme-toggle,.site-header__menu-button)[aria-label]:is(:last-child,:nth-last-child(2))::before { left:auto; right:0; transform:none; }
 :is(.site-header__actions,.site-footer__preferences) :is(.utility-button,.theme-toggle,.header-search:not([open]) summary,.site-header__menu-button):is(:hover,:focus-visible)::before {
  display:block; animation:utility-tooltip var(--transition) 400ms both;
 }
}
@keyframes utility-tooltip { from { opacity:0; } to { opacity:1; } }
.featured-tours { position: relative; touch-action: pan-y pinch-zoom; }
.featured-tours__card :is(h2,h3) a:is(:hover,:focus-visible) { color:inherit; text-decoration:none; }
.featured-tours__viewport { position: relative; }
.featured-tours__viewport.is-slide-transitioning { overflow: clip; }
.featured-tours__viewport > .slide-transition__rail { position: absolute; inset: 0; pointer-events: none; will-change: transform; }
.featured-tours__viewport .slide-transition__panel { position: absolute; top: 0; margin: 0; pointer-events: none; }
.featured-tours__mobile-heading { display: grid; padding-bottom: var(--space-l); }
.featured-tours__mobile-heading h2 { grid-column: 1 / -1; }
@media (width >= 1200px) { .featured-tours__mobile-heading h2 { grid-column: 2 / -1; } }
.featured-tours__slide { align-items: stretch; padding-bottom: var(--space-l); }
.featured-tours__slide[hidden], .featured-tours__controls[hidden] { display: none; }
.featured-tours__media { position: relative; grid-column: 2 / span 7; grid-row: 1; min-width: 0; overflow: hidden; }
.featured-tours__image { display: block; width: 100%; height: 100%; min-height: calc(var(--size-10) * 2); aspect-ratio: 3 / 2; object-fit: cover; }
.featured-tours__difficulty { position: absolute; top: 0; left: 0; writing-mode: horizontal-tb; white-space: nowrap; padding: var(--flow-tight) var(--space-s); font-weight: var(--font-weight-regular); color: var(--color-on-image); }
.featured-tours__difficulty--beginner { background: var(--color-difficulty-blue); }
.featured-tours__difficulty--intermediate { background: var(--color-difficulty-red); }
.featured-tours__difficulty--advanced { background: var(--color-difficulty-black); }
.featured-tours__card { grid-column: 7 / span 5; grid-row: 1; align-self: end; position: relative; min-width: 0; margin-top: var(--space-xl); margin-bottom: calc(-1 * var(--space-l)); padding: var(--space-l); display: flex; flex-direction: column; align-items: flex-start; background: var(--color-surface); }
.featured-tours__slide--image-right .featured-tours__media { grid-column: 5 / span 7; }
.featured-tours__slide--image-right .featured-tours__card { grid-column: 2 / span 5; }
.featured-tours__facts { display: flex; flex-wrap: wrap; gap: var(--flow-tight); }
.featured-tours__controls { grid-column: 2 / -2; display: flex; justify-content: space-between; align-items: center; gap: var(--space-s); margin-top: var(--space-m); }
.featured-tours__arrow { min-width: var(--size-6); min-height: var(--size-6); padding: var(--space-s); }
@media(width < 768px) {
 .featured-tours.section { padding-block: 0; background: var(--color-image); --color-text: var(--color-on-image); color: var(--color-on-image); }
 .featured-tours__slide { min-height: 100vh; min-height: 100svh; padding-block: var(--space-xl); row-gap: 0; align-items: center; }
 .featured-tours__media, .featured-tours__slide--image-right .featured-tours__media { position: absolute; inset: 0; }
 .featured-tours__media::after { content: ''; position: absolute; inset: 0; background: color-mix(in srgb, var(--color-image) 55%, transparent); pointer-events: none; }
 .featured-tours__image { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; }
 .featured-tours__card, .featured-tours__slide--image-right .featured-tours__card { grid-column: 1 / -1; grid-row: 1; align-self: center; margin: 0; padding: 0; --flow-gap: var(--space-m); background: transparent; }
 .featured-tours__difficulty { display: block; z-index: 2; }
 .featured-tours__card .button { max-width: 100%; min-height: var(--size-6); }
 .featured-tours__navigation { position: absolute; inset-inline: 0; bottom: var(--space-m); }
 .featured-tours__controls { grid-column: 1 / -1; margin: 0; }
}
.featured-tours__card { --flow-gap: var(--space-s); }
.featured-tours__facts.tour-overview__facts { display: flex; flex-wrap: wrap; gap: var(--space-m) var(--space-l); margin-top: 0; }
.featured-tours__facts .tour-overview__fact { flex: 0 1 auto; max-width: 100%; }
@media(width < 768px) {
 .featured-tours__facts.tour-overview__facts { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,calc(var(--size-7) * 2)),1fr)); text-align: left; }
}
@media(min-width:768px) {
 .featured-tours__navigation { position: absolute; inset-inline: 0; top: 50%; transform: translateY(-50%); pointer-events: none; }
 .featured-tours__controls { grid-column: 1 / -1; margin-top: 0; }
 .featured-tours__arrow { pointer-events: auto; }
}
@media(width < 768px) {
 .featured-tours__card, .featured-tours__slide--image-right .featured-tours__card { align-items: flex-start; text-align: left; }
 .featured-tours__action { justify-items: start; }
}
@media (width < 768px) {
 .featured-tours--plain-mobile.section { --color-text: inherit; color: var(--color-text); background: var(--color-surface); }
 .featured-tours__mobile-heading { display: grid; padding-top: var(--space-xl); padding-bottom: var(--space-m); }
 .featured-tours__mobile-heading h2 { grid-column: 1 / -1; margin: 0; }
 .featured-tours--plain-mobile .featured-tours__slide { min-height: 0; align-items: start; row-gap: var(--space-m); padding-block: 0 var(--space-l); }
 .featured-tours--plain-mobile .featured-tours__media { display: block; position: relative; inset: auto; grid-column: 1 / -1; grid-row: 1; }
 .featured-tours--plain-mobile .featured-tours__media::after { content: none; }
 .featured-tours--plain-mobile .featured-tours__image { position: static; width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 3; object-fit: cover; }
 .featured-tours--plain-mobile .featured-tours__difficulty { display: block; writing-mode: horizontal-tb; white-space: nowrap; padding: var(--flow-tight) var(--space-s); }
 .featured-tours--plain-mobile .featured-tours__card { grid-column: 1 / -1; grid-row: 2; align-self: start; }
 .featured-tours--plain-mobile .featured-tours__navigation { position: static; padding-bottom: var(--space-xl); }
}
@media (768px <= width < 1200px) {
  .featured-tours__media { grid-column: 2 / span 4; }
  .featured-tours__card { grid-column: 5 / span 3; }
  .featured-tours__slide--image-right .featured-tours__media { grid-column: 4 / span 4; }
  .featured-tours__slide--image-right .featured-tours__card { grid-column: 2 / span 3; }
}
.rich-text { overflow-wrap: anywhere; hyphens: auto; min-width: 0; }
.rich-text > * + * { margin-top: var(--space-m); }
.rich-text p { white-space: break-spaces; }
.rich-text h3 { font-family: var(--font-heading); font-weight: var(--font-weight-heading); }
.rich-text strong { font-weight: var(--font-weight-semibold); }
.rich-text ul { list-style: disc; padding-left: var(--space-m); }
.rich-text ol { list-style: decimal; padding-left: var(--space-m); }
.rich-text li + li { margin-top: var(--flow-tight); }
.rich-text li > p + p, .rich-text li > ul, .rich-text li > ol { margin-top: var(--flow-tight); }
.rich-text--article p { white-space: normal; }
.rich-text--article > h2,.rich-text--article > h3 { margin-top: var(--space-l); }
.rich-text--article em { font-style: italic; }
.rich-text--article blockquote { padding-inline-start: var(--space-m); border-inline-start: 2px solid color-mix(in srgb, var(--color-text) 18%, transparent); }
.rich-text--article figure { margin-block: var(--space-l); }
.rich-text--article figure img { width: 100%; height: auto; }
.rich-text--article figcaption { text-align: center; margin-top: var(--flow-tight); }
.admin-rich-surface figure[data-image-id] { padding: var(--space-m); background: var(--color-surface-elevated); }
.tour-detail-layout__content { min-width: 0; }
.tour-detail__body, .tour-detail__wide { min-width: 0; display: grid; --flow-gap: var(--space-l); }
.tour-detail__body { max-width: var(--prose-width); }
.tour-detail__body > .button { justify-self: start; max-width: 100%; }
.tour-detail__heading { grid-column: 1 / -1; margin-bottom: var(--flow-tight); }
.tour-topo { --tour-topo-space: var(--space-xl); }
.tour-topo.section { padding-block: var(--tour-topo-space); }
.tour-topo > .grid { position: relative; align-items: stretch; }
.tour-topo__rail { grid-column: 1 / span 2; grid-row: 1; position: relative; min-height: var(--size-5); }
.tour-topo__line.topo-process__route { top: var(--space-s); left: 0; width: 100%; height: calc(100% + var(--tour-topo-space) - var(--size-3)); transform: none; }
.tour-topo__line-in.topo-process__route { top: calc(-1 * var(--tour-topo-space)); left: 0; width: 100%; height: calc(var(--tour-topo-space) + var(--size-3)); }
.tour-topo--start .tour-topo__line-in { display: none; }
.tour-topo__number.topo-process__number { top: 0; left: calc(50% - var(--space-s)); }
.tour-topo--end .tour-topo__line { height: calc(100% - var(--size-3)); }
.tour-topo > .grid > .tour-detail__body, .tour-topo > .grid > .tour-detail__wide { grid-column: 4 / span 8; grid-row: 1; }
.tour-topo--right > .grid > .tour-topo__rail { grid-column: 11 / span 2; }
.tour-topo--right > .grid > .tour-detail__body, .tour-topo--right > .grid > .tour-detail__wide { grid-column: 2 / span 8; }
.tour-requirements .tour-topo__line { height: calc(100% - var(--size-3)); }
.tour-topo-crossing__route { grid-column: 2 / -2; margin-inline: calc(-1 * var(--grid-gutter) / 2); position: relative; height: var(--size-8); }
.tour-topo-crossing__desktop.topo-process__route { top: 0; left: 0; width: 100%; height: calc(100% + var(--tour-topo-space)); }
.tour-topo-crossing__mobile { display: none; }
@media(min-width:768px) {
 .tour-topo--connected > .tour-topo-crossing { margin-top: var(--tour-topo-space); }
 .tour-topo--connected:not(.tour-topo--right) .tour-topo-crossing__desktop { transform: scaleX(-1); }
 .tour-topo--connected .topo-process__bolt { top: 24%; left: 38%; }
 .tour-topo--connected .topo-process__piton { top: 62%; right: 38%; }
 .tour-topo--protection-1 .topo-process__bolt { top: 42%; left: 22%; }
 .tour-topo--protection-1 .topo-process__piton { top: 78%; right: 47%; }
 .tour-topo--protection-2 .topo-process__bolt { top: 58%; left: 62%; }
 .tour-topo--protection-2 .topo-process__piton { top: 32%; right: 65%; }
}
.tour-summary__facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.tour-summary__fact--location { grid-column: 2; }
.tour-requirements .tour-detail__wide > h2 { grid-row: 1; }
.tour-requirements .tour-detail__wide > .rich-text { grid-row: 3; }
.tour-requirements__scale { grid-row: 2; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.tour-requirements__level { text-align: center; border-top: var(--size-2) solid var(--level-color); padding: var(--space-s) var(--flow-tight); }
.tour-requirements__level--beginner { --level-color: var(--color-difficulty-blue); }
.tour-requirements__level--intermediate { --level-color: var(--color-difficulty-red); }
.tour-requirements__level--advanced { --level-color: var(--color-difficulty-black); }
.tour-requirements__level.is-current { color: var(--color-on-image); background: var(--level-color); font-weight: var(--font-weight-semibold); }
.tour-requirements__ratings { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-m); }
.tour-requirements__ratings h3 { margin-block-end: var(--flow-tight); }
.tour-requirements__dots { display: flex; gap: var(--flow-tight); }
.tour-requirements__dots span { width: calc(var(--size-1) + var(--size-2)); height: calc(var(--size-1) + var(--size-2)); border-radius: 50%; background: currentColor; opacity: .2; }
.tour-requirements__dots .is-filled { opacity: 1; }
.tour-equipment .tour-detail__body { max-width: var(--prose-width); }
.tour-dates__body { display: grid; gap: var(--space-m); }
.tour-dates__list { list-style: none; padding: 0; display: grid; }
.tour-pricing__list { list-style: none; padding: 0; display: grid; gap: var(--space-m); }
.tour-pricing__list li { display: grid; grid-template-columns: 1fr 2fr; gap: var(--space-m); }
.tour-pricing__services { display: grid; margin-top: var(--space-m); }
.tour-route-goal .cta-section__content { align-items: flex-start; }
.tour-route-goal { min-height: 60svh; display: grid; align-items: center; }
[id^="tour-section-"] { scroll-margin-top: calc(var(--header-height) + var(--space-m)); }
@media(min-width:768px) {
 .tour-gallery .tour-detail__heading { text-align: center; }
}
@media(width < 768px) {
 .tour-topo { --tour-topo-space: var(--space-xl); }
 .tour-topo > .grid > .tour-topo__rail { grid-column: 1; }
 .tour-topo-crossing__route { margin: 0; height: var(--size-6); }
 .tour-topo-crossing__desktop { display: none; }
 .tour-topo-crossing__mobile.topo-process__route { display: block; top: 0; left: 0; width: 100%; height: calc(100% + var(--tour-topo-space)); }
 .tour-detail__body, .tour-detail__wide { --flow-gap: var(--space-m); }
 .tour-summary__facts > div { display: block; }
 .tour-requirements__ratings { grid-template-columns: minmax(0,1fr); }
 .tour-requirements__ratings > div { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--flow-tight); }
 .tour-requirements__ratings h3 { margin-block-end: 0; } 
 .tour-requirements__dots { gap: var(--flow-micro); }
 .tour-requirements__dots span { width: calc(var(--size-1) + var(--size-2)); height: calc(var(--size-1) + var(--size-2)); }
 .tour-pricing__services, .tour-pricing__list li { grid-template-columns: minmax(0,1fr); }
 .tour-pricing__list li { gap: var(--flow-tight); }
 .tour-route-goal .cta-section__content { align-items: flex-start; text-align: left; }
}
@media(width < 768px) {
 .tour-topo > .grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0 var(--grid-gutter); isolation: isolate; }
 .tour-topo > .grid > .tour-topo__rail, .tour-topo > .tour-topo-crossing { display: none; }
 .tour-topo > .grid > .tour-detail__body, .tour-topo > .grid > .tour-detail__wide { grid-column: 1 / -1; --flow-gap: var(--space-l); }
 .tour-topo-crossing__route { grid-column: 1 / -1; width: var(--size-8); justify-self: center; }
 .tour-topo :is(h2,h3,p,dt,dd,li), .tour-topo .rich-text, .tour-topo .tour-summary__facts > div, .tour-topo .tour-requirements__ratings { background-color: var(--color-surface); }
 .tour-topo .button--standard { background-color: var(--color-surface); }
 .tour-pricing__services { gap: var(--space-l); }
}
.expandable-text { min-width: 0; }
.expandable-text.is-collapsed > .expandable-text__content {
 max-height: var(--expandable-height);
 overflow: hidden;
}
.expandable-text__toggle {
 display: block;
 padding: 0;
 border: 0;
 border-radius: 0;
 background: transparent;
 color: inherit;
 font: inherit;
 text-align: left;
 text-transform: none;
 letter-spacing: inherit;
 text-decoration: underline;
 text-underline-offset: .15em;
 cursor: pointer;
}
.expandable-text__toggle:hover { color: inherit; background: transparent; }
.expandable-text__toggle:focus-visible { outline: 2px solid currentColor; outline-offset: var(--size-1); }
.expandable-text__toggle[hidden] { display: none; }
@media(min-width:768px) {
 .tour-equipment > .grid > .tour-detail__body { grid-column: 4 / span 7; max-width: calc(var(--prose-width) * 7 / 8); }
}
.tour-topo__details { left: 0; width: 100%; height: calc(100% + var(--tour-topo-space) - var(--size-3)); }
.tour-topo--end .tour-topo__details, .tour-requirements .tour-topo__details { height: calc(100% - var(--size-3)); }
.tour-booking-description > * { --flow-gap: var(--space-m); }
.tour-booking-description { display: flex; flex-direction: column; align-items: flex-start; margin-top: var(--space-s); font-weight: var(--font-weight-regular); white-space: normal; }
.tour-date-request-note { display: block; font-weight: var(--font-weight-regular); }
.tour-booking-description + .tour-date-request-note { margin-top: var(--space-m); }
.tour-dates__inner { display: grid; gap: var(--space-xl); align-items: start; }
.tour-dates__list li { overflow-wrap: normal; }
@media(width < 768px) {
 .tour-summary__facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-l) var(--space-m); }
 .tour-dates__inner { grid-template-columns: minmax(0,1fr); gap: var(--space-xl); }
 .tour-summary > .grid > .tour-topo__rail, .tour-dates-station > .grid > .tour-topo__rail { display: none; }
 .tour-summary > .grid > .tour-detail__wide, .tour-dates-station > .grid > .tour-detail__wide { padding-top: 0; }
 .tour-summary .tour-topo__line, .tour-dates-station .tour-topo__line { display: none; }
}
.tour-summary { --tour-topo-space: var(--space-l); }
.tour-summary__facts { gap: var(--space-m) var(--space-l); }
.tour-pricing__services { grid-template-columns: minmax(0,1fr); gap: var(--space-l); }
@media(min-width:768px) { .tour-pricing > .grid > .tour-detail__body { max-width: none; } }
.tour-dates__inner { grid-template-columns: minmax(0,1fr); }
.tour-enquiry__text .tour-booking-description { margin-top: 0; }
.tour-dates__entry { border-bottom: var(--line-width) solid var(--color-line); }
.tour-dates__entry time { white-space: nowrap; }
.tour-dates__status { font-weight: var(--font-weight-semibold); }
.tour-dates__button { display: grid; gap: var(--flow-tight); padding-block: var(--space-l); color: inherit; text-decoration: none; }
.tour-dates__entry:first-child .tour-dates__button { padding-top: 0; }
.tour-dates__button[href]:hover .tour-dates__status { text-decoration: underline; text-underline-offset: .2em; }
@media (768px <= width < 1200px) {
  .tour-topo__rail { grid-column: 1 / span 1; }
  .tour-topo > .grid > .tour-detail__body, .tour-topo > .grid > .tour-detail__wide { grid-column: 3 / span 5; }
  .tour-topo--right > .grid > .tour-topo__rail { grid-column: 8 / span 1; }
  .tour-topo--right > .grid > .tour-detail__body, .tour-topo--right > .grid > .tour-detail__wide { grid-column: 2 / span 5; }
  .tour-equipment > .grid > .tour-detail__body { grid-column: 3 / span 5; }
}
.header-search summary {
display:inline-flex; align-items:center; justify-content:center; flex:0 0 var(--utility-size);
  width:var(--utility-size); height:var(--utility-size); padding:0; border:var(--utility-border-width,1px) solid currentColor; border-radius:var(--utility-radius,50%);
  color:inherit; background:transparent; font-family:var(--font-body); font-size:var(--text-body); font-weight:var(--font-weight-regular); line-height:1; cursor:pointer;
}
.header-search summary svg {
width:var(--utility-icon-size); height:var(--utility-icon-size); transform:none;
}
.header-search {
position:relative; flex:0 0 auto; width:var(--utility-size); height:var(--utility-size); color:inherit; transition:width 300ms ease;
}
.header-search summary {
position:absolute; inset-inline-end:0; top:0; z-index:2; list-style:none; transition:transform 300ms ease;
}
.header-search summary::-webkit-details-marker {
display:none;
}
.header-search[open] {
width:var(--utility-size); position:static;
}
.header-search[open] summary {
border-color:transparent; inset-inline-start:0; inset-inline-end:auto; transform:none;
}
.header-search__form {
position:absolute; top:0; inset-inline:0; width:100%; height:var(--utility-size); z-index:1;
  display:flex; align-items:center; border:1px solid currentColor; border-radius:var(--radius-control);
  padding-inline:var(--utility-size) var(--flow-micro); background:var(--color-section-b); color:var(--color-text);
  animation:search-expand 300ms ease;
}
.header-search__form input {
flex:1; width:0; min-width:0; height:100%; padding-inline:var(--flow-tight); color:inherit; font-size:var(--text-body); line-height:1.4; background:transparent; appearance:none; outline:none;
}
.header-search__form input:focus-visible {
background:transparent; outline:none;
}
.header-search__form input::placeholder {
color:inherit; opacity:.75;
}
.header-search__form input::-webkit-search-cancel-button,
.header-search__form input::-webkit-search-decoration {
display:none;
}
.header-search__form button {
flex:0 0 var(--utility-size-compact); display:flex; justify-content:center; align-items:center; height:var(--utility-size-compact); cursor:pointer; visibility:hidden;
}
.header-search__form:has(input:not(:placeholder-shown)) button {
visibility:visible;
}
.header-search summary:focus-visible,
.header-search__form:focus-within {
outline:2px solid currentColor; outline-offset:3px;
}
.header-search__form:focus-within {
outline:none; border-width:2px;
}
.header-search.is-closing .header-search__form {
animation:search-expand 300ms ease reverse both;
}
.header-search.is-closing summary {
transform:none; border-color:currentColor;
}
.header-search.is-closing {
width:var(--utility-size);
}
@keyframes search-expand {
from { clip-path:inset(0 0 0 calc(100% - var(--utility-size)) round var(--utility-search-radius,var(--utility-size))); } to { clip-path:inset(0 round var(--utility-search-radius,var(--utility-size))); }
}
.site-footer__preferences .header-search[open] {
position:static; width:var(--utility-size);
}
.site-footer__preferences .header-search[open] summary {
inset-inline-start:0; inset-inline-end:auto; transform:none;
}
.site-footer__preferences .header-search__form {
inset-inline:0; width:100%; background:var(--color-surface);
}
.site-footer__preferences:has(.header-search[open]) > :not(.header-search),
.site-header__actions:has(.header-search[open]) > :not(.header-search):not(.site-header__menu-button),
.mobile-utilities__controls:has(.header-search[open]) > :not(.header-search) {
visibility:hidden;
}
.search-intro {
display:grid; gap:var(--space-l);
}
.search-form {
display:flex; flex-wrap:wrap; align-items:flex-end; gap:var(--space-s);
}
.search-form .form-field {
flex:1 1 240px;
}
.search-filters,
.search-pagination .pagination {
display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-s);
}
@media (width < 768px) {
.search-filters {
  flex-wrap: nowrap;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  padding-block: var(--flow-tight);
}
.search-filters > .button {
  flex-shrink: 0;
  white-space: nowrap;
}
.mobile-utilities .header-search__form {
background:var(--color-surface);
}
}
@media (prefers-reduced-motion:reduce) {
.header-search,
.header-search summary {
transition:none;
}
.header-search__form {
animation:none;
}
}
.form-section { grid-column: 3 / span 8; display: flex; flex-direction: column; gap: var(--space-l); min-width: 0; }
.form-field { display: flex; flex-direction: column; gap: var(--flow-tight); min-width: 0; }
.form-label { font-weight: var(--font-weight-semibold); }
.form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-m); }
.form-field .input,.form-field .textarea { border: 2px solid var(--color-text); background: transparent; }
.form-field [aria-invalid="true"] { border-color: var(--color-difficulty-red); }
.form-error { color: var(--color-text); margin: 0; }
.form-feedback { padding: var(--space-m); background: var(--color-surface-elevated); border-left: var(--size-1) solid var(--color-difficulty-red); overflow-wrap: anywhere; }
.form-feedback--success { border-color: var(--color-text); }
.form-feedback > * + * { margin-top: var(--space-s); }
.form-feedback ul { padding-left: var(--space-m); }
.form-checkbox { display: flex; align-items: baseline; gap: var(--space-s); }
.form-checkbox input { flex: 0 0 auto; width: var(--size-4); height: var(--size-4); margin: 0; appearance: none; -webkit-appearance: none; border: var(--border-width) solid var(--color-text); border-radius: var(--radius-check); background: transparent; cursor: pointer; }
.form-checkbox input:checked { background: var(--color-text); box-shadow: inset 0 0 0 calc(var(--border-width) + var(--border-width-thin)) var(--color-surface); }
.form-field--error .form-checkbox input { border-color: var(--color-difficulty-red); }
.form-checkbox label { padding-block: var(--flow-tight); }
.form-stack > .button { align-self: flex-start; max-width: 100%; white-space: normal; }
.form-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.form-field input,.form-field textarea,.form-field select,.form-feedback { scroll-margin-top: calc(var(--header-height) + var(--space-m)); }
.form-group { min-width: 0; margin: 0; padding: 0; border: 0; }
.form-group > legend { padding: 0; margin-bottom: var(--space-m); }
.form-group + .form-group { margin-top: var(--space-m); }
.form-field select { width: 100%; min-width: 0; max-width: 100%; }
.phone-field { position: relative; display: flex; min-width: 0; border: 2px solid var(--color-text); }
.form-field .phone-field > .input { border: 0; min-width: 0; flex: 1; width: 0; }
.phone-field .phone-country { max-width: 45%; }
.phone-trigger { order: -1; flex: 0 0 auto; padding: var(--space-s); border: 0; border-radius:var(--radius-field); background: transparent; color: var(--color-text); font: inherit; cursor: pointer; display: inline-flex; align-items: center; }
.phone-trigger svg { flex-shrink: 0; }
.phone-trigger.is-filled { background-color: transparent; }
.phone-picker { position: absolute; z-index: 20; padding: var(--space-s); color: var(--color-text); }
.phone-picker .input { width: 100%; min-width: 0; }
.phone-options { max-height: 15rem; overflow-y: auto; overscroll-behavior: contain; margin-top: var(--flow-tight); }
.phone-options button { display: block; width: 100%; padding: var(--space-s); border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.phone-options button:hover,.phone-options button:focus-visible { background: var(--color-background); text-decoration: underline; }
.phone-field [hidden] { display: none; }
.phone-field { border-radius:var(--radius-field); }
.phone-field:focus-within,
.date-field:focus-within {
 outline:2px solid var(--color-text); outline-offset:var(--size-1);
}
.date-field { border-radius:var(--radius-field); }
.date-field .input { border-radius:inherit; }
.form-choice .button { border-radius:var(--radius-field); }
.phone-field :is(input,select,button):focus,
.phone-field :is(input,select,button):focus-visible,
.date-field .input:focus,
.date-field .input:focus-visible {
 outline:none; box-shadow:none; background:transparent;
}
.phone-options button:is(:hover,:focus-visible) { background:transparent; }
.phone-field:has(.phone-picker:not([hidden])) {
 outline:none;
 border-radius:var(--radius-field);
}
.phone-field:has(.phone-picker:not([hidden]))::before {
 content:''; position:absolute; inset:calc(-1 * var(--size-2)) calc(-1 * var(--size-2)) calc(-1 * var(--border-width));
 border:2px solid var(--color-text); border-bottom:0;
 border-radius:calc(var(--radius-field) + var(--size-2) - var(--border-width)) calc(var(--radius-field) + var(--size-2) - var(--border-width)) 0 0;
 pointer-events:none;
}
.phone-picker {
 inset-inline:calc(-1 * var(--size-2)); top:calc(100% + var(--border-width));
 border:2px solid var(--color-text); border-top:0;
 border-radius:0 0 calc(var(--radius-field) + var(--size-2) - var(--border-width)) calc(var(--radius-field) + var(--size-2) - var(--border-width));
 background:var(--color-surface);
 padding-inline:var(--flow-micro);
}
.form-field .phone-picker .input {
 border-radius:var(--radius-field);
}
.phone-picker .phone-options,
.phone-picker > p { margin-inline:calc(var(--space-s) - var(--size-1)); }
.form-field--error .phone-field { border-color: var(--color-difficulty-red); }
.date-field { position: relative; display: block; width: 100%; max-width: 100%; min-width: 0; min-height: var(--field-height); }
.date-field .input { position: absolute; inset: 0; display: block; box-sizing: border-box; width: 100%; height: 100%; max-width: 100%; min-width: 0; min-inline-size: 0; min-height: var(--field-height); appearance: none; -webkit-appearance: none; padding-block: 0; padding-right: calc(var(--field-padding-x) + var(--size-5)); text-align: center; }
.date-field__placeholder { display: flex; visibility: hidden; pointer-events: none; overflow-wrap: anywhere; white-space: normal; align-items: center; padding: var(--space-s) calc(var(--field-padding-x) + var(--size-5)) var(--space-s) var(--field-padding-x); color: var(--color-text); min-height: var(--field-height); box-sizing: border-box; }
.date-field.is-empty:not(:focus-within) .date-field__placeholder { visibility: visible; }
.date-field.is-empty:not(:focus-within) input { color: transparent; }
.date-field.is-empty:not(:focus-within) input::-webkit-datetime-edit { opacity: 0; }
.date-field__icon { position: absolute; right: var(--field-padding-x); top: 50%; transform: translateY(-50%); pointer-events: none; color: var(--color-text); }
.date-field input::-webkit-calendar-picker-indicator { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; opacity: 0; cursor: pointer; }
.date-field input::-webkit-date-and-time-value { min-width: 0; height: 100%; display: flex; align-items: center; justify-content: center; text-align: center; margin: 0; }
.date-field input::-webkit-datetime-edit { min-width: 0; display: inline-flex; align-items: center; justify-content: center; height: 100%; padding: 0; }
.form-choices { border: 0; margin: 0; padding: 0; min-inline-size: 0; }
.form-choices legend { margin-bottom: var(--flow-tight); }
.form-choices__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-s) var(--grid-gutter); }
.form-choice { position: relative; min-width: 0; max-width: 100%; cursor: pointer; }
.form-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.form-choice .button { width: 100%; box-sizing: border-box; border-color: var(--color-text); font: inherit; font-weight: var(--font-weight-regular); letter-spacing: inherit; text-transform: none; padding-inline: var(--field-padding-x); white-space: normal; height: 100%; text-align: left; justify-content: flex-start; }
.form-choice input:checked + .button { background: var(--color-text); border-color: var(--color-text); color: var(--color-surface); }
.form-choice input:focus-visible + .button { text-decoration: underline; text-underline-offset: .2em; }
[data-step-form] [hidden],[data-form-intro][hidden] { display: none !important; }
[data-step-form] .form-group { margin-top: 0; }
[data-step-form] textarea { min-height: 16rem; }
.form-step-navigation { display: flex; flex-wrap: wrap; gap: var(--space-s); }
@media(width < 768px) {
 .form-section { grid-column: 1 / -1; }
 .form-row { grid-template-columns: 1fr; }
 .form-choices__options { grid-template-columns: minmax(0, 1fr); }
 .form-choice,.form-choice .button { width: 100%; box-sizing: border-box; }
}
.phone-picker { display:flex; flex-direction:column; min-height:0; overflow:auto; overscroll-behavior:contain; }
.phone-picker > .input { flex:0 0 auto; }
.phone-picker .phone-options { min-height:0; flex:1 1 auto; scrollbar-width:thin; }
.phone-field[data-picker-up] .phone-picker { top:auto; bottom:calc(100% + var(--border-width)); border-top:2px solid; border-bottom:0; border-radius:calc(var(--radius-field) + var(--size-2) - var(--border-width)) calc(var(--radius-field) + var(--size-2) - var(--border-width)) 0 0; }
.phone-field[data-picker-up]:has(.phone-picker:not([hidden]))::before { inset:calc(-1 * var(--border-width)) calc(-1 * var(--size-2)) calc(-1 * var(--size-2)); border-top:0; border-bottom:2px solid; border-radius:0 0 calc(var(--radius-field) + var(--size-2) - var(--border-width)) calc(var(--radius-field) + var(--size-2) - var(--border-width)); }
@media (768px <= width < 1200px) {
  .form-section { grid-column: 2 / span 6; }
}
.gallery { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-s); align-items: start; padding-block: var(--space-m); min-width: 0; }
.gallery__track { grid-column: 1 / -1; grid-row: 1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-l); min-width: 0; }
.gallery__track { position: relative; }
.gallery__track.is-slide-transitioning { overflow: clip; }
.slide-transition__rail { position: absolute; inset: 0; pointer-events: none; will-change: transform; }
.slide-transition__panel { position: absolute; top: 0; margin: 0; grid-area: auto; pointer-events: none; }
.gallery .gallery__slide { margin: 0; min-width: 0; }
.gallery__slide[hidden], .gallery__arrow[hidden] { display: none; }
.gallery__open { display: block; aspect-ratio: 3 / 2; overflow: hidden; }
.gallery .gallery__slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gallery .gallery__slide figcaption { text-align: center; margin: var(--space-s) 0 0; }
.gallery__arrow { width: var(--slideshow-control-width); min-width: 0; padding: var(--flow-tight); grid-row: 2; position: relative; display: grid; place-items: center; color: inherit; border-color: currentColor; }
.gallery__previous { grid-column: 1; justify-self: start; }.gallery__next { grid-column: 2; justify-self: end; }
.gallery:has(.gallery__slide:only-child) .gallery__track { grid-template-columns: minmax(0,1fr); }
.gallery-lightbox { width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; padding: var(--space-l) var(--space-s); background: var(--color-image); color: var(--color-white); overflow: auto; }
.gallery-lightbox::backdrop { background: var(--color-image); }
.gallery-lightbox, .gallery-lightbox__body, .gallery-lightbox figure, .gallery-lightbox img { box-shadow: none; }
.gallery-lightbox__body { min-height: 100%; display: grid; grid-template-columns: var(--slideshow-control-width) minmax(0,1fr) var(--slideshow-control-width); align-items: center; gap: var(--space-s); }
.gallery-lightbox figure { margin: 0; min-width: 0; grid-column: 2; grid-row: 1; text-align: center; }
.gallery-lightbox img { display: block; width: 100%; height: 70vh; height: 70dvh; object-fit: contain; }
.gallery-lightbox figcaption { margin-top: var(--space-s); }
.gallery-lightbox button { color: inherit; border-color: currentColor; display: grid; place-items: center; padding: var(--flow-tight); }
.gallery-lightbox__close { position: absolute; right: max(var(--space-s),env(safe-area-inset-right,0px)); top: max(var(--flow-tight),env(safe-area-inset-top,0px)); }
.gallery-lightbox { padding-left:max(var(--space-s),env(safe-area-inset-left,0px)); padding-right:max(var(--space-s),env(safe-area-inset-right,0px)); padding-bottom:max(var(--space-l),env(safe-area-inset-bottom,0px)); }
.gallery-lightbox [data-previous] { grid-column: 1; grid-row: 1; }.gallery-lightbox [data-next] { grid-column: 3; grid-row: 1; }
.gallery-lightbox button[hidden] { display: none; }
@media(width < 768px) { .gallery__track { grid-template-columns: minmax(0,1fr); } .gallery__open { aspect-ratio: 4 / 3; } }
@media(width < 768px) {
 .gallery { grid-template-columns: 1fr 1fr; gap: var(--space-m) var(--space-s); }
 .gallery__track { grid-column: 1 / -1; }
 .gallery__arrow { grid-row: 2; top: auto; transform: none; width: var(--size-6); }
 .gallery__previous { grid-column: 1; justify-self: start; }
 .gallery__next { grid-column: 2; justify-self: end; }
 .gallery-lightbox__body { grid-template-columns: 1fr 1fr; align-content: center; }
 .gallery-lightbox figure { grid-column: 1 / -1; }
 .gallery-lightbox [data-previous], .gallery-lightbox [data-next] { grid-row: 2; width: var(--slideshow-control-width); }
 .gallery-lightbox [data-next] { grid-column: 2; justify-self: end; }
}
.gallery.is-enhanced .gallery__track { align-items: start; }
.gallery.is-enhanced .gallery__slide { grid-row: 1; align-self: start; }
.gallery.is-enhanced .gallery__slide[hidden] { display: block; visibility: hidden; pointer-events: none; }
@media(width < 768px) {
 .gallery-lightbox__body { height: 100%; min-height: 0; grid-template-rows: minmax(0,1fr) auto; }
 .gallery-lightbox figure { max-height: 100%; overflow-y: auto; }
 .gallery-lightbox img { max-width: 100%; margin-inline: auto; }
}
@media(width < 768px) {
 .gallery-lightbox figure {
  height: 100%; min-height: 0; display: grid;
  grid-template-rows: minmax(0,1fr);
  row-gap: var(--space-s); overflow: visible; align-self: stretch;
 }
 .gallery-lightbox img { grid-row: 1; width: 100%; height: 100%; min-height: 0; max-height: none; object-fit: contain; }
 .gallery-lightbox figcaption { grid-row: 2; margin: 0; line-height: var(--line-height-body); overflow-y: auto; }
}
[data-gallery], .gallery-lightbox { touch-action: pan-y pinch-zoom; }
@media (768px <= width < 1200px) {
  .gallery-lightbox [data-next] { grid-column: 2; }
}
:where(.hero__content, .cta-section__content, .discipline-section__content, .about-teaser__content, .about-story__text, .text-section__content, .text-image__content, .content-section__content, .category-intro__content, .tour-info-accordion__body, .faq-section__content, .faq-section__answer, .bullet-point__content, .tour-detail__body, .tour-detail__wide, .tour-booking-description, .tour-pricing__services > div, .tour-overview__content, .tour-overview__action, .tour-overview__fact, .tour-summary__fact, .featured-tours__card, .blog-list, .blog-filters, .expandable-text, .rich-text, .prose, .tour-summary__price) > * {
  --flow-after: var(--flow-gap, 0px);
}
:where(.hero__content, .cta-section__content, .discipline-section__content, .about-teaser__content, .about-story__text, .text-section__content, .text-image__content, .content-section__content, .category-intro__content, .tour-info-accordion__body, .faq-section__content, .faq-section__answer, .bullet-point__content, .tour-detail__body, .tour-detail__wide, .tour-booking-description, .tour-pricing__services > div, .tour-overview__content, .tour-overview__action, .tour-overview__fact, .tour-summary__fact, .featured-tours__card, .blog-list, .blog-filters, .expandable-text, .rich-text, .prose, .tour-summary__price) > :where(p, address, blockquote, dd, .hero__meta) {
  --flow-after: var(--flow-text);
}
:where(.rich-text, .prose, .faq-section__answer) > :where(ul, ol) {
  --flow-after: var(--flow-text);
}
:where(.hero__content, .cta-section__content, .discipline-section__content, .about-teaser__content, .about-story__text, .text-section__content, .text-image__content, .content-section__content, .category-intro__content, .tour-info-accordion__body, .faq-section__content, .faq-section__answer, .bullet-point__content, .tour-detail__body, .tour-detail__wide, .tour-booking-description, .tour-pricing__services > div, .tour-overview__content, .tour-overview__action, .tour-overview__fact, .tour-summary__fact, .featured-tours__card, .blog-list, .blog-filters, .expandable-text, .rich-text, .prose, .tour-summary__price) > :where(p, address, blockquote, dd, .hero__meta):has(+ :where(.button, .hero__actions, .cta-section__actions, .tour-overview__action, .form-step-navigation)),
:where(.expandable-text, .rich-text):has(+ :where(.button, .hero__actions, .cta-section__actions, .tour-overview__action, .form-step-navigation)) > :where(p, .rich-text):where(:last-child, :has(+ [hidden]:last-child)),
:where(.expandable-text, .rich-text):has(+ :where(.button, .hero__actions, .cta-section__actions, .tour-overview__action, .form-step-navigation)) > .rich-text > p:last-child {
  --flow-after: var(--flow-action);
}
:where(.hero__content, .cta-section__content, .discipline-section__content, .about-teaser__content, .about-story__text, .text-section__content, .text-image__content, .content-section__content, .category-intro__content, .tour-info-accordion__body, .faq-section__content, .faq-section__answer, .bullet-point__content, .tour-detail__body, .tour-detail__wide, .tour-booking-description, .tour-pricing__services > div, .tour-overview__content, .tour-overview__action, .tour-overview__fact, .tour-summary__fact, .featured-tours__card, .blog-list, .blog-filters, .expandable-text, .rich-text, .prose, .tour-summary__price) > :where(.hero__meta, p:has(> time)) {
  --flow-after: var(--flow-text);
}
.hero__content:has(+ .hero__actions) > :where(p, address, blockquote, dd, .hero__meta):last-child {
  --flow-after: var(--flow-action);
}
:where(.hero__content, .cta-section__content, .discipline-section__content, .about-teaser__content, .about-story__text, .text-section__content, .text-image__content, .content-section__content, .category-intro__content, .tour-info-accordion__body, .faq-section__content, .faq-section__answer, .bullet-point__content, .tour-detail__body, .tour-detail__wide, .tour-booking-description, .tour-pricing__services > div, .tour-overview__content, .tour-overview__action, .tour-overview__fact, .tour-summary__fact, .featured-tours__card, .blog-list, .blog-filters, .expandable-text, .rich-text, .prose, .tour-summary__price) > :where(label:not(:has(input, select, textarea)), legend, dt, .form-label) {
  --flow-after: var(--flow-tight);
}
:where(.hero__content, .cta-section__content, .discipline-section__content, .about-teaser__content, .about-story__text, .text-section__content, .text-image__content, .content-section__content, .category-intro__content, .tour-info-accordion__body, .faq-section__content, .faq-section__answer, .bullet-point__content, .tour-detail__body, .tour-detail__wide, .tour-booking-description, .tour-pricing__services > div, .tour-overview__content, .tour-overview__action, .tour-overview__fact, .tour-summary__fact, .featured-tours__card, .blog-list, .blog-filters, .expandable-text, .rich-text, .prose, .tour-summary__price) > :where(h1, h2, h3, h4, h5, h6, .heading--1, .heading--2, .heading--3) {
  --flow-after: var(--flow-tight);
}
:where(.tour-overview__fact, .tour-summary__fact) > :where(dt) {
  --flow-after: var(--flow-tight);
}
.tour-summary__price > .tour-overview__price:has(+ .button) {
  --flow-after: var(--flow-action);
}
.cta-section__content > :where(h1, h2, h3, h4, h5, h6, .heading--1, .heading--2, .heading--3):has(+ :is(.button, .cta-section__actions)) {
  --flow-after: calc(2 * var(--text-body));
}
:where(.hero__content, .cta-section__content, .discipline-section__content, .about-teaser__content, .about-story__text, .text-section__content, .text-image__content, .content-section__content, .category-intro__content, .tour-info-accordion__body, .faq-section__content, .faq-section__answer, .bullet-point__content, .tour-detail__body, .tour-detail__wide, .tour-booking-description, .tour-pricing__services > div, .tour-overview__content, .tour-overview__action, .tour-overview__fact, .tour-summary__fact, .featured-tours__card, .blog-list, .blog-filters, .expandable-text, .rich-text, .prose, .tour-summary__price) > :where(p, address, blockquote, dd, .hero__meta):has(+ :where(.tour-overview__facts, .tour-summary__facts)),
:where(.expandable-text):has(+ :where(.tour-overview__facts)) > :where(p):where(:last-child, :has(+ [hidden]:last-child)) {
  --flow-after: var(--flow-action);
}
:where(.hero__content, .cta-section__content, .discipline-section__content, .about-teaser__content, .about-story__text, .text-section__content, .text-image__content, .content-section__content, .category-intro__content, .tour-info-accordion__body, .faq-section__content, .faq-section__answer, .bullet-point__content, .tour-detail__body, .tour-detail__wide, .tour-booking-description, .tour-pricing__services > div, .tour-overview__content, .tour-overview__action, .tour-overview__fact, .tour-summary__fact, .featured-tours__card, .blog-list, .blog-filters, .expandable-text, .rich-text, .prose, .tour-summary__price) > :where(h1, h2, h3, h4, h5, h6, .heading--1, .heading--2, .heading--3):has(+ :where(.tour-overview__facts, .tour-summary__facts)) {
  --flow-after: var(--flow-text);
}
:where(label) > :where(.heading--1, .heading--2, .heading--3) {
  --flow-after: var(--flow-tight);
}
main :is(.hero__content, .cta-section__content, .discipline-section__content, .about-teaser__content, .about-story__text, .text-section__content, .text-image__content, .content-section__content, .category-intro__content, .tour-info-accordion__body, .faq-section__content, .faq-section__answer, .bullet-point__content, .tour-detail__body, .tour-detail__wide, .tour-booking-description, .tour-pricing__services > div, .tour-overview__content, .tour-overview__action, .tour-overview__fact, .tour-summary__fact, .featured-tours__card, .blog-list, .blog-filters, .expandable-text, .rich-text, .prose, .tour-summary__price) > :is(h1, h2, h3, h4, h5, h6, .heading--1, .heading--2, .heading--3, p, address, blockquote, dd, .hero__meta, label:not(:has(input, select, textarea)), legend, dt, .form-label) {
  margin-block: 0 var(--flow-after);
}
main :is(.rich-text, .prose, .faq-section__answer) > :is(ul, ol) {
  margin-block: 0 var(--flow-after);
}
:where(.hero__content, .cta-section__content, .discipline-section__content, .about-teaser__content, .about-story__text, .text-section__content, .text-image__content, .content-section__content, .category-intro__content, .tour-info-accordion__body, .faq-section__content, .faq-section__answer, .bullet-point__content, .tour-detail__body, .tour-detail__wide, .tour-booking-description, .tour-pricing__services > div, .tour-overview__content, .tour-overview__action, .tour-overview__fact, .tour-summary__fact, .featured-tours__card, .blog-list, .blog-filters, .expandable-text, .rich-text, .prose, .tour-summary__price) > :where(h1, h2, h3, h4, h5, h6, .heading--1, .heading--2, .heading--3, p, address, blockquote, dd, .hero__meta, label, legend, dt, ul, ol) + * {
  margin-block-start: 0;
}
main :is(.rich-text, .prose, .faq-section__answer) > :is(h1, h2, h3, h4, h5, h6, p, address, blockquote, ul, ol, figure, .rich-text, .expandable-text) + * {
  margin-block-start: 0;
}
:where(.hero__content, .cta-section__content, .discipline-section__content, .about-teaser__content, .about-story__text, .text-section__content, .text-image__content, .content-section__content, .category-intro__content, .tour-info-accordion__body, .faq-section__content, .faq-section__answer, .bullet-point__content, .tour-detail__body, .tour-detail__wide, .tour-booking-description, .tour-pricing__services > div, .tour-overview__content, .tour-overview__action, .tour-overview__fact, .tour-summary__fact, .featured-tours__card, .blog-list, .blog-filters, .expandable-text, .rich-text, .prose, .tour-summary__price) > :where(:not(h1, h2, h3, h4, h5, h6, .heading--1, .heading--2, .heading--3, p, address, blockquote, dd, .hero__meta, label:not(:has(input, select, textarea)), legend, dt, .form-label, :last-child, :has(+ [hidden]:last-child), .expandable-text:has(> :is(p, .rich-text) + [hidden]:last-child), :is(.expandable-text, .rich-text):has(> :is(p, ul, ol):last-child))) {
  margin-block-end: var(--flow-gap, 0px);
}
main :is(.hero__content, .cta-section__content, .discipline-section__content, .about-teaser__content, .about-story__text, .text-section__content, .text-image__content, .content-section__content, .category-intro__content, .tour-info-accordion__body, .faq-section__content, .faq-section__answer, .bullet-point__content, .tour-detail__body, .tour-detail__wide, .tour-booking-description, .tour-pricing__services > div, .tour-overview__content, .tour-overview__action, .tour-overview__fact, .tour-summary__fact, .featured-tours__card, .blog-list, .blog-filters, .expandable-text, .rich-text, .prose, .tour-summary__price) > :is(:last-child, :has(+ [hidden]:last-child)) {
  margin-block-end: 0;
}
main :is(.hero__content, .cta-section__content, .discipline-section__content, .about-teaser__content, .about-story__text, .text-section__content, .text-image__content, .content-section__content, .category-intro__content, .tour-info-accordion__body, .faq-section__content, .faq-section__answer, .bullet-point__content, .tour-detail__body, .tour-detail__wide, .tour-booking-description, .tour-pricing__services > div, .tour-overview__content, .tour-overview__action, .tour-overview__fact, .tour-summary__fact, .featured-tours__card, .blog-list, .blog-filters, .expandable-text, .rich-text, .prose, .tour-summary__price) > :is(.expandable-text, .rich-text):not(:last-child, :has(+ [hidden]:last-child)) > :is(h1, h2, h3, h4, h5, h6, .heading--1, .heading--2, .heading--3, p, ul, ol, .rich-text):is(:last-child, :has(+ [hidden]:last-child)),
main :is(.hero__content, .cta-section__content, .discipline-section__content, .about-teaser__content, .about-story__text, .text-section__content, .text-image__content, .content-section__content, .category-intro__content, .tour-info-accordion__body, .faq-section__content, .faq-section__answer, .bullet-point__content, .tour-detail__body, .tour-detail__wide, .tour-booking-description, .tour-pricing__services > div, .tour-overview__content, .tour-overview__action, .tour-overview__fact, .tour-summary__fact, .featured-tours__card, .blog-list, .blog-filters, .expandable-text, .rich-text, .prose, .tour-summary__price) > .expandable-text:not(:last-child, :has(+ [hidden]:last-child)) > .rich-text:is(:last-child, :has(+ [hidden]:last-child)) > :is(p, ul, ol):last-child {
  margin-block-end: var(--flow-after);
}
main .hero .hero__content:has(+ :is(.hero__actions, .hero__contacts)) > :last-child {
  margin-block-end: var(--flow-after);
}
main :is(.rich-text, .prose, .faq-section__answer) > :is(p, ul, ol, address, blockquote, figure, .rich-text) + :is(h2, h3, h4, h5, h6):not(:first-child) {
  margin-block-start: var(--flow-text);
}
