/**
 * Catalog motion, style "journey" (the private tours hub, 2026-09-28): the homepage's language on a hub page.
 * A page opts in with "motion": true or "journey"; catalog-motion.js arms each block and plays its entrance once,
 * when it reaches the screen. Entrances keep a backwards fill, so every hover keeps working. Without the script,
 * or for anyone who asked for reduced motion, the page is exactly the static page.
 */

/* ---------------------------------------------------------------- the shared vocabulary */
@keyframes tgc-m-rise { from { opacity: 0; transform: translateY(18px); } }
@keyframes tgc-m-flip { from { opacity: 0; transform: perspective(700px) rotateX(-55deg) translateY(8px); } }
@keyframes tgc-m-card { from { opacity: 0; transform: perspective(1000px) rotateX(16deg) translateY(46px); } }
@keyframes tgc-m-left { from { opacity: 0; transform: translateX(-44px) rotate(-1.5deg); } }
@keyframes tgc-m-right { from { opacity: 0; transform: translateX(44px) rotate(1.5deg); } }
@keyframes tgc-m-row { from { opacity: 0; transform: translateX(26px); } }
@keyframes tgc-m-stamp { 0% { opacity: 0; transform: scale(1.9) rotate(-22deg); } 70% { opacity: 1; transform: scale(.92) rotate(3deg); } }
@keyframes tgc-m-ripple { 0% { opacity: .9; transform: scale(1); } 100% { opacity: 0; transform: scale(1.9); } }
@keyframes tgc-m-draw { from { stroke-dashoffset: 40; } }
@keyframes tgc-m-grow { from { transform: scaleX(0); } }
@keyframes tgc-m-pop { from { opacity: 0; transform: scale(.2) rotate(-40deg); } }
@keyframes tgc-m-pulse { 0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .5); } 70%, 100% { box-shadow: 0 0 0 14px rgba(37, 211, 102, 0); } }

/* Cards are dealt from the sides: a block never lets them widen the page (clip keeps sticky parts sticky). */
.tgc--m-journey .tgc-band { overflow-x: clip; }

/* Before a block plays, what is about to rise is out of sight. */
.tgc--m-journey .is-armed:not(.is-in) .tgc-head > *,
.tgc--m-journey .tgc-hero.is-armed:not(.is-in) .tgc-hero__inner > *,
.tgc--m-journey .tgc-hero.is-armed:not(.is-in) .tgc-m-w > span,
.tgc--m-journey .tgc-hero.is-armed:not(.is-in) .tgc-hero__trust li,
.tgc--m-journey .is-armed:not(.is-in) .tgc-fact,
.tgc--m-journey .is-armed:not(.is-in) .tgc-answer__text,
.tgc--m-journey .is-armed:not(.is-in) .tgc-more,
.tgc--m-journey .is-armed:not(.is-in) .tgp-card,
.tgc--m-journey .is-armed:not(.is-in) .tgc-choose__item,
.tgc--m-journey .is-armed:not(.is-in) .tgc-gallery img,
.tgc--m-journey .is-armed:not(.is-in) .tgc-table tbody tr,
.tgc--m-journey .is-armed:not(.is-in) .tgc-pricing__col,
.tgc--m-journey .is-armed:not(.is-in) .tgc-banner,
.tgc--m-journey .is-armed:not(.is-in) .tgc-place,
.tgc--m-journey .is-armed:not(.is-in) .tgc-reason,
.tgc--m-journey .is-armed:not(.is-in) .tgc-step,
.tgc--m-journey .is-armed:not(.is-in) .tgc-review,
.tgc--m-journey .is-armed:not(.is-in) .tgc-reviews__source,
.tgc--m-journey .is-armed:not(.is-in) .tgc-prose__part,
.tgc--m-journey .is-armed:not(.is-in) .tgc-faq__item,
.tgc--m-journey .is-armed:not(.is-in) .tgc-faq__ask,
.tgc--m-journey .is-armed:not(.is-in) .tgc-links > li,
.tgc--m-journey .is-armed:not(.is-in) .tgc-cta > *,
.tgc--m-journey .is-armed:not(.is-in) .tgc-micro li,
.tgc--m-journey .is-armed:not(.is-in) .tgc-m-cross,
.tgc--m-journey .is-armed:not(.is-in) .tgc-m-car,
.tgc--m-journey .is-armed:not(.is-in) .tgc-m-tag { opacity: 0; }

/* Every heading rises in: kicker, title, lead. */
.tgc--m-journey .is-in .tgc-head > * { animation: tgc-m-rise .8s cubic-bezier(.2, .7, .2, 1) backwards; }
.tgc--m-journey .is-in .tgc-head > :nth-child(2) { animation-delay: .1s; }
.tgc--m-journey .is-in .tgc-head > :nth-child(3) { animation-delay: .2s; }

/* ---------------------------------------------------------------- hero: a slow drift, a gold sheen, words that rise */
.tgc--m-journey .tgc-hero { animation: tgc-m-drift 30s ease-in-out infinite alternate; }
@keyframes tgc-m-drift { from { background-position: center 70%; } to { background-position: center 48%; } }
.tgc--m-journey .tgc-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(105deg, rgba(224, 196, 117, 0) 40%, rgba(224, 196, 117, .16) 50%, rgba(224, 196, 117, 0) 60%) no-repeat; background-size: 300% 100%; background-position: 110% 0; animation: tgc-m-sheen 8s ease-in-out 1.6s infinite; pointer-events: none; }
@keyframes tgc-m-sheen { 0% { background-position: 110% 0; } 45%, 100% { background-position: -10% 0; } }
.tgc-m-w { display: inline-block; overflow: hidden; padding-bottom: .1em; margin-bottom: -.1em; vertical-align: bottom; }
.tgc-m-w > span { display: inline-block; }
.tgc--m-journey .tgc-hero.is-in .tgc-hero__inner > * { animation: tgc-m-rise .8s cubic-bezier(.2, .7, .2, 1) backwards; }
.tgc--m-journey .tgc-hero.is-in .tgc-hero__inner > .tgc-kicker { animation-delay: .1s; }
.tgc--m-journey .tgc-hero.is-in .tgc-hero__title { animation: none; }
.tgc--m-journey .tgc-hero.is-in .tgc-m-w > span { animation: tgc-m-word .9s cubic-bezier(.2, .7, .2, 1) backwards; animation-delay: calc(var(--w) * .06s + .2s); }
@keyframes tgc-m-word { from { transform: translateY(108%); } }
.tgc--m-journey .tgc-hero.is-in .tgc-hero__lead { animation-delay: .75s; }
.tgc--m-journey .tgc-hero.is-in .tgc-hero__act { animation-delay: .9s; }
.tgc--m-journey .tgc-hero.is-in .tgc-hero__trust { animation: none; }
.tgc--m-journey .tgc-hero.is-in .tgc-hero__trust li { animation: tgc-m-rise .6s ease backwards; animation-delay: calc(var(--i) * .14s + 1.05s); }
.tgc--m-journey .tgc-hero.is-in .tgc-hero__trust .tgc-ico path { stroke-dasharray: 40; animation: tgc-m-draw .8s ease backwards; animation-delay: calc(var(--i) * .14s + 1.25s); }
.tgc--m-journey .tgc-hero .tgc-btn--gold { animation: tgc-m-glow 3.2s ease-in-out 2s infinite; }
@keyframes tgc-m-glow { 50% { box-shadow: 0 0 0 6px rgba(224, 196, 117, .18), 0 10px 26px rgba(200, 164, 74, .35); } }

/* ---------------------------------------------------------------- facts: tiles flip down, icons are stamped */
.tgc--m-journey .tgc-fact { transform-origin: 50% 0; transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease, border-color .3s ease; }
.tgc--m-journey .tgc-fact:hover { border-color: rgba(200, 164, 74, .6); box-shadow: 0 14px 30px rgba(14, 22, 32, .07); transform: translateY(-4px); }
.tgc--m-journey .tgc-fact__icon { position: relative; transition: transform .45s cubic-bezier(.3, 1.4, .5, 1); }
.tgc--m-journey .tgc-fact:hover .tgc-fact__icon { transform: rotate(-10deg) scale(1.08); }
.tgc--m-journey .tgc-fact__icon::after, .tgc--m-journey .tgc-reason__icon::after { content: ''; position: absolute; inset: -1px; border: 1px solid #c8a44a; border-radius: 50%; opacity: 0; pointer-events: none; }
.tgc--m-journey .is-in .tgc-fact { animation: tgc-m-flip .8s cubic-bezier(.2, .7, .2, 1) backwards; animation-delay: calc(var(--i) * .12s + .2s); }
.tgc--m-journey .is-in .tgc-fact__icon { animation: tgc-m-stamp .55s cubic-bezier(.3, 1.4, .5, 1) backwards; animation-delay: calc(var(--i) * .12s + .55s); }
.tgc--m-journey .is-in .tgc-fact__icon::after { animation: tgc-m-ripple .9s ease-out backwards; animation-delay: calc(var(--i) * .12s + .75s); }
.tgc--m-journey .is-in .tgc-answer__text, .tgc--m-journey .is-in .tgc-more { animation: tgc-m-rise .8s cubic-bezier(.2, .7, .2, 1) .3s backwards; }

/* The crossing (drawn in catalog.css): the ferry bobs and sails from one end to the other. */
.tgc--m-journey .tgc-m-cross__ferry svg { animation: tgc-m-bob 3s ease-in-out infinite; }
@keyframes tgc-m-bob { 0%, 100% { transform: translateY(0) rotate(-1.5deg); } 50% { transform: translateY(-2.5px) rotate(1.5deg); } }
.tgc--m-journey .is-in .tgc-m-cross { animation: tgc-m-rise .7s ease .15s backwards; }
.tgc--m-journey .is-in .tgc-m-cross__ferry { animation: tgc-m-sail 4.5s cubic-bezier(.45, 0, .3, 1) .5s backwards; }
@keyframes tgc-m-sail { from { left: 0; } }

/* ---------------------------------------------------------------- tours: the luggage tag, the flip-up, the tilt */
.tgc--m-journey .tgp-card { border-radius: 18px; transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--lift, 0px)); transition: transform .5s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease; }
.tgc--m-journey .tgp-card:hover { --lift: -6px; transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--lift, 0px)); }
.tgc--m-journey .tgp-card.is-tilting { transition: transform .12s linear, box-shadow .35s ease; }
.tgc--m-journey .tgp-card__img img { transition: transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.tgc--m-journey .tgp-card:hover .tgp-card__img img { transform: scale(1.07); }
.tgc--m-journey .is-in .tgp-card { animation: tgc-m-card .9s cubic-bezier(.2, .7, .2, 1) backwards; animation-delay: calc(var(--i) * .09s); transform-origin: 50% 100%; }
.tgc-m-tag { position: absolute; top: 0; right: 16px; z-index: 3; display: block; padding-top: 14px; filter: drop-shadow(0 8px 10px rgba(14, 22, 32, .3)); transform: rotate(-4deg); transform-origin: 50% 0; }
.tgc-m-tag::before { content: ''; position: absolute; top: 0; left: 50%; width: 1.5px; height: 22px; margin-left: -.75px; background: linear-gradient(#a8862e, #c8a44a); }
.tgc-m-tag .tgp-card__price { position: relative; right: auto; bottom: auto; display: flex; flex-direction: column; align-items: center; min-width: 74px; padding: 17px 12px 9px; background: linear-gradient(180deg, #fffaf0, #f6ecd6); text-align: center; clip-path: polygon(24% 0, 76% 0, 100% 16%, 100% 100%, 0 100%, 0 16%); }
.tgc-m-tag .tgp-card__price::before { content: ''; position: absolute; top: 6px; left: 50%; width: 7px; height: 7px; margin-left: -3.5px; border: 1.5px solid #c8a44a; border-radius: 50%; background: #fff; }
.tgc-m-tag .tgp-card__price::after { content: ''; position: absolute; inset: 3px; border: 1px dashed rgba(168, 134, 46, .45); clip-path: inherit; pointer-events: none; }
.tgc-m-tag .tgp-card__from { color: #6b5a36; font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.tgc-m-tag .tgp-card__amount { font-weight: 400; line-height: 1.1; }
.tgc-m-tag .tgp-card__amount small { display: block; margin-top: 1px; font-family: 'Trebuchet MS', Tahoma, sans-serif; font-size: 10px; }
.tgc-m-tag.is-drop { animation: tgc-m-drop 1.6s cubic-bezier(.3, 0, .3, 1) backwards; animation-delay: calc(var(--i, 0) * .09s + .55s); }
.tgp-card:hover .tgc-m-tag:not(.is-drop) { animation: tgc-m-swing 1.5s cubic-bezier(.3, 0, .3, 1); }
@keyframes tgc-m-swing { 0% { transform: rotate(-4deg); } 16% { transform: rotate(10deg); } 36% { transform: rotate(-9deg); } 56% { transform: rotate(5deg); } 76% { transform: rotate(-6deg); } 90% { transform: rotate(-2deg); } 100% { transform: rotate(-4deg); } }
@keyframes tgc-m-drop { 0% { opacity: 0; transform: translateY(-34px) rotate(-22deg); } 26% { opacity: 1; transform: translateY(0) rotate(12deg); } 46% { transform: rotate(-10deg); } 64% { transform: rotate(5deg); } 82% { transform: rotate(-6deg); } 100% { transform: rotate(-4deg); } }

/* ---------------------------------------------------------------- choose: cards dealt from both sides */
.tgc--m-journey .is-in .tgc-choose__item { animation: tgc-m-left .9s cubic-bezier(.2, .7, .2, 1) backwards; animation-delay: calc(var(--i) * .1s + .1s); }
.tgc--m-journey .is-in .tgc-choose__item:nth-child(even) { animation-name: tgc-m-right; }
.tgc--m-journey .tgc-choose__no::after { transform-origin: left; transition: width .35s ease; }
.tgc--m-journey .is-in .tgc-choose__no::after { animation: tgc-m-grow .7s ease backwards; animation-delay: calc(var(--i) * .1s + .7s); }
.tgc--m-journey .tgc-choose__item:hover .tgc-choose__no::after { width: 64px; }

/* ---------------------------------------------------------------- photos: each opens through an eight-point star */
.tgc--m-journey .is-in .tgc-gallery img { animation: tgc-m-star 1.25s cubic-bezier(.55, 0, .25, 1) backwards; animation-delay: calc(var(--i) * .14s + .1s); }
@keyframes tgc-m-star { from { clip-path: polygon(50.00% 50.00%, 50.00% 50.00%, 50.00% 50.00%, 50.00% 50.00%, 50.00% 50.00%, 50.00% 50.00%, 50.00% 50.00%, 50.00% 50.00%, 50.00% 50.00%, 50.00% 50.00%, 50.00% 50.00%, 50.00% 50.00%, 50.00% 50.00%, 50.00% 50.00%, 50.00% 50.00%, 50.00% 50.00%); } to { clip-path: polygon(50.00% -75.00%, 88.27% -42.39%, 138.39% -38.39%, 142.39% 11.73%, 175.00% 50.00%, 142.39% 88.27%, 138.39% 138.39%, 88.27% 142.39%, 50.00% 175.00%, 11.73% 142.39%, -38.39% 138.39%, -42.39% 88.27%, -75.00% 50.00%, -42.39% 11.73%, -38.39% -38.39%, 11.73% -42.39%); } }
.tgc--m-journey .tgc-gallery img { transition: transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.tgc--m-journey .tgc-gallery .tgt-car__slide { overflow: hidden; border-radius: 16px; }
.tgc--m-journey .tgc-gallery .tgt-car__slide:hover img { transform: scale(1.06); }

/* ---------------------------------------------------------------- compare: rows slide in, each tour's day drawn to scale */
.tgc--m-journey .is-in .tgc-table tbody tr { animation: tgc-m-row .6s cubic-bezier(.2, .7, .2, 1) backwards; animation-delay: calc(var(--i) * .07s + .1s); }
.tgc--m-journey .tgc-table tbody tr { box-shadow: inset 0 0 0 #c8a44a; transition: background .2s ease, box-shadow .25s ease; }
.tgc--m-journey .tgc-table tbody tr:hover { box-shadow: inset 3px 0 0 #c8a44a; }
.tgc-m-bar { position: relative; display: block; width: 110px; max-width: 100%; height: 5px; margin-top: 7px; border-radius: 3px; background: #f0eadf; }
.tgc-m-bar i { position: absolute; top: 0; bottom: 0; left: 0; width: calc(var(--b) * 100%); border-radius: 3px; background: linear-gradient(90deg, #c8a44a calc(var(--a) / var(--b) * 100%), #e2cf98 0); transform-origin: left; }
.tgc--m-journey .is-in .tgc-m-bar i { animation: tgc-m-grow .9s cubic-bezier(.2, .7, .2, 1) backwards; animation-delay: calc(var(--i) * .07s + .45s); }

/* ---------------------------------------------------------------- pricing: ticks drawn, crosses drawn, the promise last */
.tgc--m-journey .is-in .tgc-pricing__col { animation: tgc-m-rise .8s cubic-bezier(.2, .7, .2, 1) backwards; }
.tgc--m-journey .is-in .tgc-pricing__col--excluded { animation-delay: .15s; }
.tgc--m-journey .is-in .tgc-pricing__col li { animation: tgc-m-row .5s ease backwards; animation-delay: calc(var(--i) * .09s + .35s); }
.tgc--m-journey .is-in .tgc-pricing__col li .tgc-ico path { stroke-dasharray: 40; animation: tgc-m-draw .6s ease backwards; animation-delay: calc(var(--i) * .09s + .5s); }
.tgc--m-journey .is-in .tgc-banner { animation: tgc-m-rise .8s cubic-bezier(.2, .7, .2, 1) 1s backwards; }
.tgc--m-journey .is-in .tgc-banner__icon { animation: tgc-m-stamp .55s cubic-bezier(.3, 1.4, .5, 1) 1.35s backwards; }

/* ---------------------------------------------------------------- places: the gold road draws, a car drives it */
.tgc--m-journey .tgc-place--text { position: relative; }
.tgc--m-journey .tgc-place--text.has-road { border-top: 1px solid #ece5d6; }
.tgc-m-road { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: #c8a44a; transform-origin: left; }
.tgc-m-car { position: absolute; top: 6px; right: 16px; width: 26px; color: #c8a44a; }
.tgc-m-car svg { display: block; width: 26px; height: 14px; }
.tgc--m-journey .is-in .tgc-place { animation: tgc-m-rise .8s cubic-bezier(.2, .7, .2, 1) backwards; animation-delay: calc(var(--i) * .12s); }
.tgc--m-journey .is-in .tgc-m-road { animation: tgc-m-grow 1.4s cubic-bezier(.45, 0, .2, 1) backwards; animation-delay: calc(var(--i) * .12s + .35s); }
.tgc--m-journey .is-in .tgc-m-car { animation: tgc-m-drive 1.4s cubic-bezier(.45, 0, .2, 1) backwards; animation-delay: calc(var(--i) * .12s + .35s); }
@keyframes tgc-m-drive { from { right: calc(100% - 20px); opacity: 0; } 12% { opacity: 1; } }
.tgc--m-journey .tgc-place:hover .tgc-m-car svg { animation: tgc-m-bob .8s ease-in-out 2; }

/* ---------------------------------------------------------------- why: the night sky, the reasons stamped */
.tgc-m-sky { position: absolute; inset: 0; pointer-events: none; }
.tgc-m-sky span { position: absolute; inset: 0; background-image: radial-gradient(circle at 18px 26px, rgba(255, 255, 255, .9) 0 1px, transparent 1.6px), radial-gradient(circle at 132px 88px, rgba(255, 244, 214, .85) 0 1.2px, transparent 1.8px), radial-gradient(circle at 210px 40px, rgba(255, 255, 255, .6) 0 .8px, transparent 1.4px), radial-gradient(circle at 74px 150px, rgba(255, 255, 255, .7) 0 1px, transparent 1.6px); background-size: 280px 210px; animation: tgc-m-twinkle 4.5s ease-in-out infinite alternate; }
.tgc-m-sky span + span { background-size: 410px 330px; background-position: 140px 60px; opacity: .7; animation-duration: 6s; animation-delay: -3s; }
@keyframes tgc-m-twinkle { from { opacity: .3; } to { opacity: .95; } }
.tgc--m-journey .tgc-band--navy { position: relative; overflow: clip; }
.tgc--m-journey .tgc-band--navy > .tgc-wrap { position: relative; z-index: 1; }
.tgc--m-journey .tgc-reason__icon { position: relative; transition: transform .45s cubic-bezier(.3, 1.4, .5, 1), border-color .3s ease; }
.tgc--m-journey .tgc-reason:hover .tgc-reason__icon { border-color: #e0c475; transform: rotate(-10deg) scale(1.08); }
.tgc--m-journey .is-in .tgc-reason { animation: tgc-m-rise .8s cubic-bezier(.2, .7, .2, 1) backwards; animation-delay: calc(var(--i) * .14s + .15s); }
.tgc--m-journey .is-in .tgc-reason__icon { animation: tgc-m-stamp .55s cubic-bezier(.3, 1.4, .5, 1) backwards; animation-delay: calc(var(--i) * .14s + .45s); }
.tgc--m-journey .is-in .tgc-reason__icon::after { animation: tgc-m-ripple .9s ease-out backwards; animation-delay: calc(var(--i) * .14s + .65s); }

/* ---------------------------------------------------------------- booking: a gold bead travels the steps and lights them */
.tgc-m-bead { position: absolute; top: 29px; left: 12.5%; z-index: 2; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: #e0c475; box-shadow: 0 0 0 5px rgba(224, 196, 117, .25), 0 0 18px rgba(224, 196, 117, .8); opacity: 0; }
.tgc--m-journey .is-in .tgc-m-bead { animation: tgc-m-bead 4.8s cubic-bezier(.45, 0, .3, 1) .4s forwards; }
@keyframes tgc-m-bead { 0% { left: 12.5%; opacity: 1; } 8% { left: 12.5%; } 25%, 33% { left: 37.5%; } 50%, 58% { left: 62.5%; } 75%, 92% { left: 87.5%; opacity: 1; } 100% { left: 87.5%; opacity: 0; } }
.tgc--m-journey .is-in .tgc-steps::before { animation: tgc-m-grow 3.6s linear .4s backwards; transform-origin: left; }
.tgc--m-journey .is-in .tgc-step { animation: tgc-m-rise .7s cubic-bezier(.2, .7, .2, 1) backwards; animation-delay: calc(var(--i) * 1.2s + .25s); }
.tgc--m-journey .is-in .tgc-step__no { animation: tgc-m-lit .8s ease backwards; animation-delay: calc(var(--i) * 1.2s + .4s); }
@keyframes tgc-m-lit { 0% { transform: scale(.6); } 45% { background: #fff3c4; box-shadow: 0 0 0 10px rgba(224, 196, 117, .3), 0 0 26px rgba(224, 196, 117, .9); transform: scale(1.18); } }
.tgc--m-journey .tgc-step__no { transition: background-color .3s ease, color .3s ease, transform .35s cubic-bezier(.3, 1.4, .5, 1); }
.tgc--m-journey .tgc-step:hover .tgc-step__no { background: #0e1620; color: #e0c475; transform: scale(1.08); }

/* ---------------------------------------------------------------- reviews: postcards dealt onto the table */
.tgc--m-journey .tgc-review { transform: rotate(var(--r, 0deg)); box-shadow: 0 10px 26px rgba(14, 22, 32, .07); transition: transform .5s cubic-bezier(.2, .7, .2, 1), box-shadow .4s ease; }
.tgc--m-journey .tgc-review:nth-child(3n + 1) { --r: -1.6deg; }
.tgc--m-journey .tgc-review:nth-child(3n + 2) { --r: 1.1deg; }
.tgc--m-journey .tgc-review:nth-child(3n) { --r: -.8deg; }
.tgc--m-journey .tgc-review:hover { box-shadow: 0 22px 44px rgba(14, 22, 32, .14); transform: rotate(0) translateY(-6px); }
.tgc--m-journey .tgc-review.has-mark::before { display: none; }
.tgc-m-mark { position: absolute; top: 12px; right: 12px; width: 76px; height: 48px; opacity: .55; transform: rotate(-12deg); }
.tgc-m-mark circle, .tgc-m-mark path { fill: none; stroke: #a8862e; stroke-width: 1.2; }
.tgc-m-mark text { fill: #a8862e; font-family: 'Trebuchet MS', Tahoma, sans-serif; font-size: 7px; font-weight: 700; letter-spacing: .08em; }
.tgc-m-star { display: inline-block; }
.tgc--m-journey .is-in .tgc-review { animation: tgc-m-deal 1s cubic-bezier(.2, .7, .2, 1) backwards; animation-delay: calc(var(--i) * .16s + .15s); }
@keyframes tgc-m-deal { from { opacity: 0; transform: translateY(70px) rotate(calc(var(--r, 0deg) * 5)); } }
.tgc--m-journey .is-in .tgc-m-star { animation: tgc-m-pop .5s cubic-bezier(.3, 1.6, .5, 1) backwards; animation-delay: calc(var(--i) * .16s + var(--s) * .09s + .7s); }
.tgc--m-journey .is-in .tgc-m-mark { animation: tgc-m-thud .45s cubic-bezier(.3, 1.5, .5, 1) backwards; animation-delay: calc(var(--i) * .16s + 1.1s); }
@keyframes tgc-m-thud { from { opacity: 0; transform: rotate(-12deg) scale(1.8); } }
.tgc--m-journey .is-in .tgc-reviews__source { animation: tgc-m-rise .7s ease 1s backwards; }

/* ---------------------------------------------------------------- when, faq, links, the last call */
.tgc--m-journey .is-in .tgc-prose__part { animation: tgc-m-left .9s cubic-bezier(.2, .7, .2, 1) .15s backwards; }
.tgc--m-journey .is-in .tgc-prose__part:nth-child(even) { animation-name: tgc-m-right; animation-delay: .3s; }
.tgc--m-journey .tgc-prose__part { transition: transform .35s ease, box-shadow .35s ease; }
.tgc--m-journey .tgc-prose__part:hover { box-shadow: 0 16px 36px rgba(14, 22, 32, .07); transform: translateY(-3px); }

.tgc--m-journey .is-in .tgc-faq__item { animation: tgc-m-row .55s cubic-bezier(.2, .7, .2, 1) backwards; animation-delay: calc(var(--i) * .08s + .1s); }
.tgc--m-journey .is-in .tgc-faq__ask { animation: tgc-m-rise .7s cubic-bezier(.2, .7, .2, 1) .25s backwards; }
.tgc--m-journey .tgc-faq__ask > svg { border-radius: 50%; animation: tgc-m-pulse 2.6s ease-out infinite; }
.tgc--m-journey .tgc-faq__mark { transition: background .25s ease, border-color .25s ease, color .25s ease, transform .35s ease; }
.tgc--m-journey .tgc-faq__item[open] .tgc-faq__mark { transform: rotate(180deg); }
.tgc--m-journey .tgc-faq__a { overflow: hidden; }

.tgc--m-journey .is-in .tgc-links > li { animation: tgc-m-rise .7s cubic-bezier(.2, .7, .2, 1) backwards; animation-delay: calc(var(--i) * .08s + .1s); }
.tgc--m-journey .tgc-link__arrow svg { transition: transform .3s ease; }
.tgc--m-journey .tgc-link:hover .tgc-link__arrow svg { transform: translateX(3px); }

.tgc--m-journey .tgc-band--cta .tgc-head::before { animation: tgc-m-spin 9s linear infinite; }
@keyframes tgc-m-spin { to { transform: rotate(405deg); } }
.tgc--m-journey .is-in .tgc-cta > * { animation: tgc-m-rise .7s cubic-bezier(.2, .7, .2, 1) backwards; animation-delay: calc(var(--i) * .12s + .35s); }
.tgc--m-journey .tgc-cta .tgc-btn--wa { animation: tgc-m-pulse 2.6s ease-out 1.5s infinite; }
.tgc--m-journey .is-in .tgc-cta .tgc-btn--wa { animation: tgc-m-rise .7s cubic-bezier(.2, .7, .2, 1) .35s backwards, tgc-m-pulse 2.6s ease-out 1.5s infinite; }
.tgc--m-journey .is-in .tgc-micro li { animation: tgc-m-rise .5s ease backwards; animation-delay: calc(var(--i) * .15s + .7s); }
.tgc--m-journey .is-in .tgc-micro .tgc-ico path { stroke-dasharray: 40; animation: tgc-m-draw .7s ease backwards; animation-delay: calc(var(--i) * .15s + .85s); }

/* ---------------------------------------------------------------- smaller screens, reduced motion */
@media (max-width: 1024px) {
	.tgc-m-bead { display: none; }
}
@media (max-width: 760px) {
	.tgc-m-mark { width: 62px; height: 40px; }
	/* The table stacks into cards: the bar sits beside the duration, short enough to keep it on one line. */
	.tgc-m-bar { flex: none; width: 52px; margin: 0 0 0 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.tgc--m-journey .tgc-hero, .tgc--m-journey .tgc-hero::after, .tgc--m-journey .tgc-hero .tgc-btn--gold, .tgc-m-sky span, .tgc-m-cross__ferry svg, .tgc--m-journey .tgc-faq__ask > svg, .tgc--m-journey .tgc-cta .tgc-btn--wa, .tgc--m-journey .tgc-band--cta .tgc-head::before { animation: none; }
	.tgc--m-journey .tgp-card, .tgc--m-journey .tgc-review, .tgc--m-journey .tgc-fact, .tgc--m-journey .tgp-card__img img { transition: none; }
}
