
    :root {
      --gdd-orange: #e36733;
      --gdd-orange-deep: #b94a1c;
      --gdd-orange-bright: #ff8551;
      --gdd-orange-soft: #fff0e7;
      --gdd-orange-pale: #fff8f4;
      --gdd-ink: #15191f;
      --gdd-muted: #69717d;
      --gdd-white: #ffffff;
      --gdd-line: rgba(21, 25, 31, 0.10);
      --gdd-shadow: 0 26px 70px rgba(28, 18, 12, 0.13);
      --gdd-shadow-soft: 0 16px 40px rgba(28, 18, 12, 0.08);
      --gdd-radius-xl: 38px;
      --gdd-radius-lg: 28px;
      --gdd-radius-md: 20px;
      --gdd-radius-sm: 14px;
      --page-width: min(1240px, calc(100% - 40px));
      --ease-luxury: cubic-bezier(.16, 1, .3, 1);
      --ease-smooth: cubic-bezier(.22, .61, .36, 1);
    }

    * {
      box-sizing: border-box;
    }

    html {
      min-width: 320px;
      scroll-behavior: smooth;
      background: #fff;
    }

    body {
      min-width: 320px;
      margin: 0;
      overflow-x: hidden;
      color: var(--gdd-ink);
      background:
        radial-gradient(circle at 12% 14%, rgba(227, 103, 51, 0.08), transparent 28rem),
        linear-gradient(180deg, #fff 0%, #fffaf7 100%);
      font-family: "DM Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    body.is-modal-open {
      overflow: hidden;
    }

    button,
    input,
    select {
      font: inherit;
    }

    button,
    a {
      -webkit-tap-highlight-color: transparent;
    }

    button {
      color: inherit;
    }

    img {
      display: block;
      width: 100%;
      max-width: 100%;
    }

    svg {
      display: block;
    }

    [hidden] {
      display: none !important;
    }

    .page-shell {
      position: relative;
      isolation: isolate;
    }

    .page-shell::before {
      content: "";
      position: fixed;
      z-index: -2;
      inset: 0;
      pointer-events: none;
      opacity: .34;
      background-image:
        linear-gradient(rgba(227, 103, 51, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(227, 103, 51, .035) 1px, transparent 1px);
      background-size: 42px 42px;
      mask-image: linear-gradient(#000, transparent 82%);
    }

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

    .section-heading {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 30px;
    }

    .section-heading__eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 10px;
      color: var(--gdd-orange);
      font-size: .74rem;
      font-weight: 800;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .section-heading__eyebrow::before {
      content: "";
      width: 28px;
      height: 2px;
      border-radius: 999px;
      background: currentColor;
    }

    .section-heading h2 {
      margin: 0;
      font-size: clamp(2.2rem, 5vw, 4.3rem);
      line-height: .95;
      letter-spacing: -.055em;
    }

    .section-heading p {
      max-width: 560px;
      margin: 12px 0 0;
      color: var(--gdd-muted);
      line-height: 1.7;
    }

    .round-icon-button {
      display: inline-grid;
      place-items: center;
      width: 48px;
      height: 48px;
      padding: 0;
      border: 1px solid rgba(227, 103, 51, .24);
      border-radius: 50%;
      color: var(--gdd-orange);
      background: rgba(255, 255, 255, .88);
      box-shadow: 0 12px 28px rgba(49, 28, 16, .08);
      cursor: pointer;
      transition:
        transform .28s var(--ease-luxury),
        color .22s ease,
        background .22s ease,
        border-color .22s ease;
    }

    .round-icon-button:hover,
    .round-icon-button:focus-visible {
      transform: translateY(-3px);
      color: #fff;
      border-color: var(--gdd-orange);
      background: var(--gdd-orange);
      outline: none;
    }

    .round-icon-button:disabled {
      opacity: .36;
      cursor: not-allowed;
      transform: none;
    }

    .round-icon-button svg {
      width: 20px;
      height: 20px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
    }

    .primary-button,
    .secondary-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 52px;
      padding: 0 22px;
      border-radius: 999px;
      font-weight: 800;
      text-decoration: none;
      cursor: pointer;
      transition:
        transform .28s var(--ease-luxury),
        box-shadow .28s ease,
        background .22s ease,
        color .22s ease,
        border-color .22s ease;
    }

    .primary-button {
      border: 1px solid var(--gdd-orange);
      color: #fff;
      background:
        linear-gradient(135deg, var(--gdd-orange-bright), var(--gdd-orange) 56%, var(--gdd-orange-deep));
      box-shadow:
        0 16px 34px rgba(227, 103, 51, .25),
        inset 0 1px rgba(255, 255, 255, .28);
    }

    .secondary-button {
      border: 1px solid rgba(227, 103, 51, .28);
      color: var(--gdd-orange-deep);
      background: rgba(255, 255, 255, .88);
    }

    .primary-button:hover,
    .primary-button:focus-visible,
    .secondary-button:hover,
    .secondary-button:focus-visible {
      transform: translateY(-3px);
      outline: none;
    }

    .primary-button:hover,
    .primary-button:focus-visible {
      box-shadow:
        0 22px 42px rgba(227, 103, 51, .31),
        inset 0 1px rgba(255, 255, 255, .32);
    }

    .secondary-button:hover,
    .secondary-button:focus-visible {
      color: #fff;
      border-color: var(--gdd-orange);
      background: var(--gdd-orange);
    }

    .primary-button svg,
    .secondary-button svg {
      width: 19px;
      height: 19px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
    }

    /* =========================================================
       1. Hero slider
       Page begins below the existing production navbar.
       ========================================================= */

    .province-hero {
      position: relative;
      min-height: min(780px, calc(100svh - 30px));
      overflow: hidden;
      background: #201d1b;
      isolation: isolate;
    }

    .province-hero__stage {
      position: absolute;
      inset: 0;
    }

    .province-hero__image-panel {
      position: absolute;
      inset: 0 52% 0 0;
      overflow: hidden;
      background: #1d201f;
    }

    .province-hero__image,
    .province-hero__next-image {
      position: absolute;
      inset: -2%;
      width: 104%;
      height: 104%;
      object-fit: cover;
      transform: scale(1.04);
      transition:
        opacity .75s ease,
        transform 1.25s var(--ease-luxury);
    }

    .province-hero__image {
      opacity: 1;
    }

    .province-hero__next-image {
      opacity: 0;
    }

    .province-hero.is-transitioning .province-hero__image {
      opacity: 0;
      transform: scale(1.11);
    }

    .province-hero.is-transitioning .province-hero__next-image {
      opacity: 1;
      transform: scale(1);
    }

    .province-hero__image-panel::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(90deg, rgba(10, 14, 18, .06), rgba(10, 14, 18, .28)),
        linear-gradient(180deg, rgba(10, 14, 18, .06), rgba(10, 14, 18, .66));
    }

    .province-hero__orange-panel {
      position: absolute;
      inset: 0 0 0 42%;
      overflow: hidden;
      background:
        radial-gradient(circle at 72% 12%, rgba(255, 255, 255, .22), transparent 19rem),
        radial-gradient(circle at 10% 88%, rgba(89, 25, 1, .17), transparent 23rem),
        linear-gradient(135deg, #f37b44 0%, var(--gdd-orange) 52%, #bf491c 100%);
      clip-path: polygon(16% 0, 100% 0, 100% 100%, 0 100%);
    }

    .province-hero__orange-panel::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: .17;
      background-image:
        linear-gradient(rgba(255, 255, 255, .18) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .18) 1px, transparent 1px);
      background-size: 44px 44px;
      mask-image: linear-gradient(120deg, #000, transparent 82%);
    }

    .province-hero__orange-panel::after {
      content: "";
      position: absolute;
      right: -90px;
      bottom: -120px;
      width: 360px;
      aspect-ratio: 1;
      border: 1px solid rgba(255, 255, 255, .25);
      border-radius: 50%;
      box-shadow:
        0 0 0 38px rgba(255, 255, 255, .035),
        0 0 0 80px rgba(255, 255, 255, .025);
      animation: hero-orbit 16s linear infinite;
    }

    @keyframes hero-orbit {
      to { transform: rotate(360deg); }
    }

    .province-hero__copy {
      position: absolute;
      z-index: 5;
      top: 50%;
      right: max(5vw, calc((100vw - 1240px) / 2));
      width: min(560px, 48vw);
      color: #fff;
      transform: translateY(-54%);
    }

    .province-hero__slogan {
      margin: 0 0 10px;
      color: rgba(255, 255, 255, .78);
      font-family: "Playfair Display", Georgia, serif;
      font-size: clamp(1.25rem, 2.4vw, 2.15rem);
      font-style: italic;
      line-height: 1.15;
    }

    .province-hero__title {
      margin: 0;
      font-size: clamp(4.4rem, 9vw, 8.5rem);
      line-height: .82;
      letter-spacing: -.085em;
      text-transform: uppercase;
      text-wrap: balance;
    }

    .province-hero__description {
      max-width: 510px;
      margin: 28px 0 0;
      color: rgba(255, 255, 255, .86);
      font-size: clamp(.95rem, 1.5vw, 1.08rem);
      line-height: 1.75;
    }

    .province-hero__actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 12px;
      margin-top: 28px;
    }

    .province-hero__actions .primary-button {
      color: var(--gdd-orange-deep);
      border-color: #fff;
      background: #fff;
      box-shadow: 0 18px 36px rgba(82, 31, 9, .18);
    }

    .province-hero__actions .primary-button:hover,
    .province-hero__actions .primary-button:focus-visible {
      color: #fff;
      border-color: rgba(255, 255, 255, .58);
      background: rgba(255, 255, 255, .16);
      backdrop-filter: blur(14px);
    }

    .province-hero__actions .secondary-button {
      color: #fff;
      border-color: rgba(255, 255, 255, .42);
      background: rgba(255, 255, 255, .12);
      backdrop-filter: blur(12px);
    }

    .province-hero__floating-label {
      position: absolute;
      z-index: 7;
      left: clamp(22px, 5vw, 74px);
      bottom: 86px;
      display: flex;
      align-items: center;
      gap: 12px;
      max-width: 280px;
      padding: 14px 18px;
      border: 1px solid rgba(255, 255, 255, .34);
      border-radius: 999px;
      color: #fff;
      background: rgba(12, 18, 20, .34);
      box-shadow: 0 18px 38px rgba(0, 0, 0, .18);
      backdrop-filter: blur(14px);
      font-size: .82rem;
      font-weight: 700;
      animation: floating-chip 4.6s ease-in-out infinite;
    }

    .province-hero__floating-label::before {
      content: "";
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: var(--gdd-orange-bright);
      box-shadow: 0 0 0 7px rgba(227, 103, 51, .20);
    }

    @keyframes floating-chip {
      50% { transform: translateY(-8px); }
    }

    .province-hero__navigation {
      position: absolute;
      z-index: 8;
      right: max(5vw, calc((100vw - 1240px) / 2));
      bottom: 68px;
      display: flex;
      align-items: center;
      gap: 11px;
    }

    .province-hero__navigation .round-icon-button {
      color: #fff;
      border-color: rgba(255, 255, 255, .34);
      background: rgba(255, 255, 255, .13);
      backdrop-filter: blur(14px);
    }

    .province-hero__navigation .round-icon-button:hover,
    .province-hero__navigation .round-icon-button:focus-visible {
      color: var(--gdd-orange);
      border-color: #fff;
      background: #fff;
    }

    .province-hero__counter {
      display: flex;
      align-items: center;
      gap: 9px;
      min-width: 106px;
      color: #fff;
      font-size: .78rem;
      font-weight: 800;
      letter-spacing: .08em;
    }

    .province-hero__counter-line {
      width: 36px;
      height: 1px;
      background: rgba(255, 255, 255, .5);
    }

    .province-hero__thumbs {
      position: absolute;
      z-index: 8;
      left: 35%;
      bottom: 42px;
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: 132px;
      gap: 12px;
      max-width: min(520px, 45vw);
      padding: 10px;
      overflow-x: auto;
      scrollbar-width: none;
      border: 1px solid rgba(255, 255, 255, .25);
      border-radius: 24px;
      background: rgba(255, 255, 255, .12);
      box-shadow: 0 24px 56px rgba(0, 0, 0, .18);
      backdrop-filter: blur(15px);
      transform: translateX(-50%);
    }

    .province-hero__thumbs::-webkit-scrollbar {
      display: none;
    }

    .province-hero__thumb {
      position: relative;
      height: 98px;
      padding: 0;
      overflow: hidden;
      border: 1px solid transparent;
      border-radius: 16px;
      background: #221e1c;
      cursor: pointer;
      transition:
        transform .3s var(--ease-luxury),
        border-color .22s ease,
        opacity .22s ease;
    }

    .province-hero__thumb:hover,
    .province-hero__thumb:focus-visible {
      transform: translateY(-5px);
      outline: none;
    }

    .province-hero__thumb.is-active {
      border-color: #fff;
    }

    .province-hero__thumb img {
      height: 100%;
      object-fit: cover;
    }

    .province-hero__thumb::after {
      content: attr(data-index);
      position: absolute;
      right: 9px;
      bottom: 7px;
      display: grid;
      place-items: center;
      width: 26px;
      height: 26px;
      border-radius: 50%;
      color: #fff;
      background: rgba(17, 20, 24, .48);
      backdrop-filter: blur(8px);
      font-size: .65rem;
      font-weight: 800;
    }

    .hero-copy-part {
      opacity: 1;
      transform: none;
      transition:
        opacity .35s ease,
        transform .52s var(--ease-luxury);
    }

    .province-hero.is-copy-out .hero-copy-part {
      opacity: 0;
      transform: translateY(18px);
    }

    /* =========================================================
       2. Vehicle spotlight carousel
       ========================================================= */

























    .vehicle-showcase.is-changing .vehicle-showcase__image {
      opacity: 0;
      transform: translateX(-22px) scale(.96);
    }









    .vehicle-card.is-active {
      border-color: rgba(227, 103, 51, .54);
      box-shadow:
        0 24px 44px rgba(74, 39, 20, .15),
        0 0 0 3px rgba(227, 103, 51, .08);
    }















    @keyframes vehicle-timer {
      to { width: 100%; }
    }

    /* =========================================================
       3. Discover places
       ========================================================= */

    .discover-section {
      padding: 0 0 126px;
    }

    .discover-toolbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      margin-bottom: 26px;
    }

    .discover-search {
      position: relative;
      flex: 1 1 360px;
      max-width: 470px;
    }

    .discover-search svg {
      position: absolute;
      top: 50%;
      left: 18px;
      width: 19px;
      height: 19px;
      fill: none;
      stroke: var(--gdd-orange);
      stroke-width: 2;
      transform: translateY(-50%);
      pointer-events: none;
    }

    .discover-search input {
      width: 100%;
      min-height: 54px;
      padding: 0 18px 0 50px;
      border: 1px solid rgba(227, 103, 51, .20);
      border-radius: 999px;
      color: var(--gdd-ink);
      background: rgba(255, 255, 255, .86);
      box-shadow: 0 14px 30px rgba(35, 24, 18, .06);
      outline: none;
      transition:
        border-color .22s ease,
        box-shadow .22s ease;
    }

    .discover-search input:focus {
      border-color: rgba(227, 103, 51, .58);
      box-shadow:
        0 14px 30px rgba(35, 24, 18, .07),
        0 0 0 4px rgba(227, 103, 51, .09);
    }

    .filter-chips {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 9px;
    }

    .filter-chip {
      min-height: 42px;
      padding: 0 16px;
      border: 1px solid rgba(227, 103, 51, .18);
      border-radius: 999px;
      color: var(--gdd-muted);
      background: rgba(255, 255, 255, .78);
      cursor: pointer;
      font-size: .78rem;
      font-weight: 700;
      transition:
        transform .25s var(--ease-luxury),
        color .2s ease,
        background .2s ease,
        border-color .2s ease;
    }

    .filter-chip:hover,
    .filter-chip:focus-visible {
      transform: translateY(-2px);
      outline: none;
    }

    .filter-chip.is-active {
      color: #fff;
      border-color: var(--gdd-orange);
      background: var(--gdd-orange);
    }

    .place-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 26px 22px;
    }

    .place-card {
      position: relative;
      min-width: 0;
      overflow: hidden;
      border: 1px solid rgba(21, 25, 31, .07);
      border-radius: 28px;
      background: rgba(255, 255, 255, .92);
      box-shadow: var(--gdd-shadow-soft);
      transform: translateY(0);
      transition:
        transform .38s var(--ease-luxury),
        box-shadow .3s ease,
        opacity .35s ease;
    }

    .place-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 28px 56px rgba(35, 24, 18, .13);
    }

    .place-card__image-wrap {
      position: relative;
      height: 245px;
      overflow: hidden;
    }

    .place-card__image {
      height: 100%;
      object-fit: cover;
      transition: transform .85s var(--ease-luxury);
    }

    .place-card:hover .place-card__image {
      transform: scale(1.075);
    }

    .place-card__image-wrap::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, transparent 42%, rgba(15, 18, 22, .30));
      pointer-events: none;
    }

    .place-card__body {
      padding: 17px 18px 18px;
    }

    .place-card__location {
      display: flex;
      align-items: center;
      gap: 7px;
      color: var(--gdd-orange);
      font-size: .72rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .06em;
    }

    .place-card__location svg {
      width: 14px;
      height: 14px;
      fill: currentColor;
    }

    .place-card h3 {
      margin: 9px 0 16px;
      font-size: clamp(1.25rem, 2vw, 1.65rem);
      line-height: 1.08;
      letter-spacing: -.025em;
    }

    .place-card__button {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      min-height: 44px;
      padding: 0 15px 0 17px;
      border: 0;
      border-radius: 999px;
      color: #fff;
      background:
        linear-gradient(90deg, var(--gdd-orange-bright), var(--gdd-orange));
      cursor: pointer;
      font-size: .78rem;
      font-weight: 800;
      transition:
        transform .25s var(--ease-luxury),
        filter .22s ease;
    }

    .place-card__button:hover,
    .place-card__button:focus-visible {
      transform: translateY(-2px);
      filter: brightness(.96);
      outline: none;
    }

    .place-card__button svg {
      width: 17px;
      height: 17px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
    }

    .place-grid__empty {
      grid-column: 1 / -1;
      padding: 54px 24px;
      border: 1px dashed rgba(227, 103, 51, .28);
      border-radius: 26px;
      color: var(--gdd-muted);
      background: rgba(255, 255, 255, .7);
      text-align: center;
    }

    .view-more-row {
      display: flex;
      justify-content: center;
      margin-top: 34px;
    }

    /* =========================================================
       4. Hotels and restaurants
       ========================================================= */

    .partners-section {
      padding: 112px 0 124px;
      background:
        radial-gradient(circle at 92% 14%, rgba(227, 103, 51, .12), transparent 24rem),
        linear-gradient(180deg, #fff7f2, #fff);
    }

    .partner-tabs {
      display: flex;
      gap: 8px;
      padding: 6px;
      border: 1px solid rgba(227, 103, 51, .16);
      border-radius: 999px;
      background: rgba(255, 255, 255, .82);
      box-shadow: 0 12px 30px rgba(35, 24, 18, .06);
    }

    .partner-tab {
      min-height: 42px;
      padding: 0 17px;
      border: 0;
      border-radius: 999px;
      color: var(--gdd-muted);
      background: transparent;
      cursor: pointer;
      font-size: .78rem;
      font-weight: 800;
      transition:
        color .2s ease,
        background .2s ease;
    }

    .partner-tab.is-active {
      color: #fff;
      background: var(--gdd-orange);
    }

    .partner-carousel {
      position: relative;
    }

    .partner-carousel__track {
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: minmax(250px, 1fr);
      gap: 18px;
      overflow-x: auto;
      overscroll-behavior-inline: contain;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
      padding: 4px 3px 24px;
    }

    .partner-carousel__track::-webkit-scrollbar {
      display: none;
    }

    .partner-card {
      position: relative;
      min-height: 360px;
      overflow: hidden;
      scroll-snap-align: start;
      border: 1px solid rgba(255, 255, 255, .8);
      border-radius: 28px;
      background: #1f2429;
      box-shadow: 0 20px 45px rgba(35, 24, 18, .13);
      cursor: pointer;
      transition:
        transform .36s var(--ease-luxury),
        box-shadow .28s ease;
    }

    .partner-card:hover,
    .partner-card:focus-visible {
      transform: translateY(-8px);
      box-shadow: 0 30px 58px rgba(35, 24, 18, .19);
      outline: none;
    }

    .partner-card__image {
      position: absolute;
      inset: 0;
      height: 100%;
      object-fit: cover;
      transition: transform .9s var(--ease-luxury);
    }

    .partner-card:hover .partner-card__image {
      transform: scale(1.075);
    }

    .partner-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(15, 18, 22, .05), rgba(15, 18, 22, .82));
      pointer-events: none;
    }

    .partner-card__badge {
      position: absolute;
      z-index: 3;
      top: 15px;
      left: 15px;
      padding: 8px 12px;
      border-radius: 999px;
      color: var(--gdd-orange-deep);
      background: rgba(255, 255, 255, .90);
      backdrop-filter: blur(12px);
      font-size: .68rem;
      font-weight: 900;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    .partner-card__copy {
      position: absolute;
      z-index: 3;
      left: 20px;
      right: 20px;
      bottom: 21px;
      color: #fff;
    }

    .partner-card__copy h3 {
      margin: 0;
      font-size: 1.55rem;
      line-height: 1.08;
      letter-spacing: -.03em;
    }

    .partner-card__meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      margin-top: 12px;
      color: rgba(255, 255, 255, .76);
      font-size: .76rem;
    }





    .partner-carousel__controls {
      display: flex;
      justify-content: flex-end;
      gap: 10px;
      margin-top: 8px;
    }

    /* =========================================================
       5. Interactive experiences
       ========================================================= */

    .experiences-section {
      padding: 124px 0;
      background: #fff;
    }



    .experience-feature {
      position: relative;
      min-height: 590px;
      overflow: hidden;
      border-radius: 34px;
      color: #fff;
      background: #1b2024;
      box-shadow: var(--gdd-shadow);
    }

    .experience-feature__image {
      position: absolute;
      inset: 0;
      height: 100%;
      object-fit: cover;
      transition:
        opacity .35s ease,
        transform .75s var(--ease-luxury);
    }

    .experience-feature.is-changing .experience-feature__image {
      opacity: .35;
      transform: scale(1.06);
    }

    .experience-feature::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(14, 18, 22, .05), rgba(14, 18, 22, .85));
    }

    .experience-feature__copy {
      position: absolute;
      z-index: 2;
      left: clamp(24px, 4vw, 42px);
      right: clamp(24px, 4vw, 42px);
      bottom: clamp(26px, 5vw, 45px);
    }

    .experience-feature__index {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      margin-bottom: 13px;
      color: var(--gdd-orange-bright);
      font-size: .73rem;
      font-weight: 900;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .experience-feature__index::before {
      content: "";
      width: 24px;
      height: 2px;
      background: currentColor;
    }

    .experience-feature h3 {
      margin: 0;
      font-size: clamp(2.7rem, 5vw, 5.2rem);
      line-height: .9;
      letter-spacing: -.065em;
    }

    .experience-feature p {
      max-width: 550px;
      margin: 18px 0 0;
      color: rgba(255, 255, 255, .80);
      line-height: 1.7;
    }

    .experience-feature .primary-button {
      margin-top: 24px;
    }

    .experience-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }

    .experience-card {
      position: relative;
      min-height: 178px;
      padding: 22px;
      overflow: hidden;
      border: 1px solid rgba(227, 103, 51, .16);
      border-radius: 26px;
      background:
        linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(255, 247, 242, .84));
      box-shadow: 0 14px 34px rgba(35, 24, 18, .07);
      cursor: pointer;
      transition:
        transform .32s var(--ease-luxury),
        color .22s ease,
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
    }

    .experience-card::after {
      content: "";
      position: absolute;
      right: -28px;
      bottom: -38px;
      width: 122px;
      aspect-ratio: 1;
      border: 1px solid rgba(227, 103, 51, .16);
      border-radius: 50%;
      box-shadow: 0 0 0 18px rgba(227, 103, 51, .035);
      transition: transform .45s var(--ease-luxury);
    }

    .experience-card:hover,
    .experience-card:focus-visible,
    .experience-card.is-active {
      transform: translateY(-7px);
      color: #fff;
      border-color: var(--gdd-orange);
      background:
        radial-gradient(circle at 85% 15%, rgba(255, 255, 255, .22), transparent 8rem),
        linear-gradient(135deg, var(--gdd-orange-bright), var(--gdd-orange-deep));
      box-shadow: 0 24px 44px rgba(227, 103, 51, .22);
      outline: none;
    }

    .experience-card:hover::after,
    .experience-card:focus-visible::after,
    .experience-card.is-active::after {
      border-color: rgba(255, 255, 255, .25);
      box-shadow: 0 0 0 18px rgba(255, 255, 255, .04);
      transform: translate(-8px, -8px);
    }

    .experience-card__icon {
      display: grid;
      place-items: center;
      width: 48px;
      height: 48px;
      border-radius: 16px;
      color: var(--gdd-orange);
      background: var(--gdd-orange-soft);
      transition:
        color .22s ease,
        background .22s ease;
    }

    .experience-card:hover .experience-card__icon,
    .experience-card:focus-visible .experience-card__icon,
    .experience-card.is-active .experience-card__icon {
      color: #fff;
      background: rgba(255, 255, 255, .17);
    }

    .experience-card__icon svg {
      width: 24px;
      height: 24px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
    }

    .experience-card h4 {
      position: relative;
      z-index: 2;
      margin: 24px 0 0;
      font-size: 1.2rem;
      letter-spacing: -.02em;
    }

    .experience-card span {
      position: relative;
      z-index: 2;
      display: block;
      margin-top: 7px;
      color: var(--gdd-muted);
      font-size: .76rem;
      transition: color .22s ease;
    }

    .experience-card:hover span,
    .experience-card:focus-visible span,
    .experience-card.is-active span {
      color: rgba(255, 255, 255, .75);
    }

    /* =========================================================
       7. Final vehicle + custom tour CTA
       ========================================================= */

























    .final-cta .primary-button {
      color: var(--gdd-orange-deep);
      border-color: #fff;
      background: #fff;
    }

    .final-cta .secondary-button {
      color: #fff;
      border-color: rgba(255, 255, 255, .43);
      background: rgba(255, 255, 255, .12);
    }



    @keyframes final-car-float {
      50% { transform: translateY(-10px); }
    }

    /* =========================================================
       Dynamic information modal
       ========================================================= */

    .info-modal {
      position: fixed;
      z-index: 10000;
      inset: 0;
      display: grid;
      place-items: center;
      padding: 18px;
      visibility: hidden;
      pointer-events: none;
    }

    .info-modal.is-open {
      visibility: visible;
      pointer-events: auto;
    }

    .info-modal__backdrop {
      position: absolute;
      inset: 0;
      border: 0;
      background: rgba(12, 15, 18, .54);
      backdrop-filter: blur(13px);
      opacity: 0;
      transition: opacity .28s ease;
    }

    .info-modal.is-open .info-modal__backdrop {
      opacity: 1;
    }

    .info-modal__panel {
      position: relative;
      width: min(920px, 100%);
      max-height: min(780px, calc(100dvh - 36px));
      overflow-y: auto;
      border: 1px solid rgba(255, 255, 255, .95);
      border-radius: 34px;
      background: #fff;
      box-shadow: 0 38px 110px rgba(10, 13, 16, .34);
      opacity: 0;
      transform: translateY(28px) scale(.97);
      transition:
        opacity .28s ease,
        transform .48s var(--ease-luxury);
    }

    .info-modal.is-open .info-modal__panel {
      opacity: 1;
      transform: none;
    }

    .info-modal__close {
      position: absolute;
      z-index: 5;
      top: 16px;
      right: 16px;
      display: grid;
      place-items: center;
      width: 46px;
      height: 46px;
      padding: 0;
      border: 1px solid rgba(255, 255, 255, .5);
      border-radius: 50%;
      color: #fff;
      background: rgba(15, 18, 22, .48);
      backdrop-filter: blur(12px);
      cursor: pointer;
      transition:
        transform .28s var(--ease-luxury),
        background .22s ease;
    }

    .info-modal__close:hover,
    .info-modal__close:focus-visible {
      transform: rotate(90deg);
      background: var(--gdd-orange);
      outline: none;
    }

    .info-modal__close svg {
      width: 21px;
      height: 21px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
    }

    .info-modal__hero {
      position: relative;
      min-height: 360px;
      overflow: hidden;
      border-radius: 34px 34px 0 0;
      background: #20252a;
    }

    .info-modal__image {
      position: absolute;
      inset: 0;
      height: 100%;
      object-fit: cover;
    }

    .info-modal__hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(12, 15, 18, .05), rgba(12, 15, 18, .72));
    }

    .info-modal__hero-copy {
      position: absolute;
      z-index: 2;
      left: clamp(24px, 5vw, 44px);
      right: 78px;
      bottom: 32px;
      color: #fff;
    }

    .info-modal__type {
      display: inline-flex;
      padding: 8px 12px;
      border-radius: 999px;
      color: #fff;
      background: var(--gdd-orange);
      font-size: .68rem;
      font-weight: 900;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .info-modal__title {
      margin: 13px 0 0;
      font-size: clamp(2.4rem, 6vw, 4.8rem);
      line-height: .92;
      letter-spacing: -.055em;
    }

    .info-modal__body {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 28px;
      padding: clamp(26px, 5vw, 44px);
    }

    .info-modal__description {
      margin: 0;
      color: var(--gdd-muted);
      line-height: 1.8;
    }

    .info-modal__details {
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
      margin-top: 22px;
    }

    .info-modal__detail {
      padding: 10px 13px;
      border: 1px solid rgba(227, 103, 51, .17);
      border-radius: 999px;
      color: var(--gdd-orange-deep);
      background: var(--gdd-orange-pale);
      font-size: .72rem;
      font-weight: 800;
    }

    .info-modal__rating {
      display: flex;
      align-items: center;
      gap: 7px;
      min-width: 130px;
      align-self: start;
      padding: 14px 16px;
      border-radius: 18px;
      color: #8c5b00;
      background: #fff7d8;
      font-weight: 800;
    }

    .info-modal__rating svg {
      width: 18px;
      height: 18px;
      fill: #f2b600;
    }

    /* =========================================================
       Reveal animations and scroll helper
       ========================================================= */

    .reveal {
      opacity: 0;
      transform: translateY(32px);
      transition:
        opacity .75s ease,
        transform .85s var(--ease-luxury);
    }

    .reveal.is-visible {
      opacity: 1;
      transform: none;
    }

    .scroll-helper {
      position: fixed;
      z-index: 100;
      right: 18px;
      bottom: 18px;
      display: grid;
      place-items: center;
      width: 54px;
      height: 54px;
      padding: 0;
      border: 1px solid rgba(255, 255, 255, .9);
      border-radius: 50%;
      color: #fff;
      background:
        conic-gradient(var(--gdd-orange) var(--scroll-progress, 0%), rgba(227, 103, 51, .18) 0);
      box-shadow: 0 16px 34px rgba(35, 24, 18, .16);
      cursor: pointer;
      transition:
        opacity .25s ease,
        transform .25s var(--ease-luxury);
    }

    .scroll-helper::before {
      content: "";
      position: absolute;
      inset: 5px;
      border-radius: 50%;
      background: var(--gdd-orange);
    }

    .scroll-helper:hover,
    .scroll-helper:focus-visible {
      transform: translateY(-4px);
      outline: none;
    }

    .scroll-helper svg {
      position: relative;
      z-index: 2;
      width: 21px;
      height: 21px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
    }

    .scroll-helper.is-at-top svg {
      transform: rotate(180deg);
    }

    /* =========================================================
       Responsive
       ========================================================= */

    @media (max-width: 1080px) {
      .province-hero {
        min-height: 760px;
      }

      .province-hero__image-panel {
        inset: 0 44% 0 0;
      }

      .province-hero__orange-panel {
        left: 34%;
      }

      .province-hero__copy {
        width: min(540px, 56vw);
      }

      .province-hero__thumbs {
        left: 29%;
      }











      .experience-feature {
        min-height: 500px;
      }
    }

    @media (max-width: 820px) {
      :root {
        --page-width: min(100% - 28px, 720px);
      }

      .section-heading {
        align-items: start;
        flex-direction: column;
      }

      .province-hero {
        min-height: 790px;
      }

      .province-hero__image-panel {
        inset: 0 0 44% 0;
      }

      .province-hero__orange-panel {
        inset: 46% 0 0;
        clip-path: polygon(0 13%, 100% 0, 100% 100%, 0 100%);
      }

      .province-hero__copy {
        top: auto;
        right: 24px;
        bottom: 110px;
        left: 24px;
        width: auto;
        transform: none;
      }

      .province-hero__slogan {
        font-size: 1.35rem;
      }

      .province-hero__title {
        font-size: clamp(4rem, 17vw, 6.6rem);
      }

      .province-hero__description {
        max-width: 620px;
        margin-top: 18px;
        line-height: 1.6;
      }

      .province-hero__actions {
        margin-top: 20px;
      }

      .province-hero__thumbs {
        left: 18px;
        right: 18px;
        bottom: 18px;
        max-width: none;
        grid-auto-columns: 112px;
        transform: none;
      }

      .province-hero__thumb {
        height: 78px;
      }

      .province-hero__navigation {
        right: 18px;
        bottom: 112px;
      }

      .province-hero__floating-label {
        top: 22px;
        bottom: auto;
        left: 20px;
      }











      .place-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .discover-toolbar {
        align-items: stretch;
        flex-direction: column;
      }

      .discover-search {
        max-width: none;
      }

      .filter-chips {
        justify-content: flex-start;
      }

      .experience-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }





      .info-modal__body {
        grid-template-columns: 1fr;
      }

      .info-modal__rating {
        width: fit-content;
      }
    }

    @media (max-width: 560px) {
      :root {
        --page-width: calc(100% - 20px);
      }

      .section-heading {
        margin-bottom: 22px;
      }

      .section-heading h2 {
        font-size: 2.65rem;
      }

      .province-hero {
        min-height: 850px;
      }

      .province-hero__image-panel {
        bottom: 47%;
      }

      .province-hero__orange-panel {
        top: 43%;
      }

      .province-hero__copy {
        right: 18px;
        bottom: 116px;
        left: 18px;
      }

      .province-hero__title {
        font-size: clamp(3.7rem, 20vw, 5.35rem);
      }

      .province-hero__description {
        font-size: .91rem;
      }

      .province-hero__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
      }

      .province-hero__actions .primary-button,
      .province-hero__actions .secondary-button {
        min-height: 48px;
        padding-inline: 14px;
        font-size: .78rem;
      }

      .province-hero__navigation {
        right: 15px;
        bottom: 112px;
      }

      .province-hero__counter {
        display: none;
      }

      .province-hero__floating-label {
        max-width: calc(100% - 40px);
        font-size: .72rem;
      }

      .province-hero__thumbs {
        grid-auto-columns: 94px;
        border-radius: 18px;
      }

      .province-hero__thumb {
        height: 68px;
        border-radius: 13px;
      }

















      .place-grid {
        grid-template-columns: 1fr;
      }

      .place-card__image-wrap {
        height: 235px;
      }

      .filter-chips {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
        scrollbar-width: none;
      }

      .filter-chips::-webkit-scrollbar {
        display: none;
      }

      .filter-chip {
        flex: 0 0 auto;
      }

      .partners-section,
      .experiences-section {
        padding-block: 90px;
      }

      .partner-tabs {
        width: 100%;
      }

      .partner-tab {
        flex: 1;
      }

      .partner-carousel__track {
        grid-auto-columns: 84%;
      }

      .experience-feature {
        min-height: 470px;
        border-radius: 28px;
      }

      .experience-grid {
        grid-template-columns: 1fr;
      }

      .experience-card {
        min-height: 148px;
      }









      .final-cta__select-wrap,
      .final-cta__form .primary-button,
      .final-cta__form .secondary-button {
        width: 100%;
      }



      .info-modal {
        padding: 8px;
      }

      .info-modal__panel {
        border-radius: 26px;
      }

      .info-modal__hero {
        min-height: 320px;
        border-radius: 26px 26px 0 0;
      }

      .info-modal__hero-copy {
        left: 22px;
        right: 65px;
        bottom: 24px;
      }

      .info-modal__title {
        font-size: 2.6rem;
      }

      .info-modal__body {
        padding: 24px 22px 28px;
      }

      .scroll-helper {
        right: 12px;
        bottom: 12px;
        width: 48px;
        height: 48px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }

      *,
      *::before,
      *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
      }
    }

    /* =========================================================
       COMPACT SCALE + MOBILE EDITORIAL REFINEMENT
       Added after the original styles so the complete prototype
       remains in one file while the proportions are easier to tune.
       ========================================================= */

    :root {
      --page-width: min(1160px, calc(100% - 36px));
      --gdd-radius-xl: 32px;
      --gdd-radius-lg: 24px;
      --gdd-radius-md: 18px;
      --gdd-shadow: 0 22px 56px rgba(28, 18, 12, 0.12);
      --gdd-shadow-soft: 0 12px 32px rgba(28, 18, 12, 0.075);
    }

    .section-heading {
      gap: 20px;
      margin-bottom: 24px;
    }

    .section-heading__eyebrow {
      margin-bottom: 8px;
      font-size: .68rem;
    }

    .section-heading h2 {
      font-size: clamp(2rem, 4vw, 3.55rem);
      line-height: .98;
    }

    .section-heading p {
      max-width: 520px;
      margin-top: 10px;
      font-size: .92rem;
      line-height: 1.62;
    }

    .round-icon-button {
      width: 42px;
      height: 42px;
    }

    .round-icon-button svg {
      width: 18px;
      height: 18px;
    }

    .primary-button,
    .secondary-button {
      min-height: 46px;
      padding-inline: 18px;
      gap: 8px;
      font-size: .82rem;
    }

    .primary-button svg,
    .secondary-button svg {
      width: 17px;
      height: 17px;
    }

    /* Compact hero */
    .province-hero {
      min-height: 0;
      height: clamp(580px, 72vh, 690px);
    }

    .province-hero__image-panel {
      inset: 0 50% 0 0;
    }

    .province-hero__orange-panel {
      inset: 0 0 0 43%;
      clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%);
    }

    .province-hero__copy {
      right: max(4vw, calc((100vw - 1160px) / 2));
      width: min(500px, 45vw);
      transform: translateY(-51%);
    }

    .province-hero__slogan {
      margin-bottom: 8px;
      font-size: clamp(1.05rem, 2vw, 1.72rem);
    }

    .province-hero__title {
      font-size: clamp(3.8rem, 7.2vw, 6.8rem);
      line-height: .86;
    }

    .province-hero__description {
      max-width: 470px;
      margin-top: 20px;
      font-size: clamp(.88rem, 1.25vw, .98rem);
      line-height: 1.62;
    }

    .province-hero__actions {
      margin-top: 21px;
    }

    .province-hero__floating-label {
      left: clamp(18px, 4vw, 58px);
      bottom: 62px;
      max-width: 250px;
      padding: 11px 15px;
      font-size: .73rem;
    }

    .province-hero__navigation {
      right: max(4vw, calc((100vw - 1160px) / 2));
      bottom: 44px;
      gap: 9px;
    }

    .province-hero__counter {
      min-width: 90px;
      font-size: .7rem;
    }

    .province-hero__counter-line {
      width: 29px;
    }

    .province-hero__thumbs {
      left: 34%;
      bottom: 23px;
      grid-auto-columns: 108px;
      gap: 9px;
      max-width: min(425px, 42vw);
      padding: 8px;
      border-radius: 19px;
    }

    .province-hero__thumb {
      height: 76px;
      border-radius: 13px;
    }

    .province-hero__thumb::after {
      right: 6px;
      bottom: 6px;
      width: 22px;
      height: 22px;
      font-size: .58rem;
    }

    /* Compact vehicle spotlight */
































    /* Compact destinations */
    .discover-section {
      padding-bottom: 86px;
    }

    .discover-toolbar {
      gap: 14px;
      margin-bottom: 20px;
    }

    .discover-search {
      max-width: 430px;
    }

    .discover-search input {
      min-height: 48px;
      padding-left: 46px;
      font-size: .86rem;
    }

    .discover-search svg {
      left: 16px;
      width: 17px;
      height: 17px;
    }

    .filter-chips {
      gap: 7px;
    }

    .filter-chip {
      min-height: 37px;
      padding-inline: 13px;
      font-size: .7rem;
    }

    .place-grid {
      gap: 18px 16px;
    }

    .place-card {
      border-radius: 22px;
    }

    .place-card__image-wrap {
      height: 198px;
    }

    .place-card__body {
      padding: 14px;
    }

    .place-card__location {
      gap: 6px;
      font-size: .64rem;
    }

    .place-card h3 {
      margin: 8px 0 13px;
      font-size: clamp(1.08rem, 1.65vw, 1.38rem);
    }

    .place-card__button {
      min-height: 40px;
      padding-inline: 14px;
      font-size: .71rem;
    }

    .view-more-row {
      margin-top: 26px;
    }

    /* Compact hotel and restaurant collection */
    .partners-section {
      padding: 82px 0 88px;
    }

    .partner-tabs {
      gap: 5px;
      padding: 5px;
    }

    .partner-tab {
      min-height: 37px;
      padding-inline: 14px;
      font-size: .7rem;
    }

    .partner-carousel__track {
      grid-auto-columns: minmax(218px, 1fr);
      gap: 14px;
      padding-bottom: 18px;
    }

    .partner-card {
      min-height: 292px;
      border-radius: 23px;
    }

    .partner-card__badge {
      top: 12px;
      left: 12px;
      padding: 7px 10px;
      font-size: .61rem;
    }

    .partner-card__copy {
      left: 16px;
      right: 16px;
      bottom: 17px;
    }

    .partner-card__copy h3 {
      font-size: 1.27rem;
    }

    .partner-card__meta {
      margin-top: 9px;
      font-size: .68rem;
    }

    /* Compact experiences */
    .experiences-section {
      padding: 86px 0 90px;
    }



    .experience-feature {
      min-height: 470px;
      border-radius: 28px;
    }

    .experience-feature__copy {
      left: clamp(21px, 3vw, 32px);
      right: clamp(21px, 3vw, 32px);
      bottom: clamp(23px, 3.5vw, 33px);
    }

    .experience-feature__index {
      margin-bottom: 10px;
      font-size: .65rem;
    }

    .experience-feature h3 {
      font-size: clamp(2.35rem, 4vw, 4.15rem);
    }

    .experience-feature p {
      margin-top: 14px;
      font-size: .88rem;
      line-height: 1.58;
    }

    .experience-feature .primary-button {
      margin-top: 19px;
    }

    .experience-grid {
      gap: 12px;
    }

    .experience-card {
      min-height: 142px;
      padding: 17px;
      border-radius: 21px;
    }

    .experience-card__icon {
      width: 42px;
      height: 42px;
      border-radius: 13px;
    }

    .experience-card__icon svg {
      width: 21px;
      height: 21px;
    }

    .experience-card h4 {
      margin-top: 17px;
      font-size: 1.03rem;
    }

    .experience-card span {
      margin-top: 5px;
      font-size: .68rem;
      line-height: 1.35;
    }

    /* Compact ending section */


















    /* Compact information modal */
    .info-modal__panel {
      width: min(800px, 100%);
      max-height: min(700px, calc(100dvh - 30px));
      border-radius: 28px;
    }

    .info-modal__hero {
      min-height: 286px;
      border-radius: 28px 28px 0 0;
    }

    .info-modal__close {
      top: 13px;
      right: 13px;
      width: 42px;
      height: 42px;
    }

    .info-modal__hero-copy {
      left: clamp(22px, 4vw, 34px);
      bottom: 25px;
    }

    .info-modal__title {
      margin-top: 10px;
      font-size: clamp(2.1rem, 5vw, 3.8rem);
    }

    .info-modal__body {
      gap: 22px;
      padding: clamp(23px, 4vw, 34px);
    }

    .info-modal__description {
      font-size: .9rem;
      line-height: 1.68;
    }

    .info-modal__details {
      margin-top: 17px;
    }

    .info-modal__detail {
      padding: 8px 11px;
      font-size: .67rem;
    }

    .scroll-helper {
      width: 49px;
      height: 49px;
    }

    /* Tablet composition */
    @media (max-width: 1080px) {
      .province-hero {
        height: 620px;
      }

      .province-hero__copy {
        width: min(470px, 53vw);
      }











      .experience-feature {
        min-height: 410px;
      }
    }

    /* Mobile/tablet: deliberately designed as a stacked editorial page */
    @media (max-width: 820px) {
      :root {
        --page-width: min(100% - 24px, 700px);
      }

      .section-heading {
        gap: 10px;
        margin-bottom: 20px;
      }

      .section-heading h2 {
        font-size: clamp(2rem, 8vw, 3rem);
      }

      .section-heading p {
        max-width: 590px;
        font-size: .86rem;
      }

      .province-hero {
        height: 710px;
      }

      .province-hero__image-panel {
        inset: 0 0 48% 0;
      }

      .province-hero__orange-panel {
        inset: 43% 0 0;
        clip-path: polygon(0 11%, 100% 0, 100% 100%, 0 100%);
      }

      .province-hero__copy {
        top: auto;
        right: 21px;
        bottom: 92px;
        left: 21px;
        width: auto;
        transform: none;
      }

      .province-hero__slogan {
        font-size: 1.18rem;
      }

      .province-hero__title {
        font-size: clamp(3.55rem, 14vw, 5.25rem);
      }

      .province-hero__description {
        max-width: 600px;
        margin-top: 13px;
        font-size: .86rem;
        line-height: 1.52;
      }

      .province-hero__actions {
        margin-top: 16px;
      }

      .province-hero__floating-label {
        top: 17px;
        bottom: auto;
        left: 17px;
        max-width: 225px;
        padding: 9px 12px;
        font-size: .66rem;
      }

      .province-hero__navigation {
        top: 17px;
        right: 17px;
        bottom: auto;
      }

      .province-hero__counter {
        display: none;
      }

      .province-hero__thumbs {
        right: 14px;
        bottom: 12px;
        left: 14px;
        grid-auto-columns: 94px;
        max-width: none;
        padding: 7px;
        transform: none;
      }

      .province-hero__thumb {
        height: 62px;
      }























      .discover-section {
        padding-bottom: 68px;
      }

      .discover-toolbar {
        gap: 11px;
        margin-bottom: 17px;
      }

      .place-grid {
        gap: 15px;
      }

      .place-card__image-wrap {
        height: 185px;
      }

      .partners-section,
      .experiences-section {
        padding-block: 68px;
      }

      .partner-carousel__track {
        grid-auto-columns: minmax(215px, 48%);
      }

      .partner-card {
        min-height: 280px;
      }



      .experience-feature {
        min-height: 400px;
      }

      .experience-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .experience-card {
        min-height: 128px;
      }











      .info-modal__body {
        grid-template-columns: 1fr;
      }

      .info-modal__rating {
        width: fit-content;
      }
    }

    /* Phone composition */
    @media (max-width: 560px) {
      :root {
        --page-width: calc(100% - 18px);
      }

      .section-heading {
        margin-bottom: 17px;
      }

      .section-heading__eyebrow {
        font-size: .62rem;
      }

      .section-heading h2 {
        font-size: clamp(2rem, 10vw, 2.55rem);
      }

      .section-heading p {
        font-size: .81rem;
        line-height: 1.5;
      }

      .round-icon-button {
        width: 39px;
        height: 39px;
      }

      .primary-button,
      .secondary-button {
        min-height: 43px;
        padding-inline: 14px;
        font-size: .74rem;
      }

      .province-hero {
        height: 680px;
      }

      .province-hero__image-panel {
        inset: 0 0 52% 0;
      }

      .province-hero__orange-panel {
        inset: 39% 0 0;
        clip-path: polygon(0 9%, 100% 0, 100% 100%, 0 100%);
      }

      .province-hero__copy {
        right: 16px;
        bottom: 82px;
        left: 16px;
      }

      .province-hero__slogan {
        margin-bottom: 5px;
        font-size: 1rem;
      }

      .province-hero__title {
        font-size: clamp(3.2rem, 18vw, 4.35rem);
      }

      .province-hero__description {
        display: -webkit-box;
        max-width: 100%;
        margin-top: 10px;
        overflow: hidden;
        font-size: .8rem;
        line-height: 1.45;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
      }

      .province-hero__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin-top: 13px;
      }

      .province-hero__actions .primary-button,
      .province-hero__actions .secondary-button {
        min-width: 0;
        padding-inline: 9px;
        white-space: nowrap;
      }

      .province-hero__floating-label {
        display: none;
      }

      .province-hero__navigation {
        top: 13px;
        right: 13px;
        gap: 7px;
      }

      .province-hero__thumbs {
        right: 10px;
        bottom: 9px;
        left: 10px;
        grid-auto-columns: 79px;
        gap: 6px;
        padding: 6px;
        border-radius: 15px;
      }

      .province-hero__thumb {
        height: 52px;
        border-radius: 10px;
      }

      .province-hero__thumb::after {
        width: 18px;
        height: 18px;
        font-size: .49rem;
      }































      .discover-section {
        padding-bottom: 57px;
      }

      .discover-toolbar {
        margin-bottom: 14px;
      }

      .discover-search input {
        min-height: 44px;
        font-size: .8rem;
      }

      .filter-chip {
        min-height: 34px;
        font-size: .65rem;
      }

      .place-grid {
        grid-template-columns: 1fr;
        gap: 13px;
      }

      .place-card {
        border-radius: 19px;
      }

      .place-card__image-wrap {
        height: 176px;
      }

      .place-card__body {
        padding: 12px;
      }

      .place-card h3 {
        margin: 7px 0 11px;
        font-size: 1.16rem;
      }

      .place-card__button {
        min-height: 37px;
      }

      .view-more-row {
        margin-top: 20px;
      }

      .partners-section,
      .experiences-section {
        padding-block: 57px;
      }

      .partner-tabs {
        width: 100%;
      }

      .partner-tab {
        flex: 1;
      }

      .partner-carousel__track {
        grid-auto-columns: 82%;
        gap: 11px;
      }

      .partner-card {
        min-height: 260px;
        border-radius: 20px;
      }

      .partner-card__copy h3 {
        font-size: 1.17rem;
      }

      .partner-carousel__controls {
        margin-top: 3px;
      }

      .experience-feature {
        min-height: 365px;
        border-radius: 23px;
      }

      .experience-feature__copy {
        right: 19px;
        bottom: 22px;
        left: 19px;
      }

      .experience-feature h3 {
        font-size: clamp(2.25rem, 12vw, 3.2rem);
      }

      .experience-feature p {
        display: -webkit-box;
        overflow: hidden;
        font-size: .8rem;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
      }

      .experience-grid {
        display: grid;
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 79%;
        gap: 10px;
        overflow-x: auto;
        padding: 2px 2px 8px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
      }

      .experience-grid::-webkit-scrollbar {
        display: none;
      }

      .experience-card {
        min-height: 122px;
        padding: 15px;
        scroll-snap-align: start;
      }

      .experience-card__icon {
        width: 38px;
        height: 38px;
      }

      .experience-card h4 {
        margin-top: 13px;
        font-size: .94rem;
      }













      .final-cta__select-wrap,
      .final-cta__form .primary-button,
      .final-cta__form .secondary-button {
        width: 100%;
      }



      .info-modal {
        place-items: end center;
        padding: 0 7px 7px;
      }

      .info-modal__panel {
        width: 100%;
        max-height: 92dvh;
        border-radius: 24px 24px 17px 17px;
        transform: translateY(38px);
      }

      .info-modal__hero {
        min-height: 220px;
        border-radius: 24px 24px 0 0;
      }

      .info-modal__close {
        top: 11px;
        right: 11px;
        width: 39px;
        height: 39px;
      }

      .info-modal__hero-copy {
        right: 57px;
        bottom: 20px;
        left: 18px;
      }

      .info-modal__type {
        padding: 6px 9px;
        font-size: .58rem;
      }

      .info-modal__title {
        margin-top: 8px;
        font-size: 2.2rem;
      }

      .info-modal__body {
        gap: 15px;
        padding: 20px 18px 23px;
      }

      .info-modal__description {
        font-size: .82rem;
        line-height: 1.58;
      }

      .info-modal__details {
        gap: 6px;
        margin-top: 14px;
      }

      .info-modal__rating {
        min-width: 0;
        padding: 10px 12px;
        font-size: .78rem;
      }

      .scroll-helper {
        right: 10px;
        bottom: 10px;
        width: 44px;
        height: 44px;
      }
    }

    @media (max-width: 380px) {
      .province-hero {
        height: 650px;
      }

      .province-hero__title {
        font-size: 3rem;
      }

      .province-hero__actions {
        grid-template-columns: 1fr;
      }

      .province-hero__actions .secondary-button {
        display: none;
      }





      .partner-carousel__track,
      .experience-grid {
        grid-auto-columns: 88%;
      }


    }


    /* =========================================================
       REFERENCE-STYLE GDD VEHICLE SELECTOR
       Faithfully adapts the supplied yellow/white angled layout.
       ========================================================= */















    .vehicle-showcase.is-changing .vehicle-showcase__copy {
      opacity: 0;
      transform: translateY(10px);
    }




































    .vehicle-showcase:not(.is-changing) .vehicle-showcase__image {
      animation: vehicle-main-arrive .65s var(--ease-luxury) both;
    }

    @keyframes vehicle-main-arrive {
      from {
        opacity: 0;
        transform: translateX(28px) scale(.94);
        filter: blur(4px);
      }
      to {
        opacity: 1;
        transform: none;
        filter: none;
      }
    }

    .vehicle-showcase.is-changing .vehicle-showcase__image {
      opacity: 0;
      transform: translateX(-30px) scale(.94);
      filter: blur(4px);
    }















    .vehicle-card.is-active {
      opacity: 1;
      transform: translateY(0) scale(1.025);
      background: #fff;
      box-shadow:
        0 22px 38px rgba(80, 42, 20, .18),
        0 0 0 3px rgba(255, 255, 255, .2);
    }



    .vehicle-card:hover .vehicle-card__image,
    .vehicle-card:focus-visible .vehicle-card__image,
    .vehicle-card.is-active .vehicle-card__image {
      transform: translateY(-3px) scale(1.035);
    }









    .vehicle-showcase__controls .round-icon-button {
      width: 36px;
      height: 36px;
      color: #fff;
      border-color: rgba(255, 255, 255, .38);
      background: rgba(255, 255, 255, .13);
      box-shadow: none;
      backdrop-filter: blur(11px);
    }

    .vehicle-showcase__controls .round-icon-button:hover,
    .vehicle-showcase__controls .round-icon-button:focus-visible {
      color: var(--gdd-orange);
      border-color: #fff;
      background: #fff;
    }









    @media (max-width: 700px) {
















































      .vehicle-showcase__controls .round-icon-button {
        width: 32px;
        height: 32px;
      }


    }




    /* =========================================================
       CLOSER SECTION RHYTHM + STRONGER TYPOGRAPHY
       The available-cars section beneath the hero is intentionally removed.
       ========================================================= */

    .section-heading h2,
    .province-hero__title,
    .place-card h3,
    .partner-card__copy h3,
    .experience-feature h3,
    .experience-card h4,
    .final-cta h2,
    .info-modal__title {
      font-weight: 800;
    }

    .province-hero__title,
    .final-cta h2 {
      text-shadow: 0 1px 0 rgba(0, 0, 0, .035);
    }

    .section-heading__eyebrow,
    .place-card__location,
    .partner-card__badge,
    .experience-feature__index {
      font-weight: 900;
    }

    /* Balanced rather than oversized gaps between the core sections. */
    .discover-section {
      padding: 62px 0 62px;
    }

    .partners-section {
      padding: 64px 0 66px;
    }

    .experiences-section {
      padding: 66px 0;
    }



    .section-heading {
      margin-bottom: 21px;
    }

    .discover-toolbar {
      margin-bottom: 18px;
    }

    .view-more-row {
      margin-top: 23px;
    }

    .partner-carousel__controls {
      margin-top: 4px;
    }

    @media (max-width: 820px) {
      .discover-section {
        padding: 50px 0;
      }

      .partners-section,
      .experiences-section {
        padding: 52px 0;
      }



      .section-heading {
        margin-bottom: 18px;
      }
    }

    @media (max-width: 560px) {
      .discover-section {
        padding: 42px 0 44px;
      }

      .partners-section,
      .experiences-section {
        padding: 46px 0;
      }



      .section-heading {
        margin-bottom: 15px;
      }

      .section-heading h2 {
        font-weight: 850;
      }

      .place-card h3,
      .partner-card__copy h3,
      .experience-card h4 {
        font-weight: 800;
      }
    }


    /* =========================================================
       TIGHTER PAGE RHYTHM + MOBILE SEARCH FIX
       The final choose-car/custom-tour section is removed for now.
       ========================================================= */

    .discover-section {
      padding: 42px 0 46px;
    }

    .partners-section {
      padding: 48px 0 50px;
    }

    .experiences-section {
      padding: 50px 0 54px;
    }

    .section-heading {
      margin-bottom: 18px;
    }

    .discover-toolbar {
      margin-bottom: 15px;
    }

    .view-more-row {
      margin-top: 20px;
    }

    .partner-carousel__controls {
      margin-top: 2px;
    }

    @media (max-width: 820px) {
      .discover-section {
        padding: 34px 0 38px;
      }

      .partners-section,
      .experiences-section {
        padding: 40px 0 42px;
      }

      .section-heading {
        margin-bottom: 15px;
      }

      .discover-toolbar {
        gap: 10px;
        margin-bottom: 13px;
      }

      .discover-search {
        display: block;
        flex: 0 0 auto;
        width: 100%;
        max-width: none;
        height: auto;
        min-height: 0;
      }

      .discover-search input {
        width: 100%;
        min-height: 44px;
      }
    }

    @media (max-width: 560px) {
      .discover-section {
        padding: 30px 0 34px;
      }

      .partners-section,
      .experiences-section {
        padding: 36px 0 38px;
      }

      .section-heading {
        margin-bottom: 13px;
      }

      .discover-toolbar {
        gap: 8px;
        margin-bottom: 12px;
      }

      .discover-search {
        flex-basis: auto;
        min-height: 0;
      }

      .discover-search input {
        min-height: 42px;
        padding-right: 14px;
        padding-left: 43px;
        font-size: .78rem;
      }

      .discover-search svg {
        left: 15px;
        width: 16px;
        height: 16px;
      }

      .filter-chips {
        padding-bottom: 1px;
      }

      .view-more-row {
        margin-top: 17px;
      }
    }


    /* =========================================================
       RESTAURANT CUISINE + FOOD GALLERY
       Shown only in restaurant information modals.
       ========================================================= */

    .restaurant-gallery {
      margin: 0 clamp(23px, 4vw, 34px) clamp(24px, 4vw, 34px);
      padding-top: 24px;
      border-top: 1px solid rgba(21, 25, 31, .09);
    }

    .restaurant-gallery__heading {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 18px;
      margin-bottom: 14px;
    }

    .restaurant-gallery__eyebrow {
      display: block;
      margin-bottom: 5px;
      color: var(--gdd-orange);
      font-size: .62rem;
      font-weight: 900;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .restaurant-gallery__heading h3 {
      margin: 0;
      font-size: clamp(1.35rem, 2.5vw, 1.85rem);
      line-height: 1;
      letter-spacing: -.035em;
      font-weight: 800;
    }

    .restaurant-gallery__cuisines {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 6px;
      max-width: 54%;
    }

    .restaurant-gallery__cuisine {
      padding: 7px 10px;
      border: 1px solid rgba(227, 103, 51, .16);
      border-radius: 999px;
      color: var(--gdd-orange-deep);
      background: var(--gdd-orange-pale);
      font-size: .61rem;
      font-weight: 800;
      white-space: nowrap;
    }

    .restaurant-gallery__viewer {
      position: relative;
      height: 270px;
      overflow: hidden;
      border: 1px solid rgba(21, 25, 31, .07);
      border-radius: 22px;
      background: #272421;
      box-shadow: 0 14px 32px rgba(31, 23, 18, .10);
      outline: none;
      touch-action: pan-y;
      user-select: none;
    }

    .restaurant-gallery__viewer:focus-visible {
      box-shadow:
        0 14px 32px rgba(31, 23, 18, .10),
        0 0 0 4px rgba(227, 103, 51, .12);
    }

    .restaurant-gallery__image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition:
        opacity .24s ease,
        transform .48s var(--ease-luxury);
    }

    .restaurant-gallery__viewer.is-changing .restaurant-gallery__image {
      opacity: .28;
      transform: scale(1.035);
    }

    .restaurant-gallery__viewer::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(180deg, rgba(12, 14, 16, .02) 38%, rgba(12, 14, 16, .76));
    }

    .restaurant-gallery__caption {
      position: absolute;
      z-index: 3;
      right: 68px;
      bottom: 18px;
      left: 20px;
      color: #fff;
      pointer-events: none;
    }

    .restaurant-gallery__caption span {
      display: block;
      margin-bottom: 4px;
      color: rgba(255, 255, 255, .72);
      font-family: "Playfair Display", Georgia, serif;
      font-size: .85rem;
      font-style: italic;
    }

    .restaurant-gallery__caption strong {
      display: block;
      font-size: clamp(1.35rem, 3vw, 2rem);
      line-height: 1;
      letter-spacing: -.035em;
      font-weight: 800;
    }

    .restaurant-gallery__arrow {
      position: absolute;
      z-index: 5;
      top: 50%;
      display: grid;
      place-items: center;
      width: 40px;
      height: 40px;
      padding: 0;
      border: 1px solid rgba(255, 255, 255, .46);
      border-radius: 50%;
      color: #fff;
      background: rgba(16, 18, 20, .40);
      box-shadow: 0 8px 22px rgba(0, 0, 0, .16);
      backdrop-filter: blur(10px);
      cursor: pointer;
      transform: translateY(-50%);
      transition:
        transform .25s var(--ease-luxury),
        color .2s ease,
        background .2s ease;
    }

    .restaurant-gallery__arrow:hover,
    .restaurant-gallery__arrow:focus-visible {
      color: var(--gdd-orange);
      background: #fff;
      outline: none;
      transform: translateY(-50%) scale(1.06);
    }

    .restaurant-gallery__arrow svg {
      width: 18px;
      height: 18px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
    }

    .restaurant-gallery__arrow--previous {
      left: 14px;
    }

    .restaurant-gallery__arrow--next {
      right: 14px;
    }

    .restaurant-gallery__counter {
      position: absolute;
      z-index: 4;
      right: 16px;
      bottom: 15px;
      padding: 7px 9px;
      border-radius: 999px;
      color: #fff;
      background: rgba(18, 20, 22, .42);
      backdrop-filter: blur(9px);
      font-size: .59rem;
      font-weight: 900;
      letter-spacing: .08em;
    }

    .restaurant-gallery__thumbs {
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: 94px;
      gap: 8px;
      margin-top: 10px;
      padding: 1px 1px 5px;
      overflow-x: auto;
      overscroll-behavior-inline: contain;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
    }

    .restaurant-gallery__thumbs::-webkit-scrollbar {
      display: none;
    }

    .restaurant-gallery__thumb {
      min-width: 0;
      padding: 0;
      overflow: hidden;
      scroll-snap-align: start;
      border: 1px solid rgba(21, 25, 31, .08);
      border-radius: 13px;
      color: var(--gdd-ink);
      background: #fff;
      cursor: pointer;
      opacity: .72;
      transition:
        opacity .2s ease,
        transform .25s var(--ease-luxury),
        border-color .2s ease,
        box-shadow .2s ease;
    }

    .restaurant-gallery__thumb:hover,
    .restaurant-gallery__thumb:focus-visible,
    .restaurant-gallery__thumb.is-active {
      opacity: 1;
      border-color: rgba(227, 103, 51, .54);
      box-shadow: 0 8px 20px rgba(32, 22, 16, .10);
      outline: none;
      transform: translateY(-2px);
    }

    .restaurant-gallery__thumb img {
      width: 100%;
      height: 62px;
      object-fit: cover;
    }

    .restaurant-gallery__thumb span {
      display: block;
      overflow: hidden;
      padding: 7px 7px 8px;
      font-size: .58rem;
      font-weight: 800;
      line-height: 1.25;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    @media (max-width: 560px) {
      .restaurant-gallery {
        margin: 0 18px 22px;
        padding-top: 19px;
      }

      .restaurant-gallery__heading {
        align-items: start;
        flex-direction: column;
        gap: 10px;
        margin-bottom: 11px;
      }

      .restaurant-gallery__heading h3 {
        font-size: 1.45rem;
      }

      .restaurant-gallery__cuisines {
        justify-content: flex-start;
        max-width: none;
      }

      .restaurant-gallery__cuisine {
        padding: 6px 9px;
        font-size: .57rem;
      }

      .restaurant-gallery__viewer {
        height: 215px;
        border-radius: 18px;
      }

      .restaurant-gallery__arrow {
        display: none;
      }

      .restaurant-gallery__caption {
        right: 57px;
        bottom: 14px;
        left: 15px;
      }

      .restaurant-gallery__caption span {
        font-size: .72rem;
      }

      .restaurant-gallery__caption strong {
        font-size: 1.35rem;
      }

      .restaurant-gallery__counter {
        right: 12px;
        bottom: 12px;
      }

      .restaurant-gallery__thumbs {
        grid-auto-columns: 78px;
        gap: 7px;
        margin-top: 8px;
      }

      .restaurant-gallery__thumb {
        border-radius: 11px;
      }

      .restaurant-gallery__thumb img {
        height: 52px;
      }

      .restaurant-gallery__thumb span {
        padding: 6px;
        font-size: .52rem;
      }
    }


    /* =========================================================
       HOTEL SUITES + SERVICES GALLERY
       Shown only in hotel information modals.
       ========================================================= */

    .hotel-gallery {
      margin: 0 clamp(23px, 4vw, 34px) clamp(24px, 4vw, 34px);
      padding-top: 24px;
      border-top: 1px solid rgba(21, 25, 31, .09);
    }

    .hotel-gallery__heading {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 18px;
      margin-bottom: 14px;
    }

    .hotel-gallery__eyebrow {
      display: block;
      margin-bottom: 5px;
      color: var(--gdd-orange);
      font-size: .62rem;
      font-weight: 900;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .hotel-gallery__heading h3 {
      margin: 0;
      font-size: clamp(1.35rem, 2.5vw, 1.85rem);
      line-height: 1;
      letter-spacing: -.035em;
      font-weight: 800;
    }

    .hotel-gallery__viewer {
      position: relative;
      height: 270px;
      overflow: hidden;
      border: 1px solid rgba(21, 25, 31, .07);
      border-radius: 22px;
      background: #252321;
      box-shadow: 0 14px 32px rgba(31, 23, 18, .10);
      outline: none;
      touch-action: pan-y;
      user-select: none;
    }

    .hotel-gallery__viewer:focus-visible {
      box-shadow:
        0 14px 32px rgba(31, 23, 18, .10),
        0 0 0 4px rgba(227, 103, 51, .12);
    }

    .hotel-gallery__image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition:
        opacity .24s ease,
        transform .48s var(--ease-luxury);
    }

    .hotel-gallery__viewer.is-changing .hotel-gallery__image {
      opacity: .28;
      transform: scale(1.035);
    }

    .hotel-gallery__viewer::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(180deg, rgba(12, 14, 16, .01) 36%, rgba(12, 14, 16, .78));
    }

    .hotel-gallery__caption {
      position: absolute;
      z-index: 3;
      right: 68px;
      bottom: 18px;
      left: 20px;
      color: #fff;
      pointer-events: none;
    }

    .hotel-gallery__caption span {
      display: block;
      margin-bottom: 4px;
      color: rgba(255, 255, 255, .74);
      font-family: "Playfair Display", Georgia, serif;
      font-size: .85rem;
      font-style: italic;
    }

    .hotel-gallery__caption strong {
      display: block;
      font-size: clamp(1.35rem, 3vw, 2rem);
      line-height: 1;
      letter-spacing: -.035em;
      font-weight: 800;
    }

    .hotel-gallery__arrow {
      position: absolute;
      z-index: 5;
      top: 50%;
      display: grid;
      place-items: center;
      width: 40px;
      height: 40px;
      padding: 0;
      border: 1px solid rgba(255, 255, 255, .46);
      border-radius: 50%;
      color: #fff;
      background: rgba(16, 18, 20, .40);
      box-shadow: 0 8px 22px rgba(0, 0, 0, .16);
      backdrop-filter: blur(10px);
      cursor: pointer;
      transform: translateY(-50%);
      transition:
        transform .25s var(--ease-luxury),
        color .2s ease,
        background .2s ease;
    }

    .hotel-gallery__arrow:hover,
    .hotel-gallery__arrow:focus-visible {
      color: var(--gdd-orange);
      background: #fff;
      outline: none;
      transform: translateY(-50%) scale(1.06);
    }

    .hotel-gallery__arrow svg {
      width: 18px;
      height: 18px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
    }

    .hotel-gallery__arrow--previous {
      left: 14px;
    }

    .hotel-gallery__arrow--next {
      right: 14px;
    }

    .hotel-gallery__counter {
      position: absolute;
      z-index: 4;
      right: 16px;
      bottom: 15px;
      padding: 7px 9px;
      border-radius: 999px;
      color: #fff;
      background: rgba(18, 20, 22, .42);
      backdrop-filter: blur(9px);
      font-size: .59rem;
      font-weight: 900;
      letter-spacing: .08em;
    }

    .hotel-gallery__thumbs {
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: 108px;
      gap: 8px;
      margin-top: 10px;
      padding: 1px 1px 5px;
      overflow-x: auto;
      overscroll-behavior-inline: contain;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
    }

    .hotel-gallery__thumbs::-webkit-scrollbar {
      display: none;
    }

    .hotel-gallery__thumb {
      min-width: 0;
      padding: 0;
      overflow: hidden;
      scroll-snap-align: start;
      border: 1px solid rgba(21, 25, 31, .08);
      border-radius: 13px;
      color: var(--gdd-ink);
      background: #fff;
      cursor: pointer;
      opacity: .72;
      transition:
        opacity .2s ease,
        transform .25s var(--ease-luxury),
        border-color .2s ease,
        box-shadow .2s ease;
    }

    .hotel-gallery__thumb:hover,
    .hotel-gallery__thumb:focus-visible,
    .hotel-gallery__thumb.is-active {
      opacity: 1;
      border-color: rgba(227, 103, 51, .54);
      box-shadow: 0 8px 20px rgba(32, 22, 16, .10);
      outline: none;
      transform: translateY(-2px);
    }

    .hotel-gallery__thumb img {
      width: 100%;
      height: 66px;
      object-fit: cover;
    }

    .hotel-gallery__thumb span {
      display: block;
      overflow: hidden;
      padding: 7px 7px 8px;
      font-size: .58rem;
      font-weight: 800;
      line-height: 1.25;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .hotel-gallery__services-wrap {
      margin-top: 18px;
    }

    .hotel-gallery__services-title {
      display: block;
      margin-bottom: 9px;
      color: var(--gdd-muted);
      font-size: .65rem;
      font-weight: 900;
      letter-spacing: .09em;
      text-transform: uppercase;
    }

    .hotel-gallery__services {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }

    .hotel-gallery__service {
      display: grid;
      grid-template-columns: 34px minmax(0, 1fr);
      gap: 9px;
      align-items: center;
      min-width: 0;
      padding: 10px 11px;
      border: 1px solid rgba(227, 103, 51, .13);
      border-radius: 14px;
      background:
        linear-gradient(145deg, rgba(255,255,255,.96), rgba(255,247,242,.88));
    }

    .hotel-gallery__service-icon {
      display: grid;
      place-items: center;
      width: 34px;
      height: 34px;
      border-radius: 11px;
      color: var(--gdd-orange);
      background: var(--gdd-orange-soft);
    }

    .hotel-gallery__service-icon svg {
      width: 18px;
      height: 18px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
    }

    .hotel-gallery__service-copy {
      min-width: 0;
    }

    .hotel-gallery__service-copy strong {
      display: block;
      overflow: hidden;
      font-size: .68rem;
      line-height: 1.2;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .hotel-gallery__service-copy span {
      display: block;
      overflow: hidden;
      margin-top: 3px;
      color: var(--gdd-muted);
      font-size: .56rem;
      line-height: 1.25;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    @media (max-width: 700px) {
      .hotel-gallery__services {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 560px) {
      .hotel-gallery {
        margin: 0 18px 22px;
        padding-top: 19px;
      }

      .hotel-gallery__heading {
        margin-bottom: 11px;
      }

      .hotel-gallery__heading h3 {
        font-size: 1.45rem;
      }

      .hotel-gallery__viewer {
        height: 215px;
        border-radius: 18px;
      }

      .hotel-gallery__arrow {
        display: none;
      }

      .hotel-gallery__caption {
        right: 57px;
        bottom: 14px;
        left: 15px;
      }

      .hotel-gallery__caption span {
        font-size: .72rem;
      }

      .hotel-gallery__caption strong {
        font-size: 1.35rem;
      }

      .hotel-gallery__counter {
        right: 12px;
        bottom: 12px;
      }

      .hotel-gallery__thumbs {
        grid-auto-columns: 86px;
        gap: 7px;
        margin-top: 8px;
      }

      .hotel-gallery__thumb {
        border-radius: 11px;
      }

      .hotel-gallery__thumb img {
        height: 54px;
      }

      .hotel-gallery__thumb span {
        padding: 6px;
        font-size: .52rem;
      }

      .hotel-gallery__services-wrap {
        margin-top: 14px;
      }

      .hotel-gallery__services {
        display: grid;
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 74%;
        gap: 7px;
        overflow-x: auto;
        padding-bottom: 3px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
      }

      .hotel-gallery__services::-webkit-scrollbar {
        display: none;
      }

      .hotel-gallery__service {
        scroll-snap-align: start;
      }
    }


    /* =========================================================
       HOTEL + RESTAURANT CARD DISCOVERABILITY REFINEMENT
       Larger cards, visible details action, and no card shadow.
       ========================================================= */

    .partner-tabs {
      gap: 6px;
      padding: 7px;
      border-color: rgba(227, 103, 51, .22);
      background:
        linear-gradient(145deg, rgba(255,255,255,.98), rgba(255,246,241,.92));
      box-shadow: none;
    }

    .partner-tab {
      position: relative;
      min-height: 44px;
      padding-inline: 21px;
      font-size: .76rem;
      letter-spacing: .015em;
      font-weight: 850;
      transition:
        transform .25s var(--ease-luxury),
        color .2s ease,
        background .2s ease;
    }

    .partner-tab:hover,
    .partner-tab:focus-visible {
      color: var(--gdd-orange-deep);
      transform: translateY(-1px);
      outline: none;
    }

    .partner-tab.is-active {
      color: #fff;
      background:
        linear-gradient(135deg, var(--gdd-orange-bright), var(--gdd-orange));
      box-shadow: inset 0 1px rgba(255,255,255,.28);
    }

    .partner-carousel__track {
      grid-auto-columns: minmax(262px, 1fr);
      gap: 16px;
      padding: 5px 2px 17px;
    }

    .partner-card {
      min-height: 330px;
      border: 1px solid rgba(227, 103, 51, .18);
      border-radius: 25px;
      box-shadow: none;
      transition:
        transform .34s var(--ease-luxury),
        border-color .22s ease;
    }

    .partner-card:hover,
    .partner-card:focus-visible {
      border-color: rgba(227, 103, 51, .58);
      box-shadow: none;
      transform: translateY(-4px);
    }

    .partner-card__image {
      box-shadow: none;
      filter: none;
    }

    .partner-card::after {
      background:
        linear-gradient(
          180deg,
          rgba(15,18,22,.02) 26%,
          rgba(15,18,22,.28) 57%,
          rgba(15,18,22,.89) 100%
        );
    }

    .partner-card__badge {
      top: 14px;
      left: 14px;
      padding: 8px 12px;
      border: 1px solid rgba(255,255,255,.48);
      background: rgba(255,255,255,.92);
      box-shadow: none;
    }

    .partner-card__copy {
      right: 17px;
      bottom: 17px;
      left: 17px;
    }

    .partner-card__copy h3 {
      font-size: 1.38rem;
      font-weight: 850;
    }

    .partner-card__meta {
      margin-top: 9px;
      font-size: .7rem;
    }

    .partner-card__details {
      display: flex;
      align-items: center;
      justify-content: space-between;
      min-height: 40px;
      margin-top: 13px;
      padding: 0 13px 0 15px;
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 999px;
      color: #fff;
      background:
        linear-gradient(90deg, var(--gdd-orange-bright), var(--gdd-orange));
      box-shadow: none;
      font-size: .7rem;
      font-weight: 900;
      letter-spacing: .02em;
      transition:
        transform .25s var(--ease-luxury),
        filter .2s ease;
    }

    .partner-card__details svg {
      width: 17px;
      height: 17px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      transition: transform .25s var(--ease-luxury);
    }

    .partner-card:hover .partner-card__details,
    .partner-card:focus-visible .partner-card__details {
      filter: brightness(1.04);
      transform: translateY(-1px);
    }

    .partner-card:hover .partner-card__details svg,
    .partner-card:focus-visible .partner-card__details svg {
      transform: translateX(3px);
    }

    @media (max-width: 820px) {
      .partner-tabs {
        align-self: stretch;
        width: min(100%, 360px);
      }

      .partner-tab {
        flex: 1;
        min-height: 43px;
        padding-inline: 16px;
      }

      .partner-carousel__track {
        grid-auto-columns: minmax(245px, 54%);
        gap: 13px;
      }

      .partner-card {
        min-height: 315px;
      }
    }

    @media (max-width: 560px) {
      .partner-tabs {
        width: 100%;
        padding: 6px;
        border-radius: 18px;
      }

      .partner-tab {
        min-height: 42px;
        padding-inline: 12px;
        border-radius: 14px;
        font-size: .72rem;
      }

      .partner-carousel__track {
        grid-auto-columns: 87%;
        gap: 11px;
      }

      .partner-card {
        min-height: 292px;
        border-radius: 22px;
      }

      .partner-card__copy {
        right: 14px;
        bottom: 14px;
        left: 14px;
      }

      .partner-card__copy h3 {
        font-size: 1.25rem;
      }

      .partner-card__details {
        min-height: 38px;
        margin-top: 11px;
        font-size: .67rem;
      }
    }


    /* =========================================================
       GRAND GDD SERVICES STAGE
       Services now appear before hotels/restaurants.
       ========================================================= */

    .experiences-section {
      position: relative;
      overflow: hidden;
      padding: 72px 0 76px;
      color: #fff;
      background:
        radial-gradient(circle at 12% 16%, rgba(255,255,255,.20), transparent 18rem),
        radial-gradient(circle at 86% 72%, rgba(107,28,5,.22), transparent 24rem),
        linear-gradient(135deg, #f48750 0%, var(--gdd-orange) 47%, #b84218 100%);
      isolation: isolate;
    }

    .experience-ambient {
      position: absolute;
      z-index: -1;
      inset: 0;
      overflow: hidden;
      pointer-events: none;
    }

    .experience-ambient::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: .14;
      background-image:
        linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px);
      background-size: 42px 42px;
      mask-image: linear-gradient(125deg, #000 5%, transparent 88%);
    }

    .experience-ambient__word {
      position: absolute;
      top: 26px;
      right: -40px;
      color: rgba(255,255,255,.055);
      font-size: clamp(6rem, 15vw, 13rem);
      line-height: .8;
      font-weight: 900;
      letter-spacing: -.08em;
      white-space: nowrap;
      transform: rotate(-4deg);
      user-select: none;
    }

    .experience-ambient__orb {
      position: absolute;
      display: block;
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 50%;
      box-shadow:
        0 0 0 34px rgba(255,255,255,.035),
        0 0 0 76px rgba(255,255,255,.02);
      animation: experience-orbit 14s ease-in-out infinite;
    }

    .experience-ambient__orb--one {
      top: -90px;
      left: -70px;
      width: 260px;
      height: 260px;
    }

    .experience-ambient__orb--two {
      right: -110px;
      bottom: -120px;
      width: 330px;
      height: 330px;
      animation-delay: -6s;
    }

    .experience-ambient__line {
      position: absolute;
      top: 50%;
      left: -8%;
      width: 116%;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
      transform: rotate(-8deg);
    }

    @keyframes experience-orbit {
      50% {
        transform: translate3d(18px, -12px, 0) scale(1.05);
      }
    }

    .experience-shell {
      position: relative;
    }

    .experience-grand-header {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(310px, .85fr);
      gap: 34px;
      align-items: end;
      margin-bottom: 29px;
    }

    .experience-grand-header__eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 10px;
      color: rgba(255,255,255,.75);
      font-size: .68rem;
      font-weight: 900;
      letter-spacing: .15em;
      text-transform: uppercase;
    }

    .experience-grand-header__eyebrow::before {
      content: "";
      width: 31px;
      height: 2px;
      border-radius: 999px;
      background: currentColor;
    }

    .experience-grand-header h2 {
      max-width: 760px;
      margin: 0;
      font-size: clamp(3rem, 6.3vw, 6rem);
      line-height: .86;
      letter-spacing: -.072em;
      font-weight: 850;
      text-wrap: balance;
    }

    .experience-grand-header p {
      max-width: 650px;
      margin: 17px 0 0;
      color: rgba(255,255,255,.76);
      font-size: .93rem;
      line-height: 1.68;
    }

    .experience-grand-header__signals {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
      padding: 8px;
      border: 1px solid rgba(255,255,255,.24);
      border-radius: 23px;
      background: rgba(255,255,255,.10);
      backdrop-filter: blur(15px);
    }

    .experience-grand-header__signals span {
      min-width: 0;
      padding: 13px 12px;
      border-radius: 17px;
      background: rgba(255,255,255,.09);
      text-align: center;
    }

    .experience-grand-header__signals strong,
    .experience-grand-header__signals small {
      display: block;
    }

    .experience-grand-header__signals strong {
      font-size: .88rem;
      font-weight: 900;
    }

    .experience-grand-header__signals small {
      margin-top: 4px;
      color: rgba(255,255,255,.62);
      font-size: .59rem;
      line-height: 1.25;
    }

    .experience-stage {
      display: grid;
      grid-template-columns: minmax(0, 1.06fr) minmax(410px, .94fr);
      gap: 16px;
      padding: 12px;
      border: 1px solid rgba(255,255,255,.30);
      border-radius: 34px;
      background: rgba(255,255,255,.10);
      box-shadow: 0 28px 70px rgba(79,25,7,.20);
      backdrop-filter: blur(17px);
    }

    .experience-feature {
      position: relative;
      min-height: 520px;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.34);
      border-radius: 26px;
      color: #fff;
      background: #24180f;
      box-shadow: none;
      isolation: isolate;
    }

    .experience-feature__image {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition:
        opacity .34s ease,
        transform .8s var(--ease-luxury);
    }

    .experience-feature.is-changing .experience-feature__image {
      opacity: .36;
      transform: scale(1.055);
    }

    .experience-feature::after {
      content: none;
    }

    .experience-feature__veil {
      position: absolute;
      z-index: 1;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(12,12,12,.07), rgba(12,12,12,.10) 34%, rgba(17,12,8,.88)),
        linear-gradient(90deg, rgba(12,12,12,.22), transparent 64%);
    }

    .experience-feature__topline {
      position: absolute;
      z-index: 3;
      top: 19px;
      right: 20px;
      left: 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      color: rgba(255,255,255,.72);
      font-size: .61rem;
      font-weight: 850;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .experience-feature__topline span:last-child {
      padding: 7px 10px;
      border: 1px solid rgba(255,255,255,.30);
      border-radius: 999px;
      background: rgba(16,16,16,.20);
      backdrop-filter: blur(9px);
    }

    .experience-feature__copy {
      position: absolute;
      z-index: 4;
      right: clamp(22px, 4vw, 40px);
      bottom: clamp(24px, 4vw, 39px);
      left: clamp(22px, 4vw, 40px);
    }

    .experience-feature__index {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      margin-bottom: 11px;
      color: var(--gdd-orange-bright);
      font-size: .65rem;
      font-weight: 900;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .experience-feature__index::before {
      content: "";
      width: 24px;
      height: 2px;
      background: currentColor;
    }

    .experience-feature h3 {
      max-width: 650px;
      margin: 0;
      font-size: clamp(3rem, 5.6vw, 5.4rem);
      line-height: .86;
      letter-spacing: -.067em;
      font-weight: 850;
      text-wrap: balance;
    }

    .experience-feature p {
      max-width: 570px;
      margin: 16px 0 0;
      color: rgba(255,255,255,.78);
      font-size: .9rem;
      line-height: 1.62;
    }

    .experience-feature__button {
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      min-height: 46px;
      margin-top: 20px;
      padding: 0 13px 0 18px;
      border: 1px solid rgba(255,255,255,.40);
      border-radius: 999px;
      color: var(--gdd-orange-deep);
      background: #fff;
      cursor: pointer;
      font-size: .73rem;
      font-weight: 900;
      transition:
        transform .28s var(--ease-luxury),
        color .2s ease,
        background .2s ease;
    }

    .experience-feature__button:hover,
    .experience-feature__button:focus-visible {
      color: #fff;
      background: var(--gdd-orange);
      outline: none;
      transform: translateY(-3px);
    }

    .experience-feature__button svg {
      width: 17px;
      height: 17px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
    }

    .experience-feature__number {
      position: absolute;
      z-index: 2;
      right: 24px;
      bottom: 17px;
      display: flex;
      align-items: baseline;
      color: rgba(255,255,255,.085);
      font-size: 7rem;
      line-height: .7;
      font-weight: 900;
      letter-spacing: -.12em;
      pointer-events: none;
    }

    .experience-selector {
      min-width: 0;
      padding: 13px;
      border-radius: 24px;
      color: var(--gdd-ink);
      background:
        radial-gradient(circle at 95% 4%, rgba(227,103,51,.11), transparent 12rem),
        rgba(255,255,255,.96);
    }

    .experience-selector__heading {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 14px;
      padding: 5px 4px 13px;
    }

    .experience-selector__heading span {
      font-size: .78rem;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .experience-selector__heading small {
      color: var(--gdd-muted);
      font-size: .59rem;
    }

    .experience-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 9px;
    }

    .experience-card {
      position: relative;
      min-height: 139px;
      padding: 15px;
      overflow: hidden;
      border: 1px solid rgba(227,103,51,.13);
      border-radius: 18px;
      color: var(--gdd-ink);
      background:
        linear-gradient(145deg, rgba(255,255,255,.99), rgba(255,247,242,.84));
      box-shadow: none;
      cursor: pointer;
      text-align: left;
      transition:
        transform .3s var(--ease-luxury),
        color .2s ease,
        background .2s ease,
        border-color .2s ease;
    }

    .experience-card::before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 58px;
      height: 58px;
      border-left: 1px solid rgba(227,103,51,.10);
      border-bottom: 1px solid rgba(227,103,51,.10);
      border-radius: 0 0 0 100%;
    }

    .experience-card::after {
      right: -34px;
      bottom: -42px;
      width: 105px;
      box-shadow: none;
    }

    .experience-card:hover,
    .experience-card:focus-visible,
    .experience-card.is-active {
      color: #fff;
      border-color: rgba(255,255,255,.2);
      background:
        radial-gradient(circle at 84% 15%, rgba(255,255,255,.23), transparent 7rem),
        linear-gradient(135deg, var(--gdd-orange-bright), var(--gdd-orange-deep));
      box-shadow: none;
      outline: none;
      transform: translateY(-4px);
    }

    .experience-card__icon {
      width: 39px;
      height: 39px;
      border-radius: 12px;
    }

    .experience-card__icon svg {
      width: 20px;
      height: 20px;
    }

    .experience-card h4 {
      margin-top: 15px;
      font-size: .98rem;
      font-weight: 850;
    }

    .experience-card span {
      margin-top: 4px;
      font-size: .64rem;
      line-height: 1.35;
    }

    .experience-footer-note {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      margin-top: 17px;
      color: rgba(255,255,255,.66);
      font-size: .64rem;
      font-weight: 700;
      text-align: center;
    }

    .experience-footer-note__line {
      width: 42px;
      height: 1px;
      background: rgba(255,255,255,.34);
    }

    /* =========================================================
       PARTNER CARDS: REMOVE ALL DARK/BLACK IMAGE FRAMING
       ========================================================= */

    .partners-section {
      padding: 52px 0 55px;
    }

    .partner-section-heading {
      align-items: end;
    }

    .partner-card {
      overflow: hidden;
      border: 0;
      background: transparent;
      box-shadow: none;
      isolation: isolate;
    }

    .partner-card:hover,
    .partner-card:focus-visible {
      border-color: transparent;
      box-shadow: none;
    }

    .partner-card__image {
      inset: 0;
      width: 100%;
      height: 100%;
      border: 0;
      border-radius: inherit;
      background: transparent;
      box-shadow: none;
      outline: 0;
      filter: none;
    }

    .partner-card::after {
      border: 0;
      border-radius: inherit;
    }

    .partner-card__badge,
    .partner-card__details {
      box-shadow: none;
    }

    @media (max-width: 1050px) {
      .experience-grand-header {
        grid-template-columns: 1fr;
        gap: 22px;
      }

      .experience-grand-header__signals {
        width: min(100%, 580px);
      }

      .experience-stage {
        grid-template-columns: 1fr;
      }

      .experience-feature {
        min-height: 470px;
      }
    }

    @media (max-width: 820px) {
      .experiences-section {
        padding: 56px 0 60px;
      }

      .experience-grand-header h2 {
        font-size: clamp(3rem, 10vw, 4.7rem);
      }

      .experience-stage {
        padding: 9px;
        border-radius: 28px;
      }

      .experience-feature {
        min-height: 430px;
        border-radius: 22px;
      }

      .experience-selector {
        border-radius: 21px;
      }

      .experience-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .experience-footer-note {
        flex-wrap: wrap;
      }
    }

    @media (max-width: 560px) {
      .experiences-section {
        padding: 45px 0 48px;
      }

      .experience-ambient__word {
        top: 60px;
        font-size: 5.3rem;
      }

      .experience-grand-header {
        gap: 18px;
        margin-bottom: 20px;
      }

      .experience-grand-header h2 {
        font-size: clamp(2.7rem, 13vw, 3.7rem);
      }

      .experience-grand-header p {
        margin-top: 13px;
        font-size: .82rem;
        line-height: 1.55;
      }

      .experience-grand-header__signals {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 5px;
        padding: 5px;
        border-radius: 18px;
      }

      .experience-grand-header__signals span {
        padding: 10px 6px;
        border-radius: 13px;
      }

      .experience-grand-header__signals strong {
        font-size: .72rem;
      }

      .experience-grand-header__signals small {
        font-size: .49rem;
      }

      .experience-stage {
        gap: 9px;
        padding: 7px;
        border-radius: 23px;
      }

      .experience-feature {
        min-height: 390px;
        border-radius: 18px;
      }

      .experience-feature__topline {
        top: 14px;
        right: 14px;
        left: 14px;
        font-size: .52rem;
      }

      .experience-feature__copy {
        right: 18px;
        bottom: 21px;
        left: 18px;
      }

      .experience-feature h3 {
        font-size: clamp(2.55rem, 14vw, 3.55rem);
      }

      .experience-feature p {
        display: -webkit-box;
        overflow: hidden;
        font-size: .8rem;
        line-height: 1.52;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
      }

      .experience-feature__button {
        min-height: 42px;
        margin-top: 16px;
        font-size: .67rem;
      }

      .experience-feature__number {
        right: 16px;
        bottom: 13px;
        font-size: 5.2rem;
      }

      .experience-selector {
        padding: 10px;
        border-radius: 18px;
      }

      .experience-selector__heading {
        padding: 3px 2px 10px;
      }

      .experience-selector__heading span {
        font-size: .68rem;
      }

      .experience-selector__heading small {
        display: none;
      }

      .experience-grid {
        display: grid;
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 78%;
        gap: 8px;
        overflow-x: auto;
        padding: 1px 1px 5px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
      }

      .experience-grid::-webkit-scrollbar {
        display: none;
      }

      .experience-card {
        min-height: 126px;
        scroll-snap-align: start;
      }

      .experience-footer-note {
        display: none;
      }

      .partners-section {
        padding: 42px 0 46px;
      }
    }


    /* =========================================================
       COMPACT GRAND SERVICES
       Same cinematic impact with reduced vertical footprint.
       ========================================================= */

    .experiences-section {
      padding: 54px 0 58px;
    }

    .experience-grand-header {
      gap: 24px;
      margin-bottom: 21px;
    }

    .experience-grand-header__eyebrow {
      margin-bottom: 8px;
    }

    .experience-grand-header h2 {
      font-size: clamp(2.75rem, 5.4vw, 5.15rem);
      line-height: .88;
    }

    .experience-grand-header p {
      max-width: 620px;
      margin-top: 13px;
      font-size: .87rem;
      line-height: 1.58;
    }

    .experience-grand-header__signals {
      gap: 6px;
      padding: 6px;
      border-radius: 20px;
    }

    .experience-grand-header__signals span {
      padding: 10px 9px;
      border-radius: 14px;
    }

    .experience-grand-header__signals strong {
      font-size: .8rem;
    }

    .experience-grand-header__signals small {
      margin-top: 3px;
      font-size: .55rem;
    }

    .experience-stage {
      gap: 13px;
      padding: 10px;
      border-radius: 29px;
    }

    .experience-feature {
      min-height: 430px;
      border-radius: 23px;
    }

    .experience-feature__topline {
      top: 16px;
      right: 17px;
      left: 17px;
    }

    .experience-feature__copy {
      right: clamp(20px, 3.5vw, 34px);
      bottom: clamp(22px, 3.5vw, 31px);
      left: clamp(20px, 3.5vw, 34px);
    }

    .experience-feature h3 {
      font-size: clamp(2.6rem, 4.8vw, 4.5rem);
    }

    .experience-feature p {
      max-width: 540px;
      margin-top: 12px;
      font-size: .84rem;
      line-height: 1.55;
    }

    .experience-feature__button {
      min-height: 43px;
      margin-top: 16px;
    }

    .experience-feature__number {
      right: 20px;
      bottom: 14px;
      font-size: 5.8rem;
    }

    .experience-selector {
      padding: 10px;
      border-radius: 21px;
    }

    .experience-selector__heading {
      padding: 3px 3px 10px;
    }

    .experience-grid {
      gap: 7px;
    }

    .experience-card {
      min-height: 116px;
      padding: 13px;
      border-radius: 16px;
    }

    .experience-card__icon {
      width: 35px;
      height: 35px;
      border-radius: 11px;
    }

    .experience-card__icon svg {
      width: 18px;
      height: 18px;
    }

    .experience-card h4 {
      margin-top: 11px;
      font-size: .9rem;
    }

    .experience-card span {
      margin-top: 3px;
      font-size: .59rem;
    }

    .experience-footer-note {
      margin-top: 13px;
    }

    @media (max-width: 1050px) {
      .experience-feature {
        min-height: 410px;
      }
    }

    @media (max-width: 820px) {
      .experiences-section {
        padding: 46px 0 50px;
      }

      .experience-grand-header {
        margin-bottom: 18px;
      }

      .experience-feature {
        min-height: 390px;
      }

      .experience-card {
        min-height: 110px;
      }
    }

    @media (max-width: 560px) {
      .experiences-section {
        padding: 38px 0 41px;
      }

      .experience-grand-header {
        gap: 14px;
        margin-bottom: 16px;
      }

      .experience-grand-header h2 {
        font-size: clamp(2.45rem, 12vw, 3.35rem);
      }

      .experience-grand-header p {
        margin-top: 10px;
        font-size: .78rem;
        line-height: 1.48;
      }

      .experience-grand-header__signals span {
        padding: 8px 5px;
      }

      .experience-stage {
        gap: 7px;
        padding: 6px;
        border-radius: 21px;
      }

      .experience-feature {
        min-height: 340px;
        border-radius: 17px;
      }

      .experience-feature__copy {
        right: 16px;
        bottom: 17px;
        left: 16px;
      }

      .experience-feature h3 {
        font-size: clamp(2.25rem, 12.5vw, 3.15rem);
      }

      .experience-feature p {
        margin-top: 9px;
        font-size: .75rem;
        line-height: 1.42;
        -webkit-line-clamp: 3;
      }

      .experience-feature__button {
        min-height: 39px;
        margin-top: 13px;
      }

      .experience-feature__number {
        font-size: 4.4rem;
      }

      .experience-selector {
        padding: 8px;
      }

      .experience-grid {
        grid-auto-columns: 74%;
      }

      .experience-card {
        min-height: 108px;
        padding: 12px;
      }
    }


    /* =========================================================
       RICH SIGHTSEEING PLACE MODAL
       A compact editorial guide shown only for destination cards.
       ========================================================= */

    .place-detail {
      margin: 0 clamp(23px, 4vw, 34px) clamp(24px, 4vw, 34px);
      padding-top: 25px;
      border-top: 1px solid rgba(21, 25, 31, .09);
    }

    .place-detail__heading {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 18px;
      margin-bottom: 16px;
    }

    .place-detail__eyebrow,
    .place-detail__story-label,
    .place-detail__visit-title {
      display: block;
      color: var(--gdd-orange);
      font-size: .62rem;
      font-weight: 900;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .place-detail__eyebrow {
      margin-bottom: 5px;
    }

    .place-detail__heading h3 {
      margin: 0;
      font-size: clamp(1.45rem, 2.8vw, 2rem);
      line-height: 1;
      letter-spacing: -.04em;
      font-weight: 850;
    }

    .place-detail__prototype-note {
      padding: 7px 10px;
      border: 1px solid rgba(227, 103, 51, .16);
      border-radius: 999px;
      color: var(--gdd-orange-deep);
      background: var(--gdd-orange-pale);
      font-size: .57rem;
      font-weight: 850;
      white-space: nowrap;
    }

    .place-detail__story-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.35fr) minmax(230px, .65fr);
      gap: 12px;
      margin-bottom: 14px;
    }

    .place-detail__story {
      padding: 18px 19px;
      border: 1px solid rgba(21, 25, 31, .07);
      border-radius: 18px;
      background:
        radial-gradient(circle at 100% 0%, rgba(227,103,51,.08), transparent 11rem),
        #fff;
    }

    .place-detail__story-label {
      margin-bottom: 9px;
    }

    .place-detail__story p {
      margin: 0;
      color: #454b54;
      font-family: "Playfair Display", Georgia, serif;
      font-size: .92rem;
      line-height: 1.72;
    }

    .place-detail__facts {
      display: grid;
      gap: 7px;
    }

    .place-detail__fact {
      min-width: 0;
      padding: 12px 13px;
      border: 1px solid rgba(227, 103, 51, .12);
      border-radius: 15px;
      background:
        linear-gradient(145deg, rgba(255,255,255,.98), rgba(255,247,242,.88));
    }

    .place-detail__fact span,
    .place-detail__fact strong {
      display: block;
    }

    .place-detail__fact span {
      color: var(--gdd-muted);
      font-size: .55rem;
      font-weight: 850;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .place-detail__fact strong {
      margin-top: 4px;
      font-size: .72rem;
      line-height: 1.3;
      font-weight: 850;
    }

    .place-detail__viewer {
      position: relative;
      height: 285px;
      overflow: hidden;
      border-radius: 21px;
      background: #ede8e4;
      outline: none;
      touch-action: pan-y;
      user-select: none;
    }

    .place-detail__viewer:focus-visible {
      box-shadow: 0 0 0 4px rgba(227, 103, 51, .13);
    }

    .place-detail__image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition:
        opacity .24s ease,
        transform .48s var(--ease-luxury);
    }

    .place-detail__viewer.is-changing .place-detail__image {
      opacity: .28;
      transform: scale(1.035);
    }

    .place-detail__viewer::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(180deg, rgba(14,15,17,.01) 38%, rgba(14,15,17,.78));
    }

    .place-detail__caption {
      position: absolute;
      z-index: 3;
      right: 66px;
      bottom: 17px;
      left: 19px;
      color: #fff;
      pointer-events: none;
    }

    .place-detail__caption span {
      display: block;
      margin-bottom: 4px;
      color: rgba(255,255,255,.72);
      font-family: "Playfair Display", Georgia, serif;
      font-size: .8rem;
      font-style: italic;
    }

    .place-detail__caption strong {
      display: block;
      font-size: clamp(1.35rem, 3vw, 1.9rem);
      line-height: 1;
      letter-spacing: -.035em;
      font-weight: 850;
    }

    .place-detail__arrow {
      position: absolute;
      z-index: 5;
      top: 50%;
      display: grid;
      place-items: center;
      width: 40px;
      height: 40px;
      padding: 0;
      border: 1px solid rgba(255,255,255,.46);
      border-radius: 50%;
      color: #fff;
      background: rgba(16,18,20,.38);
      backdrop-filter: blur(10px);
      cursor: pointer;
      transform: translateY(-50%);
      transition:
        transform .25s var(--ease-luxury),
        color .2s ease,
        background .2s ease;
    }

    .place-detail__arrow:hover,
    .place-detail__arrow:focus-visible {
      color: var(--gdd-orange);
      background: #fff;
      outline: none;
      transform: translateY(-50%) scale(1.06);
    }

    .place-detail__arrow svg {
      width: 18px;
      height: 18px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
    }

    .place-detail__arrow--previous {
      left: 14px;
    }

    .place-detail__arrow--next {
      right: 14px;
    }

    .place-detail__counter {
      position: absolute;
      z-index: 4;
      right: 15px;
      bottom: 14px;
      padding: 7px 9px;
      border-radius: 999px;
      color: #fff;
      background: rgba(18,20,22,.42);
      backdrop-filter: blur(9px);
      font-size: .58rem;
      font-weight: 900;
      letter-spacing: .08em;
    }

    .place-detail__thumbs {
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: 104px;
      gap: 8px;
      margin-top: 9px;
      padding: 1px 1px 5px;
      overflow-x: auto;
      overscroll-behavior-inline: contain;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
    }

    .place-detail__thumbs::-webkit-scrollbar {
      display: none;
    }

    .place-detail__thumb {
      min-width: 0;
      padding: 0;
      overflow: hidden;
      scroll-snap-align: start;
      border: 1px solid rgba(21,25,31,.08);
      border-radius: 12px;
      color: var(--gdd-ink);
      background: #fff;
      cursor: pointer;
      opacity: .7;
      transition:
        opacity .2s ease,
        transform .25s var(--ease-luxury),
        border-color .2s ease;
    }

    .place-detail__thumb:hover,
    .place-detail__thumb:focus-visible,
    .place-detail__thumb.is-active {
      opacity: 1;
      border-color: rgba(227,103,51,.56);
      outline: none;
      transform: translateY(-2px);
    }

    .place-detail__thumb img {
      width: 100%;
      height: 64px;
      object-fit: cover;
    }

    .place-detail__thumb span {
      display: block;
      overflow: hidden;
      padding: 7px;
      font-size: .56rem;
      font-weight: 850;
      line-height: 1.25;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .place-detail__visit {
      margin-top: 15px;
    }

    .place-detail__visit-title {
      margin-bottom: 9px;
    }

    .place-detail__visit-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 7px;
    }

    .place-detail__visit-note {
      min-width: 0;
      padding: 12px 13px;
      border: 1px solid rgba(227,103,51,.12);
      border-radius: 14px;
      background: var(--gdd-orange-pale);
    }

    .place-detail__visit-note span,
    .place-detail__visit-note strong {
      display: block;
    }

    .place-detail__visit-note span {
      color: var(--gdd-orange-deep);
      font-size: .54rem;
      font-weight: 900;
      letter-spacing: .075em;
      text-transform: uppercase;
    }

    .place-detail__visit-note strong {
      margin-top: 4px;
      font-size: .69rem;
      line-height: 1.3;
      font-weight: 850;
    }

    @media (max-width: 700px) {
      .place-detail__story-grid {
        grid-template-columns: 1fr;
      }

      .place-detail__facts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      .place-detail__fact {
        padding: 10px;
      }
    }

    @media (max-width: 560px) {
      .place-detail {
        margin: 0 18px 22px;
        padding-top: 19px;
      }

      .place-detail__heading {
        align-items: start;
        flex-direction: column;
        gap: 8px;
        margin-bottom: 12px;
      }

      .place-detail__heading h3 {
        font-size: 1.45rem;
      }

      .place-detail__prototype-note {
        padding: 6px 9px;
      }

      .place-detail__story {
        padding: 15px;
        border-radius: 16px;
      }

      .place-detail__story p {
        font-size: .84rem;
        line-height: 1.62;
      }

      .place-detail__facts {
        grid-template-columns: 1fr;
        gap: 6px;
      }

      .place-detail__fact {
        display: grid;
        grid-template-columns: 84px minmax(0, 1fr);
        gap: 8px;
        align-items: center;
      }

      .place-detail__fact strong {
        margin-top: 0;
      }

      .place-detail__viewer {
        height: 220px;
        border-radius: 17px;
      }

      .place-detail__arrow {
        display: none;
      }

      .place-detail__caption {
        right: 56px;
        bottom: 14px;
        left: 14px;
      }

      .place-detail__caption span {
        font-size: .7rem;
      }

      .place-detail__caption strong {
        font-size: 1.32rem;
      }

      .place-detail__counter {
        right: 11px;
        bottom: 11px;
      }

      .place-detail__thumbs {
        grid-auto-columns: 82px;
        gap: 7px;
        margin-top: 7px;
      }

      .place-detail__thumb img {
        height: 53px;
      }

      .place-detail__thumb span {
        padding: 6px;
        font-size: .51rem;
      }

      .place-detail__visit-grid {
        display: grid;
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 78%;
        gap: 7px;
        overflow-x: auto;
        padding-bottom: 3px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
      }

      .place-detail__visit-grid::-webkit-scrollbar {
        display: none;
      }

      .place-detail__visit-note {
        scroll-snap-align: start;
      }
    }


    /* =========================================================
       RICH SERVICE EXPERIENCE MODAL
       Used for wine, dining, masterclasses, gourmet, stays and guides.
       ========================================================= */

    .service-detail {
      margin: 0 clamp(23px, 4vw, 34px) clamp(24px, 4vw, 34px);
      padding-top: 25px;
      border-top: 1px solid rgba(21, 25, 31, .09);
    }

    .service-detail__heading {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 18px;
      margin-bottom: 16px;
    }

    .service-detail__eyebrow,
    .service-detail__story-label,
    .service-detail__section-title {
      display: block;
      color: var(--gdd-orange);
      font-size: .62rem;
      font-weight: 900;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .service-detail__eyebrow {
      margin-bottom: 5px;
    }

    .service-detail__heading h3 {
      margin: 0;
      font-size: clamp(1.45rem, 2.8vw, 2rem);
      line-height: 1;
      letter-spacing: -.04em;
      font-weight: 850;
    }

    .service-detail__prototype-note {
      padding: 7px 10px;
      border: 1px solid rgba(227, 103, 51, .17);
      border-radius: 999px;
      color: var(--gdd-orange-deep);
      background: var(--gdd-orange-pale);
      font-size: .57rem;
      font-weight: 850;
      white-space: nowrap;
    }

    .service-detail__intro {
      display: grid;
      grid-template-columns: minmax(0, 1.3fr) minmax(230px, .7fr);
      gap: 12px;
      margin-bottom: 14px;
    }

    .service-detail__story {
      padding: 18px 19px;
      border: 1px solid rgba(227, 103, 51, .11);
      border-radius: 18px;
      background:
        radial-gradient(circle at 100% 0%, rgba(227,103,51,.10), transparent 12rem),
        linear-gradient(145deg, #fff, #fffaf7);
    }

    .service-detail__story-label {
      margin-bottom: 9px;
    }

    .service-detail__story p {
      margin: 0;
      color: #454b54;
      font-family: "Playfair Display", Georgia, serif;
      font-size: .92rem;
      line-height: 1.72;
    }

    .service-detail__facts {
      display: grid;
      gap: 7px;
    }

    .service-detail__fact {
      min-width: 0;
      padding: 12px 13px;
      border: 1px solid rgba(227, 103, 51, .12);
      border-radius: 15px;
      background: linear-gradient(145deg, #fff, #fff7f2);
    }

    .service-detail__fact span,
    .service-detail__fact strong {
      display: block;
    }

    .service-detail__fact span {
      color: var(--gdd-muted);
      font-size: .55rem;
      font-weight: 850;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .service-detail__fact strong {
      margin-top: 4px;
      font-size: .72rem;
      line-height: 1.3;
      font-weight: 850;
    }

    .service-detail__viewer {
      position: relative;
      height: 285px;
      overflow: hidden;
      border-radius: 21px;
      background: #eee8e3;
      outline: none;
      touch-action: pan-y;
      user-select: none;
    }

    .service-detail__viewer:focus-visible {
      box-shadow: 0 0 0 4px rgba(227, 103, 51, .13);
    }

    .service-detail__image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition:
        opacity .24s ease,
        transform .48s var(--ease-luxury);
    }

    .service-detail__viewer.is-changing .service-detail__image {
      opacity: .28;
      transform: scale(1.035);
    }

    .service-detail__viewer::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background: linear-gradient(180deg, rgba(14,15,17,.01) 38%, rgba(14,15,17,.79));
    }

    .service-detail__caption {
      position: absolute;
      z-index: 3;
      right: 66px;
      bottom: 17px;
      left: 19px;
      color: #fff;
      pointer-events: none;
    }

    .service-detail__caption span {
      display: block;
      margin-bottom: 4px;
      color: rgba(255,255,255,.72);
      font-family: "Playfair Display", Georgia, serif;
      font-size: .8rem;
      font-style: italic;
    }

    .service-detail__caption strong {
      display: block;
      font-size: clamp(1.35rem, 3vw, 1.9rem);
      line-height: 1;
      letter-spacing: -.035em;
      font-weight: 850;
    }

    .service-detail__arrow {
      position: absolute;
      z-index: 5;
      top: 50%;
      display: grid;
      place-items: center;
      width: 40px;
      height: 40px;
      padding: 0;
      border: 1px solid rgba(255,255,255,.46);
      border-radius: 50%;
      color: #fff;
      background: rgba(16,18,20,.38);
      backdrop-filter: blur(10px);
      cursor: pointer;
      transform: translateY(-50%);
      transition:
        transform .25s var(--ease-luxury),
        color .2s ease,
        background .2s ease;
    }

    .service-detail__arrow:hover,
    .service-detail__arrow:focus-visible {
      color: var(--gdd-orange);
      background: #fff;
      outline: none;
      transform: translateY(-50%) scale(1.06);
    }

    .service-detail__arrow svg {
      width: 18px;
      height: 18px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
    }

    .service-detail__arrow--previous {
      left: 14px;
    }

    .service-detail__arrow--next {
      right: 14px;
    }

    .service-detail__counter {
      position: absolute;
      z-index: 4;
      right: 15px;
      bottom: 14px;
      padding: 7px 9px;
      border-radius: 999px;
      color: #fff;
      background: rgba(18,20,22,.42);
      backdrop-filter: blur(9px);
      font-size: .58rem;
      font-weight: 900;
      letter-spacing: .08em;
    }

    .service-detail__thumbs {
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: 104px;
      gap: 8px;
      margin-top: 9px;
      padding: 1px 1px 5px;
      overflow-x: auto;
      overscroll-behavior-inline: contain;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
    }

    .service-detail__thumbs::-webkit-scrollbar {
      display: none;
    }

    .service-detail__thumb {
      min-width: 0;
      padding: 0;
      overflow: hidden;
      scroll-snap-align: start;
      border: 1px solid rgba(21,25,31,.08);
      border-radius: 12px;
      color: var(--gdd-ink);
      background: #fff;
      cursor: pointer;
      opacity: .7;
      transition:
        opacity .2s ease,
        transform .25s var(--ease-luxury),
        border-color .2s ease;
    }

    .service-detail__thumb:hover,
    .service-detail__thumb:focus-visible,
    .service-detail__thumb.is-active {
      opacity: 1;
      border-color: rgba(227,103,51,.56);
      outline: none;
      transform: translateY(-2px);
    }

    .service-detail__thumb img {
      width: 100%;
      height: 64px;
      object-fit: cover;
    }

    .service-detail__thumb span {
      display: block;
      overflow: hidden;
      padding: 7px;
      font-size: .56rem;
      font-weight: 850;
      line-height: 1.25;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .service-detail__includes,
    .service-detail__options {
      margin-top: 15px;
    }

    .service-detail__section-title {
      margin-bottom: 9px;
    }

    .service-detail__include-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 7px;
    }

    .service-detail__include {
      min-width: 0;
      padding: 12px;
      border: 1px solid rgba(227,103,51,.12);
      border-radius: 15px;
      background: linear-gradient(145deg, #fff, #fff8f4);
    }

    .service-detail__include-icon {
      display: grid;
      place-items: center;
      width: 34px;
      height: 34px;
      margin-bottom: 9px;
      border-radius: 11px;
      color: var(--gdd-orange);
      background: var(--gdd-orange-soft);
    }

    .service-detail__include-icon svg {
      width: 18px;
      height: 18px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
    }

    .service-detail__include strong,
    .service-detail__include span {
      display: block;
    }

    .service-detail__include strong {
      font-size: .69rem;
      line-height: 1.25;
      font-weight: 850;
    }

    .service-detail__include span {
      margin-top: 4px;
      color: var(--gdd-muted);
      font-size: .56rem;
      line-height: 1.35;
    }

    .service-detail__option-list {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }

    .service-detail__option {
      padding: 8px 11px;
      border: 1px solid rgba(227,103,51,.16);
      border-radius: 999px;
      color: var(--gdd-orange-deep);
      background: var(--gdd-orange-pale);
      font-size: .6rem;
      font-weight: 850;
    }

    @media (max-width: 760px) {
      .service-detail__intro {
        grid-template-columns: 1fr;
      }

      .service-detail__facts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      .service-detail__include-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 560px) {
      .service-detail {
        margin: 0 18px 22px;
        padding-top: 19px;
      }

      .service-detail__heading {
        align-items: start;
        flex-direction: column;
        gap: 8px;
        margin-bottom: 12px;
      }

      .service-detail__heading h3 {
        font-size: 1.45rem;
      }

      .service-detail__prototype-note {
        padding: 6px 9px;
      }

      .service-detail__story {
        padding: 15px;
        border-radius: 16px;
      }

      .service-detail__story p {
        font-size: .84rem;
        line-height: 1.62;
      }

      .service-detail__facts {
        grid-template-columns: 1fr;
        gap: 6px;
      }

      .service-detail__fact {
        display: grid;
        grid-template-columns: 92px minmax(0, 1fr);
        gap: 8px;
        align-items: center;
      }

      .service-detail__fact strong {
        margin-top: 0;
      }

      .service-detail__viewer {
        height: 220px;
        border-radius: 17px;
      }

      .service-detail__arrow {
        display: none;
      }

      .service-detail__caption {
        right: 56px;
        bottom: 14px;
        left: 14px;
      }

      .service-detail__caption span {
        font-size: .7rem;
      }

      .service-detail__caption strong {
        font-size: 1.32rem;
      }

      .service-detail__counter {
        right: 11px;
        bottom: 11px;
      }

      .service-detail__thumbs {
        grid-auto-columns: 82px;
        gap: 7px;
        margin-top: 7px;
      }

      .service-detail__thumb img {
        height: 53px;
      }

      .service-detail__thumb span {
        padding: 6px;
        font-size: .51rem;
      }

      .service-detail__include-grid {
        display: grid;
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 76%;
        gap: 7px;
        overflow-x: auto;
        padding-bottom: 3px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
      }

      .service-detail__include-grid::-webkit-scrollbar {
        display: none;
      }

      .service-detail__include {
        scroll-snap-align: start;
      }

      .service-detail__option-list {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 3px;
        scrollbar-width: none;
      }

      .service-detail__option-list::-webkit-scrollbar {
        display: none;
      }

      .service-detail__option {
        flex: 0 0 auto;
      }
    }


    /* =========================================================
       SERVICES COLLAGE BACKGROUND
       Replace only this image path with your own local collage.
       Example:
       --services-cover-image: url("images/my-kakheti-collage.png");
       ========================================================= */

    .experiences-section {
      --services-cover-image: url("../images/tourbgcover.png");
      --services-cover-position: center center;

      overflow: clip;
      background: #9f3515;
      isolation: isolate;
      contain: paint;
    }

    .experience-cover {
      position: absolute;
      z-index: -4;
      inset: 0;
      overflow: hidden;
      pointer-events: none;
      background:
        linear-gradient(135deg, #d85f2c, #8f2d11);
    }

    .experience-cover__image,
    .experience-cover__grading,
    .experience-cover__vignette,
    .experience-cover__shine,
    .experience-cover__frame {
      position: absolute;
      inset: 0;
      pointer-events: none;
    }

    /*
      background-attachment: fixed creates the requested window effect:
      the collage does not travel with the section; the section reveals a
      different crop of the same fixed image while the page scrolls.
    */
    .experience-cover__image {
      inset: -2px;
      opacity: 0;
      background-image: var(--services-cover-image);
      background-repeat: no-repeat;
      background-position: var(--services-cover-position);
      background-size: cover;
      background-attachment: fixed;
      filter:
        saturate(.92)
        contrast(1.05)
        brightness(.84);
      transform: scale(1.055);
      transform-origin: center;
      transition:
        opacity 1.15s ease,
        transform 1.65s var(--ease-luxury),
        filter 1.2s ease;
    }

    .experiences-section.is-cover-ready.is-visible .experience-cover__image {
      opacity: 1;
      filter:
        saturate(.98)
        contrast(1.06)
        brightness(.88);
      transform: scale(1.015);
    }

    .experience-cover__grading {
      z-index: 1;
      background:
        linear-gradient(
          90deg,
          rgba(111, 31, 8, .76) 0%,
          rgba(170, 56, 18, .45) 35%,
          rgba(80, 23, 8, .37) 100%
        ),
        linear-gradient(
          180deg,
          rgba(24, 14, 10, .22) 0%,
          rgba(175, 56, 17, .22) 48%,
          rgba(34, 15, 8, .50) 100%
        );
      mix-blend-mode: multiply;
    }

    .experience-cover__vignette {
      z-index: 2;
      background:
        radial-gradient(
          ellipse at center,
          transparent 24%,
          rgba(35, 13, 5, .18) 66%,
          rgba(22, 9, 4, .55) 112%
        ),
        linear-gradient(
          180deg,
          rgba(28, 12, 6, .28),
          transparent 18%,
          transparent 78%,
          rgba(28, 12, 6, .42)
        );
    }

    .experience-cover__shine {
      z-index: 3;
      opacity: .72;
      background:
        radial-gradient(
          circle at 12% 18%,
          rgba(255, 224, 203, .24),
          transparent 19rem
        ),
        radial-gradient(
          circle at 83% 72%,
          rgba(255, 139, 78, .20),
          transparent 22rem
        ),
        linear-gradient(
          116deg,
          transparent 14%,
          rgba(255, 255, 255, .11) 39%,
          transparent 54%
        );
      transform: translate3d(-5%, 0, 0);
      transition:
        opacity 1.2s ease .15s,
        transform 1.8s var(--ease-luxury) .05s;
    }

    .experiences-section.is-visible .experience-cover__shine {
      opacity: .92;
      transform: translate3d(0, 0, 0);
    }

    .experience-cover__frame {
      z-index: 4;
      inset: 14px;
      border: 1px solid rgba(255, 255, 255, .11);
      border-radius: 28px;
      box-shadow:
        inset 0 1px rgba(255, 255, 255, .09),
        inset 0 -1px rgba(79, 19, 4, .18);
    }

    /* Keep the existing decorative layer above the image treatment. */
    .experience-ambient {
      z-index: -1;
    }

    .experience-ambient::after {
      content: "";
      position: absolute;
      top: -30%;
      left: 18%;
      width: 26%;
      height: 160%;
      opacity: .14;
      background:
        linear-gradient(
          90deg,
          transparent,
          rgba(255, 255, 255, .45),
          transparent
        );
      filter: blur(30px);
      transform: rotate(18deg) translate3d(-18%, 0, 0);
      animation: experience-light-sweep 13s ease-in-out infinite alternate;
    }

    @keyframes experience-light-sweep {
      to {
        transform: rotate(18deg) translate3d(42%, 0, 0);
      }
    }

    /*
      Render only the costly ambient motion while the services section is
      close to the viewport. JavaScript toggles is-cover-active.
    */
    .experiences-section:not(.is-cover-active) .experience-ambient__orb,
    .experiences-section:not(.is-cover-active) .experience-ambient::after {
      animation-play-state: paused;
    }

    .experiences-section.is-cover-settled .experience-cover__image,
    .experiences-section.is-cover-settled .experience-cover__shine {
      will-change: auto;
    }

    .experiences-section:not(.is-cover-settled) .experience-cover__image,
    .experiences-section:not(.is-cover-settled) .experience-cover__shine {
      will-change: opacity, transform;
    }

    /* The inner content remains readable over both bright and dark collages. */
    .experience-grand-header__copy,
    .experience-grand-header__signals,
    .experience-stage,
    .experience-footer-note {
      position: relative;
      z-index: 2;
    }

    .experience-grand-header h2,
    .experience-grand-header p,
    .experience-grand-header__eyebrow {
      text-shadow:
        0 2px 18px rgba(33, 10, 3, .28),
        0 1px 2px rgba(33, 10, 3, .24);
    }

    .experience-grand-header__signals,
    .experience-stage {
      border-color: rgba(255, 255, 255, .27);
      background: rgba(120, 37, 11, .20);
      box-shadow:
        0 28px 72px rgba(45, 14, 5, .22),
        inset 0 1px rgba(255, 255, 255, .10);
      backdrop-filter: blur(16px) saturate(1.08);
    }

    .experience-grand-header__signals span {
      background: rgba(255, 255, 255, .11);
      box-shadow: inset 0 1px rgba(255, 255, 255, .08);
    }

    .experience-footer-note {
      text-shadow: 0 1px 12px rgba(32, 10, 3, .30);
    }

    /*
      Mobile browsers do not all honour fixed CSS backgrounds consistently.
      This fallback uses a JavaScript-updated background position to preserve
      the same near-locked window effect without expensive continuous motion.
    */
    @media (hover: none), (pointer: coarse) {
      .experience-cover__image {
        background-attachment: scroll;
        background-position:
          center calc(50% + var(--services-cover-mobile-lock, 0px));
        background-size: auto max(100%, 100vh);
      }

      .experience-cover__frame {
        inset: 8px;
        border-radius: 22px;
      }
    }

    @media (max-width: 560px) {
      .experience-cover__image {
        filter:
          saturate(.94)
          contrast(1.04)
          brightness(.79);
      }

      .experiences-section.is-cover-ready.is-visible .experience-cover__image {
        filter:
          saturate(.98)
          contrast(1.05)
          brightness(.83);
      }

      .experience-cover__grading {
        background:
          linear-gradient(
            90deg,
            rgba(105, 28, 8, .67),
            rgba(117, 31, 8, .43)
          ),
          linear-gradient(
            180deg,
            rgba(24, 11, 5, .22),
            rgba(137, 42, 12, .25) 45%,
            rgba(24, 11, 5, .48)
          );
      }

      .experience-cover__shine {
        opacity: .58;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .experience-cover__image,
      .experience-cover__shine {
        transition: opacity .25s ease;
        transform: none;
      }

      .experience-ambient__orb,
      .experience-ambient::after {
        animation: none !important;
      }
    }


    /* =========================================================
       ANIMATED BOOK-TOUR BUTTONS
       ========================================================= */

    .tour-book-button {
      position: relative;
      isolation: isolate;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 13px;
      min-height: 46px;
      padding: 0 15px 0 19px;
      overflow: hidden;
      border: 1px solid rgba(227, 103, 51, .32);
      border-radius: 999px;
      color: #fff;
      background:
        linear-gradient(105deg, var(--gdd-orange-bright), var(--gdd-orange-deep));
      box-shadow: 0 13px 28px rgba(172, 62, 20, .19);
      cursor: pointer;
      font-size: .72rem;
      font-weight: 900;
      letter-spacing: .015em;
      white-space: nowrap;
      transition:
        transform .3s var(--ease-luxury),
        box-shadow .3s ease,
        border-color .2s ease;
    }

    .tour-book-button::before {
      content: "";
      position: absolute;
      z-index: -1;
      top: -100%;
      left: -35%;
      width: 38%;
      height: 300%;
      opacity: .42;
      background: linear-gradient(90deg, transparent, #fff, transparent);
      transform: rotate(22deg) translateX(-180%);
      transition: transform .8s var(--ease-luxury);
    }

    .tour-book-button:hover,
    .tour-book-button:focus-visible {
      border-color: rgba(255, 255, 255, .56);
      box-shadow: 0 17px 34px rgba(172, 62, 20, .27);
      outline: none;
      transform: translateY(-3px);
    }

    .tour-book-button:hover::before,
    .tour-book-button:focus-visible::before {
      transform: rotate(22deg) translateX(520%);
    }

    .tour-book-button__glow {
      position: absolute;
      z-index: -2;
      inset: -40%;
      opacity: .26;
      background:
        radial-gradient(circle, rgba(255,255,255,.72), transparent 34%);
      animation: tour-book-glow 4.8s ease-in-out infinite;
    }

    @keyframes tour-book-glow {
      50% {
        opacity: .48;
        transform: translate3d(15%, -4%, 0) scale(1.1);
      }
    }

    .tour-book-button svg {
      width: 17px;
      height: 17px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      transition: transform .28s var(--ease-luxury);
    }

    .tour-book-button:hover svg,
    .tour-book-button:focus-visible svg {
      transform: translateX(4px);
    }

    .tour-book-button--hero {
      color: var(--gdd-orange-deep);
      border-color: rgba(255,255,255,.48);
      background: rgba(255,255,255,.94);
      box-shadow: 0 16px 34px rgba(67, 23, 7, .17);
    }

    .tour-book-button--hero:hover,
    .tour-book-button--hero:focus-visible {
      color: #fff;
      background: var(--gdd-orange-deep);
    }

    .tour-book-button--light {
      margin-top: 18px;
      color: var(--gdd-orange-deep);
      border-color: rgba(255,255,255,.45);
      background: rgba(255,255,255,.95);
      box-shadow: 0 18px 40px rgba(59, 18, 5, .18);
    }

    .tour-book-button--light:hover,
    .tour-book-button--light:focus-visible {
      color: #fff;
      background: rgba(121, 36, 10, .72);
      backdrop-filter: blur(13px);
    }

    .partner-heading__controls {
      display: flex;
      flex-direction: column;
      align-items: end;
      gap: 10px;
    }

    /* =========================================================
       COMPACT VISUAL KAKHETI TOUR BUILDER
       ========================================================= */

    .tour-builder-section {
      position: relative;
      overflow: hidden;
      padding: 56px 0 62px;
      background:
        radial-gradient(circle at 9% 20%, rgba(227,103,51,.12), transparent 19rem),
        radial-gradient(circle at 91% 82%, rgba(227,103,51,.08), transparent 20rem),
        linear-gradient(180deg, #fff 0%, #fff9f5 100%);
      isolation: isolate;
    }

    .tour-builder-decor {
      position: absolute;
      z-index: -1;
      inset: 0;
      overflow: hidden;
      pointer-events: none;
    }

    .tour-builder-decor__word {
      position: absolute;
      top: 8px;
      right: -22px;
      color: rgba(227,103,51,.045);
      font-size: clamp(7rem, 18vw, 15rem);
      line-height: .8;
      font-weight: 900;
      letter-spacing: -.09em;
      user-select: none;
    }

    .tour-builder-decor__ring {
      position: absolute;
      border: 1px solid rgba(227,103,51,.13);
      border-radius: 50%;
      box-shadow:
        0 0 0 30px rgba(227,103,51,.025),
        0 0 0 64px rgba(227,103,51,.015);
    }

    .tour-builder-decor__ring--one {
      top: -110px;
      left: -100px;
      width: 270px;
      height: 270px;
    }

    .tour-builder-decor__ring--two {
      right: -115px;
      bottom: -150px;
      width: 340px;
      height: 340px;
    }

    .tour-builder {
      position: relative;
      padding: 24px;
      border: 1px solid rgba(227,103,51,.16);
      border-radius: 30px;
      background: rgba(255,255,255,.92);
      box-shadow: 0 25px 68px rgba(85, 42, 21, .10);
      backdrop-filter: blur(16px);
      transition:
        border-color .35s ease,
        box-shadow .35s ease,
        transform .35s var(--ease-luxury);
    }

    .tour-builder.is-highlighted {
      border-color: rgba(227,103,51,.72);
      box-shadow:
        0 25px 68px rgba(85,42,21,.12),
        0 0 0 8px rgba(227,103,51,.075);
      transform: translateY(-2px);
    }

    .tour-builder__header {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 24px;
      align-items: end;
      margin-bottom: 19px;
    }

    .tour-builder__eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      margin-bottom: 8px;
      color: var(--gdd-orange);
      font-size: .65rem;
      font-weight: 900;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .tour-builder__eyebrow::before {
      content: "";
      width: 26px;
      height: 2px;
      border-radius: 999px;
      background: currentColor;
    }

    .tour-builder__header h2 {
      margin: 0;
      font-size: clamp(2.35rem, 5vw, 4.4rem);
      line-height: .9;
      letter-spacing: -.062em;
      font-weight: 850;
    }

    .tour-builder__header p {
      max-width: 650px;
      margin: 11px 0 0;
      color: var(--gdd-muted);
      font-size: .84rem;
      line-height: 1.55;
    }

    .tour-builder__steps {
      display: grid;
      grid-template-columns: repeat(3, auto);
      gap: 6px;
      padding: 6px;
      border: 1px solid rgba(227,103,51,.13);
      border-radius: 18px;
      background: var(--gdd-orange-pale);
    }

    .tour-builder__steps span {
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 8px 9px;
      color: var(--gdd-muted);
      font-size: .55rem;
      font-weight: 800;
      white-space: nowrap;
    }

    .tour-builder__steps strong {
      color: var(--gdd-orange);
      font-size: .61rem;
      font-weight: 900;
    }

    .tour-builder__form {
      display: grid;
      gap: 14px;
    }

    .tour-builder__fields {
      display: grid;
      grid-template-columns:
        minmax(150px, 1fr)
        minmax(180px, 1.2fr)
        minmax(138px, .78fr)
        minmax(82px, .42fr)
        minmax(175px, 1fr);
      gap: 9px;
      align-items: end;
    }

    .tour-builder__field {
      display: grid;
      gap: 6px;
      min-width: 0;
    }

    .tour-builder__field > span,
    .tour-builder__note > span {
      color: #555c66;
      font-size: .58rem;
      font-weight: 900;
      letter-spacing: .075em;
      text-transform: uppercase;
    }

    .tour-builder__field input,
    .tour-builder__field select,
    .tour-builder__note textarea {
      width: 100%;
      border: 1px solid rgba(21,25,31,.10);
      border-radius: 13px;
      color: var(--gdd-ink);
      background: #fff;
      font: inherit;
      font-size: .75rem;
      outline: none;
      transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
    }

    .tour-builder__field input,
    .tour-builder__field select {
      min-height: 45px;
      padding: 0 13px;
    }

    .tour-builder__field select {
      appearance: none;
      padding-right: 38px;
      background-image:
        linear-gradient(45deg, transparent 50%, var(--gdd-orange) 50%),
        linear-gradient(135deg, var(--gdd-orange) 50%, transparent 50%);
      background-position:
        calc(100% - 18px) 19px,
        calc(100% - 13px) 19px;
      background-size: 5px 5px;
      background-repeat: no-repeat;
    }

    .tour-builder__field input:focus,
    .tour-builder__field select:focus,
    .tour-builder__note textarea:focus {
      border-color: rgba(227,103,51,.62);
      box-shadow: 0 0 0 4px rgba(227,103,51,.08);
      background: #fffdfa;
    }

    .tour-builder__guide {
      grid-column: 1 / -1;
      position: relative;
      display: grid;
      grid-template-columns: 39px minmax(0, 1fr) 28px;
      gap: 10px;
      align-items: center;
      min-height: 56px;
      padding: 8px 11px;
      overflow: hidden;
      border: 1px solid rgba(227,103,51,.14);
      border-radius: 16px;
      background:
        linear-gradient(110deg, #fff 0%, #fff8f3 100%);
      cursor: pointer;
      transition:
        border-color .2s ease,
        transform .25s var(--ease-luxury),
        background .2s ease;
    }

    .tour-builder__guide:hover {
      border-color: rgba(227,103,51,.42);
      transform: translateY(-2px);
    }

    .tour-builder__guide input {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }

    .tour-builder__guide-icon {
      display: grid;
      place-items: center;
      width: 39px;
      height: 39px;
      border-radius: 12px;
      color: var(--gdd-orange);
      background: var(--gdd-orange-soft);
    }

    .tour-builder__guide-icon svg,
    .tour-builder__guide-check svg {
      width: 19px;
      height: 19px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
    }

    .tour-builder__guide-copy strong,
    .tour-builder__guide-copy small {
      display: block;
    }

    .tour-builder__guide-copy strong {
      font-size: .75rem;
      font-weight: 850;
    }

    .tour-builder__guide-copy small {
      margin-top: 3px;
      color: var(--gdd-muted);
      font-size: .59rem;
    }

    .tour-builder__guide-check {
      display: grid;
      place-items: center;
      width: 27px;
      height: 27px;
      border: 1px solid rgba(227,103,51,.22);
      border-radius: 50%;
      color: transparent;
      background: #fff;
      transition:
        color .2s ease,
        background .2s ease,
        transform .25s var(--ease-luxury);
    }

    .tour-builder__guide input:checked ~ .tour-builder__guide-check {
      color: #fff;
      background: var(--gdd-orange);
      transform: scale(1.04);
    }

    .tour-builder__selector {
      padding: 14px;
      border: 1px solid rgba(227,103,51,.14);
      border-radius: 22px;
      background:
        radial-gradient(circle at 95% 0%, rgba(227,103,51,.08), transparent 15rem),
        #fff;
    }

    .tour-builder__selector.is-invalid {
      border-color: rgba(191, 48, 31, .62);
      box-shadow: 0 0 0 4px rgba(191,48,31,.07);
    }

    .tour-builder__selector-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 18px;
      margin-bottom: 11px;
    }

    .tour-builder__selector-label {
      display: block;
      margin-bottom: 4px;
      color: var(--gdd-orange);
      font-size: .56rem;
      font-weight: 900;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .tour-builder__selector-head strong,
    .tour-builder__selector-head small {
      display: block;
    }

    .tour-builder__selector-head strong {
      font-size: 1.05rem;
      font-weight: 850;
    }

    .tour-builder__selector-head small {
      margin-top: 3px;
      color: var(--gdd-muted);
      font-size: .59rem;
    }

    .tour-builder__tabs {
      display: flex;
      gap: 5px;
      padding: 5px;
      border: 1px solid rgba(227,103,51,.13);
      border-radius: 15px;
      background: var(--gdd-orange-pale);
    }

    .tour-builder__tab {
      min-height: 35px;
      padding: 0 12px;
      border: 0;
      border-radius: 11px;
      color: #666d76;
      background: transparent;
      cursor: pointer;
      font-size: .61rem;
      font-weight: 850;
      transition:
        color .2s ease,
        background .2s ease,
        transform .2s ease;
    }

    .tour-builder__tab:hover,
    .tour-builder__tab:focus-visible {
      color: var(--gdd-orange-deep);
      outline: none;
      transform: translateY(-1px);
    }

    .tour-builder__tab.is-active {
      color: #fff;
      background: var(--gdd-orange);
    }

    .tour-builder__options {
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: minmax(170px, 1fr);
      gap: 9px;
      overflow-x: auto;
      padding: 2px 2px 5px;
      overscroll-behavior-inline: contain;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
    }

    .tour-builder__options::-webkit-scrollbar {
      display: none;
    }

    .tour-builder__choice {
      position: relative;
      min-width: 0;
      height: 148px;
      overflow: hidden;
      scroll-snap-align: start;
      border: 1px solid rgba(21,25,31,.08);
      border-radius: 17px;
      background: #ece7e3;
      cursor: pointer;
      isolation: isolate;
      transition:
        transform .28s var(--ease-luxury),
        border-color .2s ease;
    }

    .tour-builder__choice:hover {
      border-color: rgba(227,103,51,.56);
      transform: translateY(-3px);
    }

    .tour-builder__choice input {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }

    .tour-builder__choice-image {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .55s var(--ease-luxury);
    }

    .tour-builder__choice:hover .tour-builder__choice-image {
      transform: scale(1.045);
    }

    .tour-builder__choice::after {
      content: "";
      position: absolute;
      z-index: 1;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(15,16,18,.03) 25%, rgba(15,16,18,.28) 57%, rgba(15,16,18,.89));
    }

    .tour-builder__choice-copy {
      position: absolute;
      z-index: 3;
      right: 12px;
      bottom: 11px;
      left: 12px;
      color: #fff;
    }

    .tour-builder__choice-kind,
    .tour-builder__choice-copy strong,
    .tour-builder__choice-copy small {
      display: block;
    }

    .tour-builder__choice-kind {
      margin-bottom: 4px;
      color: rgba(255,255,255,.68);
      font-size: .5rem;
      font-weight: 900;
      letter-spacing: .09em;
      text-transform: uppercase;
    }

    .tour-builder__choice-copy strong {
      overflow: hidden;
      font-size: .78rem;
      line-height: 1.2;
      font-weight: 850;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .tour-builder__choice-copy small {
      overflow: hidden;
      margin-top: 3px;
      color: rgba(255,255,255,.72);
      font-size: .54rem;
      line-height: 1.25;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .tour-builder__choice-check {
      position: absolute;
      z-index: 4;
      top: 9px;
      right: 9px;
      display: grid;
      place-items: center;
      width: 27px;
      height: 27px;
      border: 1px solid rgba(255,255,255,.66);
      border-radius: 50%;
      color: transparent;
      background: rgba(18,20,22,.26);
      backdrop-filter: blur(9px);
      transition:
        color .2s ease,
        background .2s ease,
        transform .25s var(--ease-luxury);
    }

    .tour-builder__choice-check svg {
      width: 15px;
      height: 15px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2.2;
    }

    .tour-builder__choice input:checked ~ .tour-builder__choice-check {
      color: #fff;
      border-color: var(--gdd-orange);
      background: var(--gdd-orange);
      transform: scale(1.07);
    }

    .tour-builder__choice:has(input:checked) {
      border-color: var(--gdd-orange);
      box-shadow: 0 0 0 3px rgba(227,103,51,.11);
    }

    .tour-builder__bottom {
      display: grid;
      grid-template-columns: minmax(0, 1.5fr) minmax(170px, .62fr) auto;
      gap: 10px;
      align-items: stretch;
    }

    .tour-builder__summary,
    .tour-builder__note,
    .tour-builder__submit-wrap {
      min-width: 0;
      border: 1px solid rgba(227,103,51,.12);
      border-radius: 16px;
      background: #fff;
    }

    .tour-builder__summary {
      padding: 11px 12px;
    }

    .tour-builder__summary-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 8px;
    }

    .tour-builder__summary-head > span {
      font-size: .62rem;
      font-weight: 900;
      letter-spacing: .075em;
      text-transform: uppercase;
    }

    .tour-builder__summary-head button {
      padding: 0;
      border: 0;
      color: var(--gdd-orange);
      background: transparent;
      cursor: pointer;
      font-size: .55rem;
      font-weight: 850;
    }

    .tour-builder__selection-strip {
      display: flex;
      align-items: center;
      gap: 6px;
      min-height: 34px;
      overflow-x: auto;
      padding-bottom: 2px;
      scrollbar-width: none;
    }

    .tour-builder__selection-strip::-webkit-scrollbar {
      display: none;
    }

    .tour-builder__empty-selection {
      color: var(--gdd-muted);
      font-size: .59rem;
    }

    .tour-builder__selection-chip {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      min-height: 29px;
      padding: 3px 9px 3px 4px;
      border: 1px solid rgba(227,103,51,.13);
      border-radius: 999px;
      color: var(--gdd-orange-deep);
      background: var(--gdd-orange-pale);
      font-size: .56rem;
      font-weight: 850;
    }

    .tour-builder__selection-chip img {
      width: 23px;
      height: 23px;
      border-radius: 50%;
      object-fit: cover;
    }

    .tour-builder__note {
      display: grid;
      gap: 6px;
      padding: 10px;
    }

    .tour-builder__note em {
      color: var(--gdd-muted);
      font-style: normal;
      font-weight: 700;
      text-transform: none;
    }

    .tour-builder__note textarea {
      min-height: 50px;
      padding: 9px 10px;
      resize: vertical;
      line-height: 1.35;
    }

    .tour-builder__submit-wrap {
      display: grid;
      align-content: center;
      gap: 6px;
      padding: 8px;
    }

    .tour-builder__message {
      max-width: 220px;
      min-height: 0;
      margin: 0;
      color: #a43f2c;
      font-size: .56rem;
      line-height: 1.3;
    }

    .tour-builder__message.is-success {
      color: #34714b;
    }

    .tour-builder__submit {
      position: relative;
      isolation: isolate;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      min-width: 205px;
      min-height: 59px;
      padding: 0 14px 0 16px;
      overflow: hidden;
      border: 0;
      border-radius: 14px;
      color: #fff;
      background:
        radial-gradient(circle at 80% 10%, rgba(255,255,255,.25), transparent 8rem),
        linear-gradient(115deg, var(--gdd-orange-bright), var(--gdd-orange-deep));
      cursor: pointer;
      text-align: left;
      box-shadow: 0 14px 30px rgba(177,61,20,.22);
      transition:
        transform .3s var(--ease-luxury),
        box-shadow .3s ease;
    }

    .tour-builder__submit:hover,
    .tour-builder__submit:focus-visible {
      box-shadow: 0 18px 36px rgba(177,61,20,.31);
      outline: none;
      transform: translateY(-3px);
    }

    .tour-builder__submit > span:not(.tour-builder__submit-shine) {
      display: grid;
      gap: 3px;
      font-size: .77rem;
      font-weight: 900;
    }

    .tour-builder__submit small {
      color: rgba(255,255,255,.65);
      font-size: .51rem;
      font-weight: 800;
      letter-spacing: .09em;
      text-transform: uppercase;
    }

    .tour-builder__submit svg {
      width: 19px;
      height: 19px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      transition: transform .3s var(--ease-luxury);
    }

    .tour-builder__submit:hover svg {
      transform: translateX(4px);
    }

    .tour-builder__submit-shine {
      position: absolute;
      z-index: -1;
      top: -120%;
      left: -35%;
      width: 38%;
      height: 340%;
      opacity: .42;
      background: linear-gradient(90deg, transparent, #fff, transparent);
      transform: rotate(22deg);
      animation: tour-submit-shine 4.7s ease-in-out infinite;
    }

    @keyframes tour-submit-shine {
      0%, 64% {
        transform: rotate(22deg) translateX(-180%);
      }
      100% {
        transform: rotate(22deg) translateX(530%);
      }
    }

    @media (max-width: 1050px) {
      .tour-builder__header {
        grid-template-columns: 1fr;
      }

      .tour-builder__steps {
        width: max-content;
      }

      .tour-builder__fields {
        grid-template-columns: repeat(4, minmax(0, 1fr));
      }

      .tour-builder__field--car {
        grid-column: span 2;
      }

      .tour-builder__bottom {
        grid-template-columns: 1fr 1fr;
      }

      .tour-builder__summary {
        grid-column: 1 / -1;
      }
    }

    @media (max-width: 820px) {
      .partner-heading__controls {
        align-items: stretch;
      }

      .tour-builder-section {
        padding: 47px 0 52px;
      }

      .tour-builder {
        padding: 19px;
        border-radius: 25px;
      }

      .tour-builder__header {
        gap: 16px;
      }

      .tour-builder__steps {
        width: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      .tour-builder__steps span {
        justify-content: center;
      }

      .tour-builder__fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .tour-builder__field--car {
        grid-column: auto;
      }

      .tour-builder__selector-head {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
      }

      .tour-builder__tabs {
        width: 100%;
      }

      .tour-builder__tab {
        flex: 1;
      }

      .tour-builder__options {
        grid-auto-columns: 42%;
      }
    }

    @media (max-width: 560px) {
      .tour-book-button {
        min-height: 42px;
        padding-inline: 15px 12px;
        font-size: .66rem;
      }

      .province-hero__actions .tour-book-button {
        flex: 1 1 100%;
      }

      .section-heading > .tour-book-button {
        align-self: flex-start;
      }

      .partner-heading__controls {
        width: 100%;
      }

      .tour-builder-section {
        padding: 39px 0 43px;
      }

      .tour-builder {
        padding: 15px;
        border-radius: 21px;
      }

      .tour-builder__header {
        margin-bottom: 15px;
      }

      .tour-builder__header h2 {
        font-size: clamp(2.25rem, 12vw, 3.1rem);
      }

      .tour-builder__header p {
        font-size: .76rem;
      }

      .tour-builder__steps {
        gap: 3px;
        padding: 4px;
      }

      .tour-builder__steps span {
        gap: 4px;
        padding: 7px 3px;
        font-size: .47rem;
      }

      .tour-builder__fields {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
      }

      .tour-builder__field:nth-child(1),
      .tour-builder__field:nth-child(2),
      .tour-builder__field--car {
        grid-column: 1 / -1;
      }

      .tour-builder__field input,
      .tour-builder__field select {
        min-height: 43px;
      }

      .tour-builder__guide {
        grid-template-columns: 36px minmax(0, 1fr) 26px;
        min-height: 54px;
      }

      .tour-builder__selector {
        padding: 10px;
        border-radius: 18px;
      }

      .tour-builder__tabs {
        overflow-x: auto;
        scrollbar-width: none;
      }

      .tour-builder__tabs::-webkit-scrollbar {
        display: none;
      }

      .tour-builder__tab {
        flex: 0 0 auto;
        padding-inline: 12px;
      }

      .tour-builder__options {
        grid-auto-columns: 78%;
        gap: 8px;
      }

      .tour-builder__choice {
        height: 139px;
      }

      .tour-builder__bottom {
        grid-template-columns: 1fr;
      }

      .tour-builder__summary {
        grid-column: auto;
      }

      .tour-builder__submit-wrap {
        padding: 7px;
      }

      .tour-builder__submit {
        width: 100%;
        min-width: 0;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .tour-book-button__glow,
      .tour-builder__submit-shine {
        animation: none;
      }
    }


    /* =========================================================
       REFINED TOUR BUILDER — GRID FIX + VISUAL POLISH
       ========================================================= */

    .tour-builder {
      overflow: clip;
      padding: 25px;
      border-radius: 29px;
    }

    .tour-builder__header {
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 22px;
      align-items: end;
      margin-bottom: 16px;
    }

    .tour-builder__header-copy {
      min-width: 0;
    }

    .tour-builder__header h2 {
      max-width: 760px;
      font-size: clamp(2.7rem, 5.2vw, 4.7rem);
    }

    .tour-builder__header p {
      max-width: 700px;
    }

    .tour-builder__steps {
      align-self: end;
      grid-template-columns: repeat(3, minmax(0, auto));
      max-width: 100%;
      border-radius: 17px;
    }

    .tour-builder__steps span {
      border-radius: 12px;
      transition:
        color .2s ease,
        background .2s ease;
    }

    .tour-builder__steps .is-current {
      color: var(--gdd-orange-deep);
      background: #fff;
      box-shadow: inset 0 0 0 1px rgba(227, 103, 51, .12);
    }

    /*
      Critical width correction:
      without an explicit zero-minimum track, the implicit form grid used
      the maximum-content width of its children and overflowed the card.
    */
    .tour-builder__form {
      width: 100%;
      min-width: 0;
      grid-template-columns: minmax(0, 1fr);
    }

    .tour-builder__form > *,
    .tour-builder__essentials,
    .tour-builder__fields,
    .tour-builder__selector,
    .tour-builder__bottom {
      width: 100%;
      min-width: 0;
      max-width: 100%;
    }

    .tour-builder__essentials {
      padding: 14px;
      border: 1px solid rgba(227, 103, 51, .13);
      border-radius: 21px;
      background:
        radial-gradient(circle at 96% 4%, rgba(227, 103, 51, .075), transparent 14rem),
        #fff;
    }

    .tour-builder__panel-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 11px;
      padding-inline: 2px;
    }

    .tour-builder__panel-head div > span,
    .tour-builder__summary-head div > span {
      display: block;
      margin-bottom: 3px;
      color: var(--gdd-orange);
      font-size: .54rem;
      font-weight: 900;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .tour-builder__panel-head strong,
    .tour-builder__summary-head strong {
      display: block;
      font-size: .92rem;
      line-height: 1.2;
      font-weight: 850;
    }

    .tour-builder__required-note {
      padding: 6px 9px;
      border: 1px solid rgba(227, 103, 51, .15);
      border-radius: 999px;
      color: var(--gdd-orange-deep);
      background: var(--gdd-orange-pale);
      font-size: .54rem;
      font-weight: 850;
      white-space: nowrap;
    }

    .tour-builder__fields {
      display: grid;
      grid-template-columns: repeat(12, minmax(0, 1fr));
      gap: 9px;
      align-items: end;
    }

    .tour-builder__field {
      min-width: 0;
    }

    .tour-builder__field--name {
      grid-column: span 3;
    }

    .tour-builder__field--contact {
      grid-column: span 3;
    }

    .tour-builder__field--date {
      grid-column: span 2;
    }

    .tour-builder__field--guests {
      grid-column: span 1;
    }

    .tour-builder__field--car {
      grid-column: span 3;
    }

    .tour-builder__field input,
    .tour-builder__field select {
      min-width: 0;
      min-height: 44px;
      border-radius: 12px;
    }

    .tour-builder__guide {
      grid-column: auto;
      width: 100%;
      min-width: 0;
      min-height: 54px;
      margin-top: 9px;
      grid-template-columns: 38px minmax(0, 1fr) auto 27px;
      padding: 7px 10px;
      border-radius: 14px;
    }

    .tour-builder__guide-pill {
      padding: 6px 9px;
      border-radius: 999px;
      color: var(--gdd-orange-deep);
      background: var(--gdd-orange-pale);
      font-size: .53rem;
      font-weight: 850;
      white-space: nowrap;
    }

    .tour-builder__selector {
      overflow: hidden;
      padding: 14px;
      border-radius: 21px;
    }

    .tour-builder__selector-head {
      width: 100%;
      min-width: 0;
      align-items: end;
      gap: 16px;
    }

    .tour-builder__selector-copy {
      min-width: 0;
    }

    .tour-builder__selector-actions {
      display: flex;
      min-width: 0;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
    }

    .tour-builder__selected-count {
      flex: 0 0 auto;
      min-height: 35px;
      display: inline-flex;
      align-items: center;
      padding: 0 11px;
      border: 1px solid rgba(227, 103, 51, .14);
      border-radius: 999px;
      color: var(--gdd-orange-deep);
      background: var(--gdd-orange-pale);
      font-size: .57rem;
      font-weight: 900;
      white-space: nowrap;
    }

    .tour-builder__tabs {
      flex: 0 1 auto;
      min-width: 0;
    }

    .tour-builder__requirement {
      display: flex;
      align-items: center;
      gap: 7px;
      margin: 0 0 10px;
      color: var(--gdd-muted);
      font-size: .57rem;
      line-height: 1.35;
    }

    .tour-builder__requirement > span {
      flex: 0 0 auto;
      display: grid;
      place-items: center;
      width: 19px;
      height: 19px;
      border-radius: 50%;
      color: var(--gdd-orange);
      background: var(--gdd-orange-soft);
    }

    .tour-builder__requirement svg {
      width: 10px;
      height: 10px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
    }

    .tour-builder__options {
      width: 100%;
      min-width: 0;
      grid-auto-columns: minmax(168px, 1fr);
      gap: 8px;
    }

    .tour-builder__choice {
      height: 142px;
      border-radius: 16px;
    }

    .tour-builder__bottom {
      display: grid;
      grid-template-columns:
        minmax(0, 1.4fr)
        minmax(220px, .72fr)
        minmax(215px, auto);
      gap: 9px;
      align-items: stretch;
    }

    .tour-builder__summary,
    .tour-builder__note,
    .tour-builder__submit-wrap {
      width: 100%;
      min-width: 0;
      border-radius: 15px;
    }

    .tour-builder__summary {
      padding: 11px 12px;
    }

    .tour-builder__summary-head {
      align-items: end;
      margin-bottom: 7px;
    }

    .tour-builder__summary-head button {
      flex: 0 0 auto;
    }

    .tour-builder__selection-strip {
      max-width: 100%;
    }

    .tour-builder__note {
      align-content: start;
      grid-template-rows: auto minmax(53px, 1fr);
    }

    .tour-builder__note textarea {
      min-width: 0;
      min-height: 54px;
      height: 100%;
      resize: none;
    }

    .tour-builder__submit-wrap {
      min-width: 0;
      align-content: stretch;
    }

    .tour-builder__submit {
      width: 100%;
      min-width: 0;
      min-height: 63px;
    }

    .tour-builder__message:empty {
      display: none;
    }

    @media (max-width: 1120px) {
      .tour-builder__header {
        grid-template-columns: minmax(0, 1fr);
      }

      .tour-builder__steps {
        width: fit-content;
      }

      .tour-builder__field--name,
      .tour-builder__field--contact {
        grid-column: span 4;
      }

      .tour-builder__field--date,
      .tour-builder__field--car {
        grid-column: span 3;
      }

      .tour-builder__field--guests {
        grid-column: span 2;
      }

      .tour-builder__bottom {
        grid-template-columns: minmax(0, 1fr) minmax(240px, .65fr);
      }

      .tour-builder__summary {
        grid-column: 1 / -1;
      }
    }

    @media (max-width: 820px) {
      .tour-builder {
        padding: 19px;
      }

      .tour-builder__header h2 {
        font-size: clamp(2.45rem, 8vw, 3.75rem);
      }

      .tour-builder__steps {
        width: 100%;
      }

      .tour-builder__fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .tour-builder__field--name,
      .tour-builder__field--contact,
      .tour-builder__field--car {
        grid-column: 1 / -1;
      }

      .tour-builder__field--date,
      .tour-builder__field--guests {
        grid-column: auto;
      }

      .tour-builder__selector-head {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
      }

      .tour-builder__selector-actions {
        justify-content: space-between;
      }

      .tour-builder__tabs {
        flex: 1 1 auto;
      }

      .tour-builder__options {
        grid-auto-columns: 43%;
      }

      .tour-builder__bottom {
        grid-template-columns: minmax(0, 1fr) minmax(220px, .78fr);
      }

      .tour-builder__summary {
        grid-column: 1 / -1;
      }
    }

    @media (max-width: 560px) {
      .tour-builder {
        padding: 14px;
        border-radius: 21px;
      }

      .tour-builder__header h2 {
        font-size: clamp(2.25rem, 12vw, 3.15rem);
      }

      .tour-builder__essentials,
      .tour-builder__selector {
        padding: 11px;
        border-radius: 18px;
      }

      .tour-builder__panel-head {
        align-items: start;
      }

      .tour-builder__required-note {
        padding: 5px 8px;
        font-size: .49rem;
      }

      .tour-builder__fields {
        gap: 8px;
      }

      .tour-builder__guide {
        grid-template-columns: 36px minmax(0, 1fr) 26px;
      }

      .tour-builder__guide-pill {
        display: none;
      }

      .tour-builder__selector-actions {
        align-items: stretch;
        flex-direction: column;
      }

      .tour-builder__selected-count {
        align-self: flex-start;
        min-height: 29px;
      }

      .tour-builder__tabs {
        width: 100%;
      }

      .tour-builder__options {
        grid-auto-columns: 80%;
      }

      .tour-builder__choice {
        height: 135px;
      }

      .tour-builder__bottom {
        grid-template-columns: minmax(0, 1fr);
      }

      .tour-builder__summary {
        grid-column: auto;
      }

      .tour-builder__note {
        min-height: 94px;
      }

      .tour-builder__submit {
        min-height: 58px;
      }
    }


    /* Keep the fixed page helper from covering the builder controls. */
    .scroll-helper.is-builder-hidden {
      opacity: 0;
      pointer-events: none;
      transform: translateY(12px) scale(.92);
    }


    /* =========================================================
       TRANSFER-INSPIRED PROVINCE PAGE REFINEMENT
       Section placement and functionality remain unchanged.
       ========================================================= */

    :root {
      --gdd-charcoal: #161d23;
      --gdd-charcoal-soft: #242b31;
      --gdd-stage-line: rgba(227, 103, 51, .14);
      --gdd-stage-grid: rgba(227, 103, 51, .045);
    }

    body {
      background:
        radial-gradient(circle at var(--section-x, 12%) var(--section-y, 10%), rgba(227,103,51,.075), transparent 27rem),
        linear-gradient(180deg, #fff 0%, #fffaf7 100%);
    }

    .section-heading h2,
    .tour-builder__header h2 {
      font-size: clamp(2rem, 3.8vw, 3.55rem);
      line-height: .95;
    }

    .discover-section,
    .experiences-section,
    .partners-section,
    .tour-builder-section {
      position: relative;
      overflow: clip;
      isolation: isolate;
    }

    .discover-section::before,
    .partners-section::before,
    .tour-builder-section::before {
      content: "";
      position: absolute;
      z-index: -1;
      inset: 0;
      pointer-events: none;
      opacity: .72;
      background:
        linear-gradient(var(--gdd-stage-grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--gdd-stage-grid) 1px, transparent 1px),
        radial-gradient(
          circle at var(--section-x, 82%) var(--section-y, 18%),
          rgba(227,103,51,.12),
          transparent 18rem
        );
      background-size: 48px 48px, 48px 48px, auto;
      mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
    }

    .discover-section::after,
    .partners-section::after,
    .tour-builder-section::after {
      content: "";
      position: absolute;
      z-index: -1;
      right: -90px;
      bottom: -120px;
      width: 290px;
      height: 290px;
      border: 1px solid rgba(227,103,51,.13);
      border-radius: 50%;
      box-shadow:
        0 0 0 34px rgba(227,103,51,.025),
        0 0 0 70px rgba(227,103,51,.014);
      pointer-events: none;
      transition: transform 1.2s var(--ease-luxury);
    }

    .discover-section.is-visible::after,
    .partners-section.is-visible::after,
    .tour-builder-section.is-visible::after {
      transform: translate(-22px, -16px) rotate(18deg);
    }

    .discover-section {
      padding-top: 72px;
      border-top: 1px solid rgba(227,103,51,.10);
    }

    .partners-section {
      border-block: 1px solid rgba(227,103,51,.11);
      background:
        radial-gradient(circle at 90% 12%, rgba(227,103,51,.13), transparent 23rem),
        linear-gradient(180deg, #fff7f2 0%, #fff 100%);
    }

    .partner-section-heading {
      padding: 19px 20px;
      border: 1px solid rgba(227,103,51,.13);
      background: rgba(255,255,255,.84);
      box-shadow: 0 18px 42px rgba(17,24,39,.07);
      backdrop-filter: blur(16px);
    }

    .section-heading__eyebrow,
    .tour-builder__eyebrow {
      font-size: .64rem;
      letter-spacing: .13em;
    }

    .place-card,
    .partner-card,
    .experience-card,
    .tour-builder,
    .tour-builder__essentials,
    .tour-builder__selector {
      border-radius: 18px;
    }

    .place-card {
      border-color: rgba(227,103,51,.12);
      box-shadow: 0 17px 38px rgba(17,24,39,.075);
    }

    .place-card::before {
      content: "";
      position: absolute;
      z-index: 3;
      top: 0;
      right: 0;
      left: 0;
      height: 3px;
      opacity: 0;
      background: linear-gradient(90deg, var(--gdd-orange-bright), var(--gdd-orange));
      transform: scaleX(.25);
      transform-origin: left;
      transition:
        opacity .25s ease,
        transform .5s var(--ease-luxury);
    }

    .place-card:hover::before {
      opacity: 1;
      transform: scaleX(1);
    }

    .place-card__image-wrap {
      height: 230px;
    }

    .place-card__body {
      padding: 15px 16px 16px;
    }

    .place-card__button {
      border-radius: 12px;
      box-shadow: 0 12px 24px rgba(227,103,51,.18);
    }

    .partner-carousel__track {
      gap: 14px;
      padding-bottom: 18px;
    }

    .partner-card {
      min-height: 340px;
      border: 1px solid rgba(255,255,255,.15);
      border-radius: 16px;
      background: var(--gdd-charcoal);
      box-shadow: 0 22px 48px rgba(17,24,39,.16);
    }

    .partner-card::before {
      content: "";
      position: absolute;
      z-index: 2;
      right: -70px;
      bottom: -82px;
      width: 165px;
      height: 165px;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 50%;
      box-shadow:
        0 0 0 28px rgba(255,255,255,.025),
        0 0 0 58px rgba(227,103,51,.03);
      pointer-events: none;
      transition: transform .55s var(--ease-luxury);
    }

    .partner-card:hover::before,
    .partner-card:focus-visible::before {
      transform: translate(-16px, -13px) scale(1.08);
    }

    .partner-card::after {
      z-index: 1;
      background:
        linear-gradient(180deg, rgba(15,18,22,.03) 27%, rgba(15,18,22,.88)),
        linear-gradient(110deg, transparent 55%, rgba(227,103,51,.17));
    }

    .partner-card__badge {
      top: 13px;
      left: 13px;
      border: 1px solid rgba(255,255,255,.46);
      border-radius: 999px;
      color: #fff;
      background: rgba(227,103,51,.78);
      box-shadow: 0 10px 25px rgba(110,37,12,.20);
    }

    .partner-card__request-label {
      position: absolute;
      z-index: 4;
      top: 14px;
      right: 14px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      min-height: 29px;
      padding: 0 9px;
      border: 1px solid rgba(255,255,255,.20);
      border-radius: 999px;
      color: rgba(255,255,255,.82);
      background: rgba(13,18,23,.35);
      backdrop-filter: blur(11px);
      font-size: .52rem;
      font-weight: 850;
      letter-spacing: .05em;
      text-transform: uppercase;
    }

    .partner-card__request-label svg {
      width: 12px;
      height: 12px;
      fill: none;
      stroke: #ff9d72;
      stroke-width: 2;
    }

    .partner-card__copy {
      z-index: 4;
      right: 17px;
      bottom: 17px;
      left: 17px;
    }

    .partner-card__copy h3 {
      max-width: 270px;
      font-size: 1.34rem;
    }

    .partner-card__meta {
      align-items: flex-start;
      flex-direction: column;
      gap: 5px;
      margin-top: 8px;
      font-size: .66rem;
    }

    .partner-card__availability {
      color: #ffb08b;
      font-weight: 850;
    }

    .partner-card__details {
      min-height: 40px;
      margin-top: 13px;
      border-radius: 11px;
      box-shadow: 0 12px 24px rgba(159,52,15,.24);
    }

    .partner-tabs {
      border-radius: 14px;
    }

    .partner-tab {
      border-radius: 10px;
    }

    .experience-stage {
      border-radius: 20px;
      border-color: rgba(255,255,255,.24);
      box-shadow:
        0 28px 68px rgba(45,14,5,.23),
        inset 0 1px rgba(255,255,255,.10);
    }

    .experience-feature {
      border-radius: 16px;
    }

    .experience-card {
      border-radius: 14px;
    }

    .tour-builder {
      border-color: rgba(227,103,51,.18);
      box-shadow: 0 25px 68px rgba(17,24,39,.10);
    }

    .tour-builder__essentials,
    .tour-builder__selector,
    .tour-builder__summary,
    .tour-builder__note,
    .tour-builder__submit-wrap {
      border-radius: 14px;
    }

    .info-modal__backdrop {
      background: rgba(9,14,18,.68);
      backdrop-filter: blur(15px) saturate(.82);
    }

    .info-modal__panel {
      width: min(950px, 100%);
      border: 1px solid rgba(255,255,255,.76);
      border-radius: 22px;
      background:
        linear-gradient(180deg, #fff 0%, #fffaf7 100%);
      box-shadow: 0 42px 120px rgba(7,12,16,.42);
    }

    .info-modal__hero {
      min-height: 325px;
      border-radius: 22px 22px 0 0;
    }

    .info-modal__hero::before {
      content: "";
      position: absolute;
      z-index: 2;
      top: 0;
      right: 0;
      left: 0;
      height: 4px;
      background: linear-gradient(90deg, #ff9567, var(--gdd-orange), #9e3514);
    }

    .info-modal__hero::after {
      background:
        linear-gradient(180deg, rgba(8,13,18,.04), rgba(8,13,18,.82)),
        linear-gradient(90deg, rgba(8,13,18,.35), transparent 65%);
    }

    .info-modal__title {
      max-width: 760px;
      font-size: clamp(2.15rem, 4.6vw, 4rem);
    }

    .info-modal__body {
      padding: 25px 30px 22px;
    }

    .partner-arrangement-note {
      display: grid;
      grid-template-columns: 48px minmax(0,1fr);
      gap: 14px;
      align-items: start;
      margin: 0 30px 24px;
      padding: 16px 17px;
      border: 1px solid rgba(227,103,51,.16);
      border-radius: 15px;
      background:
        radial-gradient(circle at 100% 0%, rgba(227,103,51,.11), transparent 10rem),
        linear-gradient(145deg, #fff, #fff5ee);
    }

    .partner-arrangement-note__icon {
      display: grid;
      place-items: center;
      width: 48px;
      height: 48px;
      border-radius: 13px;
      color: #fff;
      background: linear-gradient(145deg, #f18455, #bd481f);
      box-shadow: 0 12px 25px rgba(171,57,18,.21);
    }

    .partner-arrangement-note__icon svg {
      width: 23px;
      height: 23px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .partner-arrangement-note__eyebrow,
    .partner-arrangement-note strong,
    .partner-arrangement-note p {
      display: block;
    }

    .partner-arrangement-note__eyebrow {
      margin-bottom: 4px;
      color: var(--gdd-orange);
      font-size: .56rem;
      font-weight: 900;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .partner-arrangement-note strong {
      font-size: .88rem;
      line-height: 1.25;
      font-weight: 900;
    }

    .partner-arrangement-note p {
      margin: 6px 0 0;
      color: var(--gdd-muted);
      font-size: .68rem;
      line-height: 1.55;
    }

    .hotel-gallery,
    .restaurant-gallery,
    .place-detail,
    .service-detail {
      border-top-color: rgba(227,103,51,.15);
    }

    .hotel-gallery__viewer,
    .restaurant-gallery__viewer,
    .place-detail__viewer,
    .service-detail__viewer {
      border-radius: 17px;
      box-shadow: 0 19px 42px rgba(17,24,39,.10);
    }

    .hotel-gallery__thumb,
    .restaurant-gallery__thumb,
    .place-detail__thumb,
    .service-detail__thumb {
      border-radius: 9px;
    }

    .reveal {
      opacity: 0;
      filter: blur(3px);
      transform: translateY(30px) scale(.992);
      transition:
        opacity .72s ease,
        filter .72s ease,
        transform .92s var(--ease-luxury);
    }

    .reveal.is-visible {
      opacity: 1;
      filter: none;
      transform: none;
    }

    .place-grid .place-card,
    .partner-carousel__track .partner-card,
    .experience-grid .experience-card {
      opacity: 0;
      transform: translateY(22px);
      transition:
        opacity .52s ease,
        transform .68s var(--ease-luxury),
        box-shadow .3s ease,
        border-color .22s ease;
      transition-delay: calc(var(--render-order, 0) * 55ms);
    }

    .place-grid.is-rendered .place-card,
    .partner-carousel__track.is-rendered .partner-card,
    .experience-grid.is-rendered .experience-card {
      opacity: 1;
      transform: none;
    }

    .place-grid.is-rendered .place-card:hover,
    .partner-carousel__track.is-rendered .partner-card:hover,
    .experience-grid.is-rendered .experience-card:hover {
      transform: translateY(-7px);
    }

    @media (max-width: 820px) {
      .partner-section-heading {
        padding: 16px;
      }

      .partner-card__request-label {
        font-size: .48rem;
      }

      .info-modal__body {
        padding-inline: 22px;
      }

      .partner-arrangement-note {
        margin-inline: 22px;
      }
    }

    @media (max-width: 560px) {
      .discover-section {
        padding-top: 52px;
      }

      .section-heading h2,
      .tour-builder__header h2 {
        font-size: clamp(1.9rem, 9vw, 2.65rem);
      }

      .partner-section-heading {
        border-radius: 15px;
      }

      .partner-card {
        min-height: 305px;
      }

      .partner-card__request-label {
        top: 12px;
        right: 12px;
        max-width: 135px;
      }

      .partner-card__copy h3 {
        font-size: 1.18rem;
      }

      .partner-card__details {
        font-size: .63rem;
      }

      .info-modal__panel {
        border-radius: 17px;
      }

      .info-modal__hero {
        min-height: 285px;
        border-radius: 17px 17px 0 0;
      }

      .info-modal__title {
        font-size: 2.25rem;
      }

      .partner-arrangement-note {
        grid-template-columns: 40px minmax(0,1fr);
        gap: 11px;
        margin: 0 17px 19px;
        padding: 13px;
      }

      .partner-arrangement-note__icon {
        width: 40px;
        height: 40px;
        border-radius: 11px;
      }

      .partner-arrangement-note__icon svg {
        width: 20px;
        height: 20px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .place-grid .place-card,
      .partner-carousel__track .partner-card,
      .experience-grid .experience-card {
        opacity: 1;
        transform: none;
      }
    }



/* =========================================================
   Lightweight rendering safeguards
   ========================================================= */
@supports (content-visibility: auto) {
  .discover-section,
  .partners-section,
  .tour-builder-section {
    content-visibility: auto;
    contain-intrinsic-size: 1px 900px;
  }
}

.place-card__image,
.partner-card__image,
.tour-builder__choice-image,
.restaurant-gallery__thumb img,
.hotel-gallery__thumb img,
.place-detail__thumb img,
.service-detail__thumb img {
  content-visibility: auto;
}


/* ==============================================================
   Laravel backend states
   ============================================================== */
.tour-builder__honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.tour-builder__message.is-error {
  color: #a33114;
}

.tour-builder__message.is-loading {
  color: #6b7280;
}

.tour-builder__submit:disabled,
.tour-builder__submit.is-loading {
  cursor: wait;
  opacity: .72;
  pointer-events: none;
}

.province-backend-alert {
  width: min(1180px, calc(100% - 32px));
  margin: 22px auto 0;
  padding: 16px 18px;
  border: 1px solid rgba(227, 103, 51, .2);
  border-radius: 18px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 50px rgba(43, 25, 17, .08);
  font-size: .92rem;
  line-height: 1.6;
}

.province-backend-alert--success {
  border-color: rgba(22, 163, 74, .22);
}

.province-backend-alert--error {
  border-color: rgba(185, 28, 28, .2);
}

.province-backend-alert ul {
  margin: 8px 0 0 18px;
  padding: 0;
}

.page-shell[data-locale="ka"] .province-hero__title,
.page-shell[data-locale="ka"] .section-heading h2,
.page-shell[data-locale="ka"] .experience-grand-header h2,
.page-shell[data-locale="ka"] .tour-builder__header h2,
.page-shell[data-locale="ka"] .info-modal__title {
  font-family: "FiraGO", "Noto Sans Georgian", "DM Sans", sans-serif;
  letter-spacing: -0.035em;
}

/* =========================================================
   PROVINCE TOUR REQUEST SUCCESS MODAL
   Native dialog is rendered in the browser top layer.
   ========================================================= */

.tour-request-success-modal {
  width: min(760px, calc(100vw - 28px));
  max-width: none;
  max-height: calc(100dvh - 28px);
  margin: auto;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  color: var(--gdd-ink);
}

.tour-request-success-modal::backdrop {
  background: rgba(13, 15, 18, 0.72);
}

.tour-request-success-modal__card {
  position: relative;
  overflow: auto;
  max-height: calc(100dvh - 28px);
  padding: clamp(34px, 5vw, 58px);
  border: 1px solid rgba(227, 103, 51, 0.16);
  border-radius: 34px;
  background:
    radial-gradient(circle at 88% 8%, rgba(227, 103, 51, 0.13), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #fffaf7 100%);
  box-shadow: 0 32px 100px rgba(0, 0, 0, 0.28);
  transform: translateY(14px) scale(0.985);
  opacity: 0;
}

.tour-request-success-modal[open] .tour-request-success-modal__card {
  animation: tour-request-success-in 420ms var(--ease-luxury) forwards;
}

.tour-request-success-modal__close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(21, 25, 31, 0.09);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: var(--gdd-ink);
  cursor: pointer;
  transition: transform 180ms ease, border-color 180ms ease;
}

.tour-request-success-modal__close:hover {
  transform: rotate(5deg) scale(1.04);
  border-color: rgba(227, 103, 51, 0.42);
}

.tour-request-success-modal__close svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
}

.tour-request-success-modal__icon {
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  margin-bottom: 24px;
  border-radius: 24px;
  background: var(--gdd-orange);
  box-shadow: 0 18px 38px rgba(227, 103, 51, 0.24);
}

.tour-request-success-modal__icon svg {
  width: 42px;
  height: 42px;
  fill: none;
  stroke: #fff;
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tour-request-success-modal__eyebrow {
  display: inline-flex;
  margin-bottom: 12px;
  color: var(--gdd-orange-deep);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.tour-request-success-modal h2 {
  max-width: 650px;
  margin: 0;
  font-size: clamp(2rem, 5vw, 3.8rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.tour-request-success-modal__lead {
  max-width: 650px;
  margin: 20px 0 0;
  color: var(--gdd-muted);
  font-size: 1rem;
  line-height: 1.72;
}

.tour-request-success-modal__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}

.tour-request-success-modal__details > div {
  min-width: 0;
  padding: 16px 18px;
  border: 1px solid rgba(21, 25, 31, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.74);
}

.tour-request-success-modal__details span {
  display: block;
  margin-bottom: 6px;
  color: #8b929b;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tour-request-success-modal__details strong {
  display: block;
  overflow-wrap: anywhere;
  font-size: 0.94rem;
  line-height: 1.45;
}

.tour-request-success-modal__email-status {
  margin: 12px 2px 0;
  color: #58606a;
  font-size: 0.82rem;
  line-height: 1.55;
}

.tour-request-success-modal__notice {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 13px;
  align-items: start;
  margin-top: 24px;
  padding: 16px 18px;
  border-radius: 18px;
  background: #fff1e9;
  color: #5d2c17;
}

.tour-request-success-modal__notice > svg {
  width: 22px;
  height: 22px;
  margin-top: 1px;
  fill: none;
  stroke: var(--gdd-orange-deep);
  stroke-width: 1.8;
  stroke-linecap: round;
}

.tour-request-success-modal__notice p {
  margin: 0;
}

.tour-request-success-modal__notice strong,
.tour-request-success-modal__notice span {
  display: block;
}

.tour-request-success-modal__notice strong {
  font-size: 0.86rem;
}

.tour-request-success-modal__notice span {
  margin-top: 3px;
  font-size: 0.78rem;
  line-height: 1.55;
  color: #7a4c36;
}

.tour-request-success-modal__next {
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid rgba(21, 25, 31, 0.08);
}

.tour-request-success-modal__next > span {
  color: var(--gdd-orange-deep);
  font-size: 0.69rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tour-request-success-modal__next ol {
  display: grid;
  gap: 9px;
  margin: 13px 0 0;
  padding-left: 21px;
  color: #4f5660;
  font-size: 0.84rem;
  line-height: 1.55;
}

.tour-request-success-modal__done {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-width: 170px;
  margin-top: 28px;
  padding: 15px 22px;
  border: 0;
  border-radius: 16px;
  background: var(--gdd-orange);
  color: #fff;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 14px 30px rgba(227, 103, 51, 0.22);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.tour-request-success-modal__done:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(227, 103, 51, 0.28);
}

.tour-request-success-modal__done svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@keyframes tour-request-success-in {
  to {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}

@media (max-width: 640px) {
  .tour-request-success-modal {
    width: calc(100vw - 14px);
    max-height: calc(100dvh - 14px);
  }

  .tour-request-success-modal__card {
    max-height: calc(100dvh - 14px);
    padding: 32px 20px 24px;
    border-radius: 26px;
  }

  .tour-request-success-modal__close {
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
  }

  .tour-request-success-modal__icon {
    width: 64px;
    height: 64px;
    border-radius: 20px;
  }

  .tour-request-success-modal h2 {
    padding-right: 16px;
    font-size: clamp(2rem, 10vw, 3rem);
  }

  .tour-request-success-modal__details {
    grid-template-columns: 1fr;
  }

  .tour-request-success-modal__done {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tour-request-success-modal[open] .tour-request-success-modal__card {
    animation: none;
    transform: none;
    opacity: 1;
  }

  .tour-request-success-modal__close,
  .tour-request-success-modal__done {
    transition: none;
  }
}

