/* YVR 4: the brand intro and two requested homepage scenes only. */
.yvr-brand-loader {
    --loader-exit: 0; background: #06111a; color: #f0e9dc;
    clip-path: polygon(0 0,100% 0,100% calc(100% - var(--loader-exit)*125%),0 calc(100% - var(--loader-exit)*100%));
}
.yvr-brand-loader::before { inset: 0; background: radial-gradient(ellipse at 52% 34%,rgba(170,187,191,.12),transparent 48%),radial-gradient(ellipse at 15% 100%,rgba(201,165,99,.06),transparent 55%); filter: none; opacity: 1; animation: none; }
.yvr-brand-loader::after { inset: 0; background: repeating-linear-gradient(119deg,transparent 0,transparent 15%,rgba(225,206,166,.018) 15.04%,transparent 15.12%,transparent 27%); opacity: 1; animation: none; }
.yvr-loader__light { position: absolute; inset: -65%; z-index: -1; background: linear-gradient(118deg,transparent 44%,rgba(235,220,187,.07) 49%,rgba(217,227,237,.15) 50%,transparent 53%); transform: translateX(-35%) rotate(-4deg); animation: yvr-brand-light 4.4s cubic-bezier(.2,.7,.2,1) both; }
.yvr-loader__identity { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; padding: 30px 24px 90px; }
.yvr-brand-loader .yvr-loader__stage { flex: none; width: clamp(210px,21vw,310px); height: clamp(155px,17vw,220px); margin: 0 0 10px; opacity: 1; transform: none; }
.yvr-brand-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; }
.yvr-loader__mark { position: absolute; inset: 12% 12%; width: 76%; height: 76%; fill: none; stroke: #decba7; stroke-width: .45; stroke-linejoin: round; overflow: visible; }
.yvr-loader__mark path { stroke-dasharray: 1; stroke-dashoffset: 1; animation: yvr-brand-draw 1.8s cubic-bezier(.16,1,.3,1) .2s forwards; }
.yvr-loader__stage.is-webgl .yvr-loader__mark { visibility: hidden; }
.yvr-loader__wordmark { display: flex; gap: .015em; margin: 0; font: 400 clamp(108px,14vw,208px)/.84 Georgia,'Times New Roman',serif; letter-spacing: -.055em; color: #f0e9dc; }
.yvr-loader__wordmark > span { display: block; overflow: clip; padding: .15em .07em; margin: -.15em -.07em; }
.yvr-loader__wordmark i { display: block; font-style: normal; animation: yvr-brand-letter 1.6s cubic-bezier(.16,1,.3,1) .3s both; }
.yvr-loader__wordmark > span:nth-child(2) i { animation-delay: .43s; }
.yvr-loader__wordmark > span:nth-child(3) i { animation-delay: .56s; }
.yvr-loader__name { margin: 28px 0 0; padding-left: .72em; font: 10px/1.4 Arial,sans-serif; letter-spacing: .72em; animation: yvr-brand-caption 1.4s ease .85s both; }
.yvr-loader__rule { width: 38px; height: 1px; background: #bda67d; margin: 27px 0 18px; transform-origin: center; animation: yvr-brand-rule 1.3s ease .9s both; }
.yvr-loader__signature { margin: 0; font: italic 15px/1.6 Georgia,serif; letter-spacing: .025em; color: #c0b5a4; animation: yvr-brand-caption 1.4s ease 1s both; }
.yvr-loader__base { position: absolute; left: clamp(24px,4vw,64px); bottom: 36px; display: flex; align-items: center; gap: 22px; font: 8px/1.4 Arial,sans-serif; letter-spacing: .24em; color: #b7ab97; }
.yvr-brand-loader .yvr-loader__track { width: clamp(82px,11vw,170px); margin: 0; }
.yvr-brand-loader .yvr-loader__skip { right: clamp(24px,4vw,64px); bottom: 26px; }
@keyframes yvr-brand-letter { from { transform: translateY(118%) rotate(5deg); filter: blur(6px); } to { transform: none; filter: none; } }
@keyframes yvr-brand-caption { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes yvr-brand-rule { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes yvr-brand-draw { to { stroke-dashoffset: 0; } }
@keyframes yvr-brand-light { to { transform: translateX(35%) rotate(4deg); } }

/* Photography stays on screen; the lens refracts the existing active CMS image. */
.yvr-motion-page .hero.yvr-hero-editorial { --hero-depth: 0; height: 100svh; min-height: 720px; overflow: clip; isolation: isolate; }
.yvr-motion-page .hero.yvr-hero-editorial .hero__slides { z-index: 1; }
.yvr-motion-page .hero.yvr-hero-editorial .hero-slide > img { animation: none; transform: scale(calc(1.02 + var(--hero-depth)*.065)); }
.yvr-motion-page .yvr-hero-lens { position: absolute; inset: 0; z-index: 1; opacity: 0; pointer-events: none; }
.yvr-motion-page .yvr-hero-lens.is-webgl { opacity: 1; }
.yvr-motion-page .hero.yvr-hero-editorial .hero-slide__shade { display: block; z-index: 2; background: linear-gradient(90deg,rgba(3,9,16,.67),rgba(3,9,16,.2) 48%,transparent 75%); }
.yvr-motion-page .hero.yvr-hero-editorial .hero-slide__content { z-index: 4; padding-top: max(205px,25svh); padding-bottom: 130px; align-items: center; pointer-events: none; }
.yvr-motion-page .hero.yvr-hero-editorial .hero-copy { position: relative; z-index: 4; width: min(620px,48vw); transform: translateY(calc(var(--hero-depth)*-34px)); pointer-events: auto; }
.yvr-motion-page .hero.yvr-hero-editorial .hero-copy h1 { font-size: clamp(46px,5.1vw,76px); line-height: 1.02; letter-spacing: -.043em; }
.yvr-motion-page .hero.yvr-hero-editorial .hero-copy h1 em { color: #dcc9a6; }
.yvr-motion-page .hero.yvr-hero-editorial .hero-eyebrow,.yvr-motion-page .hero.yvr-hero-editorial h1,.yvr-motion-page .hero.yvr-hero-editorial .hero-intro,.yvr-motion-page .hero.yvr-hero-editorial .hero-actions { transition: none; opacity: 1; }
.yvr-motion-page .hero.yvr-hero-editorial .hero-intro { max-width: 445px; line-height: 1.65; font-size: clamp(15px,1.2vw,18px); }
.yvr-motion-page .hero.yvr-hero-editorial .hero-progress { z-index: 6; }
.yvr-motion-page .hero.yvr-hero-editorial .hero-scroll { z-index: 6; }
.yvr-motion-page .hero.yvr-hero-editorial .yvr-motion-word { perspective: 1100px; }
.yvr-hero-shade { position: absolute; inset: 0; z-index: 3; background: linear-gradient(90deg,rgba(3,9,16,.58),rgba(3,9,16,.08) 52%,transparent 77%),linear-gradient(0deg,rgba(3,9,16,.36),transparent 30%); pointer-events: none; }
.yvr-hero-shutter { position: absolute; inset: 0; z-index: 3; background: #06111a; clip-path: polygon(0 0,100% 0,100% 100%,0 100%); pointer-events: none; }
.yvr-hero-shutter.is-finished { display: none; }

/* One photographic ring owns the visual. The fallback and canvas cannot overlap. */
.yvr-motion-page .yvr-distinction.yvr-signature { --signature-open: 0; background: #f2eee6; min-height: clamp(620px,54vw,800px); }
.yvr-motion-page .yvr-signature .yvr-distinction__visual { left: 48%; overflow: hidden; background: #eee5d6; }
/*.yvr-motion-page .yvr-signature .yvr-distinction__background { filter: blur(2px); object-position: 72% center; opacity: .74; }*/
.yvr-motion-page .yvr-signature .yvr-distinction__veil { background: linear-gradient(90deg,#f2eee6 3%,rgba(242,238,230,.96) 39%,rgba(242,238,230,.15) 64%,transparent 80%); }
.yvr-signature__frame { position: absolute; inset: 9% 10% 10% 9%; z-index: 1;  border-radius: 44% 44% 0 0; pointer-events: none; }
.yvr-signature__frame::before { content: ''; position: absolute; inset: 12px; border: 1px solid rgba(154,123,76,.09); border-radius: inherit; }
.yvr-signature__beam { position: absolute; inset: -30%; z-index: 2; background: linear-gradient(118deg,transparent 43%,rgba(255,255,255,.22) 50%,transparent 56%); transform: translateX(calc(-34% + var(--signature-open)*68%)); mix-blend-mode: soft-light; pointer-events: none; }
.yvr-signature__reveal { position: absolute; z-index: 3; inset: 6% 2%; overflow: hidden; }
.yvr-signature__ring { position: absolute; inset: 0; overflow: hidden; }
.yvr-signature__ring > img { display: block; width: 100%; height: 100%; object-fit: contain; transform: scale(.87); filter: drop-shadow(0 18px 14px rgba(79,57,26,.13)); }
.yvr-signature__ring.is-webgl > img { visibility: hidden; }
.yvr-signature__caption { position: absolute; z-index: 4; left: 0; right: 0; bottom: 6%; display: flex; align-items: center; justify-content: center; gap: 16px; font: 8px/1.4 Arial,sans-serif; letter-spacing: .24em; color: #81705a; }
.yvr-signature__caption::before,.yvr-signature__caption::after { content: ''; width: 24px; height: 1px; background: rgba(132,110,78,.35); }
.yvr-motion-page .yvr-signature .yvr-distinction__container { padding-block: 94px; }
.yvr-motion-page .yvr-signature .yvr-distinction__content { width: 43%; }
.yvr-motion-page .yvr-signature .yvr-distinction__content h2 { font-size: clamp(36px,4.2vw,65px); line-height: 1.04; }

@media (max-width: 1023px) and (min-width: 768px) {
    .yvr-motion-page .hero.yvr-hero-editorial .hero-copy { width: 54vw; }
    .yvr-motion-page .hero.yvr-hero-editorial .hero-copy h1 { font-size: 56px; }
    .yvr-motion-page .yvr-signature .yvr-distinction__content { width: 45%; }
    .yvr-motion-page .yvr-signature .yvr-distinction__content h2 { font-size: 43px; }
}
@media (max-width: 767px) {
    .yvr-loader__identity { padding-bottom: 84px; }
    .yvr-brand-loader .yvr-loader__stage { width: 216px; height: 160px; margin-bottom: 18px; }
    .yvr-loader__wordmark { font-size: clamp(108px,34vw,150px); }
    .yvr-loader__name { font-size: 9px; margin-top: 24px; }
    .yvr-loader__base { bottom: 35px; gap: 12px; }
    .yvr-loader__base > span:first-child { display: none; }
    .yvr-motion-page .hero.yvr-hero-editorial { height: max(760px,100svh); min-height: 760px; }
    .yvr-motion-page .hero.yvr-hero-editorial .hero-slide > img { object-position: 66% center; }
    .yvr-motion-page .hero.yvr-hero-editorial .hero-slide__content { padding: 132px 24px 112px; align-items: flex-end; }
    .yvr-motion-page .hero.yvr-hero-editorial .hero-copy { width: 100%; max-width: 470px; }
    .yvr-motion-page .hero.yvr-hero-editorial .hero-copy h1 { font-size: clamp(36px,10.5vw,53px); line-height: 1.03; }
    .yvr-motion-page .hero.yvr-hero-editorial .hero-intro { font-size: 14px; max-width: 365px; line-height: 1.55; }
    .yvr-motion-page .hero.yvr-hero-editorial .hero-eyebrow { font-size: 8px; margin-bottom: 17px; }
    .yvr-motion-page .hero.yvr-hero-editorial .hero-actions { gap: 18px; margin-top: 23px; flex-wrap: wrap; }
    .yvr-hero-shade { background: linear-gradient(0deg,rgba(3,9,16,.96),rgba(3,9,16,.7) 27%,rgba(3,9,16,.04) 72%); }
    .yvr-motion-page .hero.yvr-hero-editorial .hero-slide__shade { background: linear-gradient(0deg,rgba(3,9,16,.88),transparent 75%); }
    .yvr-motion-page .yvr-distinction.yvr-signature { min-height: 0; }
    .yvr-motion-page .yvr-signature .yvr-distinction__visual { position: relative; inset: auto; height: auto; aspect-ratio: 1.12; width: 100%; }
    .yvr-motion-page .yvr-signature .yvr-distinction__container { padding: 40px 24px 58px; }
    .yvr-motion-page .yvr-signature .yvr-distinction__content { width: 100%; }
    .yvr-motion-page .yvr-signature .yvr-distinction__content h2 { font-size: clamp(32px,9vw,45px); }
    .yvr-signature__reveal { inset: 4% 4% 5%; }
    .yvr-signature__caption { bottom: 5%; }
}
@media (max-height: 660px) and (min-width: 768px) {
    .yvr-loader__identity { padding: 15px 24px 72px; }
    .yvr-brand-loader .yvr-loader__stage { width: 205px; height: 140px; margin: 0; }
    .yvr-loader__wordmark { font-size: 125px; }
    .yvr-loader__name { margin-top: 22px; }
    .yvr-loader__rule { margin: 20px 0 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .yvr-brand-loader { display: none !important; }
    .yvr-motion-page .yvr-hero-shutter { display: none; }
    .yvr-motion-page .hero.yvr-hero-editorial .hero-slide > img,.yvr-motion-page .hero.yvr-hero-editorial .hero-copy { transform: none; }
}
