/* TravelBugs Travel Gallery */
.travel-gallery-page {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background:
    radial-gradient(circle at 10% 10%, rgba(201,150,62,.16), transparent 22rem),
    radial-gradient(circle at 90% 30%, rgba(25,91,112,.10), transparent 26rem),
    linear-gradient(180deg, #fffaf0 0%, #f7efe0 48%, #fffaf2 100%);
  overflow-x: hidden;
}

    :root {
      --ink: #191813;
      --muted: #756f64;
      --paper: #fbf6ea;
      --paper2: #f5ead7;
      --gold: #c9963e;
      --green: #4c7b49;
      --blue: #195b70;
      --rose: #c15a7b;
      --dark: #0c1110;
      --glass: rgba(255,255,255,.12);
      --line: rgba(36, 31, 23, .12);
      --shadow: 0 24px 70px rgba(37, 24, 8, .18);
      --ease: cubic-bezier(.2,.8,.2,1);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    

    img, video { max-width: 100%; display: block; }
    button, a { font: inherit; }
    button { cursor: pointer; }

    .noise {
      pointer-events: none;
      position: fixed;
      inset: 0;
      z-index: 100;
      opacity: .055;
      mix-blend-mode: multiply;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
    }

        .tg-hero {
      min-height: 720px;
      color: #fff;
      position: relative;
      display: grid;
      place-items: center;
      overflow: hidden;
      background: #09110f;
    }
    .tg-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(90deg, rgba(7,11,10,.78) 0%, rgba(7,11,10,.52) 36%, rgba(7,11,10,.16) 72%),
        linear-gradient(0deg, rgba(5,7,6,.62), transparent 42%),
        url('https://images.unsplash.com/photo-1501785888041-af3ef285b470?auto=format&fit=crop&w=2200&q=85');
      background-size: cover;
      background-position: center;
      transform: scale(1.04) translateY(var(--heroY, 0px));
      filter: saturate(.88) contrast(1.04);
    }
    .tg-hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 72% 40%, transparent 0 12rem, rgba(6,9,8,.18) 25rem), linear-gradient(180deg, transparent 70%, #fffaf0 100%);
    }
    .tg-hero-inner {
      width: min(1180px, calc(100% - 64px));
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: 1fr;
      gap: 40px;
      align-items: center;
      padding-top: 28px;
    }
    .script {
      font-family: Caveat, cursive;
      color: #ffc95e;
      font-size: clamp(28px, 4vw, 46px);
      line-height: .9;
      margin-bottom: 14px;
      transform: rotate(-2deg);
    }
    .tg-hero h1 {
      margin: 0;
      font-family: Playfair Display, serif;
      font-size: clamp(54px, 8vw, 94px);
      line-height: .86;
      letter-spacing: -.05em;
      max-width: 740px;
    }
    .tg-hero p {
      max-width: 460px;
      color: rgba(255,255,255,.84);
      line-height: 1.7;
      margin: 24px 0 32px;
      font-size: 17px;
    }
    .tg-hero-actions { display: flex; gap: 22px; align-items: center; flex-wrap: wrap; }
    .watch {
      display: inline-flex;
      align-items: center;
      gap: 14px;
      color: #fff;
      border: 0;
      background: transparent;
      padding: 0;
      text-align: left;
      font-weight: 700;
      cursor: pointer;
    }
    .play-ring {
      width: 58px;
      height: 58px;
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,.78);
      display: grid;
      place-items: center;
      background: rgba(255,255,255,.08);
      backdrop-filter: blur(8px);
      transition: transform .25s var(--ease), background .25s var(--ease);
    }
    .watch:hover .play-ring { transform: scale(1.08); background: rgba(255,255,255,.18); }
    .play-ring span { margin-left: 3px; }
    .watch small { display:block; font-weight:500; color: rgba(255,255,255,.72); margin-top: 3px; }
    .tg-hero-card {
      justify-self: end;
      width: min(380px, 100%);
      padding: 22px;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 28px;
      background: rgba(11, 18, 17, .48);
      backdrop-filter: blur(20px);
      box-shadow: 0 24px 80px rgba(0,0,0,.28);
      transform: translateY(28px);
    }
    .traveler-stack { display: flex; align-items: center; gap: 12px; }
    .avatars { display: flex; }
    .avatars img {
      width: 42px; height: 42px; object-fit: cover; border-radius: 50%;
      border: 2px solid rgba(255,255,255,.88); margin-left: -10px;
    }
    .avatars img:first-child { margin-left: 0; }
    .rating { font-size: 17px; font-weight: 800; }
    .stars { color: #ffcc4b; letter-spacing: .1em; font-size: 13px; }
    .hero-card .line { height:1px; background:rgba(255,255,255,.16); margin: 20px -22px; }
    .stat-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
    .stat strong { display:block; font-size:25px; }
    .stat span { color: rgba(255,255,255,.7); font-size:12px; }
    .scroll-cue {
      position: absolute;
      left: 50%; bottom: 18px;
      transform: translateX(-50%);
      z-index: 5;
      color: rgba(255,255,255,.74);
      display:flex; flex-direction:column; align-items:center; gap: 9px;
      font-size: 12px;
    }
    .mouse { width: 22px; height: 34px; border: 1px solid currentColor; border-radius: 99px; position: relative; }
    .mouse::after { content:""; position:absolute; top:7px; left:50%; width:3px; height:7px; background: currentColor; border-radius:99px; transform:translateX(-50%); animation: wheel 1.6s infinite; }
    @keyframes wheel { 0%{opacity:0; transform:translate(-50%,0)} 40%{opacity:1} 100%{opacity:0; transform:translate(-50%,10px)} }

    .journey {
      display: grid;
      grid-template-columns: 180px minmax(0, 1fr);
      min-height: 100vh;
      border-top: 1px solid rgba(255,255,255,.35);
    }
    .rail {
      top: var(--cin-header-h);
      height: calc(100vh - var(--cin-header-h));
      position: sticky;
      top: 0;
      height: 100vh;
      align-self: start;
      padding: calc(var(--cin-header-h) + 28px) 22px 28px;
      border-right: 1px solid var(--line);
      background: rgba(255,250,239,.74);
      backdrop-filter: blur(14px);
      z-index: 7;
    }
    .rail-title { font-size: 12px; font-weight: 800; display:flex; gap:9px; align-items:center; margin-bottom:30px; }
    .route-line {
      position: absolute;
      left: 76px; top: 150px; bottom: 84px; width: 1px;
      background-image: linear-gradient(to bottom, rgba(104,91,70,.34) 50%, transparent 0);
      background-size: 1px 16px;
    }
    .nav-dest {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: 36px 1fr;
      gap: 12px;
      align-items: center;
      min-height: 116px;
      color: var(--muted);
      cursor: pointer;
      text-decoration: none;
      transition: color .25s var(--ease), transform .25s var(--ease);
    }
    .nav-dest:hover { color: var(--ink); transform: translateX(4px); }
    .nav-dest .sketch {
      font-size: 28px;
      line-height: 1;
      filter: none;
      font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", emoji, sans-serif;
      font-style: normal;
      opacity: 1;
    }
    .nav-dest.active { color: var(--ink); }
    .nav-dest.active::before {
      content:"";
      position:absolute;
      inset: 13px -12px 13px -13px;
      border:1px solid rgba(201,150,62,.56);
      border-radius: 22px;
      background: rgba(255,255,255,.35);
      z-index:-1;
    }
    .nav-dest small { display:block; color: inherit; font-weight: 800; font-size: 11px; opacity:.65; }
    .nav-dest strong { display:block; font-family: Playfair Display, serif; font-size: 18px; line-height: 1.1; color: inherit; margin:3px 0; }
    .nav-dest span:last-child { font-size: 12px; }
    .more { position: absolute; bottom: 24px; left: 22px; right: 22px; display:flex; justify-content:space-between; align-items:center; font-size:12px; font-weight:700; }
    .down { width: 34px; height: 34px; border-radius:50%; border:1px solid var(--line); display:grid; place-items:center; }

    .content { padding: 0; }
    .dest {
      position: relative;
      min-height: 390px;
      display: grid;
      grid-template-columns: .92fr 1.35fr;
      border-bottom: 1px solid var(--line);
      overflow: hidden;
      isolation: isolate;
    }
    .dest:nth-child(even) { grid-template-columns: 1.35fr .92fr; }
    .dest::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(110deg, var(--tint), rgba(255,255,255,.05));
      z-index: -1;
    }
    .dest-info {
      padding: 58px min(5vw, 76px);
      display:flex;
      flex-direction:column;
      justify-content:center;
      position:relative;
    }
    .dest:nth-child(even) .dest-info { order: 2; }
    .stamp {
      font-family: Caveat, cursive;
      width: 120px;
      height: 72px;
      display:grid;
      place-items:center;
      border: 2px solid currentColor;
      border-radius: 13px;
      color: var(--accent);
      transform: rotate(-8deg);
      opacity: .52;
      margin-bottom: 14px;
      font-size: 21px;
      line-height: .82;
      text-align:center;
      text-transform: uppercase;
    }
    .num { color: var(--accent); font-weight:800; font-size: 14px; letter-spacing:.06em; }
    .dest h2 {
      font-family: Playfair Display, serif;
      margin: 8px 0 6px;
      font-size: clamp(32px, 4vw, 52px);
      line-height: .96;
      letter-spacing: -.04em;
    }
    .subtitle { font-family: Caveat, cursive; font-size: 29px; color: var(--accent); transform: rotate(-1deg); margin-bottom: 18px; }
    .copy { color: #514b42; line-height: 1.65; max-width: 350px; font-size: 15px; }
    .chips { display:flex; gap:8px; flex-wrap:wrap; margin: 18px 0 18px; }
    .chip { border: 1px solid color-mix(in srgb, var(--accent), transparent 55%); background: rgba(255,255,255,.34); color: color-mix(in srgb, var(--accent), #121212 18%); padding: 6px 10px; border-radius: 9px; font-size: 11px; font-weight: 700; }
    .byline { display:flex; align-items:center; gap:12px; color: #5d554a; font-size:12px; }
    .byline .avatars img { width:28px; height:28px; }
    .media-collage {
      position: relative;
      height: clamp(360px, 38vw, 440px);
      min-height: 360px;
      max-height: 440px;
      display:grid;
      grid-template-columns: 1.2fr .72fr;
      gap: 12px;
      padding: 40px 72px 40px 0;
      align-items: stretch;
      overflow: hidden;
    }
    .dest:nth-child(even) .media-collage { padding: 40px 0 40px 72px; order:1; }
    .main-media, .side-media {
      position:relative;
      border-radius: 18px;
      overflow:hidden;
      box-shadow: var(--shadow);
      background: #ddd;
      transform: translateZ(0);
      min-height: 0;
      height: 100%;
    }
    .main-media--video {
      position: relative;
      height: 100%;
      min-height: 0;
      overflow: hidden;
    }
    .side-grid { display:grid; gap:12px; grid-template-rows:1fr 1fr; height: 100%; min-height: 0; overflow: hidden; }
    .side-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; min-height: 0; overflow: hidden; }
    .main-media img, .side-media img {
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
      transition: transform .8s var(--ease), filter .6s var(--ease);
    }
    .main-media--video > video {
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      max-width:none;
      max-height:none;
      object-fit:cover;
      display:block;
    }
    .main-media:hover img, .side-media:hover img,
    .main-media--video:hover > video { transform: scale(1.07); filter: saturate(1.08); }
    .main-media.is-playing:hover > video { transform: none; }
    .main-media.is-playing .play-float,
    .video-card.is-playing .play-float { opacity: 0; pointer-events: none; }
    .main-media.is-playing video,
    .video-card.is-playing video { filter: none; }
    .play-float {
      position:absolute;
      left:50%; top:50%; transform: translate(-50%,-50%);
      width:66px; height:66px; border-radius:50%; border:0;
      background: rgba(255,255,255,.92);
      color:#161512;
      display:grid; place-items:center;
      box-shadow: 0 14px 40px rgba(0,0,0,.22);
      transition: transform .3s var(--ease), background .3s var(--ease);
    }
    .play-float:hover { transform: translate(-50%,-50%) scale(1.08); background:#fff; }
    .open-arrow {
      position:absolute;
      right: 26px;
      top: 50%;
      transform: translateY(-50%);
      z-index: 3;
      width:64px; height:64px; border-radius:50%; border:0;
      color:#fff;
      background: var(--accent);
      box-shadow: 0 16px 42px color-mix(in srgb, var(--accent), transparent 55%);
      display:grid; place-items:center;
      font-size: 28px;
      transition: transform .3s var(--ease), box-shadow .3s var(--ease);
    }
    .dest:nth-child(even) .open-arrow { right:auto; left:26px; }
    .open-arrow:hover { transform: translateY(-50%) scale(1.09) rotate(-5deg); box-shadow: 0 22px 56px color-mix(in srgb, var(--accent), transparent 42%); }
    .open-arrow .hint {
      position:absolute;
      white-space:nowrap;
      right:76px;
      top:50%;
      transform: translateY(-50%) translateX(8px);
      background:#111;
      color:#fff;
      padding:9px 12px;
      border-radius:999px;
      font-size:12px;
      opacity:0;
      pointer-events:none;
      transition: opacity .25s, transform .25s;
    }
    .dest:nth-child(even) .open-arrow .hint { right:auto; left:76px; }
    .open-arrow:hover .hint { opacity:1; transform: translateY(-50%) translateX(0); }

    .final-cta {
      min-height: 300px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 32px;
      padding: 58px min(7vw, 98px);
      background: linear-gradient(90deg, #fff7ea, #f8ead5);
    }
    .final-cta .script { color: var(--gold); margin:0 0 8px; font-size: 28px; }
    .final-cta h2 { font-family:Playfair Display, serif; font-size: clamp(34px, 5vw, 64px); margin:0; letter-spacing:-.04em; line-height:.95; }
    .pill-btn { border:1px solid var(--line); background:#fff; border-radius:999px; padding: 14px 22px; font-weight:800; color:var(--ink); display:inline-flex; gap:12px; align-items:center; box-shadow:0 10px 30px rgba(0,0,0,.06); }
    .trust-row { display:flex; gap:34px; flex-wrap:wrap; margin-top: 28px; color:var(--muted); font-size:12px; }
    .trust-row strong { display:block; color:var(--ink); font-size:14px; margin-bottom:3px; }

    .reveal { opacity: 0; transform: translateY(34px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
    .reveal.in { opacity: 1; transform: translateY(0); }

    .overlay {
      position: fixed;
      inset: 0;
      z-index: 300;
      background: rgba(3, 5, 5, 0.78);
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .overlay.open { opacity: 1; pointer-events: auto; }
    .panel {
      position: absolute;
      inset: 18px 18px 18px max(18px, 20vw);
      background: #101413;
      color: #fff;
      border: 1px solid rgba(255, 255, 255, 0.13);
      border-radius: 30px;
      overflow: hidden;
      box-shadow: 0 40px 120px rgba(0, 0, 0, 0.5);
      transform: translate3d(56px, 0, 0);
      opacity: 1;
      transition: transform 0.62s cubic-bezier(0.22, 1, 0.36, 1);
      display: grid;
      grid-template-rows: 410px minmax(0, 1fr) 76px;
      backface-visibility: hidden;
      contain: layout style paint;
      will-change: transform;
    }
    .overlay.open .panel { transform: translate3d(0, 0, 0); }
    .overlay:not(.open) .panel { will-change: auto; }
    @media (prefers-reduced-motion: reduce) {
      .overlay,
      .panel { transition: none; }
    }
    .panel-hero {
      position:relative;
      overflow:hidden;
      isolation:isolate;
    }
    .panel-hero img { width:100%; height:100%; object-fit:cover; filter: saturate(.94); transform: scale(1.02); }
    .panel-hero-video {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: saturate(.94);
      z-index: 0;
    }
    .panel-hero img[hidden],
    .panel-hero-video[hidden] { display: none; }
    .panel-hero::after {
      content:""; position:absolute; inset:0;
      background: linear-gradient(90deg, rgba(7,9,9,.82) 0%, rgba(7,9,9,.42) 40%, rgba(7,9,9,.12) 100%), linear-gradient(0deg, rgba(10,14,13,1) 0%, transparent 42%);
      z-index:1;
    }
    .close, .next-hero, .prev-hero {
      position:absolute; z-index:5; top:26px;
      width:50px; height:50px; border-radius:50%;
      border:1px solid rgba(255,255,255,.38);
      background:rgba(255,255,255,.12);
      color:#fff; display:grid; place-items:center;
      font-size:24px; backdrop-filter:blur(10px);
      transition: transform .25s var(--ease), background .25s var(--ease);
    }
    .close { left:26px; }
    .prev-hero { right: 92px; }
    .next-hero { right: 28px; }
    .close:hover, .next-hero:hover, .prev-hero:hover { transform:scale(1.08); background:rgba(255,255,255,.22); }
    .panel-title {
      position:absolute; z-index:3; left:42px; bottom:38px; max-width: 560px;
    }
    .panel-title .num { color: #ffc85b; }
    .panel-title h2 { font-family:Playfair Display, serif; font-size: clamp(36px, 5vw, 56px); line-height:.92; margin:10px 0 6px; letter-spacing:-.055em; }
    .panel-title .subtitle { color:#ffca64; font-size: clamp(18px, 2.4vw, 26px); margin-bottom:10px; line-height:1.2; }
    .panel-title p { color:rgba(255,255,255,.8); line-height:1.65; margin:0 0 12px; max-width:min(520px, 90vw); font-size: 15px; }
    .panel-meta { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
    .dark-chip { background: rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.18); border-radius: 10px; padding: 8px 12px; font-size:12px; font-weight:800; }
    .hero-video {
      position:absolute; right: 44px; bottom: 44px; z-index:4;
      display:flex; align-items:center; gap:14px; color:#fff; font-weight:800;
      text-align:left; border:0; background:transparent;
    }
    .hero-video .play-ring { width:72px; height:72px; background:rgba(255,255,255,.22); }
    .hero-video small { display:block; color:rgba(255,255,255,.76); font-weight:500; }

    .panel-body {
      overflow: auto;
      padding: 24px;
      background: linear-gradient(180deg, #101413, #0b0e0d);
      display:grid;
      grid-template-columns: minmax(0, 1fr) 280px;
      gap: 24px;
    }
    .tabs { display:flex; gap:28px; border-bottom:1px solid rgba(255,255,255,.12); margin-bottom:22px; }
    .tab {
      color:rgba(255,255,255,.74); background:transparent; border:0; padding: 0 0 14px;
      font-weight:800; display:flex; align-items:center; gap:8px; position:relative;
    }
    .tab.active { color:#fff; }
    .tab.active::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:#ffc85b; border-radius:99px; }
    .tab-panel { display:none; }
    .tab-panel.active { display:block; animation: tabIn .28s cubic-bezier(0.22, 1, 0.36, 1); }
    @keyframes tabIn { from { opacity:0; transform:translate3d(0, 8px, 0); } to { opacity:1; transform:translate3d(0, 0, 0); } }
    .photo-grid { display:grid; grid-template-columns: 1.1fr .9fr .9fr; grid-auto-rows: 170px; gap:12px; }
    .photo-grid--count-2 { grid-template-columns: 1.15fr 1fr; max-width: 720px; }
    .photo-grid--count-3 { grid-template-columns: 1.1fr .9fr .9fr; }
    .photo-tile { position:relative; border-radius:15px; overflow:hidden; background:#222; border:1px solid rgba(255,255,255,.08); }
    .photo-tile.big { grid-row: span 2; }
    .photo-tile img { width:100%; height:100%; object-fit:cover; transition: transform .75s var(--ease); }
    .photo-tile:hover img { transform:scale(1.08); }
    .photo-tile::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.35), transparent 50%); opacity:.0; transition:opacity .25s; }
    .photo-tile:hover::after { opacity:1; }
    .load-more { margin:18px auto 0; display:flex; }
    .photo-empty { color:rgba(255,255,255,.55); font-size:14px; margin:0 0 12px; }
    .video-list { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:14px; }
    .video-card { min-height: 220px; height: 220px; border-radius:18px; overflow:hidden; position:relative; border:1px solid rgba(255,255,255,.1); background:#222; }
    .video-card img { width:100%; height:100%; object-fit:cover; filter: brightness(.76); }
    .video-card--real > video {
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      filter: brightness(.88);
    }
    .video-card .play-float { width:58px; height:58px; }
    .video-card strong { position:absolute; left:18px; bottom:18px; z-index:2; }
    .stories { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:16px; }
    .story-card { min-height: 310px; border-radius:22px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); padding:14px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; position:relative; }
    .story-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.55); z-index:0; }
    .story-card > * { position:relative; z-index:1; }
    .story-card .profile { display:flex; gap:10px; align-items:center; font-size:12px; font-weight:800; }
    .profile-initial {
      width:36px; height:36px; border-radius:50%;
      display:grid; place-items:center;
      background:rgba(201,150,62,.85); color:#fff;
      font-family:Playfair Display,serif; font-size:15px; font-weight:700;
      flex-shrink:0;
    }
    .story-card p { font-family:Caveat,cursive; font-size:28px; line-height:1.05; margin:0; }
    .info-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:14px; }
    .info-box { border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.07); border-radius:18px; padding:18px; }
    .info-box small { color:#ffc85b; display:block; font-weight:900; text-transform:uppercase; letter-spacing:.09em; margin-bottom:7px; }
    .info-box strong { font-size:20px; }

    .side-card {
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.06);
      border-radius:18px;
      padding:18px;
      margin-bottom:18px;
    }
    .side-card h3 { font-family:Playfair Display,serif; font-size:24px; margin:0 0 14px; }
    .facts { display:grid; gap:13px; }
    .fact { display:grid; grid-template-columns:26px 1fr; gap:10px; align-items:start; color:rgba(255,255,255,.76); font-size:13px; line-height:1.35; }
    .fact strong { color:#fff; display:block; margin-bottom:2px; }
    .experience-tags { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
    .review { display:grid; gap:12px; }
    .review-item { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.09); border-radius:14px; padding:12px; font-size:12px; color:rgba(255,255,255,.75); }
    .review-head { display:flex; align-items:center; gap:10px; color:#fff; font-weight:800; margin-bottom:8px; }
    .review-head img { width:34px; height:34px; border-radius:50%; object-fit:cover; }
    .panel-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 24px; min-height: 76px; border-top:1px solid rgba(255,255,255,.10); background:#0c0f0e; flex-shrink: 0; }
    .next-strip { display:flex; align-items:center; gap:16px; color:rgba(255,255,255,.72); font-size:13px; }
    .next-strip img { width:88px; height:42px; object-fit:cover; border-radius:10px; }
    .next-strip strong { color:#fff; font-family:Playfair Display,serif; font-size:22px; font-weight:700; }
    .footer-arrow { width:50px; height:50px; border-radius:50%; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.08); color:#fff; display:grid; place-items:center; font-size:22px; }

    .toast {
      position: fixed;
      left: 50%; bottom: 22px;
      transform: translateX(-50%) translateY(30px);
      background: rgba(20,20,17,.92);
      color:#fff;
      padding: 13px 18px;
      border-radius: 999px;
      box-shadow: 0 18px 60px rgba(0,0,0,.28);
      z-index: 150;
      opacity:0;
      pointer-events:none;
      transition: opacity .3s var(--ease), transform .3s var(--ease);
      font-size:13px;
      font-weight:800;
    }
    .toast.show { opacity:1; transform: translateX(-50%) translateY(0); }

    .mobile-menu { display:none; }

    @media (max-width: 1050px) {
      .tg-hero-inner { grid-template-columns: 1fr; }
      .tg-hero-card { justify-self:start; }
      .journey { grid-template-columns: 1fr; }
      .rail { display:none; }
      .dest, .dest:nth-child(even) { grid-template-columns:1fr; }
      .dest:nth-child(even) .dest-info, .dest:nth-child(even) .media-collage { order:initial; }
      .media-collage, .dest:nth-child(even) .media-collage {
        padding: 0 22px 62px;
        height: auto;
        max-height: none;
        min-height: 0;
      }
      .main-media--video {
        height: clamp(240px, 52vw, 320px);
        min-height: 240px;
      }
      .side-grid { height: clamp(240px, 52vw, 320px); }
      .dest-info { padding: 52px 32px 28px; }
      .open-arrow, .dest:nth-child(even) .open-arrow { left:auto; right:24px; top:auto; bottom:24px; transform:none; }
      .open-arrow:hover { transform: scale(1.06); }
      .panel {
        inset: 10px;
        grid-template-rows: 370px minmax(0, 1fr) 76px;
        transform: translate3d(100%, 0, 0);
      }
      .overlay.open .panel { transform: translate3d(0, 0, 0); }
      .panel-body { grid-template-columns:1fr; }
      .side-area { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:16px; }
      .side-card { margin-bottom:0; }
    }
    @media (max-width: 760px) {
      .tg-hero { min-height: 760px; }
      .tg-hero-inner { width: calc(100% - 34px); }
      .tg-hero h1 { font-size: 58px; }
      .tg-hero-card { width:100%; }
      .stat strong { font-size:20px; }
      .media-collage { grid-template-columns:1fr; height: auto; max-height: none; }
      .side-grid { grid-template-rows:1fr 1fr; grid-template-columns: 1fr; height: clamp(220px, 58vw, 300px); }
      .side-pair { grid-template-columns:1fr 1fr; }
      .main-media--video { height: 250px; min-height: 250px; }
      .final-cta { flex-direction:column; align-items:flex-start; padding:46px 24px; }
      .panel { grid-template-rows: 330px minmax(0, 1fr) 70px; border-radius: 20px; }
      .panel-title { left:22px; bottom:26px; right:22px; }
      .panel-title h2 { font-size:36px; }
      .hero-video { display:none; }
      .photo-grid { grid-template-columns:1fr 1fr; grid-auto-rows:150px; }
      .photo-tile.big { grid-row:span 1; grid-column:span 2; }
      .video-list, .stories, .info-grid, .side-area { grid-template-columns:1fr; }
      .tabs { overflow:auto; gap:22px; }
      .panel-footer { padding:0 14px; }
      .next-strip strong { font-size:18px; }
      .next-strip img { display:none; }
    }

/* Site header integration */
.travel-gallery-page .cin-header.is-solid {
  background: rgba(255, 250, 239, 0.92);
  color: var(--ink);
  box-shadow: 0 12px 40px rgba(40, 28, 9, 0.08);
}
.travel-gallery-page .cin-header,
.travel-gallery-page .cin-header.is-solid {
  background: rgba(10, 10, 10, 0.97);
  border-bottom: 1px solid rgba(201, 160, 82, 0.12);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.35);
}
.travel-gallery-page .cin-header:not(.is-solid) {
  background: linear-gradient(180deg, rgba(7, 7, 7, 0.92), rgba(7, 7, 7, 0.55));
  border-bottom: 1px solid rgba(201, 160, 82, 0.1);
}
.travel-gallery-page .cin-header__nav a,
.travel-gallery-page .cin-header__cta {
  color: var(--cin-text-light);
}
.travel-gallery-page .cin-header.is-solid .cin-header__nav a,
.travel-gallery-page .cin-header.is-solid .cin-header__cta {
  color: var(--cin-text-light);
}
.travel-gallery-page .cin-header__menu span {
  background: #fff;
}
.travel-gallery-page .tg-hero {
  padding-top: var(--cin-header-h);
  min-height: calc(720px + var(--cin-header-h));
}
.travel-gallery-page .pill-btn {
  text-decoration: none;
}
body.gallery-panel-open {
  overflow: hidden;
}