/* Danitzah’s original pattern is used as supplied by the brand. */
.header,.hero,.contact,.boarding-pass{background-image:url('assets/DESSIN-GEEL-lt.gif');background-repeat:repeat;background-size:550px 550px}
.hero{background-position:0 -95px}
.hero .hero-slogan{-webkit-text-stroke:1.5px var(--cream);text-shadow:3px 4px 0 var(--cream)}
.assortment .tabs{justify-content:center}
.assortment-note{text-align:center}
/* Keep the travel decorations in the margins around the story. */
.journey-world>.passport-stamp{position:absolute;left:var(--stamp-x,-130px);top:var(--stamp-y,300px);right:auto;bottom:auto;margin:0;width:110px;height:110px;padding-top:29px;font-size:22px;opacity:.8;z-index:0;pointer-events:none}
.journey-world>.passport-stamp small{font-size:7px;letter-spacing:1.5px}
.journey .flight-cloud{left:var(--cloud-x);top:var(--cloud-y);right:auto;transform:none;opacity:.7;pointer-events:none}
.journey .cloud-two{width:155px;height:40px}
@media(max-width:1399px){.journey .flight-cloud{display:none}.journey-world>.passport-stamp{width:96px;height:96px;padding-top:24px;font-size:19px}}
@media(max-width:720px){.journey-world>.passport-stamp{display:none}}
.island-trail{position:fixed;inset:0;width:100%;height:100%;z-index:80;pointer-events:none;overflow:hidden;opacity:0;contain:strict}
.island-trail svg{display:block;width:100%;height:100%;overflow:visible}
.island-trail .trail-cord{fill:none;stroke-linecap:round;stroke-linejoin:round}
.island-trail .trail-cord-outline{stroke:#fff9ec;stroke-width:4}
.island-trail .trail-cord-ink{stroke:#31152e;stroke-width:1.2}
.motion-off .island-trail,.intro-active .island-trail{display:none}
@media(pointer:coarse),(hover:none),(max-width:720px),(prefers-reduced-motion:reduce){.island-trail{display:none}}
/* Move only the wave silhouette so the original pattern continues seamlessly. */
@supports (mask-image:linear-gradient(white,white)){
  .journey>.wave-edge{background:var(--yellow) url('assets/DESSIN-GEEL-lt.gif') repeat 0 var(--hero-wave-pattern-y,0px)/550px 550px;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2880 160' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 80C240 10 480 10 720 80S1200 150 1440 80C1680 10 1920 10 2160 80S2640 150 2880 80V0H0Z'/%3E%3C/svg%3E");mask-size:200% 100%;mask-repeat:no-repeat;mask-position:0 0;animation:patterned-wave-drift 18s linear infinite}
  .journey>.wave-edge>svg{visibility:hidden}
}
@keyframes patterned-wave-drift{to{mask-position:100% 0}}
@media(max-width:720px){.hero .hero-slogan{-webkit-text-stroke:1px var(--cream);text-shadow:2px 3px 0 var(--cream)}.journey>.wave-edge{background-size:440px 440px}}
.hero-balance{position:absolute;top:44%;right:7.5%;width:clamp(140px,12.6vw,210px);z-index:2;text-align:center;transform:rotate(5deg);pointer-events:none}
.hero-balance img{width:100%;height:auto}
.hero-balance>span{display:block;font:700 clamp(19px,1.9vw,28px)/1.1 var(--script);white-space:nowrap;margin-top:9px;transform:rotate(-8deg)}
.site-loader{display:none;position:fixed;inset:0;z-index:200;background:#ffe527 url('assets/DESSIN-GEEL-lt.gif') repeat center/550px 550px;color:var(--ink,#31152e);place-items:center;padding:50px 24px 100px;isolation:isolate}
.intro-active{overflow:hidden}
.intro-active .site-loader{display:grid}
.intro-active .site-loader~.header,.intro-active .site-loader~main,.intro-active .site-loader~footer,.intro-active .motion-control{pointer-events:none}
.welcome-content{text-align:center;display:flex;flex-direction:column;align-items:center}
.welcome-logo{width:clamp(180px,20vw,250px);height:auto;margin-bottom:34px}
.welcome-message{font-family:var(--display,'Arial Black',sans-serif);font-size:clamp(85px,11vw,150px);font-weight:400;line-height:1;letter-spacing:-.03em;transform:translateY(18px) scale(.96);opacity:0;transition:transform .55s cubic-bezier(.2,.9,.25,1.1),opacity .35s}
.welcome-message>span{display:block}
.welcome-message>span:last-child{color:#bb176a}
.welcome-exclamation{color:var(--ink,#31152e)}
.welcome-ready .welcome-message{transform:none;opacity:1}
.welcome-caption{font:700 clamp(25px,3vw,35px)/1.2 var(--script,Georgia,serif);margin-top:30px;transform:rotate(-3deg)}
.welcome-skip{position:absolute;bottom:35px;right:35px;display:flex;align-items:center;gap:16px;background:var(--cream,#fff9ec);border:1px solid currentColor;border-radius:50px;padding:11px 18px;font:700 11px var(--body,Arial,sans-serif);color:inherit;cursor:pointer}
.welcome-skip:focus-visible{outline:3px solid #3531c9;outline-offset:5px}
.welcome-skip span{font-size:19px;line-height:1}
.welcome-progress{position:absolute;left:0;right:0;bottom:0;height:7px;background:#31152e15;overflow:hidden}
.welcome-progress>span{display:block;width:100%;height:100%;background:#bb176a;transform:scaleX(.03);transform-origin:left;animation:welcome-progress 2.6s cubic-bezier(.15,.55,.25,1) forwards}
.intro-leaving .site-loader{transform:translateY(-105%);transition:transform .65s cubic-bezier(.7,0,.25,1)}
.intro-leaving .welcome-progress>span{animation:none;transform:scaleX(1)}
@keyframes welcome-progress{from{transform:scaleX(.03)}to{transform:scaleX(.9)}}
@media(min-width:721px) and (max-width:900px){.hero-balance{width:120px;right:5%;top:44%}.hero-balance>span{font-size:19px}}
@media(max-width:720px){.header,.hero,.contact,.boarding-pass{background-size:440px 440px}.hero{background-position:0 -82px}.hero-balance{width:95px;right:5%;top:245px;transform:rotate(7deg)}.hero-balance>span{display:none}.site-loader{background-size:440px 440px;padding-bottom:110px}.welcome-logo{margin-bottom:30px}.welcome-message{font-size:clamp(80px,22vw,125px)}.welcome-caption{font-size:28px;margin-top:27px}.welcome-skip{right:50%;transform:translateX(50%);bottom:32px;white-space:nowrap;font-size:10px}.welcome-progress{height:6px}}
@media(max-width:480px){.hero-balance{width:78px;right:1.5%;top:210px}}
@media(max-height:560px){.site-loader{padding:25px 20px 65px}.welcome-logo{width:150px;margin-bottom:15px}.welcome-message{font-size:64px;line-height:.95}.welcome-caption{font-size:24px;margin-top:18px}.welcome-skip{bottom:18px}}
@media(prefers-reduced-motion:reduce){.site-loader{display:none!important}.intro-active{overflow:auto}.intro-active .site-loader~.header,.intro-active .site-loader~main,.intro-active .site-loader~footer,.intro-active .motion-control{pointer-events:auto}}

/* Shared LEVREN maker signature. */
.levren-signature{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:12px;font-size:12px;color:var(--ink)}
.levren-signature-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:3px}
.levren-signature-link img{display:block;width:100px;height:auto}
.levren-signature-link:hover{opacity:.7}

/* Vector icons keep the same shapes and brand colours on every device. */
svg.theme-icon{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.15em;overflow:visible}
.theme-arrow{pointer-events:none}
.journey-arrival>.theme-arrow{width:1.35em;height:1.35em;stroke-width:1.4}
.social-scribble .theme-arrow{stroke-width:1.4}
.video-play svg.theme-icon{width:1em;height:1em}

/* Two identical groups, including their trailing space, make a seamless loop. */
.ticker-voyage>.marquee-track,.closing-marquee>.marquee-track{display:flex;width:max-content;max-width:none;gap:0;animation:brand-marquee 45s linear infinite;will-change:transform}
.marquee-group{display:flex;align-items:center;flex:0 0 auto;gap:var(--marquee-gap,35px);padding-right:var(--marquee-gap,35px);white-space:nowrap}
.ticker-voyage .marquee-group>span{font:inherit;color:var(--ink)}
.ticker-voyage .theme-spark{width:.62em;height:.62em;color:var(--pink)}
.closing-marquee{display:block;--marquee-gap:50px}
.closing-marquee>.marquee-track{font:clamp(36px,6.5vw,100px)/1.15 var(--display);letter-spacing:-.03em;animation-duration:30s}
.closing-marquee .marquee-group{min-width:100vw;justify-content:center}
@keyframes brand-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:720px){.ticker-voyage{--marquee-gap:20px}.closing-marquee>.marquee-track{font-size:37px}.closing-marquee{--marquee-gap:30px}}
@media(prefers-reduced-motion:reduce){.ticker-voyage>.marquee-track,.closing-marquee>.marquee-track{animation:none;will-change:auto}}
.motion-off .marquee-track{will-change:auto}
