/* Дополнительные секции из Figma; единица масштабируется вместе с макетом 1440 px. */
.travel-section { --section-scale: 1; width: 100%; color: #fff; font-family: "Arctic Manrope", sans-serif; -webkit-font-smoothing: antialiased; }
.travel-section *, .travel-section *::before, .travel-section *::after { box-sizing: border-box; }
.travel-section h2, .travel-section h3, .travel-section p, .travel-section figure { margin: 0; }
.travel-section__inner { --u: calc(var(--section-scale) * 1px); margin-inline: 40px; }
.travel-section__title { font: 500 calc(110 * var(--u)) / .8 "Arctic Druk", sans-serif; text-transform: uppercase; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.travel-section__crop { position: relative; overflow: clip; }
.travel-section__crop > img { position: absolute; max-width: none; }
.travel-section__accent { color: #82c5ff; }

.travel-map__inner { padding-top: calc(32 * var(--u)); padding-bottom: calc(61 * var(--u)); }
.travel-section__badge { display: flex; width: max-content; max-width: 100%; height: calc(42 * var(--u)); align-items: center; gap: calc(8 * var(--u)); padding: calc(7 * var(--u)) calc(16 * var(--u)) calc(8 * var(--u)) calc(12 * var(--u)); border: var(--u) solid rgb(255 255 255 / 8%); border-radius: calc(12 * var(--u)); background: #28282833; font-size: calc(18 * var(--u)); font-weight: 400; line-height: 1.4; letter-spacing: -.02em; color: #ffffffe6; white-space: nowrap; }
.travel-section__badge-icon { position: relative; flex: 0 0 calc(8 * var(--u)); width: calc(8 * var(--u)); height: calc(8 * var(--u)); }
.travel-section__badge-icon img { position: absolute; transform: scale(var(--section-scale)); transform-origin: 0 0; max-width: none; }
.travel-map__title { margin-top: calc(24 * var(--u)) !important; margin-left: calc(6 * var(--u)) !important; }
.travel-map__hint { display: none; }
.travel-map__pan { margin-top: calc(49 * var(--u)); margin-left: calc(4 * var(--u)); }
.travel-map__board { --map-scale: var(--section-scale); width: calc(1352px * var(--map-scale)); height: calc(761px * var(--map-scale)); position: relative; }
.travel-map__canvas { position: absolute; width: 1352px; height: 761px; left: 0; top: 0; transform: scale(var(--map-scale)); transform-origin: 0 0; user-select: none; }
.travel-map__canvas img { pointer-events: none; }
/* The backdrop is clipped separately so the map silhouette stays sharp. */
.travel-map__canvas::after { content: ""; position: absolute; inset: 0; z-index: 10; border-radius: 24px; overflow: clip; background: #00000014; backdrop-filter: blur(1px); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.travel-map__canvas.is-previewing::after { opacity: 1; }
.travel-map__chip.is-preview-active { z-index: 11; }
.travel-map__background { position: absolute; inset: 0; overflow: clip; border-radius: 24px; }
.travel-map__background img { position: absolute; width: 100%; height: 119.19%; left: 0; top: -3.12%; max-width: none; }
.travel-map__background::after { content: ""; position: absolute; inset: 0; background: #0000001f; }
.travel-map__city { position: absolute; font: 500 28px / 1.4 "Arctic Druk", sans-serif; letter-spacing: 11.2px; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.travel-map__inset { position: absolute; left: 15px; top: 110px; width: 344px; height: 240px; border-radius: 32px; overflow: clip; border: 1.5px solid #ffffff8f; box-shadow: -20.365px 97.904px 80px #0000002b, -14.107px 67.819px 50.799px #00000021, -9.203px 44.242px 30.554px #0000001c, -5.51px 26.49px 17.45px #00000017; }
.travel-map__inset > img { width: 100%; height: 100%; object-fit: cover; }
.travel-map__city--murmansk { left: 31px; top: 196px; font-size: 24px; letter-spacing: 4.8px; }
.travel-map__route { position: absolute; pointer-events: none; }
.travel-map__route img { display: block; max-width: none; }
.travel-map__chip { position: absolute; display: flex; align-items: center; gap: 10px; padding: 16px 16px 18px; border: 1px solid #ffffff1f; border-radius: 40px; background: #111111e0; backdrop-filter: blur(22px); color: #fff; font: 500 17px / 1.1 "Arctic Manrope", sans-serif; text-align: left; white-space: nowrap; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: background-color .2s, border-color .2s; }
.travel-map__chip--multiline { border-radius: 20px; padding-left: 12px; }
.travel-map__chip--murmansk { font-size: 16px; }
.travel-map__chip img { display: block; flex: 0 0 auto; max-width: none; transform: rotate(1.52deg); }
.travel-map__chip span { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.travel-map__chip:hover, .travel-map__chip:focus-visible { background: #242729f5; border-color: #ffffff70; }
.travel-map__chip:focus-visible { outline: 2px solid #82c5ff; outline-offset: 3px; }
.location-preview { --preview-scale: 1; box-sizing: border-box; position: fixed; z-index: 9000; left: 0; top: 0; width: min(calc(260px * var(--preview-scale)), calc(100vw - 24px), calc(100dvh - 24px)); aspect-ratio: 1; border: 0; border-radius: calc(28px * var(--preview-scale)); background: #161616; overflow: hidden; box-shadow: 0 18px 50px #0006; pointer-events: none; opacity: 0; visibility: hidden; transition: opacity .16s ease, visibility 0s .16s; will-change: transform; }
.location-preview > img { position: absolute; display: block; max-width: none; pointer-events: none; }
.location-preview.is-visible { opacity: 1; visibility: visible; transition-delay: 0s; }
.travel-map__chip.is-preview-active { background: #242729f5; border-color: #ffffff70; }


.travel-hotel__inner { padding-top: calc(45 * var(--u)); }
.travel-hotel__title { margin-top: calc(24 * var(--u)) !important; white-space: nowrap; }
.travel-hotel__stage { position: relative; margin-top: calc(36 * var(--u)); height: calc(954 * var(--u)); }
.travel-hotel__hero { position: absolute; left: calc(4 * var(--u)); top: 0; width: calc(1355 * var(--u)); height: calc(812 * var(--u)); border-radius: calc(24 * var(--u)); }
.travel-hotel__hero img { width: 133.51%; height: 166.33%; left: -16.75%; top: -31.59%; }
.travel-hotel__card { position: absolute; width: calc(401 * var(--u)); height: calc(340 * var(--u)); border: var(--u) solid rgb(255 255 255 / 12%); border-radius: calc(20 * var(--u)); background: rgb(22 22 22 / 48%); -webkit-backdrop-filter: blur(calc(27 * var(--u))); backdrop-filter: blur(calc(27 * var(--u))); }
.travel-hotel__card--water { left: calc(64 * var(--u)); top: calc(-23 * var(--u)); }
.travel-hotel__card--room { left: calc(942 * var(--u)); top: calc(456 * var(--u)); }
.travel-hotel__card--rest { left: calc(521 * var(--u)); top: calc(614 * var(--u)); }
.travel-hotel__thumb { position: absolute; top: calc(7 * var(--u)); right: calc(7 * var(--u)); width: calc(170 * var(--u)); height: calc(170 * var(--u)); border-radius: calc(12 * var(--u)); object-fit: cover; }
.travel-hotel__points { position: absolute; left: calc(19 * var(--u)); top: calc(19 * var(--u)); display: flex; gap: calc(9 * var(--u)); }
.travel-hotel__points > span { position: relative; width: calc(8 * var(--u)); height: calc(8 * var(--u)); }
.travel-hotel__points img { position: absolute; display: block; max-width: none; transform: scale(var(--section-scale)); transform-origin: 0 0; }
.travel-hotel__card h3 { position: absolute; left: calc(16 * var(--u)); top: calc(194 * var(--u)); font: 500 calc(44 * var(--u)) / .9 "Arctic Druk", sans-serif; letter-spacing: .01em; text-transform: uppercase; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.travel-hotel__card p { position: absolute; left: calc(16 * var(--u)); top: calc(246 * var(--u)); width: calc(322 * var(--u)); color: #ffffff8f; font-size: calc(20 * var(--u)); font-weight: 500; line-height: 1.3; letter-spacing: -.01em; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.travel-hotel__card--room p { width: calc(353 * var(--u)); }

.travel-fit__inner { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; padding-top: calc(56 * var(--u)); padding-bottom: calc(64 * var(--u)); align-items: start; }
.travel-fit__badge { grid-column: 1 / -1; margin-bottom: calc(24 * var(--u)) !important; }
.travel-fit__aside { position: sticky; top: min(24px, calc(100svh - 567 * var(--u))); padding-left: calc(4 * var(--u)); }
.travel-fit__title { max-width: calc(645 * var(--u)); line-height: .8; }
.travel-fit__title span { display: block; }
.travel-fit__company { width: calc(440 * var(--u)); height: calc(257 * var(--u)); border-radius: calc(16 * var(--u)); margin-top: calc(29 * var(--u)) !important; }
.travel-fit__company img { width: 114.66%; height: 131%; left: -7.33%; top: -19.86%; }
.travel-fit__intro { width: calc(460 * var(--u)); max-width: 100%; margin-top: calc(26 * var(--u)) !important; font-size: calc(20 * var(--u)); font-weight: 500; line-height: 1.3; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.travel-fit__photo { width: 100%; height: calc(515 * var(--u)); border-radius: calc(16 * var(--u)); }
.travel-fit__photo--floating img { width: 164.78%; height: 170%; left: -32.39%; top: -35%; }
.travel-fit__photo--tundra { width: calc(676 * var(--u)); margin-top: calc(72 * var(--u)) !important; }
.travel-fit__photo--tundra img { width: 100%; height: 174.96%; left: 0; top: -50.76%; }
.travel-fit__points { margin-top: calc(64 * var(--u)); }
.travel-fit__point { position: relative; padding-bottom: calc(40 * var(--u)); margin-bottom: calc(32 * var(--u)); }
.travel-fit__point:last-child { padding-bottom: 0; margin-bottom: 0; }
.travel-fit__point h3 { font: 500 calc(56 * var(--u)) / .9 "Arctic Druk", sans-serif; text-transform: uppercase; text-box-trim: trim-both; text-box-edge: cap alphabetic; white-space: nowrap; }
.travel-fit__point p { margin-top: calc(20 * var(--u)); font-size: calc(20 * var(--u)); font-weight: 500; line-height: 1.3; color: #fffc; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.travel-fit__divider { position: absolute; left: 0; bottom: 0; transform: scale(var(--section-scale)); transform-origin: 0 100%; max-width: none; }

.travel-cost__inner { padding-top: calc(55 * var(--u)); padding-bottom: calc(38 * var(--u)); }
.travel-cost__title { white-space: nowrap; }
.travel-cost__title { margin-top: calc(24 * var(--u)) !important; }
.travel-cost__group { margin-top: calc(28 * var(--u)); }
.travel-cost__group + .travel-cost__group { margin-top: calc(32 * var(--u)); }
.travel-cost__group-title { margin-left: calc(20 * var(--u)) !important; font: 500 calc(36 * var(--u)) / .9 "Arctic Druk", sans-serif; text-transform: uppercase; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.travel-cost__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(12 * var(--u)); margin: calc(16 * var(--u)) calc(4 * var(--u)) 0; }
.travel-cost__card { display: flex; align-items: center; gap: calc(18 * var(--u)); height: calc(120 * var(--u)); padding: calc(16 * var(--u)) calc(20 * var(--u)) calc(22 * var(--u)) calc(16 * var(--u)); border-radius: calc(16 * var(--u)); background: #ffffff08; }
.travel-cost__card--center { align-items: center; gap: calc(16 * var(--u)); }
.travel-cost__icon { position: relative; flex: 0 0 calc(80 * var(--u)); height: calc(80 * var(--u)); margin-top: calc(2 * var(--u)); border-radius: calc(12 * var(--u)); background: #ffffff0a; }
.travel-cost__group--included .travel-cost__icon { flex-basis: calc(90 * var(--u)); height: calc(90 * var(--u)); }
.travel-cost__group--included .travel-cost__card { border-radius: calc(20 * var(--u)); }
.travel-cost__icon img { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) scale(var(--section-scale)); max-width: none; }
.travel-cost__copy { flex: 1; min-width: 0; }
.travel-cost__copy h4 { margin: 0; font: 500 calc(32 * var(--u)) / .9 "Arctic Druk", sans-serif; letter-spacing: .02em; text-transform: uppercase; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.travel-cost__copy p { margin-top: calc(8 * var(--u)); font-size: calc(20 * var(--u)); font-weight: 500; line-height: 1.2; color: #fffc; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.travel-hotel__card h3, .travel-fit__point h3, .travel-cost__group-title, .travel-cost__copy h4 { text-box-trim: none; }
.travel-hotel__card h3 { left: calc(15 * var(--u)); top: calc(193 * var(--u)); }
.travel-hotel__card p { left: calc(15 * var(--u)); top: auto; bottom: calc(27 * var(--u)); text-wrap: balance; }
.travel-hotel__thumb { top: calc(7 * var(--u)); right: calc(7 * var(--u)); }
.travel-map__chip { background: rgba(17, 17, 17, .88); border-color: rgba(255, 255, 255, .12); }
.travel-cost__card { background: rgba(255, 255, 255, .03); }
.travel-cost__icon { background: rgba(255, 255, 255, .04); }
.travel-fit__point p, .travel-fit__intro { letter-spacing: -.01em; }
.travel-fit__point p[data-node-id="33:202"] { white-space: pre-wrap; }

@media (max-width: 980px) {
  .travel-section__inner { --u: 1px; margin-inline: 16px; }
  .travel-section__title { font-size: clamp(45px, 10vw, 76px); line-height: .9; white-space: normal; }
  .travel-map__inner { padding-top: 32px; padding-bottom: 32px; }
  .travel-section__badge { font-size: 14px; height: 34px; padding: 7px 12px 8px 10px; }
  .travel-map__title { margin-top: 20px !important; margin-left: 0 !important; }
  .travel-map__pan { margin-top: 28px; margin-left: 0; overflow-x: auto; border-radius: 18px; scrollbar-color: #555 #202020; overscroll-behavior-x: contain; }
  .travel-map__board { --map-scale: .8; }
  .travel-hotel__inner { padding-top: 32px; padding-bottom: 32px; }
  .travel-hotel__title { margin-top: 20px !important; }
  .travel-hotel__stage { display: grid; gap: 12px; height: auto; margin-top: 28px; }
  .travel-hotel__hero { position: relative; inset: auto; width: 100%; height: auto; aspect-ratio: 1355 / 812; border-radius: 18px; margin-bottom: 4px !important; }
  .travel-hotel__card { position: relative; inset: auto; width: 100%; min-height: 261px; height: auto; padding: 144px 16px 20px; border-radius: 16px; }
  .travel-hotel__thumb { top: 8px; right: 8px; width: 120px; height: 120px; }
  .travel-hotel__card h3 { position: static; font-size: 36px; }
  .travel-hotel__card p { position: static; margin-top: 16px; width: 100%; max-width: 35em; font-size: 15px; line-height: 1.45; }
  .travel-hotel__card p br { display: none; }
  .travel-fit__inner { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-top: 32px; padding-bottom: 32px; }
  .travel-fit__badge { margin-bottom: -12px !important; }
  .travel-fit__aside { position: static; padding-left: 0; }
  .travel-fit__title { max-width: 100%; }
  .travel-fit__company { width: 100%; height: auto; aspect-ratio: 440 / 257; margin-top: 24px !important; }
  .travel-fit__intro { width: 100%; margin-top: 20px !important; max-width: 38em; font-size: 15px; line-height: 1.5; }
  .travel-fit__intro br { display: none; }
  .travel-fit__photo { height: auto; aspect-ratio: 680 / 515; }
  .travel-fit__points { margin-top: 32px; }
  .travel-fit__point { padding-bottom: 28px; margin-bottom: 28px; border-bottom: 1px solid #ffffff1f; }
  .travel-fit__point:last-child { border: 0; }
  .travel-fit__point h3 { font-size: clamp(32px, 7.5vw, 48px); white-space: normal; }
  .travel-fit__point p { width: 100% !important; margin-top: 16px; font-size: 15px; line-height: 1.5; }
  .travel-fit__divider { display: none; }
  .travel-fit__photo--tundra { width: 100%; aspect-ratio: 676 / 515; margin-top: 32px !important; }
  .travel-cost__inner { padding-top: 32px; padding-bottom: 32px; }
  .travel-cost__title { margin-top: 20px !important; }
  .travel-cost__group { margin-top: 28px; }
  .travel-cost__group-title { margin-left: 0 !important; font-size: 32px; }
  .travel-cost__grid { grid-template-columns: minmax(0, 1fr); margin: 16px 0 0; gap: 10px; }
  .travel-cost__card { min-height: 108px; height: auto; padding: 16px; gap: 14px; align-items: center; }
  .travel-cost__icon { flex-basis: 56px; height: 56px; margin-top: 0; }
  .travel-cost__group--included .travel-cost__icon { flex-basis: 56px; height: 56px; }
  .travel-cost__copy h4 { font-size: 29px; line-height: .95; }
  .travel-cost__copy p { font-size: 14px; line-height: 1.4; margin-top: 10px; }
  .travel-cost__copy br { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .location-preview, .travel-map__chip, .travel-map__canvas::after { transition: none; }
}

