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

    :root {
      --orange: #FD4A22;
      --dark: #1F1F1F;
      --bg-light: #F3F2EE;
      --bg-card: #E4E2DB;
      --white: #FFFFFF;
      --text-dark: #1C1C1C;
      --text-mid: #555555;
      --text-light: #8F8F8F;
      --font-h: 'Oswald', 'Arial Narrow', sans-serif;
      --font-b: 'Inter', Arial, sans-serif;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: var(--font-b);
      background: var(--bg-light);
      color: var(--text-dark);
      overflow-x: hidden;
    }

    /* ══════════════════════════════════════════
   NAV — floating pill (top of page)
   On scroll → compact sticky bar
══════════════════════════════════════════ */
    nav {
      position: fixed;
      top: 16px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 300;
      width: calc(100% - 160px);
      max-width: 100%;
      background: #1F1F1F;
      border-radius: 50px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 20px 20px 20px 40px;
      transition: top 0.3s, border-radius 0.3s, padding 0.3s, width 0.3s;
    }

    nav.scrolled {
      top: 0;
      border-radius: 0;
      width: 100%;
      max-width: 100%;
      padding: 20px;
      height: 70px;
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 0;
      flex-shrink: 0;
    }

    .logo-bg {
      background: var(--orange);
      padding: 4px 14px 4px 10px;
      font-family: var(--font-h);
      font-size: 16px;
      font-weight: 700;
      color: #fff;
      letter-spacing: 1px;
      text-transform: uppercase;
      clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
    }

    .logo-text {
      font-family: var(--font-h);
      font-size: 16px;
      font-weight: 700;
      color: #fff;
      letter-spacing: 1px;
      text-transform: uppercase;
      margin-left: 6px;
    }

    .nav-links {
      display: flex;
      gap: 32px;
      list-style: none;
    }

    .nav-links a {
      font-size: 14px;
      color: rgba(255, 255, 255, 0.7);
      text-decoration: none;
      transition: color 0.2s;
    }

    .nav-links a:hover {
      color: #fff;
    }

    .nav-right {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .nav-phone {
      font-size: 14px;
      font-weight: 700;
      color: #fff;
      text-decoration: none;
      white-space: nowrap;
    }

    .nav-soc {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.06);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 12px;
      color: rgba(255, 255, 255, 0.6);
      text-decoration: none;
      transition: 0.2s;
      flex-shrink: 0;
    }

    .nav-soc:hover {
      border: 1px solid var(--orange);
      color: var(--orange);
    }

    /* Burger button */
    .burger {
      display: none;
      flex-direction: column;
      justify-content: center;
      gap: 5px;
      width: 40px;
      height: 40px;
      border: none;
      background: rgb(31 31 31);
      border-radius: 50%;
      cursor: pointer;
      padding: 10px;
      flex-shrink: 0;
      transition: background 0.2s;
    }

    .burger:hover {
      background: rgba(255, 255, 255, 0.18);
    }

    .burger span {
      display: block;
      height: 2px;
      background: #fff;
      border-radius: 2px;
      transition: transform 0.3s, opacity 0.3s;
    }

    .burger.open span:nth-child(1) {
      transform: translateY(7px) rotate(45deg);
    }

    .burger.open span:nth-child(2) {
      opacity: 0;
    }

    .burger.open span:nth-child(3) {
      transform: translateY(-7px) rotate(-45deg);
    }

    /* Mobile drawer */
    .mobile-menu {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 250;
      pointer-events: none;
    }

    .mobile-menu.open {
      pointer-events: all;
    }

    .mobile-menu-overlay {
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.5);
      backdrop-filter: blur(4px);
      opacity: 0;
      transition: opacity 0.3s;
    }

    .mobile-menu.open .mobile-menu-overlay {
      opacity: 1;
    }

    .mobile-menu-panel {
      position: absolute;
      top: 16px;
      left: 16px;
      right: 16px;
      background: #1a1a1a;
      border-radius: 20px;
      padding: 20px;
      overflow: hidden;
      transform: translateY(-20px) scale(0.97);
      opacity: 0;
      transition: transform 0.35s cubic-bezier(.32, 1.2, .42, 1), opacity 0.3s;
    }

    .mobile-menu.open .mobile-menu-panel {
      transform: translateY(0) scale(1);
      opacity: 1;
    }

    .mobile-menu-top {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 24px;
    }

    .mobile-close {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      border: 1px solid rgba(255, 255, 255, 0.2);
      background: transparent;
      color: #fff;
      font-size: 18px;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: 0.2s;
    }

    .mobile-close:hover {
      background: rgba(255, 255, 255, 0.1);
    }

    .mobile-nav-links {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 4px;
      margin-bottom: 24px;
    }

    .mobile-nav-links a {
      display: block;
      padding: 12px 16px;
      border-radius: 12px;
      font-family: var(--font-h);
      font-size: 18px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 1px;
      color: rgba(255, 255, 255, 0.8);
      text-decoration: none;
      transition: 0.2s;
    }

    .mobile-nav-links a:hover,
    .mobile-nav-links a:active {
      background: rgba(255, 255, 255, 0.07);
      color: #fff;
    }

    .mobile-menu-footer {
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      padding-top: 20px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .mobile-phone {
      font-size: 15px;
      font-weight: 600;
      color: #fff;
      text-decoration: none;
    }

    .mobile-socs {
      display: flex;
      gap: 8px;
    }



    /* HERO */
    .hero {
      position: relative;
      height: 100vh;
      min-height: 580px;
      overflow: hidden;
      padding: 160px 80px;
    }

    .hero-bg {
      position: absolute;
      inset: 0;
      background: url('img/hero-bridge-1536.webp') center/cover no-repeat;
    }

    .hero-bg::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(105deg, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.15) 100%);
    }

    .hero-content {
      position: relative;
      z-index: 2;
      display: flex;
      flex-direction: column;
      justify-content: center;
      /* height: 100%; */
      /* padding: 80px 60px; */
      max-width: 1020px;
    }

    .hero-content .btn {
      margin-bottom: 100px;
	  width: max-content;
    }

    .hero h1 {
      font-family: var(--font-h);
      font-size: clamp(40px, 4.5vw, 80px);
      font-weight: 700;
      line-height: 1.15;
      text-transform: uppercase;
      color: #fff;
      letter-spacing: 1px;
      margin-bottom: 18px;
    }

    .hero p {
      font-size: 24px;
      line-height: 1.65;
      color: rgb(255 255 255);
      max-width: 503px;
      margin-bottom: 28px;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: var(--orange);
      color: #fff;
      font-family: var(--font-h);
      font-size: 20px;
      width: auto;
      min-width: 300px;
      max-width: none;
      box-sizing: border-box;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      padding: 15px 48px;
      border-radius: 50px;
      text-decoration: none;
      border: none;
      cursor: pointer;
      transition: background 0.2s, transform 0.15s;
    }

    .btn:hover {
      background: #f24d12;
      transform: translateY(-1px);
    }

    .btn.outline-dark {
      background: transparent;
      border: 2px solid var(--text-dark);
      color: var(--text-dark);
    }

    .btn.outline-dark:hover {
      background: var(--text-dark);
      color: #fff;
    }

    .hero-bar {
      background: #1F1F1F;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      padding: 60px 80px;
      border-bottom-left-radius: 20px;
      border-bottom-right-radius: 20px;
    }

    .hb-item {
      padding: 0 24px;
      /* border-right: 1px solid rgba(255,255,255,0.08); */
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .hb-item:first-child {
      padding-left: 0;
    }

    .hb-item:last-child {
      border-right: none;
    }

    .hb-icon {
	height: 40px;
      font-size: 20px;
      color: var(--orange);
      line-height: 1;
    }

    .hb-title {
      font-family: var(--font-h);
      font-size: 24px;
      font-weight: 700;
      color: #fff;
      text-transform: uppercase;
      letter-spacing: 0.8px;
    }

    .hb-desc {
      font-size: 16px;
      color: rgba(255, 255, 255, 0.48);
      line-height: 1.5;
    }

    /* SECTIONS */
    section {
      padding: 72px 60px;
    }

    .s-label {
      font-size: 16px;
      font-weight: 600;
      letter-spacing: 2.5px;
      text-transform: uppercase;
      color: var(--text-light);
      text-align: center;
      margin-bottom: 8px;
    }

    .s-title {
      font-family: var(--font-h);
      font-size: clamp(36px, 3vw, 60px);
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1px;
      text-align: center;
      color: var(--text-dark);
      margin-bottom: 32px;
      line-height: 1.05;
    }
	
	.price-cta h3.s-title {
    margin-bottom: 8px !important;
}

    /* AWAITS — слайдер: шаг 1 карточка, одинаковая высота карточек */
    .awaits-wrap {
      max-width: 1280px;
      margin: 0 auto;
      position: relative;
      padding: 0 0px;
    }

    .awaits-viewport {
      overflow: hidden;
      width: 100%;
    }

    .awaits-track {
      display: flex;
      align-items: stretch;
      gap: 24px;
      will-change: transform;
      transition: transform 0.28s cubic-bezier(0.22, 0.8, 0.25, 1);
    }

    .a-card {
      flex: 0 0 var(--awaits-card-w, 260px);
      width: var(--awaits-card-w, 260px);
      min-width: 0;
      background: #E4E2DB;
      border-radius: 20px;
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }

    .a-card img {
      width: 100%;
      height: 300px;
      object-fit: cover;
      display: block;
      flex-shrink: 0;
    }

    .a-card-body {
      padding: 16px 24px 38px;
      flex: 1;
      display: flex;
      flex-direction: column;
      min-height: 0;
    }

    .a-card-body h3 {
font-family: var(--font-h);
    font-size: 32px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-dark);
    margin-bottom: 12px;
    margin-top: 16px;
    }

    .a-card-body p {
      font-family: var(--font-b);
      font-style: normal;
      font-weight: 400;
      font-size: 16px;
      line-height: 20px;
      color: #1F1F1F;
      flex: 1;
      margin: 0;
    }

    /* AWAITS ARROWS */
    .a-arrow {
      position: absolute;
      top: 44%;
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: var(--orange);
      color: #fff;
      border: none;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      cursor: pointer;
      z-index: 2;
      transition: background 0.2s, opacity 0.2s;
    }

    .a-arrow:hover {
      background: #f24d12;
    }

    .a-arrow-right {
      right: -24px;
    }

    .a-arrow-left {
      left: -24px;
    }

    .a-arrow[hidden],
    .a-arrow.hidden {
      display: none !important;
    }

    /* ITINERARY */
    .iti-inner {
      max-width: 1280px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 536fr 736fr;
      gap: 10px;
      align-items: start;
    }

    /* ITINERARY CARD — notched corners with fully rounded concave cuts */
    .iti-left-wrap {
      position: relative;
      background: var(--bg-card);
      border-radius: 20px;
      min-height: 100%;
    }

    /*
  The card shape uses an SVG inline background + clip via a canvas-drawn path.
  We draw it as a plain div with a custom shape using the "squircle notch" trick:
  - A white semi-transparent rounded rect
  - Top-left corner: concave arc notch (for ДЕНЬ tag)
  - Bottom-right corner: concave arc notch (for nav buttons)
  All four outer convex corners are also rounded.

  We achieve this with a single SVG as background-image, sized to the element.
*/

    .iti-card {
      position: relative;
      padding: 105px 40px;
      /* transparent bg — the shape is painted by the SVG bg below */
      background: transparent;
      /* No border-radius — shape comes entirely from the SVG */
    }

    /* SVG background that draws the notched shape */
    .iti-card-bg {
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 0;
      display: none !important;
    }

    .iti-card-bg svg {
      width: 100%;
      height: 100%;
    }

    /* All card content sits above the bg */
    .iti-card>*:not(.iti-card-bg) {
      position: relative;
      z-index: 1;
    }

    /* Day tag: sits in top-left notch */
    .day-tag {
      display: inline-flex;
      background: var(--orange);
      color: #fff;
      border-radius: 50px;
      font-family: var(--font-h);
      font-size: 24px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1px;
      padding: 13px 29px;
      top: 0;
      left: 0;
      z-index: 3;
    }

    .for-day-tag {
      background: #f3f2ee;
      z-index: 1;
      position: absolute;
      padding-bottom: 8px;
      padding-right: 8px;
      border-bottom-right-radius: 20px;
    }

    .leftdt {
      height: 35px;
      position: absolute;
      width: 35px;
      background: #f3f2ee;
      left: 0;
      bottom: -35px;
      z-index: 5;
    }

    .leftdt::before {
      content: '';
      background: var(--bg-card);
      height: 35px;
      position: absolute;
      width: 35px;
      border-top-left-radius: 20px;
    }

    .rightdt {
      height: 35px;
      position: absolute;
      width: 35px;
      background: #f3f2ee;
      right: -35px;
      top: 0;
      z-index: 5;
    }

    .rightdt::before {
      content: '';
      background: var(--bg-card);
      height: 35px;
      position: absolute;
      width: 35px;
      border-top-left-radius: 20px;
    }

    .iti-card h3 {
      font-family: var(--font-h);
      font-size: 32px;
      font-weight: 700;
      text-transform: uppercase;
      color: var(--text-dark);
      margin-bottom: 16px;
      /* margin-top: 32px; */
    }

    .iti-card ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .iti-card li {
      font-family: var(--font-b);
      font-style: normal;
      font-weight: 400;
      font-size: 16px;
      line-height: 20px;
      color: #1F1F1F;
      padding-left: 14px;
      position: relative;
    }

    .iti-card li::before {
      content: '';
      position: absolute;
      left: 0;
      top: 7px;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #CCC8C0;
    }

    /* Nav buttons sit in bottom-right notch, outside the card */
    .for-iti-nav {
      background: #f3f2ee;
      position: absolute;
      bottom: 0;
      right: 0;
      display: inline-flex;
      padding-top: 8px;
      padding-left: 8px;
      border-top-left-radius: 20px;
      z-index: 3;
    }

    /* Square to the left of nav-wrap — fakes the concave corner on the left side */
    .bottomrdt {
      height: 35px;
      position: absolute;
      width: 35px;
      background: #F3F2EE;
      left: -35px;
      bottom: 0;
      z-index: 5;
    }

    .bottomrdt::before {
      content: '';
      background: var(--bg-card);
      height: 35px;
      position: absolute;
      width: 35px;
      border-bottom-right-radius: 20px;
    }

    /* Square above nav-wrap on the right — fakes the concave corner on the top side */
    .bottomldt {
      height: 35px;
      position: absolute;
      width: 35px;
      background: #F3F2EE;
      right: 0;
      top: -35px;
      z-index: 5;
    }

    .bottomldt::before {
      content: '';
      background: var(--bg-card);
      height: 35px;
      position: absolute;
      width: 35px;
      border-bottom-right-radius: 20px;
    }

    .iti-nav {
      display: flex;
      gap: 10px;
      position: relative;
      z-index: 3;
      padding: 8px 8px 16px 8px;
    }

    .nb {
      width: auto;
      height: auto;
      padding: 12px;
      border-radius: 50%;
      background: var(--dark);
      color: #fff;
      border: none;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      font-weight: 700;
      cursor: pointer;
      transition: background 0.2s;
      flex-shrink: 0;
    }

    .nb:hover {
      background: var(--orange);
    }

    .nb.hidden {
      display: none !important;
    }

    .moto-review-wrap {
      margin: 0;
      min-height: 0;
    }

    .moto-review-wrap[hidden] {
      display: none !important;
    }

    .moto-review {
      font-size: 16px;
      font-weight: 600;
      color: #FD4A22;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-top: 2px;
      letter-spacing: 0.02em;
    }

    .moto-review:hover {
      text-decoration: underline;
    }

    .moto-review-ico {
      display: inline-flex;
      flex-shrink: 0;
      line-height: 0;
    }

    .moto-review-ico svg {
      display: block;
    }

    /* Right photos block: слайды 1–2 — две фото слева столбиком + высокая справа; слайд 3 — две равные колонки */
.iti-photos {
    display: grid;
    grid-template-columns: 411fr 317fr;
    grid-template-rows: 274fr 210fr;
    gap: 8px;
    height: 494px;
    border-radius: 20px;
    overflow: hidden;
}

    .iti-photo {
      overflow: hidden;
      border-radius: 20px;
      min-height: 0;
    }

    .iti-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.4s;
    }

    .iti-photo:hover img {
      transform: scale(1.04);
    }

    .iti-photos--stack .iti-photo:nth-child(1) {
      grid-column: 1;
      grid-row: 1;
    }

    .iti-photos--stack .iti-photo:nth-child(2) {
      grid-column: 1;
      grid-row: 2;
    }

    .iti-photos--stack .iti-photo:nth-child(3) {
      grid-column: 2;
      grid-row: 1 / span 2;
    }

    .iti-photos--dual {
      grid-template-columns: 411fr 317fr;
      grid-template-rows: 1fr;
    }

    .iti-photos--dual .iti-photo:nth-child(1) {
      grid-column: 1;
      grid-row: 1;
    }

    .iti-photos--dual .iti-photo:nth-child(2) {
      grid-column: 2;
      grid-row: 1;
    }

    .iti-photos--dual .iti-photo:nth-child(3) {
      display: none;
    }

    .iti-cta,
    .gal-cta,
    .route-cta,
    .price-cta,
    .inc-cta {
      margin-bottom: 100px;
    }

    .iti-cta {
      text-align: center;
      margin-top: 60px;
    }

    /* GALLERY STRIP */
    section#gallery {
      padding-left: 0;
      padding-right: 0;
    }

    .gal-strip-wrap {
      width: 100%;
      overflow: hidden;
      cursor: pointer;
      margin-bottom: 0;
    }

    .gal-strip {
      display: flex;
      gap: 16px;
      animation: galScroll 28s linear infinite;
      width: max-content;
    }

    .gal-strip-wrap:hover .gal-strip,
    .gal-strip-wrap.paused .gal-strip {
      animation-play-state: paused;
    }

    @keyframes galScroll {
      0% {
        transform: translateX(0);
      }

      100% {
        transform: translateX(-50%);
      }
    }

    .gal-slide {
      width: auto;
      height: 416px;
      flex-shrink: 0;
      overflow: hidden;
    }

    .gal-slide img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.4s;
    }

    .gal-slide:hover img {
      transform: scale(1.06);
    }

    .gal-cta {
      text-align: center;
      margin-top: 60px;
    }

    #itinerary,
    #gallery,
    #route,
    #motorcycles,
    #pricing,
    #inclusions {
      padding-bottom: 0;
    }

    #itinerary+#gallery,
    #gallery+#route,
    #route+#motorcycles,
    #motorcycles+#pricing,
    #pricing+#inclusions,
    #inclusions+#testimonials {
      padding-top: 0;
    }

    #motorcycles {
      margin-bottom: 100px;
    }

    /* ROUTE */
    .route-inner {
      max-width: 1280px;
      margin: 0 auto;
    }

    .route-stops {
      display: flex;
      justify-content: space-between;
      position: relative;
      margin-bottom: 80px;
      margin-top: 80px;
      padding: 0 20px;
      height: 98px;
      /* top half = label above, bottom half = label below */
      width: 80%;
      margin-right: auto;
      margin-left: auto;
    }

    p.route-desc {
      /* font-size: 16px; */
      text-align: center;
      max-width: 600px;
      margin: 0 auto;
    }

    /* horizontal line sits exactly in the middle */
    .route-stops::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 20px;
      right: 20px;
      height: 2px;
      /* border-top: 1px dashed #bbb; */
      /* Добавляем пунктирную рамку */
      background-image: linear-gradient(to right, #bbb 50%, transparent 50%);
      background-size: 12px 100%;
      /* 12px — это общая длина шага (черта + пробел) */
      background-repeat: repeat-x;
      /* background: #bbb; */
      z-index: 0;
      transform: translateY(-50%);
      /* width: 145%; */
    }

    /* each stop is full height, centered horizontally */
    .rs {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 1;
      align-self: stretch;
    }

    /* dot always sits exactly on the line */
    .rs-dot {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 13px;
      height: 13px;
      border-radius: 50%;
      background: var(--orange);
      border: 2px solid var(--bg-light);
      box-shadow: 0 0 0 2px var(--orange);
      flex-shrink: 0;
    }

    /* label above: sits in the top half, bottom edge near the line */
    .rs-above span {
      position: absolute;
      bottom: calc(50% + 10px);
      left: 50%;
      transform: translateX(-50%);
      white-space: nowrap;
    }

    /* label below: sits in the bottom half, top edge near the line */
    .rs-below span {
      position: absolute;
      top: calc(50% + 10px);
      left: 50%;
      transform: translateX(-50%);
      white-space: nowrap;
      margin-top: 10px;
    }

    .rs span {
      font-family: var(--font-h);
      font-size: 24px;
      font-weight: 700;
      letter-spacing: 1px;
      text-transform: uppercase;
      color: var(--text-dark);
      text-align: center;
      margin-bottom: 10px;
    }

    .route-map {
      width: 100%;
      height: 100%;
      overflow: hidden;
    }

    .route-map img {
      width: 100%;
      height: 100%;
      border-radius: 20px;
      object-fit: cover;
    }

    .route-cta {
      text-align: center;
      margin-top: 60px;
    }

    /* MOTORCYCLES */
    .moto-inner {
      max-width: 1280px;
      margin: 0 auto;
    }

    .moto-card {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr;
      align-items: stretch;
      border-radius: 20px;
      overflow: visible;
      gap: 8px;
      height: 465px;
      min-height: 465px;
      max-height: 465px;
      box-sizing: border-box;
    }

    .moto-photo {
      min-height: 100%;
      height: 100%;
      align-self: stretch;
      overflow: hidden;
      border-radius: 20px;
    }

    .moto-photo img {
      width: 100%;
      height: 100%;
      min-height: 100%;
      object-fit: cover;
      display: block;
    }

    .moto-info {
      box-sizing: border-box;
      padding: 48px;
      background: var(--bg-card);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 0;
      position: relative;
      border-radius: 20px;
      overflow: visible;
      min-height: 100%;
      height: 100%;
      max-height: 100%;
    }

    .moto-info-body {
      max-width: 433px;
      width: 100%;
      flex: 1 1 auto;
      min-height: 0;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      overflow: visible;
    }

    .moto-info-top {
      display: block;
      flex-shrink: 0;
    }

    .moto-info-mid {
      flex: 1 1 auto;
      min-height: 0;
      display: flex;
      flex-direction: column;
      gap: 12px;
      padding: 12px 0 0;
    }

    .moto-info-bottom {
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      gap: 0;
    }

    .moto-logo {
      position: absolute;
      top: 40px;
      right: 40px;
      width: 73px;
      height: 56px;
      z-index: 2;
      background: transparent;
      border-radius: 0;
      overflow: visible;
      pointer-events: none;
    }

    .moto-logo img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
      padding: 0;
      display: block;
    }

    .moto-info h3 {
      font-family: var(--font-h);
      font-size: 32px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1px;
      color: var(--text-dark);
      margin: 0;
      padding-top: 2px;
      line-height: 1;
      max-width: 100%;
    }

    .moto-info-mid p {
      margin: 0;
    }

    .moto-info p {
      font-family: var(--font-b);
      font-style: normal;
      font-weight: 400;
      font-size: 16px;
      line-height: 20px;
      color: #1F1F1F;
    }

    .moto-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .moto-tag {
      border: 1px solid #bbb;
      border-radius: 50px;
      font-size: 16px;
      color: var(--text-mid);
      padding: 8px 20px;
    }

    .moto-nav {
      display: flex;
      gap: 8px;
      padding: 8px 8px 16px 8px;
    }

    /* Bottom-right notch for moto nav — mirrors the top-left day-tag pattern */
    .for-moto-nav {
      background: #f3f2ee;
      position: absolute;
      bottom: 0;
      right: 0;
      display: inline-flex;
      padding-top: 8px;
      padding-left: 8px;
      border-top-left-radius: 20px;
      z-index: 3;
    }

    .motonav-l {
      height: 35px;
      position: absolute;
      width: 35px;
      background: #F3F2EE;
      left: -35px;
      bottom: 0;
      z-index: 5;
    }

    .motonav-l::before {
      content: '';
      background: var(--bg-card);
      height: 35px;
      position: absolute;
      width: 35px;
      border-bottom-right-radius: 20px;
    }

    .motonav-b {
      height: 35px;
      position: absolute;
      width: 35px;
      background: #F3F2EE;
      right: 0;
      top: -35px;
      z-index: 5;
    }

    .motonav-b::before {
      content: '';
      background: var(--bg-card);
      height: 35px;
      position: absolute;
      width: 35px;
      border-bottom-right-radius: 20px;
    }

    /* PRICING */
    .price-inner {
      max-width: 1280px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 24px;
      align-items: start;
    }

    .pc {
      background: var(--dark);
      border-radius: 20px;
      padding: 28px 8px 8px;
      position: relative;
      overflow: visible;
      min-height: 523px;
    }

    .pcc {
      padding: 44px 65px;
    }

    .for-pc-arrow {
      position: absolute;
      top: 0;
      right: 0;
      background: var(--bg-light);
      border-bottom-left-radius: 50px;
      padding-bottom: 9px;
      padding-left: 9px;
      z-index: 3;
      line-height: 0;
    }

    /* Square to the left of for-pc-arrow */
    .pcarr-l {
      height: 35px;
      position: absolute;
      width: 35px;
      background: #f3f2ee;
      left: -35px;
      top: 0;
      z-index: 5;
    }

    .pcarr-l::before {
      content: '';
      background: var(--dark);
      height: 35px;
      position: absolute;
      width: 35px;
      border-top-right-radius: 20px;
    }

    /* Square below for-pc-arrow */
    .pcarr-b {
      height: 35px;
      position: absolute;
      width: 35px;
      background: #f3f2ee;
      right: 0;
      bottom: -35px;
      z-index: 5;
    }

    .pcarr-b::before {
      content: '';
      background: var(--dark);
      height: 35px;
      position: absolute;
      width: 35px;
      border-top-right-radius: 20px;
    }

    /* pc-custom variant — bg-card color */
    .for-pc-arrow--custom {
      background: #f3f2ee;
    }

    .pcarr-l--custom {
      background: #f3f2ee;
    }

    .pcarr-l--custom::before {
      background: var(--bg-card);
    }

    .pcarr-b--custom {
      background: #f3f2ee;
    }

    .pcarr-b--custom::before {
      background: var(--bg-card);
    }

    .pc-arrow {
      position: relative;
      width: 76px;
      height: 76px;
      border-radius: 50%;
      background: var(--orange);
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      transition: background 0.2s;
      flex-shrink: 0;
      line-height: 0;
      padding: 0;
      box-sizing: border-box;
    }

    .pc-arrow svg {
      width: 22px;
      height: 22px;
      display: block;
      flex-shrink: 0;
    }

    .pc-arrow:hover {
      background: #f24d12;
    }

    .pc-old {
      font-size: 24px;
      color: rgba(255, 255, 255, 0.35);
      text-decoration: line-through;
      margin-bottom: 2px;
    }

    .pc-amount {
      font-family: var(--font-h);
      font-size: 60px;
      font-weight: 700;
      color: #fff;
      line-height: 1;
      margin-bottom: 4px;
    }

    .pc-per {
      font-size: 24px;
      color: #8F8F8F;
      margin-bottom: 56px;
    }

    .pc-img {
      width: calc(100% - 16px);
      height: 264px;
      object-fit: cover;
      border-radius: 20px;
      display: block;
      position: absolute;
      bottom: 8px;
    }

    .pc-custom {
      background: var(--bg-card);
      border-radius: 20px;
      padding: 34px 32px;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      gap: 12px;
      min-height: 100%;
      position: relative;
    }

    .pc-custom h3 {
      font-family: var(--font-h);
      font-size: 60px;
      font-weight: 700;
      text-transform: uppercase;
      line-height: 1.1;
      color: var(--text-dark);
    }

    .pc-custom h3 span {
      color: var(--orange);
    }

    .pc-custom p {
      font-size: 16px;
      line-height: 1.65;
      color: #8F8F8F;
      max-width: 90%;
    }

    .price-cta {
      margin-top: 32px;
    }
	.ctacta {
	  border: 2px solid #E4E2DB;
      border-radius: 20px;
      padding: 32px;
      display: flex;
      place-content: space-between;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
	margin-top: 60px;
	  }

    /* INCLUSIONS */
    .inc-inner {
      max-width: 1280px;
      width: 100%;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      /* gap: 8px; */
    }

    .inc-panels {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      width: 100%;
    }

    .inc-panel {
      background: var(--bg-card);
      border-radius: 20px;
      padding: 0;
      display: flex;
      flex-direction: row;
      gap: 0;
      padding: 40px 32px;
      align-items: center;
    }

    .inc-label {
      writing-mode: vertical-rl;
      transform: rotate(180deg);
      font-family: var(--font-h);
      font-size: 32px;
      font-weight: 700;
      letter-spacing: 0px;
      text-transform: uppercase;
      color: rgba(0, 0, 0, 0.22);
      white-space: nowrap;
      pointer-events: none;
      flex-shrink: 0;
      width: 72px;
      display: flex;
      /* align-items: center; */
      justify-content: center;
    }

    .inc-panel-content {
      flex: 1;
      min-width: 0;
      /* padding: 20px 28px 20px 8px; */
      /* align-content: center; */
    }

    .inc-row {
      display: grid;
      grid-template-columns: 72px 1fr;
      gap: 20px;
      align-items: start;
      padding: 32px 0;
      border-bottom: 2px solid rgba(0, 0, 0, 0.08);
    }

    .inc-row:last-child {
      border-bottom: none;
    }

    .inc-ico {
      width: 72px;
      height: 72px;
      border-radius: 50%;
      background: white;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      flex-shrink: 0;
    }

    .inc-row-text h4 {
      font-family: var(--font-h);
      font-size: 24px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0px;
      color: var(--text-dark);
      margin-bottom: 8px;
    }

    .inc-row-text ul {
      list-style: none;
    }

    .inc-row-text li {
      font-size: 16px;
      color: var(--text-mid);
      line-height: 1.55;
      padding-left: 12px;
      position: relative;
    }

    .inc-row-text li::before {
      content: ' ';
      width: 8px;
      height: 8px;
      position: absolute;
      left: -2px;
      top: 8px;

      font-size: 6px;
      background: #CCC8C0;
      border-radius: 50%;
    }

    .inc-extra {
      background: var(--bg-card);
      border-radius: 12px;
      padding: 32px;
      display: flex;
      flex-direction: row;
      gap: 0;
      margin-bottom: 8px;
      margin-top: 8px;
    }

    .inc-extra-label {
      display: none;
    }

    .inc-extra-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px 24px;
      /* padding: 4px 0; */
      align-items: center;
    }

    .inc-extra-item {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 16px;
      line-height: 20px;
      color: var(--text-mid);
    }

    .inc-extra-item span {
      color: var(--orange);
      font-size: 16px;
      line-height: 20px;
    }

    .inc-not {
      /* background: rgba(255,255,255,0.28); */
      padding: 32px;
      border-radius: 20px;
      border: 2px solid #E4E2DB;
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr;
      gap: 20px 32px;
      align-items: start;
    }

    .inc-not-label {
      font-family: var(--font-h);
      font-size: 24px;
      font-weight: 700;
      text-transform: uppercase;
      color: var(--text-dark);
      flex-shrink: 0;
      line-height: 1.4;
      min-width: 180px;
    }

    .inc-not-col {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .inc-not-items {
      display: flex;
      flex-wrap: wrap;
      gap: 4px 20px;
    }

    .inc-not-item {
      font-size: 16px;
      color: var(--text-dark);
      padding-left: 12px;
      position: relative;
      font-weight: 400;
    }

    .inc-not-item::before {
      content: ' ';
      position: absolute;
      left: 0;
      font-size: 6px;
      background: var(--text-light);
      width: 6px;
      height: 6px;
      top: 6px;
      border-radius: 50%;
    }

    .inc-not-sub {
      display: block;
      opacity: 0.5;
    }

    .inc-cta {
      text-align: center;
      margin-top: 60px;
    }

    /* TESTIMONIALS */
    .testi-inner {
      max-width: 1280px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
      align-items: stretch;
    }

    .tc {
      background: var(--dark);
      border-radius: 24px;
      padding: 32px;
      display: flex;
      flex-direction: column;
      min-height: 465px;
      height: 100%;
      box-sizing: border-box;
    }

    .tc p {
      font-family: var(--font-b);
      font-style: normal;
      font-weight: 400;
      font-size: 16px;
      line-height: 20px;
      color: #F3F2EE;
      margin: 0;
      flex: 0 0 auto;
    }

    .tc-spacer {
      flex: 1 1 0;
      min-height: 68px;
      min-width: 0;
    }

    .tc-author {
      display: flex;
      align-items: flex-end;
      gap: 16px;
      margin-top: 0;
      flex-shrink: 0;
    }

    .tc-avatar {
      width: 68px;
      height: 68px;
      border-radius: 50%;
      object-fit: cover;
      flex-shrink: 0;
    }

    .tc-name {
      font-family: var(--font-b);
      font-size: 16px;
      font-weight: 700;
      font-style: normal;
      color: #F3F2EE;
      text-transform: none;
    }

    .tc-meta {
      font-family: var(--font-b);
      font-size: 14px;
      font-weight: 400;
      font-style: normal;
      line-height: 18px;
      color: rgba(243, 242, 238, 0.3);
      margin-top: 4px;
    }

    /* GUIDE */
    #guide .s-label {
      margin-bottom: 51px;
    }

    #guide .s-title {
      margin-bottom: 64px;
      color: #1F1F1F;
    }

    .guide-inner {
      max-width: 1280px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      align-items: center;
    }

    /* ПК: пропорции 394×524 | 246×285 | 426×230, gap 9; макс. ширина коллажа 652px */
    .guide-photos-outer {
      width: 100%;
      max-width: 652px;
    }

    .guide-photos {
      display: grid;
      width: 100%;
      max-width: 652px;
      aspect-ratio: 652 / 524;
      grid-template-rows: 285fr 230fr;
      column-gap: 9px;
      row-gap: 9px;
      box-sizing: border-box;
      align-items: stretch;
      min-height: 524px;
    }

    .gp-main-wrap {
      grid-column: 1;
      grid-row: 1 / span 2;
      position: relative;
      border-radius: 24px;
      overflow: hidden;
      min-height: 0;
    }

    .gp-main-wrap .gp-main {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      border-radius: 24px;
    }

    .gp-center {
      grid-column: 2;
      grid-row: 1;
      position: relative;
      border-radius: 24px;
      overflow: visible;
      min-height: 0;
    }

    .gp-center-imgwrap {
      height: 100%;
      max-width: 246px;
      position: relative;
      border-radius: 24px;
      overflow: hidden;
      pointer-events: none;
    }

    .gp-center-imgwrap img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      border-radius: 24px;
    }

    .gp-bottom {
      grid-column: 2;
      grid-row: 2;
      position: relative;
      border-radius: 24px;
      overflow: hidden;
      min-height: 0;
    }

    .gp-bottom img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      border-radius: 24px;
    }

    .gp-badge1 {
      position: absolute;
      top: 0;
      right: 0;
      z-index: 4;
      margin: 0;
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;
      gap: 8px;
      padding: 12px 24px 8px;
      background: #FD4A22;
      font-family: var(--font-h);
      font-style: normal;
      font-weight: 700;
      font-size: 24px;
      line-height: 24px;
      color: #FFFFFF;
      /* стык к верхнему и правому краю фото; вырез в PNG снизу-слева от плашки */
      border-radius: 40px 0 40px 40px;
      letter-spacing: 0;
      text-transform: none;
      box-sizing: border-box;
      min-width: 112px;
      min-height: 44px;
      pointer-events: none;
    }

    .gp-badge2 {
      position: absolute;
      top: 0;
      right: 0;
      left: auto;
      bottom: auto;
      z-index: 3;
      margin: 0;
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;
      gap: 8px;
      padding: 12px 24px 8px;
      background: var(--dark);
      font-family: var(--font-h);
      font-style: normal;
      font-weight: 700;
      font-size: 24px;
      line-height: 24px;
      color: #FFFFFF;
      /* Обе подписи выровнены одинаково по верхнему правому краю фотографии. */
      border-radius: 40px 0 40px 40px;
      letter-spacing: 0;
      text-transform: none;
      box-sizing: border-box;
      min-width: 112px;
      min-height: 44px;
      pointer-events: none;
    }

    .gp-wm {
      position: absolute;
      left: 12px;
      bottom: 12px;
      top: auto;
      transform: none;
      font-family: var(--font-h);
      font-size: 8px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: rgba(0, 0, 0, 0.18);
      white-space: nowrap;
      pointer-events: none;
      z-index: 3;
    }

    .guide-text h2 {
      font-family: var(--font-h);
      font-style: normal;
      font-weight: 700;
      font-size: 32px;
      line-height: 32px;
      text-transform: uppercase;
      letter-spacing: 0;
      color: #1F1F1F;
      margin: 0 0 20px 0;
    }

    .guide-text p {
      font-family: var(--font-b);
      font-style: normal;
      font-weight: 400;
      font-size: 16px;
      line-height: 20px;
      color: #1F1F1F;
      margin: 0 0 12px 0;
    }

    .guide-text p:last-of-type {
      margin-bottom: 0;
    }

    .guide-stats {
      display: flex;
      gap: 28px;
      padding: 0;
      margin: 68px 0 0 0;
    }

    .gs-num {
      display: flex;
      align-items: baseline;
      flex-wrap: wrap;
      gap: 4px 10px;
      font-family: var(--font-h);
      font-style: normal;
      font-weight: 700;
      font-size: 60px;
      line-height: 65px;
      color: #1F1F1F;
    }

    .gs-unit {
      font-family: var(--font-h);
      font-style: normal;
      font-weight: 700;
      font-size: 32px;
      line-height: 32px;
      color: #1F1F1F;
      text-transform: uppercase;
      letter-spacing: 0;
    }

    .gs-label {
      font-family: var(--font-b);
      font-style: normal;
      font-weight: 400;
      font-size: 16px;
      line-height: 20px;
      color: #8F8F8F;
      margin-top: 8px;
    }

    /* FORM */
    .form-outer {
      background: var(--bg-light);
      padding: 0 60px 72px;
    }

    .form-card {
      max-width: 1280px;
      margin: 0 auto;
      background: #1a1a1a;
      border-radius: 24px;
      padding: 0;
      position: relative;
      overflow: hidden;
    }

    .form-card-main {
      padding: 48px 56px 40px;
      background: #1a1a1a;
    }

    .form-tire {
      display: block;
      width: 100%;
      height: clamp(52px, 9vw, 76px);
      line-height: 0;
      overflow: hidden;
      pointer-events: none;
      background: transparent;
    }

    .form-tire img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
    }

    .form-top {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 24px;
      align-items: start;
      margin-bottom: 32px;
    }

    .form-top-main {
      grid-column: 1;
      grid-row: 1;
    }

    .form-top-seats {
      grid-column: 2;
      grid-row: 1;
      align-self: start;
    }

    .form-card h2 {
      font-family: var(--font-h);
      font-size: clamp(26px, 3vw, 42px);
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1px;
      color: #fff;
      line-height: 1.05;
    }

    .form-sub {
      font-size: 16px;
      line-height: 1.7;
      color: rgba(255, 255, 255, 0.45);
      margin-top: 10px;
      max-width: 624px;
    }

    .form-seats-num {
      font-family: var(--font-h);
      font-size: 22px;
      font-weight: 700;
      color: #fff;
      line-height: 1;
      text-align: right;
      text-transform: uppercase;
    }

    .form-seats-note {
      font-size: 12px;
      color: rgba(255, 255, 255, 0.4);
      text-align: right;
      margin-top: 4px;
      line-height: 1.4;
    }

    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: 24px;
      row-gap: 16px;
      align-items: end;
    }

    .form-field {
      display: flex;
      flex-direction: column;
      gap: 6px;
      min-width: 0;
    }

    .form-field--name {
      grid-column: 1;
      grid-row: 1;
    }

    .form-field--msg {
      grid-column: 2;
      grid-row: 1;
    }

    .form-field--phone {
      grid-column: 1;
      grid-row: 2;
    }

    .form-grid .fg-submit {
      grid-column: 2;
      grid-row: 2;
      align-self: end;
      justify-self: end;
    }

    .fg-label {
      font-size: 12px;
      line-height: 1.35;
      color: rgba(255, 255, 255, 0.5);
      padding-bottom: 0;
    }

    .fg-input {
      width: 100%;
      min-height: 48px;
      box-sizing: border-box;
      background: #2b2b2b;
      border: 1px solid rgba(255, 255, 255, 0.08);
      color: rgba(255, 255, 255, 0.92);
      font-family: var(--font-b);
      font-size: 14px;
      padding: 12px 16px;
      outline: none;
      border-radius: 10px;
      transition: border-color 0.2s;
    }

    .fg-input:focus {
      border-color: rgba(255, 77, 36, 0.65);
    }

    .fg-input::placeholder {
      color: rgba(255, 255, 255, 0.22);
    }

    .fg-submit {
      width: auto;
      min-width: 300px;
      max-width: none;
      min-height: 0;
      height: auto;
      box-sizing: border-box;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: #ff4d24;
      color: #fff;
      font-family: var(--font-h);
      font-size: 20px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      padding: 15px 48px;
      border-radius: 10px;
      line-height: 1.2;
      border: none;
      cursor: pointer;
      white-space: nowrap;
      transition: background 0.2s, filter 0.2s;
    }

    .fg-submit:hover {
      background: #ff6a42;
    }

    .form-foot {
      margin-top: 0;
      border-top: none;
      background: #2f2f2f;
      padding: 22px 56px 26px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 20px;
    }

    .form-foot-text {
      font-size: 16px;
      color: rgba(255, 255, 255, 0.88);
      line-height: 1.5;
    }

    .form-foot-right {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-shrink: 0;
    }

    .form-foot-socs {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .form-phone-pill {
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.06);
      color: #fff;
      font-size: 16px;
      font-weight: 500;
      padding: 8px 16px;
      border-radius: 50px;
      text-decoration: none;
      transition: background 0.2s;
    }

    .form-phone-pill:hover {
      background: rgba(255, 255, 255, 0.18);
    }

    .form-soc {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      border: 1px solid rgba(255, 255, 255, 0.06);
      color: rgba(255, 255, 255, 0.55);
      background: rgba(255, 255, 255, 0.06);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 16px;
      text-decoration: none;
      transition: 0.2s;
    }

    .form-soc:hover {
      border-color: var(--orange);
      color: var(--orange);
    }

    .btn-submit {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: #ff4d24;
      color: #fff;
      font-family: var(--font-h);
      font-size: 20px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      padding: 15px 48px;
      width: auto;
      min-width: 300px;
      max-width: none;
      box-sizing: border-box;
      border-radius: 10px;
      border: none;
      cursor: pointer;
      white-space: nowrap;
      transition: background 0.2s;
    }

    .btn-submit:hover {
      background: #ff6a42;
    }

    /* FAQ */
    .faq-inner {
      max-width: 1280px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .fq {
      background: var(--bg-card);
      border-radius: 20px;
      overflow: hidden;
    }

    .fq-q {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 32px 32px 32px;
      cursor: pointer;
      font-size: 24px;
      line-height: 32px;
      font-weight: 700;
      color: var(--text-dark);
      transition: color 0.2s;
    }

    .fq.open .fq-q {
      padding: 32px 32px 16px;
    }

    .fq-q:hover {
      color: var(--orange);
    }

    .fq-icon {
      width: 22px;
      height: 22px;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      color: var(--text-light);
      transition: transform 0.3s;
    }

    /*.fq.open .fq-icon { transform: rotate(180deg); }*/
    .fq-a {
      font-size: 16px;
      color: var(--text-mid);
      line-height: 1.8;
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.38s ease, padding 0.3s;
      padding: 0 22px;
    }

    .fq.open .fq-a {
      max-height: 180px;
      padding: 0 32px 32px;
    }

    /* FOOTER */
    footer {
      background: #191919;
      padding: 40px 120px;
    }

    .footer-top {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .fl {
      display: flex;
      align-items: center;
      gap: 0;
    }

    .fl-bg {
      background: var(--orange);
      padding: 3px 10px 3px 8px;
      font-family: var(--font-h);
      font-size: 14px;
      font-weight: 700;
      color: #fff;
      text-transform: uppercase;
      clip-path: polygon(0 0, 100% 0, 90% 100%, 0 100%);
      padding-right: 16px;
    }

    .fl-text {
      font-family: var(--font-h);
      font-size: 14px;
      font-weight: 700;
      color: #fff;
      text-transform: uppercase;
      margin-left: 4px;
    }

    .footer-links {
      display: flex;
      gap: 24px;
      list-style: none;
      padding-right: 30px;
    }

    .footer-links a {
      font-size: 16px;
      color: rgba(255, 255, 255, 0.45);
      text-decoration: none;
      transition: color 0.2s;
    }

    .footer-links a:hover {
      color: #fff;
    }

    .footer-bottom {
      margin-top: 200px;
      padding-top: 16px;
      border-top: 1px solid rgba(255, 255, 255, 0.07);
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .footer-right-group {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .footer-socs {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-shrink: 0;
    }

    .footer-copy {
      font-size: 12px;
      color: rgba(255, 255, 255, 0.25);
    }



    /* ══════════════════════════════════════════
   TABLET ≤ 1024px
══════════════════════════════════════════ */
    @media (max-width: 1024px) {

      /* ─ NAV (планшет: лого | телефон + соцсети + гамбургер) ─ */
      nav {
        top: 12px;
        width: calc(100% - 64px);
        padding: 16px 16px 16px 28px;
        justify-content: flex-start;
        gap: 0;
      }

      nav.scrolled {
        top: 0;
        width: 100%;
        padding: 16px 24px;
        height: 70px;
      }

      .nav-links {
        display: none;
      }

      .nav-right {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-left: auto;
        margin-right: 10px;
      }

      .nav-phone {
        font-size: 13px;
      }

      .nav-soc {
        width: 36px;
        height: 36px;
      }

      .burger {
        display: flex;
        flex-shrink: 0;
      }

      .mobile-menu {
        display: block;
      }

      /* ─ AWAITS на планшете — стрелки скрыты, peek 2 + часть 3-й */
      .a-arrow {
        display: none !important;
      }

      .awaits-wrap {
        padding: 0 16px;
      }

      /* Показываем peek — снимаем overflow с viewport, секция обрезает */
      #awaits {
        overflow: hidden;
      }

      .awaits-viewport {
        overflow: visible;
      }

      .a-card-body {
        padding: 32px 16px 16px;
        box-sizing: border-box;
      }

      .a-card-body h3 {
        font-family: var(--font-h);
        font-size: 28px;
        font-weight: 700;
        line-height: 1.15;
        letter-spacing: 0;
        text-transform: none;
        color: #1F1F1F;
        margin: 0 0 12px;
      }

      .a-card-body p {
        font-family: var(--font-b);
        font-size: 16px;
        font-weight: 400;
        line-height: 1.4;
        color: #1F1F1F;
        margin: 0;
      }

      section {
        padding: 56px 32px;
      }

      .hero-content {
        align-items: center;
        text-align: center;
        width: 100%;
        max-width: 100%;
        margin: 0;
        box-sizing: border-box;
      }

      .hero h1 {
        font-family: var(--font-h);
        font-size: 48px;
        font-weight: 700;
        line-height: 1.1;
        text-align: center;
        letter-spacing: 0;
        margin: 0 0 10px;
        width: 100%;
      }

      .hero p {
        font-family: var(--font-b);
        font-size: 16px;
        font-weight: 400;
        line-height: 1.5;
        text-align: center;
        color: #fff;
        margin: 0 0 32px;
        max-width: 100%;
        width: 100%;
      }

      .hero-bar {
        padding: 40px 16px;
        grid-template-columns: repeat(4, 1fr);
        gap: 24px 16px;
      }

      .hb-item {
        padding: 0;
        gap: 0;
        align-items: flex-start;
      }

      .hb-icon {
        width: 40px;
        height: 40px;
        margin: 0 0 29px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-shrink: 0;
        line-height: 0;
      }

      .hb-icon svg {
        width: 40px;
        height: 40px;
        display: block;
      }

      .hb-title {
        font-family: var(--font-h);
        font-size: 24px;
        font-weight: 700;
        line-height: 1.1;
        margin: 0 0 8px;
        letter-spacing: 0;
      }

      .hb-desc {
        font-family: var(--font-b);
        font-size: 16px;
        font-weight: 400;
        line-height: 1.4;
        color: rgba(255, 255, 255, 0.6);
        margin: 0;
      }

      .s-title {
        margin-bottom: 36px;
      }

      .iti-inner {
        gap: 28px;
      }

      .iti-photos {
        height: 380px;
      }

      /* pricing: карусель — 2 слайда целиком + край третьего */
      #pricing {
        overflow: hidden;
        box-sizing: border-box;
      }

      #pricing .s-title {
        margin-bottom: 32px;
      }

      .price-inner {
        --price-gap: 12px;
        --price-peek: 72px;
        display: flex;
        gap: var(--price-gap);
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 0 0 8px;
        margin-right: -32px;
        padding-right: 32px;
        width: auto;
        max-width: none;
        grid-template-columns: unset;
        box-sizing: border-box;
      }

      .price-inner::-webkit-scrollbar {
        display: none;
      }

      .pc,
      .pc-custom {
        width: calc((100% - var(--price-gap) - var(--price-peek)) / 2);
        min-width: calc((100% - var(--price-gap) - var(--price-peek)) / 2);
        max-width: calc((100% - var(--price-gap) - var(--price-peek)) / 2);
        height: 419px;
        min-height: 419px;
        max-height: 419px;
        flex-shrink: 0;
        scroll-snap-align: start;
        box-sizing: border-box;
        grid-column: auto;
      }

      .pc {
        border-radius: 20px 30px 20px 20px;
        padding: 0;
        overflow: hidden;
        position: relative;
        display: flex;
        flex-direction: column;
        background: var(--dark);
        min-height: 419px;
      }

      .pcc {
        flex: 1 1 auto;
        min-height: 0;
        padding: 28px 20px 16px;
        box-sizing: border-box;
      }

      .pc-old {
        font-family: var(--font-b);
        font-size: 14px;
        font-weight: 400;
        color: #8F8F8F;
        text-decoration: line-through;
        margin-bottom: 6px;
      }

      .pc-amount {
        font-family: var(--font-h);
        font-size: 56px;
        font-weight: 700;
        line-height: 1;
        color: #fff;
        margin-bottom: 6px;
        letter-spacing: 0;
      }

      .pc-per {
        font-family: var(--font-b);
        font-size: 14px;
        font-weight: 400;
        color: #8F8F8F;
        margin-bottom: 0;
      }

      .pc-img {
        width: calc(100% - 16px);
        height: 237px;
        max-width: calc(100% - 16px);
        margin: 0 8px 8px;
        object-fit: cover;
        border-radius: 14px;
        position: static;
        bottom: auto;
        display: block;
        flex-shrink: 0;
        box-sizing: border-box;
      }

      .for-pc-arrow {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 4;
        background: var(--bg-light);
        padding-bottom: 8px;
        padding-left: 8px;
        border-bottom-left-radius: 30px;
        line-height: 0;
      }

      .pc-arrow {
        width: 60px;
        height: 60px;
        padding: 0;
        line-height: 0;
      }

      .pc-arrow svg {
        width: 22px;
        height: 22px;
      }

      .pcarr-l,
      .pcarr-b {
        display: block;
        height: 28px;
        width: 28px;
        background: var(--bg-light);
      }

      .pcarr-l {
        left: -28px;
        top: 0;
      }

      .pcarr-l::before {
        height: 28px;
        width: 28px;
        border-top-right-radius: 20px;
        background: var(--dark);
      }

      .pcarr-b {
        right: 0;
        bottom: -28px;
      }

      .pcarr-b::before {
        height: 28px;
        width: 28px;
        border-top-right-radius: 20px;
        background: var(--dark);
      }

      .pc-custom {
        background: var(--bg-card);
        border-radius: 20px;
        padding: 28px 20px 24px;
        position: relative;
        overflow: visible;
        isolation: isolate;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        gap: 12px;
      }

      .pc-custom .for-pc-arrow {
        background: var(--bg-light);
        border-bottom-left-radius: 30px;
      }

      .pc-custom .pcarr-l--custom::before,
      .pc-custom .pcarr-b--custom::before {
        background: var(--bg-card);
        border-top-right-radius: 30px;
      }

      .pc-custom h3 {
        font-family: var(--font-h);
        font-size: 46px;
        font-weight: 700;
        color: var(--text-dark);
        line-height: 1.1;
        text-transform: uppercase;
        margin: 0;
        padding-right: 48px;
      }

      .pc-custom p {
        color: #8F8F8F;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.5;
        margin: 0;
        max-width: 100%;
      }

      .price-cta {
        margin-top: 32px;
      }

      /* inclusions: как на макете — 2 колонки, прочее, блок оплаты */
      .inc-inner {
        gap: 8px;
      }

      .inc-panels {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
      }

      .inc-panel {
        flex-direction: column;
        align-items: stretch;
        padding: 24px 16px 20px;
        border-radius: 20px;
      }

      .inc-panel .inc-label {
        writing-mode: horizontal-tb;
        transform: none;
        width: 100%;
        flex-shrink: 0;
        display: block;
        text-align: center;
        font-size: 24px;
        font-weight: 700;
        letter-spacing: 0;
        color: rgba(0, 0, 0, 0.25);
        white-space: normal;
        margin: 24px 0 24px;
        padding: 0;
        pointer-events: none;
      }

      .inc-panel-content {
        padding: 0;
        width: 100%;
      }

      .inc-row {
        grid-template-columns: 56px 1fr;
        gap: 12px;
        padding: 20px 0;
        border-bottom-width: 1px;
      }

      .inc-row:last-child {
        border-bottom: none;
        padding-bottom: 0;
      }

      .inc-row+.inc-row {
        padding-top: 20px;
      }

      .inc-ico {
        width: 56px;
        height: 56px;
        font-size: 14px;
      }

      .inc-ico svg {
        width: 24px;
        height: 24px;
        display: block;
      }

      .inc-row-text h4 {
        font-size: 18px;
        line-height: 1.15;
        margin-bottom: 6px;
      }

      .inc-row-text li {
        font-size: 14px;
        line-height: 1.45;
      }

      .inc-extra {
        flex-direction: column;
        align-items: stretch;
        border-radius: 20px;
        padding: 24px 20px 28px;
        margin-top: 8px;
        margin-bottom: 8px;
      }

      .inc-extra .inc-label {
        writing-mode: horizontal-tb;
        transform: none;
        width: 100%;
        display: block;
        text-align: center;
        font-size: 24px;
        font-weight: 700;
        letter-spacing: 0;
        color: rgba(0, 0, 0, 0.22);
        white-space: normal;
        margin: 24px 0 14px;
        padding: 0;
        pointer-events: none;
      }

      .inc-extra .inc-panel-content {
        width: 100%;
      }

      .inc-extra-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px 20px;
      }

      .inc-extra-item {
        font-size: 14px;
        line-height: 1.35;
        gap: 8px;
        align-items: flex-start;
      }

      .inc-extra-item span {
        flex-shrink: 0;
        line-height: 0;
      }

      .inc-not {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 12px 24px;
        padding: 28px 24px 32px;
        border-radius: 20px;
        border: 2px solid #E4E2DB;
        background: #fff;
        align-items: start;
      }

      .inc-not-label {
        grid-column: 1 / -1;
        text-align: center;
        width: 100%;
        min-width: 0;
        margin: 0 0 8px;
        font-size: 20px;
        line-height: 1.3;
      }

      .inc-not-col {
        width: auto;
        gap: 8px;
      }

      .inc-not-item {
        font-size: 14px;
        line-height: 1.45;
      }

      .inc-cta {
        margin-top: 28px;
      }

      .testi-inner {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 0 32px 8px;
        grid-template-columns: unset;
      }

      .testi-inner::-webkit-scrollbar {
        display: none;
      }

      .tc {
        width: calc(50vw - 42px);
        min-width: calc(50vw - 42px);
        max-width: calc(50vw - 42px);
        flex-shrink: 0;
        scroll-snap-align: start;
        height: auto;
        min-height: 0;
        max-height: none;
      }

      .guide-inner {
        gap: 40px;
        grid-template-columns: 1fr;
      }

      .guide-text {
        order: 2;
      }

      .guide-photos-outer {
        order: 1;
      }

      .guide-stats {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-start;
        gap: 24px 48px;
        width: 100%;
        max-width: 100%;
        margin: 40px auto 0;
        padding: 0;
      }

      .guide-stats > div {
        flex: 0 1 auto;
        text-align: center;
      }

      .guide-stats .gs-num {
        justify-content: center;
      }

      .guide-stats .gs-label {
        text-align: center;
        max-width: 11em;
        margin-left: auto;
        margin-right: auto;
      }

      /* itinerary: фото сверху, серый блок снизу */
      .iti-inner {
        display: flex;
        flex-direction: column;
      }

      .iti-left-wrap {
        order: 1;
      }

      #itiPhotos {
        order: 2;
      }

      /* motorcycles: инфо сверху, фото снизу */
      .moto-card {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        gap: 12px;
        height: auto;
        min-height: 0;
        max-height: none;
        border-radius: 0;
        overflow: visible;
        background: transparent;
      }

      .moto-info {
        order: 1;
        position: relative;
        height: auto;
        min-height: 0;
        max-height: none;
        padding: 40px 32px 48px;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
      }

      .moto-info-body {
        max-width: 504px;
        width: 100%;
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;

        min-height: auto;
        overflow: visible;
      }

      .moto-info-mid {
        flex: 0 1 auto;
        padding: 12px 0 0;
      }

      .moto-info-bottom {
        flex-shrink: 0;
        margin-top: 60px;
        padding-bottom: 0;
      }

      .moto-tags {
        max-width: 504px;
        width: 100%;
        box-sizing: border-box;
      }

      .for-moto-nav {
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: 4;
        display: inline-flex;
        background: var(--bg-light);
        padding-top: 8px;
        padding-left: 8px;
        border-top-left-radius: 20px;
      }

      .moto-photo {
        order: 2;
        width: 100%;
        height: 380px;
        min-height: 380px;
        border-radius: 20px;
        overflow: hidden;
      }

      .moto-photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 20px;
        display: block;
      }

      .a-card img {
        height: 306px;
      }

      .route-stops {
        display: none;
      }

      #route .route-desc,
      #route p.route-desc {
        margin: 0 auto 32px;
      }

      .route-cta .btn.outline-dark {
        background: var(--orange);
        border: none;
        color: #fff;
      }

      .route-cta .btn.outline-dark:hover {
        background: #f24d12;
        color: #fff;
      }

      .form-outer {
        padding: 0 32px 56px;
      }

      .form-card-main {
        padding: 36px 32px 32px;
      }

      .form-foot {
        padding-left: 32px;
        padding-right: 32px;
      }

      /* footer — как на мобилке */
      footer {
        padding: 24px 32px;
      }

      .footer-top {
        flex-direction: column;
        gap: 0;
        align-items: stretch;
      }

      .footer-top .fl {
        align-self: flex-end;
        margin-bottom: 20px;
      }

      .footer-links {
        flex-direction: column;
        gap: 4px;
        margin-bottom: 20px;
        padding-right: 0;
      }

      .footer-links a {
        font-size: 15px;
        color: rgba(255, 255, 255, 0.6);
        padding: 2px 0;
      }

      .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
        padding-top: 16px;
        margin-top: 20px;
      }

      .footer-right-group {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        width: 100%;
        order: 1;
      }

      .footer-socs {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
      }

      .footer-right-group .form-phone-pill {
        width: auto;
        max-width: 100%;
        font-size: 15px;
        padding: 10px 20px;
      }

      .footer-right-group .form-soc {
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
      }

      .footer-copy {
        font-size: 12px;
        color: rgba(255, 255, 255, 0.25);
        order: 2;
      }
    }

    /* ══════════════════════════════════════════
   MOBILE ≤ 767px
══════════════════════════════════════════ */
    @media (max-width: 767px) {

      /* ─ NAV ─ */
      nav {
        top: 10px;
        left: 12px;
        right: 12px;
        width: auto;
        transform: none;
        padding: 8px 8px 8px 14px;
        border-radius: 40px;
        justify-content: space-between;
      }

      nav.scrolled {
        top: 0;
        left: 0;
        right: 0;
        border-radius: 0;
        padding: 0 16px;
        height: 52px;
      }

      .nav-links,
      .nav-right {
        display: none;
      }

      .burger {
        display: flex;
      }

      .mobile-menu {
        display: block;
      }

      /* ─ HERO ─ */
      .hero {
        position: relative;
        height: 576px;
        max-height: 576px;
        min-height: 0;
        display: flex;
        flex-direction: column;
        padding: 0;
        overflow: hidden;
        box-sizing: border-box;
      }

      .hero-bg {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        min-height: 0;
      }

      .hero-bg::after {
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.45) 45%, rgba(0, 0, 0, 0.65) 100%);
      }

      .hero-content {
        position: relative;
        z-index: 3;
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        width: 100%;
        max-width: 100%;
        padding: 150px 16px 0;
        margin: 0;
        text-align: center;
        box-sizing: border-box;
      }

      .hero h1 {
        font-family: var(--font-h);
        font-size: 42px;
        font-weight: 700;
        line-height: 1.1;
        text-align: center;
        letter-spacing: 0;
        margin: 0;
        width: 100%;
      }

      .hero p {
        font-family: var(--font-b);
        font-size: 14px;
        font-weight: 400;
        line-height: 1.5;
        text-align: center;
        color: #fff;
        margin: 12px 0 0;
        max-width: 100%;
        width: 100%;
      }

      .hero-content .btn {
        width: 100%;
        max-width: 100%;
        margin-top: 32px;
        margin-bottom: 100px;
        padding: 15px;
        font-family: var(--font-h);
        font-size: 20px;
        font-weight: 700;
        letter-spacing: 0.04em;
        justify-content: center;
        border-radius: 50px;
        box-sizing: border-box;
      }

      .btn,
      .btn-submit,
      .fg-submit {
        font-size: 20px;
        font-weight: 700;
        padding: 15px;
        min-width: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
      }

      .form-grid .fg-submit {
        justify-self: stretch;
      }

      /* ─ HERO BAR (преимущества) ─ */
      .hero-bar {
        background: #1a1a1a;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 24px 16px 40px;
        gap: 0;
      }

      .hb-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        width: 100%;
        max-width: 100%;
        padding: 0;
        margin: 0 0 32px;
        border: none;
        gap: 0;
      }

      .hb-item:last-child {
        margin-bottom: 0;
      }

      .hb-icon {
        width: 40px;
        height: 40px;
        margin: 0 0 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        color: var(--orange);
        line-height: 0;
      }

      .hb-icon svg {
        width: 40px;
        height: 40px;
        display: block;
      }

      .hb-title {
        font-family: var(--font-h);
        font-size: 24px;
        font-weight: 700;
        line-height: 1.15;
        letter-spacing: 0;
        text-transform: none;
        color: #fff;
        margin: 0 0 8px;
      }

      .hb-desc {
        display: block;
        font-family: var(--font-b);
        font-size: 14px;
        font-weight: 400;
        line-height: 1.5;
        color: rgba(255, 255, 255, 0.6);
        margin: 0;
        max-width: 100%;
      }

      /* ─ SECTIONS BASE ─ */
      section {
        padding: 40px 16px;
      }

      .s-label {
        font-family: var(--font-b);
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #8F8F8F;
        text-align: center;
        margin-bottom: 16px;
      }

      .s-title {
        font-family: var(--font-h);
        font-size: 40px;
        font-weight: 700;
        text-align: center;
        line-height: 1.05;
        margin-bottom: 40px;
      }

      /* ─ AWAITS — на мобильном стрелки скрыты, peek-эффект */
      #awaits {
        padding: 36px 0 40px;
        overflow: hidden;
      }

      #awaits .s-title {
        padding: 0 16px;
      }

      .awaits-wrap {
        padding: 0 16px;
      }

      .awaits-viewport {
        overflow: visible;
      }

      .a-arrow {
        display: none !important;
      }

      .awaits-track {
        gap: 12px;
      }

      .a-card {
        border-radius: 20px;
      }

      .a-card img {
        height: 306px;
      }

      .a-card-body {
        padding: 32px 0 24px;
        box-sizing: border-box;
      }

      .a-card-body h3 {
        font-family: var(--font-h);
        font-size: 24px;
        font-weight: 700;
        line-height: 1.15;
        letter-spacing: 0;
        text-transform: none;
        color: #1F1F1F;
        margin: 0 0 12px;
        padding: 0 16px;
      }

      .a-card-body p {
        font-family: var(--font-b);
        font-style: normal;
        font-weight: 400;
        font-size: 14px;
        line-height: 1.5;
        color: #1F1F1F;
        margin: 0;
        padding: 0 16px;
      }

      .a-arrow {
        width: 32px;
        height: 32px;
        font-size: 14px;
        top: 40%;
      }

      /* ─ ITINERARY ─ */
      #itinerary {
        background: var(--bg-light);
        padding: 36px 16px 0;
      }

      #itinerary .s-label {
        color: #8F8F8F;
        text-align: center;
      }

      #itinerary .s-title {
        font-size: 40px;
        font-weight: 700;
        text-align: center;
        line-height: 1.05;
      }

      .iti-inner {
        display: flex;
        flex-direction: column-reverse;
        gap: 20px;
      }

      #itiPhotos {
        order: -1;
      }

      .iti-left-wrap {
        order: 0;
        position: relative;
        overflow: visible;
        background: var(--bg-card);
        border-radius: 18px;
		height: auto;
      }

      .iti-card {
        background: transparent !important;
        border-radius: 0;
        padding: 80px 20px 72px;
        position: relative;
        overflow: visible;
        z-index: 1;
      }

      .iti-card-bg {
        display: none;
      }

      .for-day-tag {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 4;
        background: var(--bg-light);
        padding-bottom: 8px;
        padding-right: 8px;
        border-bottom-right-radius: 18px;
      }

      .leftdt {
        display: block;
        height: 28px;
        width: 28px;
        bottom: -28px;
      }

      .leftdt::before {
        height: 28px;
        width: 28px;
        border-top-left-radius: 18px;
        background: var(--bg-card);
      }

      .rightdt {
        display: block;
        height: 28px;
        width: 28px;
        right: -28px;
      }

      .rightdt::before {
        height: 28px;
        width: 28px;
        border-top-left-radius: 18px;
        background: var(--bg-card);
      }

      .day-tag {
        position: relative;
        top: auto;
        left: auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        font-family: var(--font-h);
        font-size: 20px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0;
        text-transform: uppercase;
        padding: 9px 26px;
        border-radius: 50px;
        z-index: 1;
      }

      .iti-card h3 {
        font-family: var(--font-h);
        font-size: 24px;
        font-weight: 700;
        line-height: 1.15;
        letter-spacing: 0;
        text-transform: uppercase;
        color: #1F1F1F;
        margin: 0 0 18px;
        padding: 0;
        position: relative;
        z-index: 2;
      }

      .iti-card ul {
        gap: 10px;
        position: relative;
        z-index: 2;
      }

      .iti-card li {
        font-family: var(--font-b);
        font-style: normal;
        font-weight: 400;
        font-size: 14px;
        line-height: 1.43;
        color: #1F1F1F;
        padding-left: 14px;
      }

      .iti-card li::before {
        top: 6px;
      }

      .for-iti-nav {
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: 4;
        display: inline-flex;
        background: var(--bg-light);
        padding-top: 8px;
        padding-left: 8px;
        border-top-left-radius: 18px;
      }

      .bottomrdt {
        display: block;
        height: 28px;
        width: 28px;
        left: -28px;
        bottom: 0;
        background: var(--bg-light);
      }

      .bottomrdt::before {
        height: 28px;
        width: 28px;
        border-bottom-right-radius: 18px;
        background: var(--bg-card);
      }

      .bottomldt {
        display: block;
        height: 28px;
        width: 28px;
        right: 0;
        top: -28px;
        background: var(--bg-light);
      }

      .bottomldt::before {
        height: 28px;
        width: 28px;
        border-bottom-right-radius: 18px;
        background: var(--bg-card);
      }

      .iti-nav {
        display: flex;
        gap: 10px;
        justify-content: flex-end;
        margin: 0;
        padding: 8px 8px 12px;
        position: relative;
        z-index: 1;
      }

      .nb {
        width: auto;
        height: auto;
        font-size: 20px;
        font-weight: 700;
        padding: 15px;
      }

      .iti-photos {
        display: grid;
        grid-template-columns: 180fr 140fr;
        grid-template-rows: 140px 120px;
        height: auto;
        gap: 6px;
        border-radius: 14px;
        overflow: hidden;
      }

      .iti-photos--stack .iti-photo:nth-child(1) {
        grid-column: 1;
        grid-row: 1;
        border-radius: 10px;
      }

      .iti-photos--stack .iti-photo:nth-child(2) {
        grid-column: 1;
        grid-row: 2;
        border-radius: 10px;
      }

      .iti-photos--stack .iti-photo:nth-child(3) {
        grid-column: 2;
        grid-row: 1 / span 2;
        border-radius: 10px;
      }

      .iti-photos--dual {
grid-template-columns: 1.25fr 1fr;
        grid-template-rows: 266px;
      }

      .iti-photos--dual .iti-photo:nth-child(1),
      .iti-photos--dual .iti-photo:nth-child(2) {
        border-radius: 10px;
      }

      .iti-cta {
        margin-top: 24px;
      }

      /* ─ GALLERY ─ */
      #gallery {
        padding: 0;
        overflow: hidden;
      }

      #gallery .s-title {
        padding: 0 16px;
      }

      .gal-slide {
        width: 70vw;
        max-width: 300px;
        height: 416px;
        border-radius: 10px;
      }

      .gal-cta {
        padding: 24px 16px 0;
        margin-bottom: 100px;
        margin-top: 0;
      }

      /* ─ ROUTE ─ */
      #route {
        /* background: #1a1a1a; */
        padding: 0 16px;
      }

      #route>.s-title {
        margin: 0 0 12px;
      }

      #route .route-desc,
      #route p.route-desc {
        display: block;
        font-family: var(--font-b);
        font-size: 14px;
        font-weight: 400;
        line-height: 1.5;
        text-align: center;
        color: var(--text-dark);
        max-width: 600px;
        margin: 0 auto 32px;
      }

      .route-stops {
        display: none;
      }

      .route-map {
        /* height: 400px; */
        border-radius: 14px;
        border: 1px solid rgba(255, 255, 255, 0.08);
      }

      .route-cta {
        margin-top: 24px;
      }

      /* ─ MOTORCYCLES ─ */
      #motorcycles {
        /* background: #1a1a1a; */
        padding: 0 16px;
        margin-bottom: 100px;
      }

      #motorcycles .s-title {
        margin-bottom: 32px;
      }

      .moto-card {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        gap: 12px;
        height: auto;
        min-height: 0;
        max-height: none;
        border-radius: 0;
        overflow: visible;
        background: transparent;
        box-shadow: none;
      }

      .moto-info-body {
        max-width: 100%;
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding: 0 0 72px;
        min-height: auto;
        overflow: visible;
      }

      .moto-info {
        order: -1;
        position: relative;
        padding: 0 20px;
        background: var(--bg-card);
        border-radius: 18px;
        gap: 0;
        margin-bottom: 0;
        overflow: visible;
        height: auto;
        min-height: var(--moto-info-min-h, auto);
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
      }

      .moto-info-top {
        padding: 50px 0 18px;
      }

      .moto-info-mid {
        flex: 0 1 auto;
        padding: 0 0 24px;
      }

      .moto-info-bottom {
        margin-top: auto;
        padding-bottom: 0;
      }

      .moto-tags {
        padding-right: 20px;
        box-sizing: border-box;
      }

      .for-moto-nav {
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: 4;
        display: inline-flex;
        background: var(--bg-light);
        padding-top: 8px;
        padding-left: 8px;
        border-top-left-radius: 18px;
      }

      .motonav-l,
      .motonav-b {
        display: block;
        height: 28px;
        width: 28px;
        background: var(--bg-light);
      }

      .motonav-l {
        left: -28px;
        bottom: 0;
      }

      .motonav-l::before {
        height: 28px;
        width: 28px;
        border-bottom-right-radius: 18px;
        background: var(--bg-card);
      }

      .motonav-b {
        right: 0;
        top: -28px;
      }

      .motonav-b::before {
        height: 28px;
        width: 28px;
        border-bottom-right-radius: 18px;
        background: var(--bg-card);
      }

      .moto-nav {
        padding: 8px 8px 12px;
      }

      .moto-info h3 {
        font-family: var(--font-h);
        color: var(--text-dark);
        font-size: 24px;
        font-weight: 700;
        line-height: 1.15;
        letter-spacing: 0;
        margin: 0;
        padding: 0;
      }

      .moto-info p {
        font-family: var(--font-b);
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 20px;
        color: #1F1F1F;
      }

      .moto-tag {
        border-color: rgba(0, 0, 0, 0.2);
        color: var(--text-mid);
        font-family: var(--font-b);
        font-size: 14px;
        font-weight: 400;
        padding: 8px 20px;
      }

      .moto-logo {
        top: 20px;
        right: 20px;
        width: 58px;
        height: 44px;
        background: transparent;
      }

      .moto-photo {
        order: 1;
        height: 52vw;
        min-height: 200px;
        margin: 0;
        width: 100%;
        border-radius: 18px;
        overflow: hidden;
      }

      .moto-photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 18px;
        display: block;
      }

      /* ─ PRICING ─ горизонтальный скролл */
      #pricing {
        padding: 0 16px;
        overflow: hidden;
        box-sizing: border-box;
      }

      #pricing .s-title {
        margin-bottom: 32px;
        padding: 0;
      }

      .price-inner {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 0 0 8px;
        margin: 0 -16px 0 0;
        padding-right: 16px;
        width: auto;
        grid-template-columns: unset;
        box-sizing: border-box;
      }

      .price-inner::-webkit-scrollbar {
        display: none;
      }

      .pc {
        width: 284px;
        min-width: 284px;
        max-width: 284px;
        height: 419px;
        min-height: 419px;
        max-height: 419px;
        flex-shrink: 0;
        scroll-snap-align: start;
        border-radius: 20px 30px 20px 20px;
        padding: 0;
        overflow: hidden;
        box-sizing: border-box;
        position: relative;
        display: flex;
        flex-direction: column;
        background: var(--dark);
      }

      .pcc {
        flex: 1 1 auto;
        min-height: 0;
        padding: 28px 20px 16px;
        box-sizing: border-box;
      }

      .pc-old {
        font-family: var(--font-b);
        font-size: 14px;
        font-weight: 400;
        color: #8F8F8F;
        text-decoration: line-through;
        margin-bottom: 6px;
      }

      .pc-amount {
        font-family: var(--font-h);
        font-size: 56px;
        font-weight: 700;
        line-height: 1;
        color: #fff;
        margin-bottom: 6px;
        letter-spacing: 0;
      }

      .pc-per {
        font-family: var(--font-b);
        font-size: 14px;
        font-weight: 400;
        color: #8F8F8F;
        margin-bottom: 0;
      }

      .pc-img {
        width: calc(100% - 16px);
        height: 237px;
        max-width: calc(100% - 16px);
        margin: 0 8px 8px;
        object-fit: cover;
        border-radius: 14px;
        position: static;
        bottom: auto;
        display: block;
        flex-shrink: 0;
        box-sizing: border-box;
      }

      .for-pc-arrow {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 4;
        background: var(--bg-light);
        padding-bottom: 8px;
        padding-left: 8px;
        border-bottom-left-radius: 30px;
        line-height: 0;
      }

      .pc-arrow {
        width: 60px;
        height: 60px;
        padding: 0;
        line-height: 0;
      }

      .pc-arrow svg {
        width: 22px;
        height: 22px;
      }

      .pcarr-l,
      .pcarr-b {
        display: block;
        height: 28px;
        width: 28px;
        background: var(--bg-light);
      }

      .pcarr-l {
        left: -28px;
        top: 0;
      }

      .pcarr-l::before {
        height: 28px;
        width: 28px;
        border-top-right-radius: 20px;
        background: var(--dark);
      }

      .pcarr-b {
        right: 0;
        bottom: -28px;
      }

      .pcarr-b::before {
        height: 28px;
        width: 28px;
        border-top-right-radius: 20px;
        background: var(--dark);
      }

      .pc-custom {
        width: 284px;
        min-width: 284px;
        max-width: 284px;
        height: 419px;
        min-height: 419px;
        max-height: 419px;
        flex-shrink: 0;
        scroll-snap-align: start;
        background: var(--bg-card);
        border-radius: 20px;
        padding: 28px 20px 24px;
        box-sizing: border-box;
        grid-column: auto;
        position: relative;
        overflow: visible;
        isolation: isolate;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        gap: 12px;
      }

      .pc-custom .for-pc-arrow {
        background: var(--bg-light);
        border-bottom-left-radius: 30px;
      }

      .pc-custom .pcarr-l--custom::before,
      .pc-custom .pcarr-b--custom::before {
        background: var(--bg-card);
        border-top-right-radius: 30px;
      }

      .pc-custom h3 {
        font-family: var(--font-h);
        font-size: 46px;
        font-weight: 700;
        color: var(--text-dark);
        line-height: 1.1;
        text-transform: uppercase;
        margin: 0;
        padding-right: 48px;
      }

      .pc-custom p {
        color: #8F8F8F;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.5;
        margin: 0;
        max-width: 100%;
      }

      .price-cta {
        padding: 0;
        margin-top: 24px;
      }
	  .price-cta.ctacta {
    flex-wrap: wrap;
    gap: 20px;
    padding: 20px;
}

      /* ─ INCLUSIONS ─ */
      #inclusions {
        background: var(--bg-light);
        padding: 0 16px;
      }

      #inclusions .s-title {
        margin-bottom: 24px;
      }

      .inc-inner {
        gap: 10px;
      }

      .inc-panels {
        grid-template-columns: 1fr;
        gap: 10px;
      }

      .inc-panel {
        border-radius: 16px;
        flex-direction: column;
        padding: 0 16px 24px;
      }

      .inc-label {
        writing-mode: horizontal-tb;
        transform: none;
        white-space: normal;
        font-family: var(--font-h);
        font-size: 27px;
        font-weight: 700;
        letter-spacing: 0;
        text-transform: uppercase;
        color: #1F1F1F;
        opacity: 0.2;
        width: auto;
        margin: 24px 0;
        padding: 0 16px;
        display: block;
        text-align: left;
        pointer-events: none;
      }

      .inc-panel-content {
        padding: 0;
      }

      .inc-row {
        grid-template-columns: 64px 1fr;
        gap: 15px;
        align-items: start;
        padding: 0 0 24px;
        margin-bottom: 0;
        border-bottom-width: 1px;
      }

      .inc-row+.inc-row {
        padding-top: 24px;
      }

      .inc-ico {
        width: 64px;
        height: 64px;
        font-size: 16px;
      }

      .inc-ico svg {
        width: 24px;
        height: 24px;
        display: block;
      }

      .inc-row-text h4 {
        font-family: var(--font-h);
        font-size: 24px;
        font-weight: 700;
        line-height: 1.15;
        letter-spacing: 0;
        text-transform: uppercase;
        color: var(--text-dark);
        margin: 0 0 8px;
      }

      .inc-row-text li {
        font-family: var(--font-b);
        font-size: 14px;
        font-weight: 400;
        line-height: 1.5;
        color: var(--text-mid);
      }

      .inc-row-text li::before {
        top: 7px;
      }

      .inc-extra {
        flex-direction: column;
        border-radius: 14px;
        padding: 0 58px 24px;
      }

      .inc-extra .inc-label {
        text-align: center;
        padding-left: 16px;
        padding-right: 16px;
      }

      .inc-extra-grid {
        grid-template-columns: 1fr;
        padding: 0;
        gap: 10px;
      }

      .inc-extra-item {
        font-family: var(--font-b);
        font-size: 16px;
        font-weight: 400;
        line-height: 1.5;
        color: var(--text-mid);
      }

      .inc-extra-item span {
        font-size: 14px;
        line-height: 1.5;
      }

      .inc-not {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 20px 28px 24px;
        border-radius: 14px;
        text-align: left;
      }

      .inc-not-label {
        font-family: var(--font-h);
        font-size: 24px;
        font-weight: 700;
        line-height: 1.3;
        text-transform: uppercase;
        text-align: center;
        color: var(--text-dark);
        width: 100%;
        min-width: 0;
        margin-bottom: 16px;
      }

      .inc-not-col {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
      }

      .inc-not-item {
        font-family: var(--font-b);
        font-size: 16px;
        font-weight: 400;
        line-height: 1.5;
        color: var(--text-mid);
        text-align: left;
        padding-left: 12px;
        position: relative;
        display: block;
        width: 100%;
        box-sizing: border-box;
      }

      .inc-not-item::before {
        content: ' ';
        display: block;
        position: absolute;
        left: -2px;
        top: 8px;
        width: 8px;
        height: 8px;
        background: #CCC8C0;
        border-radius: 50%;
      }

      .inc-cta {
        margin-top: 16px;
      }

      /* ─ TESTIMONIALS ─ горизонтальный скролл */
      #testimonials {
        background: var(--bg-light);
        padding: 40px 16px;
        box-sizing: border-box;
        overflow: hidden;
      }

      #testimonials .s-label {
        margin-bottom: 16px;
        padding: 0;
      }

      #testimonials .s-title {
        color: var(--text-dark);
        margin-bottom: 40px;
        padding: 0;
      }

      .testi-inner {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 0 0 8px;
        margin: 0 -16px 0 0;
        padding-right: 16px;
        grid-template-columns: unset;
        box-sizing: border-box;
      }

      .testi-inner::-webkit-scrollbar {
        display: none;
      }

      .tc {
        width: calc(100vw - 32px - 28px);
        min-width: calc(100vw - 32px - 28px);
        max-width: calc(100vw - 32px - 28px);
        flex-shrink: 0;
        scroll-snap-align: start;
        border-radius: 18px;
        padding: 22px 18px;
        height: auto;
        min-height: 0;
        max-height: none;
      }

      .tc p {
        font-family: var(--font-b);
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 20px;
        color: #F3F2EE;
        margin: 0;
        flex: 0 0 auto;
      }

      .tc-avatar {
        width: 68px;
        height: 68px;
      }

      .tc-name {
        font-family: var(--font-b);
        font-size: 15px;
        font-weight: 700;
        text-transform: none;
        color: #F3F2EE;
      }

      .tc-meta {
        font-family: var(--font-b);
        font-size: 13px;
        line-height: 16px;
        color: rgba(243, 242, 238, 0.3);
      }

      /* ─ GUIDE (только мобилка) ─ */
      #guide {
        background: var(--bg-light);
        padding: 36px 16px 100px;
      }

      #guide .s-label {
        margin-bottom: 16px;
      }

      #guide .s-title {
        margin-bottom: 40px;
        color: #1F1F1F;
      }

      #guide .s-label,
      #guide .s-title {
        text-align: center;
      }

      .guide-inner {
        grid-template-columns: 1fr;
        gap: 24px;
      }

      .guide-photos-outer {
        order: 1;
        width: 100%;
        max-width: none;
        display: block;
      }

      /* сброс ПК-сетки — два фото столбиком как в макете */
      .guide-photos {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: unset !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
        column-gap: 0 !important;
        row-gap: 0 !important;
        position: static !important;
        transform: none !important;
      }

      .gp-main-wrap,
      .gp-center,
      .gp-bottom {
        display: block !important;
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
      }

      .gp-main-wrap {
        position: relative;
        margin: 0 0 12px;
        border-radius: 14px;
        overflow: hidden;
      }

      .gp-main-wrap .gp-main {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        max-width: none !important;
        aspect-ratio: 394 / 524;
        object-fit: cover;
        border-radius: 14px;
        display: block;
        vertical-align: top;
      }

      .gp-center {
        position: relative;
        margin: 0;
        border-radius: 14px;
        overflow: visible;
      }

      .gp-center-imgwrap {
        position: relative;
        width: 100% !important;
        height: auto !important;
        max-width: none !important;
        aspect-ratio: unset;
        border-radius: 14px;
        overflow: hidden;
        pointer-events: none;
      }

      .gp-center-imgwrap img {
        width: 100% !important;
        height: auto !important;
        max-width: none !important;
        aspect-ratio: unset;
        display: block;
        object-fit: cover;
        border-radius: 14px;
      }

      .gp-bottom {
        display: none !important;
      }

      .gp-badge1,
      .gp-badge2 {
        font-family: var(--font-h);
        font-size: 20px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0;
        padding: 9px 26px;
        gap: 8px;
        box-sizing: border-box;
      }

      .gp-badge1 {
        border-radius: 40px 0 40px 40px;
      }

      .gp-badge2 {
        border-radius: 40px 0 40px 40px;
        z-index: 4;
      }

      .gp-wm {
        display: block;
        position: absolute;
        left: 8px;
        bottom: 8px;
        top: auto;
        transform: none;
        font-size: 7px;
        letter-spacing: 2px;
      }

      .guide-text {
        order: 2;
      }

      .guide-text h2 {
        font-family: var(--font-h);
        font-size: 32px;
        font-weight: 700;
        line-height: 1.1;
        text-transform: uppercase;
        letter-spacing: 0;
        color: #1F1F1F;
        text-align: left;
        margin: 0 0 16px;
      }

      .guide-text p {
        font-family: var(--font-b);
        font-size: 16px;
        font-weight: 400;
        line-height: 1.25;
        color: #1F1F1F;
        text-align: left;
        margin: 0 0 12px;
      }

      .guide-text p:last-of-type {
        margin-bottom: 0;
      }

      .guide-stats {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 12px;
        row-gap: 24px;
        width: 100%;
        padding: 0;
        margin: 40px 0 0;
      }

      .guide-stats>div:nth-child(1),
      .guide-stats>div:nth-child(2),
      .guide-stats>div:nth-child(3) {
        text-align: center;
      }

      .guide-stats>div:nth-child(3) {
        grid-column: 1 / -1;
      }

      .guide-stats>div:nth-child(1) .gs-num,
      .guide-stats>div:nth-child(2) .gs-num,
      .guide-stats>div:nth-child(3) .gs-num {
        justify-content: center;
      }

      .gs-num {
        font-size: 44px;
        line-height: 1;
        gap: 4px 8px;
        justify-content: center;
      }

      .gs-unit {
        font-size: 24px;
        line-height: 1;
        text-transform: uppercase;
      }

      .gs-label {
        font-size: 16px;
        line-height: 1.25;
        color: #8F8F8F;
        margin-top: 8px;
        text-align: center;
      }

      /* ─ FAQ ─ */
      #faq {
        padding: 80px 16px 100px;
      }

      .fq-q {
        font-size: 16px;
        line-height: 1.4;
        padding: 20px 16px;
      }

      .fq.open .fq-q {
        padding: 20px 16px 12px;
      }

      .fq-a {
        font-size: 13px;
        padding: 0 16px;
        line-height: 1.7;
      }

      .fq.open .fq-a {
        max-height: 400px;
        padding: 0 16px 20px;
      }

      .fq {
        border-radius: 14px;
      }

      /* ─ FORM ─ */
      .form-outer {
        padding: 0;
        background: var(--bg-light);
      }

      .form-card {
        border-radius: 20px;
        max-width: 100%;
        overflow: hidden;
      }

      .form-card-main {
        padding: 56px 20px 60px;
      }

      .form-top {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0;
        margin-bottom: 0;
      }

      .form-top-main,
      .form-top-seats {
        width: 100%;
        text-align: center;
      }

      .form-seats-num {
        font-family: var(--font-h);
        font-size: 24px;
        font-weight: 700;
        line-height: 1.1;
        text-align: center;
        letter-spacing: 0;
        color: #fff;
        margin: 0 0 7px;
      }

      .form-seats-note {
        font-family: var(--font-b);
        font-size: 14px;
        font-weight: 400;
        line-height: 1.35;
        text-align: center;
        color: rgba(255, 255, 255, 0.5);
        margin: 0 0 40px;
      }

      .form-card h2 {
        font-family: var(--font-h);
        font-size: 36px;
        font-weight: 700;
        text-align: center;
        line-height: 1.1;
        text-transform: uppercase;
        color: #fff;
        margin: 0 0 8px;
      }

      .form-sub {
        font-family: var(--font-b);
        font-size: 14px;
        font-weight: 400;
        text-align: center;
        max-width: 100%;
        margin: 0 0 40px;
        line-height: 1.45;
        color: rgba(255, 255, 255, 0.5);
      }

      .form-grid {
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 28px;
      }

      .form-field--name,
      .form-field--msg,
      .form-field--phone,
      .form-grid .fg-submit {
        grid-column: 1;
        grid-row: auto;
      }

      .form-field {
        gap: 6px;
      }

      .fg-label {
        font-size: 12px;
        line-height: 1.35;
        color: rgba(255, 255, 255, 0.5);
      }

      .fg-input {
        min-height: 0;
        padding: 15px 16px;
        font-size: 15px;
        border-radius: 12px;
        background: #262626;
        border-color: rgba(255, 255, 255, 0.06);
      }

      .fg-submit {
        min-height: 0;
        font-size: 24px;
        font-weight: 700;
        padding: 15px 24px;
        line-height: 1.2;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        letter-spacing: 0.06em;
        border-radius: 50px;
        margin-top: 12px;
      }

      .form-tire {
        height: 52px;
        margin-top: 0;
      }

      .form-foot {
        flex-direction: column;
        align-items: center;
        gap: 30px;
        text-align: center;
        padding: 20px 20px 24px;
        background: #2a2a2a;
      }

      .form-foot-text {
        font-family: var(--font-b);
        font-size: 20px;
        font-weight: 700;
        line-height: 1.35;
        text-transform: none;
        letter-spacing: 0;
        color: #fff;
        margin: 0;
      }

      .form-foot-right {
        flex-direction: column;
        align-items: center;
        gap: 30px;
        width: 100%;
      }

      .form-foot-socs {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
      }

      .form-phone-pill {
        font-size: 15px;
        font-weight: 500;
        padding: 10px 20px;
        background: rgba(255, 255, 255, 0.1);
      }

      .form-soc {
        width: 40px;
        height: 40px;
      }

      /* ─ FOOTER ─ */
      footer {
        padding: 24px 16px;
      }

      .footer-top {
        flex-direction: column;
        gap: 0;
        align-items: stretch;
      }

      .footer-top .fl {
        align-self: flex-end;
        margin-bottom: 20px;
      }

      .footer-links {
        flex-direction: column;
        gap: 4px;
        margin-bottom: 20px;
        padding-right: 0;
      }

      .footer-links a {
        font-size: 15px;
        color: rgba(255, 255, 255, 0.6);
        padding: 2px 0;
      }

      .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
        padding-top: 16px;
        margin-top: 20px;
      }

      .footer-right-group {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        width: 100%;
        order: 1;
      }

      .footer-socs {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
      }

      .footer-right-group .form-phone-pill {
        width: auto;
        max-width: 100%;
        font-size: 15px;
        padding: 10px 20px;
      }

      .footer-right-group .form-soc {
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
      }

      .footer-copy {
        font-size: 12px;
        color: rgba(255, 255, 255, 0.25);
        order: 2;
      }
    }


/* Full-resolution photo viewer */
html.photo-viewer-open,body.photo-viewer-open{overflow:hidden;overscroll-behavior:none}
.photo-viewer[hidden]{display:none!important}
.photo-viewer{position:fixed;inset:0;z-index:10000;display:grid;grid-template-columns:minmax(56px,auto) minmax(0,1fr) minmax(56px,auto);align-items:center;background:rgba(8,8,8,.94);padding:24px clamp(12px,3vw,48px);overscroll-behavior:contain}
.photo-viewer__stage{margin:0;min-width:0;max-width:100%;max-height:calc(100vh - 48px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.photo-viewer__image{display:block;max-width:100%;max-height:calc(100vh - 92px);width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none}
.photo-viewer__caption{min-height:24px;color:#fff;display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--font-b);font-size:14px;text-align:center}
.photo-viewer__counter{color:rgba(255,255,255,.62);white-space:nowrap}
.photo-viewer__close,.photo-viewer__nav{border:0;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .18s ease,transform .18s ease}
.photo-viewer__close:hover,.photo-viewer__nav:hover{background:rgba(255,255,255,.22)}
.photo-viewer__close:focus-visible,.photo-viewer__nav:focus-visible{outline:2px solid #fff;outline-offset:3px}
.photo-viewer__close{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;font-size:32px;line-height:1;font-weight:300}
.photo-viewer__nav{width:50px;height:50px;border-radius:50%;font-size:42px;line-height:1;padding:0 0 5px}
.photo-viewer__nav--prev{grid-column:1}.photo-viewer__stage{grid-column:2}.photo-viewer__nav--next{grid-column:3}
.photo-viewer-trigger{cursor:zoom-in}
.photo-viewer-trigger:focus-visible{outline:3px solid #fd4a22;outline-offset:3px}
@media(max-width:767px){.photo-viewer{grid-template-columns:1fr;padding:56px 10px 18px}.photo-viewer__stage{grid-column:1;max-height:calc(100vh - 74px)}.photo-viewer__image{max-height:calc(100vh - 122px)}.photo-viewer__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;background:rgba(0,0,0,.45);font-size:36px}.photo-viewer__nav--prev{left:8px}.photo-viewer__nav--next{right:8px}.photo-viewer__close{top:10px;right:10px}.photo-viewer__caption{padding:0 42px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.photo-viewer__close,.photo-viewer__nav{transition:none}}


/* ===== Inlined from responsive-fixes.css to remove a render-blocking request ===== */
/* Prevent wide slider tracks and fallback-font metrics from expanding the page. */
html,
body,
#main-content {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
}

/* Project-wide stabilization and responsive overrides. Loaded last. */
:root { --page-gutter: clamp(16px, 4.2vw, 60px); }
html { scroll-padding-top: 88px; }
body { min-width: 280px; }
body.menu-open { overflow: hidden; touch-action: none; }
img { max-width: 100%; }
[id] { scroll-margin-top: 88px; }
button, input { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: 3px;
}
.skip-link {
  position: fixed; left: 16px; top: 10px; z-index: 1000;
  transform: translateY(-160%); padding: 10px 16px; border-radius: 12px;
  background: #fff; color: #111; font-weight: 700; text-decoration: none;
  transition: transform .18s ease;
}
.skip-link:focus { transform: translateY(0); }

/* Navigation */
nav { max-width: 1280px; }
nav.scrolled { max-width: none; }
.mobile-menu[aria-hidden="true"] { visibility: hidden; }
.mobile-menu.open { visibility: visible; }
[data-placeholder-link] { cursor: default; }
[data-placeholder-link]:focus-visible { outline-color: rgba(255,255,255,.55); }

/* Fluid outer rhythm */
section { padding-left: var(--page-gutter); padding-right: var(--page-gutter); }
.s-title { text-wrap: balance; }
.btn { max-width: 100%; }

/* Hero: avoid mobile browser 100vh jumps. */
.hero {
  height: auto;
  min-height: max(640px, 100svh);
  min-height: max(640px, 100dvh);
  display: flex;
  align-items: center;
  padding: clamp(130px, 14vh, 180px) var(--page-gutter) clamp(80px, 10vh, 120px);
}
.hero-content { width: 100%; }
.hero-content .btn { margin-bottom: 0; }
.hero-bar {
  gap: clamp(18px, 2vw, 32px);
  padding: clamp(36px, 4.2vw, 60px) var(--page-gutter);
}
.hb-item { min-width: 0; padding: 0; }

/* Stable map clipping and intrinsic sizing. */
.route-map { width: 100%; height: auto; border-radius: 20px; overflow: hidden; line-height: 0; }
.route-map picture, .route-map img { display: block; width: 100%; height: auto; }
.route-map img { border-radius: 0; object-fit: contain; }

/* Stable transitions: content changes, controls do not disappear. */
.iti-inner, .moto-photo, .moto-info-body {
  transition: opacity .1s ease, transform .1s ease;
  will-change: opacity, transform;
}
.iti-inner.is-changing { opacity: .55; transform: translateY(4px); }
.moto-card.is-changing .moto-photo,
.moto-card.is-changing .moto-info-body { opacity: .55; transform: translateY(4px); }

/* Motorcycle card: remove hard height and internal scrollbars. */
.moto-card {
  height: auto; min-height: 465px; max-height: none;
  grid-template-rows: minmax(465px, auto);
}
.moto-photo { min-height: 465px; height: auto; }
.moto-photo img { min-height: 465px; }
.moto-info { height: auto; min-height: 465px; max-height: none; }
.moto-info-body { overflow: visible; min-height: 0; }
.moto-info-mid { min-height: 0; }

/* Sliders */
.gal-strip-wrap.out-of-view .gal-strip,
.gal-strip-wrap.paused .gal-strip { animation-play-state: paused; }
.awaits-track { transform: translate3d(0,0,0); }
.awaits-viewport { touch-action: pan-y; }

/* Actual FAQ buttons instead of clickable divs. */
.fq-q {
  width: 100%; border: 0; background: transparent; cursor: pointer;
  font: inherit; color: inherit; text-align: left;
}
.fq-a[aria-hidden="true"] { visibility: hidden; }
.fq.open .fq-a { visibility: visible; }

/* Form status and validation. */
.form-status {
  grid-column: 1 / -1; min-height: 20px; margin: 0;
  color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.4;
}
.form-status.is-error { color: #ff9d87; }
.form-status.is-success { color: #b7e3b3; }
.fg-input:user-invalid { border-color: #ff8064; }

/* Footer had an accidental 200px empty gap. */
.footer-bottom { margin-top: clamp(56px, 8vw, 110px); }

/* Hotels: smoother swap and predictable responsive media. */
.hotels__photo-img { transition: opacity .14s ease, transform .2s ease; }
.hotels__photo[aria-busy="true"] .hotels__arrow { pointer-events: none; }

@media (max-width: 1100px) {
  nav { width: calc(100% - 40px); }
  .hero-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hb-item { padding: 12px 0; }
  .iti-inner { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .iti-left-wrap { min-height: 430px; }
  .iti-photos { height: min(62vw, 540px); }
  .price-inner { gap: 16px; }
  .pcc { padding-left: 36px; padding-right: 36px; }
  .testi-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .testi-inner .tc:last-child { grid-column: 1 / -1; min-height: 340px; }
  .guide-inner { gap: 36px; }
}

@media (max-width: 1024px) {
  :root { --page-gutter: 32px; }
  nav { width: calc(100% - 32px); }
  .hero { padding-top: 128px; padding-bottom: 80px; }
  .hero p { max-width: 620px; }
  .hero-bar { border-radius: 0 0 20px 20px; }

  .iti-left-wrap { order: 1; width: 100%; height: auto; min-height: 430px; }
  #itiPhotos { order: 2; width: 100%; }
  .iti-card { min-height: 430px; }

  .moto-card { min-height: 0; grid-template-rows: auto auto; }
  .moto-info { min-height: 0; height: auto; padding: 40px 32px 64px; }
  .moto-info-body { max-width: none; padding-bottom: 30px; }
  .moto-info-bottom { margin-top: 32px; }
  .moto-photo { min-height: 0; height: auto; aspect-ratio: 1.37 / 1; }
  .moto-photo img { min-height: 0; height: 100%; }

  .price-inner, .testi-inner {
    display: flex; grid-template-columns: none; overflow-x: auto;
    scroll-snap-type: x mandatory; scrollbar-width: none;
    padding: 4px 2px 12px;
  }
  .price-inner::-webkit-scrollbar, .testi-inner::-webkit-scrollbar { display: none; }
  .price-inner > *, .testi-inner > * { scroll-snap-align: start; flex: 0 0 min(430px, 82vw); }
  .testi-inner .tc:last-child { grid-column: auto; }

  .guide-inner { grid-template-columns: 1fr; }
  .guide-photos-outer { margin-inline: auto; }
  .guide-info { max-width: 720px; margin-inline: auto; }
  .form-outer { padding-left: 32px; padding-right: 32px; }
  footer { padding-left: 32px; padding-right: 32px; }
}

@media (max-width: 767px) {
  :root { --page-gutter: 16px; }
  html { scroll-padding-top: 76px; }
  [id] { scroll-margin-top: 76px; }
  nav, nav.scrolled {
    width: calc(100% - 24px); max-width: none; top: max(10px, env(safe-area-inset-top));
    height: auto; min-height: 60px; padding: 12px 12px 12px 16px; border-radius: 40px;
  }
  nav.scrolled { top: 0; width: 100%; border-radius: 0; padding-top: max(12px, env(safe-area-inset-top)); }
  nav .logo svg { width: 126px; height: auto; }
  .nav-right .nav-soc { display: none; }
  .nav-phone { font-size: 12px; }
  .burger { margin-left: 8px; }
  .mobile-menu-panel { top: max(12px, env(safe-area-inset-top)); }

  .hero {
    min-height: max(620px, 100svh); min-height: max(620px, 100dvh);
    padding: 112px 20px 64px;
  }
  .hero-bg { background-position: 61% center; }

  .hero-bg {
    background-image: url('img/hero-bridge-960.webp');
  }
  .hero h1 { font-size: clamp(40px, 12vw, 54px); }
  .hero p { font-size: 16px; line-height: 1.5; }
  .hero-content .btn { width: 100%; min-width: 0; }
  .hero-bar { grid-template-columns: 1fr; gap: 0; padding: 32px 20px; }
  .hb-item { padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
  .hb-item:last-child { border-bottom: 0; }

  section { padding-top: 48px; padding-bottom: 48px; }
  .s-title { font-size: clamp(34px, 10vw, 44px); margin-bottom: 28px; }
  .btn { width: 100%; min-width: 0; padding-left: 24px; padding-right: 24px; }

  .awaits-wrap { padding-left: 0; }
  .a-card-body { padding: 20px 18px 28px; }

  .iti-left-wrap, .iti-card { min-height: 0; }
  .iti-card { padding: 92px 24px 120px; }
  .iti-photos { height: auto; aspect-ratio: 1 / .82; }
  .iti-photos--dual { aspect-ratio: 1.3 / 1; }
  .iti-nav { padding-bottom: 8px; }

  .gal-slide { height: 320px; }
  .route-map { border-radius: 14px; }

  #motorcycles { margin-bottom: 64px; }
  .moto-info { padding: 0 20px 88px; border-radius: 18px; }
  .moto-info-body { padding-bottom: 0; }
  .moto-info-top { padding-top: 42px; padding-right: 72px; }
  .moto-info-mid { padding-bottom: 18px; }
  .moto-info-bottom { margin-top: 24px; }
  .moto-logo { top: 24px; right: 20px; width: 62px; height: 48px; }
  .moto-photo { aspect-ratio: 1.05 / 1; border-radius: 18px; }
  .moto-tags { padding-right: 0; }

  .price-inner > *, .testi-inner > * { flex-basis: calc(100vw - 52px); }
  .pc { width: auto; min-width: 0; max-width: none; }
  .ctacta { flex-direction: column; gap: 20px; align-items: stretch; }

  .inc-panels { grid-template-columns: 1fr; }
  .inc-panel { padding: 28px 18px; }
  .inc-label { width: 42px; font-size: 26px; }
  .inc-row { grid-template-columns: 52px 1fr; gap: 14px; padding: 22px 0; }
  .inc-ico { width: 52px; height: 52px; }
  .inc-extra-grid, .inc-not { grid-template-columns: 1fr; }

  .testi-inner .tc { width: auto; min-width: 0; max-width: none; }
  .guide-photos { min-height: 0; }

  .form-outer { padding: 0 0 48px; }
  .form-card { border-radius: 20px; }
  .form-card-main { padding-left: 20px; padding-right: 20px; }
  .form-status { grid-column: 1; }

  footer { padding: 28px 20px; }
  .footer-bottom { margin-top: 48px; }
}

@media (max-width: 420px) {
  .nav-phone { display: none; }
  .hero h1 br { display: none; }
  .hero p { font-size: 15px; }
  .mobile-menu-panel { left: 10px; right: 10px; }
  .iti-card { padding-left: 20px; padding-right: 20px; }
  .day-tag { font-size: 20px; padding: 11px 22px; }
  .moto-info h3 { font-size: 30px; }
  .moto-tag { font-size: 14px; padding: 7px 14px; }
  .price-inner > *, .testi-inner > * { flex-basis: calc(100vw - 44px); }
  .guide-stats { grid-template-columns: 1fr 1fr; }
  .form-seats-note br, .form-foot-text br { display: none; }
}

@media (max-width: 340px) {
  .hero { padding-left: 14px; padding-right: 14px; }
  .hero h1 { font-size: 38px; }
  .s-title { font-size: 32px; }
  .moto-info { padding-left: 16px; padding-right: 16px; }
  .price-inner > *, .testi-inner > * { flex-basis: calc(100vw - 36px); }
  .footer-copy { line-height: 1.5; }
}

@media (hover: none) {
  .a-card:hover img, .iti-photo:hover img, .gal-slide:hover img { transform: none; }
}

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

/* Patch 08: reliable mobile navigation contrast and layer ordering */
@media (max-width: 1024px) {
  .burger,
  nav.scrolled .burger {
    -webkit-appearance: none;
    appearance: none;
    display: flex;
    position: relative;
    z-index: 2;
    width: 40px;
    height: 40px;
    padding: 10px;
    opacity: 1 !important;
    background: #fd4a22 !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: 0 4px 14px rgba(0,0,0,.18);
    forced-color-adjust: none;
  }
  .burger span,
  nav.scrolled .burger span {
    display: block !important;
    width: 100%;
    min-height: 2px;
    height: 2px;
    flex: 0 0 2px;
    opacity: 1;
    background: #fff !important;
    box-shadow: 0 0 0 0.25px rgba(255,255,255,.9);
  }
  .burger.open span:nth-child(2) { opacity: 0 !important; }
  .mobile-menu { z-index: 1400; }
  .mobile-menu-panel { z-index: 2; }
  .mobile-menu-overlay { z-index: 1; }
}
