:root{
    --bmdx-red:#f43e37;
    --bmdx-purple:#642899;
    --bmdx-purple-light:#b990dc;
    --bmdx-cyan:#00aee4;
    --bmdx-green:#78b934;
    --bmdx-sun:#d99a00;
    --bmdx-ink:#211d2c;
    --bmdx-soft:#f8f4fb;
    --bmdx-speed:10500ms;
}

/*
 * The enhancement layer deliberately never changes body overflow, sticky/fixed
 * header positioning, navigation z-index, page transforms or image dimensions.
 */

/* --------------------------------------------------------------------------
   Animated BookMyDestination brand — header + footer, existing image retained.
   -------------------------------------------------------------------------- */
.bmdx-brand-anchor{position:relative!important;isolation:isolate;display:inline-block}
.bmdx-brand-ready.bmdx-brand-anchor>img,.bmdx-brand-ready .bmdx-brand-anchor>img{position:relative;z-index:1;transition:opacity .28s ease,filter .28s ease,transform .28s ease;will-change:auto}
.bmdx-brand-stage{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;overflow:visible}
.bmdx-brand-piece{position:absolute;inset:0;opacity:0;pointer-events:none}
.bmdx-brand-piece img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain!important;object-position:center!important;margin:0!important}
.bmdx-brand-stage::after{content:"";position:absolute;left:31%;top:53%;width:5px;height:5px;border-radius:50%;background:var(--bmdx-cyan);box-shadow:-8px 0 0 -1px rgba(0,174,228,.35);opacity:0;transform:translate3d(0,-50%,0);pointer-events:none}

.bmdx-brand-playing.bmdx-brand-anchor>img,.bmdx-brand-playing .bmdx-brand-anchor>img{opacity:.13;filter:saturate(.92)}
.bmdx-brand-playing .bmdx-brand-stage{opacity:1}
.bmdx-brand-playing .bmdx-piece-book{animation:bmdx-book 1.05s steps(4,end) both}
.bmdx-brand-playing .bmdx-piece-my{animation:bmdx-my .8s .72s cubic-bezier(.2,.8,.2,1) both}
.bmdx-brand-playing .bmdx-piece-destination-a{animation:bmdx-destination-a 1.7s 1.2s steps(9,end) both}
.bmdx-brand-playing .bmdx-piece-mark{animation:bmdx-mark .88s 2.6s cubic-bezier(.2,1.4,.4,1) both}
.bmdx-brand-playing .bmdx-piece-destination-b{animation:bmdx-destination-b .55s 2.82s ease both}
.bmdx-brand-playing .bmdx-piece-com{animation:bmdx-com .7s 3.08s ease both}
.bmdx-brand-playing .bmdx-brand-stage::after{animation:bmdx-travel-dot 1.9s 1.1s cubic-bezier(.24,.72,.25,1) both}

@keyframes bmdx-book{
    0%{opacity:1;clip-path:inset(0 98.5% 26% 1%);filter:hue-rotate(0deg)}
    78%{opacity:1;clip-path:inset(0 69.4% 26% 1%);filter:hue-rotate(0deg)}
    88%{filter:hue-rotate(52deg) saturate(1.15)}
    100%{opacity:1;clip-path:inset(0 69.4% 26% 1%);filter:hue-rotate(0deg)}
}
@keyframes bmdx-my{
    0%{opacity:0;clip-path:inset(20% 61.5% 9% 28.7%);transform:translate3d(-9px,5px,0) rotate(-2deg)}
    100%{opacity:1;clip-path:inset(20% 61.5% 9% 28.7%);transform:none}
}
@keyframes bmdx-destination-a{
    0%{opacity:1;clip-path:inset(0 61.5% 26% 38.1%)}
    82%{opacity:1;clip-path:inset(0 16.4% 26% 38.1%);filter:hue-rotate(0deg)}
    91%{filter:hue-rotate(-52deg) saturate(1.1)}
    100%{opacity:1;clip-path:inset(0 16.4% 26% 38.1%);filter:hue-rotate(0deg)}
}
@keyframes bmdx-mark{
    0%{opacity:0;clip-path:inset(16% 8.4% 27% 83.4%);transform:translate3d(0,7px,0) scale(.9)}
    100%{opacity:1;clip-path:inset(16% 8.4% 27% 83.4%);transform:none}
}
@keyframes bmdx-destination-b{
    0%{opacity:0;clip-path:inset(0 .8% 26% 91.1%);transform:translate3d(7px,0,0)}
    100%{opacity:1;clip-path:inset(0 .8% 26% 91.1%);transform:none}
}
@keyframes bmdx-com{
    0%{opacity:0;clip-path:inset(70% 15% 0 69%);transform:translate3d(0,5px,0)}
    100%{opacity:1;clip-path:inset(70% 15% 0 69%);transform:none}
}
@keyframes bmdx-travel-dot{
    0%{opacity:0;transform:translate3d(0,-50%,0) scale(.75)}
    15%{opacity:1}
    78%{opacity:1;transform:translate3d(930%,-1050%,0) scale(1)}
    100%{opacity:0;transform:translate3d(1030%,-1050%,0) scale(.8)}
}
.bmdx-brand-simple.bmdx-brand-playing.bmdx-brand-anchor>img,.bmdx-brand-simple.bmdx-brand-playing .bmdx-brand-anchor>img{opacity:1;animation:bmdx-logo-simple 1.5s ease both}
.bmdx-brand-simple .bmdx-brand-stage{display:none}
@keyframes bmdx-logo-simple{0%,100%{transform:none;filter:none}42%{transform:translate3d(0,-1px,0) scale(1.012);filter:saturate(1.12)}}

/* --------------------------------------------------------------------------
   Homepage signature typing word.
   -------------------------------------------------------------------------- */
.bmdx-hero-word{display:inline-block;position:relative;color:var(--bmdx-cyan);transition:color .28s ease,opacity .22s ease,transform .22s ease;vertical-align:baseline}
.bmdx-hero-word[data-tone="red"]{color:var(--bmdx-red)}
.bmdx-hero-word[data-tone="purple"]{color:var(--bmdx-purple-light)}
.bmdx-hero-word[data-tone="cyan"]{color:#72ddff}
.bmdx-hero-word[data-tone="sun"]{color:#ffd569}
.bmdx-hero-word.is-typing::after{content:"";display:inline-block;width:.07em;height:.84em;margin-left:.06em;background:currentColor;vertical-align:-.02em;animation:bmdx-caret .72s steps(1,end) infinite}
@keyframes bmdx-caret{50%{opacity:0}}

/* --------------------------------------------------------------------------
   Major headings only. No size or line-height changes = no layout shift.
   -------------------------------------------------------------------------- */
.bmdx-major-heading .bmdx-heading-word{display:inline-block;color:inherit;opacity:0;transform:translate3d(0,.16em,0);will-change:auto}
.bmdx-major-heading.bmdx-heading-seen .bmdx-heading-word{opacity:1;transform:none;animation:bmdx-heading-enter .58s cubic-bezier(.22,.8,.24,1) both;animation-delay:calc(var(--bmdx-word-index) * 48ms)}
.bmdx-major-heading.bmdx-heading-playing .bmdx-heading-word{animation-name:bmdx-heading-color;animation-duration:2.25s;animation-timing-function:ease-in-out;animation-fill-mode:both;animation-delay:calc(var(--bmdx-word-index) * 85ms)}
.bmdx-major-heading.bmdx-heading-playing .bmdx-heading-word[data-tone="cyan"]{--bmdx-word-tone:var(--bmdx-cyan)}
.bmdx-major-heading.bmdx-heading-playing .bmdx-heading-word[data-tone="purple"]{--bmdx-word-tone:var(--bmdx-purple-light)}
.bmdx-major-heading.bmdx-heading-playing .bmdx-heading-word[data-tone="red"]{--bmdx-word-tone:var(--bmdx-red)}
.bmdx-major-heading.bmdx-heading-playing .bmdx-heading-word[data-tone="sun"]{--bmdx-word-tone:var(--bmdx-sun)}
.bmdx-major-heading.bmdx-heading-playing .bmdx-heading-word[data-tone="green"]{--bmdx-word-tone:var(--bmdx-green)}
.bmdx-major-heading-simple.bmdx-heading-seen{animation:bmdx-heading-simple .7s ease both}
@keyframes bmdx-heading-enter{from{opacity:0;transform:translate3d(0,.16em,0)}to{opacity:1;transform:none}}
@keyframes bmdx-heading-color{
    0%,100%{color:inherit;transform:none;text-shadow:none}
    34%{color:var(--bmdx-word-tone);transform:translate3d(0,-.025em,0);text-shadow:0 0 16px rgba(255,255,255,.16)}
    62%{color:inherit;transform:none;text-shadow:none}
}
@keyframes bmdx-heading-simple{from{opacity:.25;transform:translate3d(0,6px,0)}to{opacity:1;transform:none}}

/* --------------------------------------------------------------------------
   Journey Explorer. Rendered outside the sticky header but immediately after it,
   so it stays below the logo/navigation and above the hero image without
   changing menu geometry or sticky-header height.
   -------------------------------------------------------------------------- */
.bmdx-journey{position:relative;box-sizing:border-box;color:var(--bmdx-ink)!important;background:linear-gradient(135deg,#fff 0%,#fbf7fd 56%,#f1fbff 100%)!important;border:1px solid rgba(100,40,153,.18);border-radius:16px;box-shadow:0 8px 26px rgba(33,29,44,.08);overflow:hidden;contain:layout paint style;z-index:1}
.bmdx-journey-in-search{width:100%;margin:12px 0 2px;padding:13px 14px 12px}
.bmdx-journey-standalone,.bmdx-journey-header{width:min(1280px,calc(100% - 28px));margin:12px auto 14px;padding:14px 17px 12px}
.bmdx-journey::after{content:"";position:absolute;right:-42px;top:-60px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(0,174,228,.13),transparent 68%);pointer-events:none}
.bmdx-journey-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(190px,.85fr) minmax(0,2.15fr);gap:20px;align-items:center}
.bmdx-journey-copy{min-width:0}
.bmdx-journey-eyebrow{display:flex;align-items:center;gap:7px;min-width:0}
.bmdx-journey-label{display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border-radius:999px;background:var(--bmdx-purple);color:#fff!important;font-size:.58rem;line-height:1;font-weight:900;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.bmdx-journey-kicker{display:block;min-width:0;color:var(--bmdx-purple)!important;font-size:.62rem;line-height:1.2;font-weight:900;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bmdx-journey-title{display:block;margin-top:5px;color:var(--bmdx-ink)!important;font-size:1rem;line-height:1.18;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bmdx-journey-meta{display:block;margin-top:3px;color:#756a7e!important;font-size:.7rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bmdx-track{position:relative;display:grid;grid-template-columns:repeat(var(--bmdx-stop-count,4),minmax(0,1fr));gap:8px;min-height:64px;align-items:start;padding-top:14px}
.bmdx-track::before{content:"";position:absolute;left:8%;right:8%;top:27px;height:3px;border-radius:999px;background:linear-gradient(90deg,rgba(244,62,55,.45),rgba(245,181,27,.52),rgba(0,174,228,.62),rgba(100,40,153,.62));transform:translateZ(0)}
.bmdx-stop{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;min-width:0;color:var(--bmdx-ink)!important;text-decoration:none!important;font-size:.68rem;font-weight:850;line-height:1.18;text-align:center}
.bmdx-stop-dot{display:block;width:10px;height:10px;margin:8px 0 7px;border:2px solid #fff;border-radius:50%;background:var(--bmdx-purple);box-shadow:0 0 0 2px rgba(100,40,153,.16)}
.bmdx-stop:nth-of-type(3n+2) .bmdx-stop-dot{background:var(--bmdx-cyan);box-shadow:0 0 0 2px rgba(0,174,228,.15)}
.bmdx-stop:nth-of-type(3n+3) .bmdx-stop-dot{background:var(--bmdx-red);box-shadow:0 0 0 2px rgba(244,62,55,.15)}
.bmdx-stop-label{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bmdx-stop[href]:hover .bmdx-stop-label,.bmdx-stop[href]:focus-visible .bmdx-stop-label{color:var(--bmdx-purple)!important;text-decoration:underline;text-underline-offset:3px}
.bmdx-traveller{position:absolute;z-index:4;left:0;top:13px;width:30px;height:30px;transform:translate3d(0,0,0);will-change:transform,opacity;pointer-events:none;opacity:1}
.bmdx-transport-icon{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(0,174,228,.28);border-radius:50%;background:#fff;box-shadow:0 4px 13px rgba(33,29,44,.16);font-size:15px;line-height:1;font-family:system-ui,-apple-system,"Segoe UI Emoji","Apple Color Emoji",sans-serif}
.bmdx-transport-svg{display:block;width:20px;height:20px;color:var(--bmdx-purple);fill:currentColor;overflow:visible;transform-origin:50% 50%;transition:transform .16s ease}
.bmdx-traveller.is-facing-left .bmdx-transport-svg{transform:scaleX(-1)}
.bmdx-transport-name{position:absolute;left:50%;top:-14px;transform:translateX(-50%);display:block;max-width:74px;padding:2px 6px;border:1px solid rgba(100,40,153,.12);border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 2px 7px rgba(33,29,44,.08);color:var(--bmdx-purple);font-size:.46rem;font-weight:900;line-height:1.15;letter-spacing:.02em;white-space:nowrap;text-transform:uppercase}
.bmdx-traveller.is-resetting{opacity:0}
.bmdx-traveller[data-mode="flight"] .bmdx-transport-icon,.bmdx-traveller[data-mode="seaplane"] .bmdx-transport-icon{border-color:rgba(0,174,228,.34);background:#f2fbff}
.bmdx-traveller[data-mode="flight"] .bmdx-transport-svg,.bmdx-traveller[data-mode="seaplane"] .bmdx-transport-svg{color:var(--bmdx-cyan)}
.bmdx-traveller[data-mode="train"] .bmdx-transport-icon,.bmdx-traveller[data-mode="eurorail"] .bmdx-transport-icon,.bmdx-traveller[data-mode="metro"] .bmdx-transport-icon,.bmdx-traveller[data-mode="tram"] .bmdx-transport-icon{border-color:rgba(100,40,153,.30);background:#fbf7ff}
.bmdx-traveller[data-mode="train"] .bmdx-transport-svg,.bmdx-traveller[data-mode="eurorail"] .bmdx-transport-svg,.bmdx-traveller[data-mode="metro"] .bmdx-transport-svg,.bmdx-traveller[data-mode="tram"] .bmdx-transport-svg{color:var(--bmdx-purple)}
.bmdx-traveller[data-mode="car"] .bmdx-transport-icon,.bmdx-traveller[data-mode="coach"] .bmdx-transport-icon{border-color:rgba(244,62,55,.27);background:#fff8f7}
.bmdx-traveller[data-mode="car"] .bmdx-transport-svg,.bmdx-traveller[data-mode="coach"] .bmdx-transport-svg{color:var(--bmdx-red)}
.bmdx-traveller[data-mode="ferry"] .bmdx-transport-icon,.bmdx-traveller[data-mode="speedboat"] .bmdx-transport-icon,.bmdx-traveller[data-mode="cruise"] .bmdx-transport-icon,.bmdx-traveller[data-mode="houseboat"] .bmdx-transport-icon{border-color:rgba(0,174,228,.35);background:#f3fcff}
.bmdx-traveller[data-mode="ferry"] .bmdx-transport-svg,.bmdx-traveller[data-mode="speedboat"] .bmdx-transport-svg,.bmdx-traveller[data-mode="cruise"] .bmdx-transport-svg,.bmdx-traveller[data-mode="houseboat"] .bmdx-transport-svg{color:var(--bmdx-cyan)}

/* Intensity presets only adjust decorative motion, never layout. */
html.bmdx-intensity-minimal .bmdx-brand-stage::after{display:none}
html.bmdx-intensity-minimal .bmdx-transport-name{display:none}
html.bmdx-intensity-minimal .bmdx-major-heading.bmdx-heading-playing .bmdx-heading-word{animation:none;color:inherit}
html.bmdx-intensity-expressive .bmdx-brand-playing.bmdx-brand-anchor>img,html.bmdx-intensity-expressive .bmdx-brand-playing .bmdx-brand-anchor>img{opacity:.08}

/* Hamburger/menu owns the viewport. We only pause our own decoration. */
html.bmdx-motion-paused .bmdx-brand-stage *,
html.bmdx-motion-paused .bmdx-brand-stage::after,
html.bmdx-motion-paused .bmdx-hero-word::after,
html.bmdx-motion-paused .bmdx-major-heading .bmdx-heading-word,
html.bmdx-motion-paused .bmdx-journey .bmdx-traveller{transition:none!important}
body.menu-open .bmdx-journey{pointer-events:none}
html.bmdx-viewport-disabled .bmdx-journey{display:none!important}

@media (max-width:1020px){
    .bmdx-journey-inner{grid-template-columns:1fr;gap:9px}
    .bmdx-journey-copy{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px;align-items:center}
    .bmdx-journey-eyebrow{grid-column:1/-1}
    .bmdx-journey-title{margin:0;font-size:.9rem}
    .bmdx-journey-meta{font-size:.66rem;text-align:right}
    .bmdx-track{min-height:61px}
    .bmdx-stop{font-size:.63rem}
}
@media (max-width:600px){
    .bmdx-journey-in-search{margin-top:10px;padding:11px 9px 9px;border-radius:13px}
    .bmdx-journey-standalone,.bmdx-journey-header{width:calc(100% - 20px);margin:9px auto 11px;padding:11px 10px 9px;border-radius:14px}
    .bmdx-journey-copy{display:block}
    .bmdx-journey-eyebrow{gap:5px}
    .bmdx-journey-label{font-size:.52rem;padding:3px 6px;min-height:20px}
    .bmdx-journey-kicker{font-size:.55rem}
    .bmdx-journey-title{margin-top:5px;font-size:.86rem}
    .bmdx-journey-meta{display:none}
    .bmdx-track{gap:3px;min-height:59px}
    .bmdx-stop{font-size:.57rem}
    .bmdx-stop-label{max-width:22vw}
    .bmdx-traveller{width:26px;height:26px;top:14px}
    .bmdx-transport-icon{width:24px;height:24px;font-size:13px}
    .bmdx-transport-name{top:-13px;font-size:.42rem;padding:1px 4px;max-width:62px}
    .bmdx-brand-playing .bmdx-piece-com{animation:none;opacity:1;clip-path:inset(70% 15% 0 69%)}
    .bmdx-major-heading.bmdx-heading-seen .bmdx-heading-word{animation-delay:calc(var(--bmdx-word-index) * 34ms)}
}

@media (prefers-reduced-motion:reduce){
    .bmdx-brand-stage{display:none!important}
    .bmdx-brand-ready.bmdx-brand-anchor>img,.bmdx-brand-ready .bmdx-brand-anchor>img{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}
    .bmdx-hero-word,.bmdx-traveller,.bmdx-heading-word{animation:none!important;transition:none!important;transform:none!important;opacity:1!important;color:inherit!important}
    .bmdx-hero-word::after{display:none!important}
    .bmdx-traveller{left:50%}
}
