@font-face {
  font-family: "Arctic Druk";
  src: url("../assets/fonts/DrukLCG-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Arctic Manrope";
  src: url("../assets/fonts/Manrope-Variable.ttf") format("truetype");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}

:root { color-scheme: dark; background: #161616; }
body { margin: 0; }
html { scrollbar-color: #454c47 #161616; scrollbar-gutter: stable; }
.trip-program {
  --program-bg: #161616;
  --program-card: #212325;
  width: 100%;
  container-type: inline-size;
  color: #fff;
  background: var(--program-bg);
  font-family: "Arctic Manrope", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.trip-program *, .trip-program *::before, .trip-program *::after { box-sizing: border-box; }
.trip-program h1, .trip-program h2, .trip-program h3, .trip-program p, .trip-program figure { margin: 0; }
.trip-program button { font: inherit; color: inherit; border: 0; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.trip-program button:focus-visible { outline: 2px solid #ffffff80; outline-offset: -2px; }
.trip-program__inner { --u: calc(var(--program-scale, 1) * 1px); padding: calc(48 * var(--u)) 40px calc(45 * var(--u)); }
.trip-program__badge { --section-scale: var(--program-scale,1); margin-bottom: calc(24 * var(--u)) !important; }
.trip-program__title {
  max-width: calc(1090 * var(--u));
  margin-bottom: calc(42 * var(--u)) !important;
  font: 500 calc(110 * var(--u)) / .8 "Arctic Druk", sans-serif;
  text-transform: uppercase;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.trip-program__days { display: grid; gap: calc(12 * var(--u)); }
.trip-program__day { position: relative; overflow: clip; border-radius: calc(20 * var(--u)); background: var(--program-card); }
.trip-program__trigger {
  width: 100%; height: calc(100 * var(--u));
  padding: 0 calc(8 * var(--u)) 0 calc(24 * var(--u));
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  background: transparent; text-align: left; transition: background-color .25s ease;
}
.trip-program__trigger[aria-expanded="false"]:focus-visible { background: #2b2d2f; }
@media (hover: hover) {
  .trip-program__trigger[aria-expanded="false"]:hover { background: #2b2d2f; }
}
.trip-program__day-title { font: 500 calc(52 * var(--u)) / .9 "Arctic Druk", sans-serif; text-transform: uppercase; transform: translateY(calc(-.5 * var(--u))); }
.trip-program__day-separator { color: rgba(255, 255, 255, .32); }
.trip-program__toggle { position: relative; flex: 0 0 calc(64 * var(--u)); height: calc(64 * var(--u)); }
.trip-program__toggle img { position: absolute; left: 50%; top: 50%; max-width: none; transform: translate(-50%, -50%) scale(var(--program-scale, 1), calc(-1 * var(--program-scale, 1))); transition: opacity .2s; }
.trip-program__toggle-closed { opacity: 1; }
.trip-program__toggle-open { opacity: 0; }
.trip-program__day.is-open .trip-program__toggle-open { opacity: 1; }
.trip-program__day.is-open .trip-program__toggle-closed { opacity: 0; }

.trip-program__body { display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows .42s cubic-bezier(.22, 1, .36, 1), visibility 0s .42s; }
.trip-program__day.is-open .trip-program__body { grid-template-rows: 1fr; visibility: visible; transition-delay: 0s; }
.trip-program__body-inner { min-height: 0; overflow: clip; }
.trip-program__content {
  display: grid;
  grid-template-columns: minmax(0, 656fr) minmax(0, var(--media-track));
  align-items: start;
  gap: calc((656 - var(--media-width)) * var(--u));
  padding: 0 calc(24 * var(--u)) calc(24 * var(--u));
}
.trip-program__rows { display: flex; flex-direction: column; gap: calc(8 * var(--u)); }
.trip-program__book {
  display: grid; place-items: center; height: calc(56 * var(--u));
  margin-top: calc(3 * var(--u)); border-radius: calc(12 * var(--u));
  background: #fff; color: #062d4a; text-decoration: none;
  font: 500 calc(28 * var(--u)) / 1.1 "Arctic Druk", sans-serif;
  letter-spacing: .02em; text-transform: uppercase;
}
.trip-program__book span { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.trip-program__book:focus-visible { outline: 2px solid #82c5ff; outline-offset: 3px; }
.trip-program .trip-program__row {
  width: 100%; padding: calc(16 * var(--u)) calc(20 * var(--u)) calc(18 * var(--u)) calc(16 * var(--u));
  border: var(--u) solid rgba(255, 255, 255, .08); border-radius: calc(16 * var(--u));
  background: rgba(255, 255, 255, 0); text-align: left;
  transition: border-color .25s ease, background-color .25s ease;
}
.trip-program .trip-program__row.is-active { border-color: rgba(255, 255, 255, .12); background: rgba(255, 255, 255, .02); }
.trip-program__row span {
  display: block; width: calc(622 * var(--u)); max-width: 100%; opacity: .8;
  font-size: calc(20 * var(--u)); font-weight: 500; line-height: 1.3;
  text-align: left; white-space: pre;
  text-box-trim: trim-both; text-box-edge: cap alphabetic;
  transition: opacity .25s ease;
}
.trip-program__row.is-active span { opacity: 1; }
.trip-program__media {
  position: relative;
  width: 100%; aspect-ratio: var(--media-width) / var(--media-height); border-radius: calc(12 * var(--u));
  overflow: clip; background: #d9d9d9;
}
.trip-program__media::after { content: ""; position: absolute; z-index: 3; inset: 0; border: var(--u) solid rgba(255, 255, 255, .06); border-radius: inherit; pointer-events: none; }
.trip-program__day--borderless-photo .trip-program__media::after { content: none; }
.trip-program__photo { position: absolute; inset: 0; opacity: 0; visibility: hidden; overflow: hidden; background: #d9d9d9; transition: opacity .32s ease-in-out, visibility 0s .32s; }
.trip-program__photo.is-active { opacity: 1; visibility: visible; z-index: 1; transition-delay: 0s; }
.trip-program__photo img { position: absolute; max-width: none; }
.trip-program__copy, .trip-program__gallery { display: none; }
.trip-program__dialog { box-sizing: border-box; color: #fff; background: #212325; font-family: "Arctic Manrope",sans-serif; border: 1px solid #ffffff1a; border-radius: calc(20 * var(--mu,1px)); padding: 0; width: calc(100% - 16 * var(--mu,1px)); max-width: 574px; max-height: calc(100dvh - 96 * var(--mu,1px)); margin: 0 auto; inset: auto 0 calc(12 * var(--mu,1px)); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #ffffff30 transparent; }
.trip-program__dialog *, .trip-program__dialog *::before, .trip-program__dialog *::after { box-sizing: border-box; }
.trip-program__dialog figure { margin: 0; }
.trip-program__dialog { width: calc(374 * var(--mu,1px)); right: 0; }
.trip-program__dialog button { border: 0; color: inherit; -webkit-tap-highlight-color: transparent; }
.trip-program__dialog::backdrop { background: #0006; backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); }
.trip-program__dialog[open] { animation: program-dialog-arrive .25s cubic-bezier(.22,1,.36,1); }
.trip-program__dialog-header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; min-height: calc(61 * var(--mu,1px)); padding: calc(18 * var(--mu,1px)) calc(48 * var(--mu,1px)) calc(14 * var(--mu,1px)) calc(16 * var(--mu,1px)); background: #212325; border-radius: inherit; }
.trip-program__dialog-header h2 { margin: 0; font: 500 calc(32 * var(--mu,1px))/.9 "Arctic Druk",sans-serif; text-transform: uppercase; }
.trip-program__dialog-close { position: absolute; top: calc(10 * var(--mu,1px)); right: calc(8 * var(--mu,1px)); width: calc(36 * var(--mu,1px)); height: calc(36 * var(--mu,1px)); display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: #fff; font: 400 calc(32 * var(--mu,1px))/1 "Arctic Manrope",sans-serif; cursor: pointer; }
.trip-program__dialog-close:focus-visible { outline: 2px solid #82c5ff; border-radius: 8px; }
.trip-program__dialog .trip-program__gallery { padding-inline: calc(8 * var(--mu,1px)); }
.trip-program__dialog .trip-program__gallery-track { gap: calc(8 * var(--mu,1px)); }
.trip-program__dialog .trip-program__slide { aspect-ratio: 356/250; }
.trip-program__dialog .trip-program__slide img { width: 100% !important; height: 100% !important; inset: 0 !important; object-fit: cover !important; }
.trip-program__dialog[data-day="0"] .trip-program__slide:first-child img { width: 129.8% !important; height: 104% !important; left: -8.09% !important; top: .11% !important; object-fit: fill !important; }
.trip-program__dialog .trip-program__gallery-nav { justify-content: center; min-height: calc(32 * var(--mu,1px)); padding: 0; }
.trip-program__dialog .trip-program__dots { gap: 0; }
.trip-program__dialog .trip-program__dot { width: calc(14 * var(--mu,1px)); height: calc(28 * var(--mu,1px)); }
.trip-program__dialog .trip-program__dot { appearance: none; }
.trip-program__dialog .trip-program__dot::before { content: none; }
.trip-program__dot > span { display: block; width: calc(6.857 * var(--mu,1px)); height: calc(6.857 * var(--mu,1px)); border-radius: 50%; background: #ffffff4d; }
.trip-program__dot[aria-current="true"] > span { background: #fff; }
.trip-program__dialog .trip-program__counter { display: none; }
.trip-program__dialog .trip-program__copy { padding: 0 calc(16 * var(--mu,1px)) calc(24 * var(--mu,1px)); gap: calc(20 * var(--mu,1px)); }
.trip-program__dialog .trip-program__book { --u: var(--mu,1px); margin-top: 0; }
.trip-program__dialog .trip-program__copy p { margin: 0; font-size: calc(16 * var(--mu,1px)); font-weight: 500; line-height: 1.4; text-wrap: pretty; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
@keyframes program-dialog-arrive { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }

@media (max-width: 980px) {
  .trip-program__inner { --u: 1px; padding: 32px 16px; }
  .trip-program__badge { margin-bottom: 20px !important; }
  .trip-program__title { max-width: 100%; margin-bottom: 28px !important; font-size: clamp(45px, 11vw, 72px); line-height: .9; }
  .trip-program__days { gap: 10px; }
  .trip-program__day { border-radius: 16px; }
  .trip-program__trigger { min-height: 80px; height: auto; padding: 12px 12px 12px 16px; gap: 12px; }
  .trip-program__day-title { font-size: clamp(28px, 5.4vw, 38px); line-height: 1; transform: none; }
  .trip-program__toggle { flex-basis: 48px; height: 48px; }
  .trip-program__toggle img { transform: translate(-50%, -50%) scale(.890625, -.890625); }
  .trip-program__content { display: flex; flex-direction: column; gap: 16px; padding: 0 12px 20px; }
  .trip-program__media, .trip-program__rows { display: none; }
  .trip-program__copy { display: grid; gap: 20px; padding: 4px 4px 0; }
  .trip-program__copy p { color: #fff; font-size: 15px; font-weight: 500; line-height: 1.55; text-wrap: pretty; }
  .trip-program__gallery { display: block; width: 100%; min-width: 0; }
  .trip-program__gallery-track {
    display: flex; gap: 12px; overflow-x: auto;
    scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
    scrollbar-width: none; border-radius: 12px;
  }
  .trip-program__gallery-track::-webkit-scrollbar { display: none; }
  .trip-program__slide {
    position: relative; flex: 0 0 100%; min-width: 0;
    aspect-ratio: 604 / 514; overflow: hidden; border-radius: 12px;
    scroll-snap-align: start; scroll-snap-stop: always; background: #d9d9d9;
  }
  .trip-program__slide img { position: absolute; max-width: none; }
  .trip-program__gallery-nav { display: flex; align-items: center; justify-content: space-between; min-height: 36px; padding-top: 4px; }
  .trip-program__dots { display: flex; gap: 2px; }
  .trip-program__dot { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; background: transparent; }
  .trip-program__dot::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #ffffff4d; }
  .trip-program__dot[aria-current="true"]::before { background: #fff; }
  .trip-program__counter { color: #ffffffa3; font-size: 12px; font-variant-numeric: tabular-nums; }
  .trip-program__gallery-track:focus-visible, .trip-program button:focus-visible { outline-color: #fff; }
}
@media (prefers-reduced-motion: reduce) {
  .trip-program__dialog[open] { animation: none; }
  .trip-program__body, .trip-program__photo, .trip-program__toggle img, .trip-program__row span, .trip-program .trip-program__row { transition: none; }
}
