/* YVR motion 3. Shared frontend effects; readable content is the default. */
html.yvr-loading, html.yvr-loading body { overflow: hidden; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.yvr-motion-page { --yvr-motion-gold: #d8b985; }
.yvr-motion-page .site-header { opacity: 1; transform: none; }
.yvr-motion-page .yvr-motion-word {
    display: inline-block; max-width: 100%; overflow: clip; vertical-align: bottom;
    padding-block: .16em .2em; margin-block: -.16em -.2em;
    perspective: 700px; overflow-wrap: normal; word-break: normal; hyphens: none;
}
.yvr-motion-page .yvr-motion-word__inner { display: inline-block; transform-origin: 50% 100%; }
.yvr-motion-page .yvr-motion-char { display: inline-block; transform-origin: 50% 100%; }
.yvr-motion-page .yvr-motion-mask { overflow: hidden; }
.yvr-motion-page .yvr-motion-line { transform-origin: left center; }
.yvr-motion-page .yvr-motion-managed { visibility: visible !important; animation: none !important; transition: none !important; }
.yvr-motion-page .yvr-motion-managed.wow { visibility: visible !important; }
.yvr-motion-page .yvr-motion-image { transform-origin: center; }

/* One transparent renderer; every draw is clipped to a reserved visual area. */
.yvr-jewel-renderer { position: fixed; inset: 0; display: block; width: 100%; height: 100%; z-index: 8; pointer-events: none; }
.nav-open .yvr-jewel-renderer, .search-open .yvr-jewel-renderer,
.modal-open .yvr-jewel-renderer, .yvr-modal-lock .yvr-jewel-renderer,
.yvr-modal-open .yvr-jewel-renderer, .sc-catalog-filter-open .yvr-jewel-renderer,
.sc-catalog-sheet-open .yvr-jewel-renderer, .sc-buy-open .yvr-jewel-renderer,
.sc-detail-lock .yvr-jewel-renderer, .yc-modal-open .yvr-jewel-renderer,
.yvr-payment-busy .yvr-jewel-renderer { visibility: hidden; }
.yvr-motion-page .yvr-jewel-stage { position: relative; isolation: isolate; overflow: hidden; pointer-events: none; }
.yvr-motion-page [data-yvr-jewel] { display: none; }
.yvr-motion-page [data-yvr-jewel].yvr-jewel-prepared { display: block; }
.yvr-motion-page .yvr-header-jewel { width: min(100%, 380px); height: 156px; margin: -22px auto 8px; }
.yvr-motion-page .yvr-jewel-stage::before {
    content: ''; position: absolute; inset: 10% 15%; border-radius: 50%; z-index: -1;
    background: radial-gradient(ellipse, rgba(128,183,224,.15), transparent 69%);
    transform: scaleY(.65); pointer-events: none;
}
.yvr-motion-page .yvr-jewel-stage[data-yvr-theme="light"]::before { background: radial-gradient(ellipse, rgba(195,153,88,.12), transparent 69%); }
.yvr-motion-page .yvr-jewel-stage::after {
    content: ''; position: absolute; left: 32%; right: 32%; bottom: 9%; height: 4%;
    background: rgba(0,0,0,.14); border-radius: 50%; filter: blur(8px); opacity: .45;
}
.yvr-motion-page .yvr-jewel-fallback { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .85; }
.yvr-motion-page .yvr-jewel-stage.is-webgl .yvr-jewel-fallback { visibility: hidden; }
.yvr-motion-page .yvr-cat-heading.has-jewel-visual .yvr-cat-diamond,
.yvr-motion-page .yvr-best-sellers__header.has-jewel-visual > .yvr-best-sellers__diamond { display: none; }
.yvr-motion-page [data-yvr-section="categories"], .yvr-motion-page [data-yvr-section="products"] { position: relative; isolation: isolate; }
.yvr-motion-page .yvr-style-head { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); align-items: center; gap: 32px; margin-bottom: 42px; }
.yvr-motion-page .yvr-style-head > .yvr-jewel-stage { height: 220px; }
.yvr-motion-page .yvr-style-head > .s-title-2 { min-width: 0; margin: 0; }
.yvr-motion-page .yvr-offer-jewel { width: min(100%, 280px); height: 118px; margin: -12px auto 14px; }
.yvr-motion-page .yvr-testimonial-jewel { width: min(100%, 380px); height: 170px; margin: 16px auto 12px; }
.yvr-motion-page .yvr-journal-jewel { width: min(100%, 350px); height: 145px; margin: 0 auto 12px; }

/* Preloader: cut glass, moving softboxes and a real rotating brilliant cut. */
.yvr-diamond-loader[hidden] { display: none !important; }
.yvr-diamond-loader {
    position: fixed; inset: 0; z-index: 999999; overflow: hidden; isolation: isolate;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    color: #f6efe2; background: #030a13;
}
.yvr-diamond-loader::before {
    content: ''; position: absolute; inset: -10%; z-index: -1;
    background: url('../images/motion/studio-dark-v3.webp') 58% 50% / cover;
    filter: blur(5px); opacity: .64;
    animation: yvr-studio-breathe 5s ease-in-out infinite alternate;
}
.yvr-diamond-loader::after {
    content: ''; position: absolute; inset: 0; z-index: -1; opacity: .3;
    background: linear-gradient(180deg, rgba(3,8,15,.15), rgba(3,8,15,.65));
    animation: yvr-studio-light 6s ease-in-out infinite alternate;
}
.yvr-loader__brand { position: absolute; top: clamp(25px, 5svh, 58px); margin: 0; font: 400 30px/1 Georgia,serif; letter-spacing: .21em; text-align: center; }
.yvr-loader__brand span { display: block; margin-top: 10px; font: 8px/1.4 Arial,sans-serif; letter-spacing: .5em; }
.yvr-loader__halo { display: none; }
.yvr-loader__halo::before, .yvr-loader__halo::after { content: ''; position: absolute; inset: 22px; border: 1px solid rgba(216,185,133,.08); border-radius: 50%; }
.yvr-loader__halo::after { inset: -32px; border-color: rgba(180,210,237,.05); }
.yvr-loader__stage { position: relative; width: min(90vw, 580px); height: min(57svh, 470px); min-height: 230px; }
.yvr-loader__stage canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.yvr-loader__fallback { position: absolute; width: 88%; height: 100%; top: 0; left: 6%; object-fit: contain; filter: drop-shadow(0 18px 35px rgba(0,0,0,.45)); animation: yvr-artwork-drift 5s ease-in-out infinite; }
.yvr-loader__stage.is-webgl .yvr-loader__fallback { visibility: hidden; }
.yvr-loader__copy { position: relative; text-align: center; margin-top: -8px; }
.yvr-loader__copy p { margin: 0 0 21px; font: 400 clamp(25px, 3vw, 40px)/1.2 Georgia,serif; letter-spacing: -.025em; }
.yvr-loader__copy em { color: #e6c891; }
.yvr-loader__track { display: block; width: 210px; height: 1px; margin: 0 auto 16px; background: rgba(235,219,190,.16); overflow: hidden; }
.yvr-loader__track i { display: block; width: 100%; height: 100%; background: #ead6ae; transform: scaleX(.02); transform-origin: left; }
.yvr-loader__detail { font: 8px/1.8 Arial,sans-serif; letter-spacing: .27em; color: #a5b5c2; }
.yvr-loader__percent { position: absolute; bottom: 29px; left: 34px; font: 10px/1.5 Arial,sans-serif; letter-spacing: .15em; color: #e4d1ad; }
.yvr-loader__skip { position: absolute; right: 32px; bottom: 26px; padding: 10px 0; color: #dfd3bd; font: 10px/1.5 Arial,sans-serif; letter-spacing: .08em; background: none; border: 0; border-bottom: 1px solid #756a54; }
.yvr-loader__skip span { margin-left: 20px; }
.yvr-loader__skip:focus-visible { outline: 2px solid #d8b985; outline-offset: 6px; }

/* The portrait has faded completely before the centre jewel is revealed. */
.yvr-motion-page .yvr-cinema-stage { position: relative; width: 100%; }
.yvr-motion-page .yvr-cinema-stage.is-active { height: 238svh; }
.yvr-motion-page .hero.yvr-cinema-ready {
    position: sticky; top: 0; width: 100%; height: 100svh; min-height: 0; max-height: none;
    overflow: hidden; isolation: isolate; background: #030b15;
    --cinema-copy: 1; --cinema-shift: 0px; --cinema-bg-scale: 1.02; --cinema-photo: 1; --cinema-dark: 0; --cinema-jewel-alpha: 0;
}
.yvr-motion-page .hero.yvr-cinema-ready .hero__slides { position: absolute; inset: 0; z-index: 1; opacity: var(--cinema-photo); }
.yvr-motion-page .hero.yvr-cinema-ready .hero-slide > img { animation: none !important; transform: scale(var(--cinema-bg-scale)) !important; transform-origin: 65% 45%; }
.yvr-motion-page .hero.yvr-cinema-ready .hero-copy { opacity: var(--cinema-copy); transform: translateY(var(--cinema-shift)); width: min(620px, 48vw); max-width: 620px; }
.yvr-motion-page .hero.yvr-cinema-ready .hero-progress, .yvr-motion-page .hero.yvr-cinema-ready .hero-scroll { opacity: var(--cinema-copy); z-index: 5; }
.yvr-motion-page .hero.yvr-cinema-ready .hero-slide__shade { display: block !important; background: linear-gradient(90deg,rgba(3,10,20,.48),transparent 80%) !important; }
.yvr-motion-page [data-hero-atmosphere] { display: none; }
.yvr-motion-page .yvr-cinema-ready [data-hero-atmosphere] { display: block; position: absolute; inset: 5% 5% 6%; pointer-events: none; }
.yvr-motion-page .yvr-cinema-veil { position: absolute; inset: -18px; z-index: 2; background: linear-gradient(180deg,rgba(3,8,15,.28),rgba(3,8,15,.6)), url('../images/motion/studio-dark-v3.webp') 50% 50% / cover; filter: blur(5px); opacity: var(--cinema-dark); pointer-events: none; overflow: hidden; }
.yvr-motion-page .yvr-cinema-veil::before { content: ''; position: absolute; inset: -35%; background: conic-gradient(from 35deg at 50% 50%,transparent,rgba(119,167,207,.09),transparent 23%,transparent 54%,rgba(215,184,125,.06),transparent 85%); animation: yvr-studio-light 14s ease-in-out infinite alternate; }
.yvr-motion-page .yvr-cinema-aura { display: none; }
.yvr-motion-page .yvr-cinema-aura::before, .yvr-motion-page .yvr-cinema-aura::after { content: ''; position: absolute; inset: 27px; border: 1px solid rgba(222,197,154,.045); border-radius: inherit; }
.yvr-motion-page .yvr-cinema-aura::after { inset: -30px; }

/* Distinction must stack on phones. The legacy section is display:flex. */
.yvr-motion-page .yvr-distinction { display: block; }
.yvr-motion-page .yvr-distinction__container { width: min(100%, 1500px); }
.yvr-motion-page .yvr-distinction__content { min-width: 0; width: 44%; padding-left: 0; }
.yvr-motion-page .yvr-distinction__content h2 { overflow-wrap: normal; word-break: normal; font-size: clamp(34px,4vw,62px); }
.yvr-motion-page .yvr-distinction__jewel { position: absolute; left: 53%; right: 3%; top: 6%; bottom: 7%; }
.yvr-motion-page .yvr-distinction__jewel::before { inset: 22% 10%; }
.yvr-motion-page .yvr-distinction__jewel .yvr-jewel-fallback { visibility: hidden; }
/*.yvr-motion-page .yvr-distinction__background { filter: blur(2px); }*/
.yvr-motion-page .yvr-distinction.has-jewel-scene .yvr-product { visibility: hidden; }
.yvr-motion-page .yvr-product__motion { transform: none; }
.yvr-motion-page .yvr-product__shine { animation: none; }

/* Only inner media move: Swiper owns slide positions and every existing control. */
.yvr-motion-page .yvr-cat-media, .yvr-motion-page .box_collection--V02 .image,
.yvr-motion-page .bn_image, .yvr-motion-page .card_product-wrapper, .yvr-motion-page .entry_image .image { overflow: hidden; }
.yvr-motion-page .yvr-cat-media img { transform-origin: center; }
.yvr-motion-page .yvr-product-card__media { isolation: isolate; }
.yvr-motion-page .yvr-product-card__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(118deg, transparent 29%, rgba(255,255,255,.36) 47%, transparent 62%); transform: translateX(-120%); pointer-events: none; z-index: 1; }
@media (hover:hover) and (pointer:fine) {
    .yvr-motion-page .yvr-product-card:hover .yvr-product-card__media::after { animation: yvr-card-light 1.1s ease both; }
}
.yvr-motion-page .yvr-best-sellers__rule { transform-origin: center; }
@keyframes yvr-card-light { to { transform: translateX(120%); } }
@keyframes yvr-studio-breathe { to { transform: scale(1.09); opacity: .8; } }
@keyframes yvr-studio-light { from { transform: translateX(-5%) rotate(-7deg); } to { transform: translateX(5%) rotate(12deg); } }
@keyframes yvr-fallback-turn { 0% { transform: perspective(600px) rotateY(-32deg) rotateZ(-8deg) translateY(8px); } 50% { transform: perspective(600px) rotateY(32deg) rotateZ(5deg) translateY(-9px); } 100% { transform: perspective(600px) rotateY(-32deg) rotateZ(-8deg) translateY(8px); } }
@keyframes yvr-artwork-drift { 0%,100% { transform: perspective(1000px) rotateY(-10deg) rotateX(3deg) rotateZ(-3deg) translateY(5px); } 50% { transform: perspective(1000px) rotateY(10deg) rotateX(-3deg) rotateZ(3deg) translateY(-6px); } }

/* The photographic gem remains visible until the first real WebGL frame. */
.yvr-motion-page .yvr-cinema-fallback { position: absolute; inset: 0; margin: auto; width: min(70%,520px); height: 80%; object-fit: contain; opacity: var(--cinema-jewel-alpha,0); }
.yvr-motion-page [data-hero-atmosphere].is-webgl .yvr-cinema-fallback { visibility: hidden; }
.yvr-motion-page .yvr-cat-heading .yvr-cat-diamond,
.yvr-motion-page .yvr-best-sellers__header .yvr-best-sellers__diamond { display: none; }
.yvr-motion-page .yvr-motion-open { transform-origin: 50% 65%; }

/* The footer keeps the existing CMS columns, social links and mobile accordions. */
.tf-footer.yvr-footer { position: relative; isolation: isolate; overflow: hidden; background: #050b13; color: #eae3d8; }
.tf-footer.yvr-footer::before, .tf-footer.yvr-footer::after, .tf-footer.yvr-footer .yvr-lux-decor { display: none; }
.yvr-footer .yvr-footer-studio { position: absolute; z-index: -1; inset: -8%; background: linear-gradient(90deg,rgba(3,8,15,.84),rgba(3,8,15,.52)),url('../images/motion/studio-dark-v3.webp') 50% 50% / cover; opacity: .75; filter: blur(3px); pointer-events: none; }
.yvr-footer .yvr-footer-masthead { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 8%; padding: 78px 0 65px; border-bottom: 1px solid rgba(230,210,170,.23); }
.yvr-footer .yvr-footer-wordmark { display: inline-flex; flex-direction: column; width: fit-content; color: #f2e7d3; }
.yvr-footer .yvr-footer-wordmark__name { display: block; font: 400 100px/.82 Georgia,'Times New Roman',serif; letter-spacing: -.065em; }
.yvr-footer .yvr-footer-wordmark__detail { display: block; margin: 29px 0 0 10px; font: 9px/1.8 Arial,sans-serif; letter-spacing: .46em; }
.yvr-footer .yvr-footer-invitation { justify-self: end; }
.yvr-footer .yvr-footer-eyebrow { margin: 0 0 20px; color: #c8b897; font: 9px/1.7 Arial,sans-serif; letter-spacing: .23em; text-transform: uppercase; }
.yvr-footer .yvr-footer-invitation h2 { margin: 0 0 27px; color: #f3ebdf; font: 400 clamp(30px,3.6vw,48px)/1.08 Georgia,serif; letter-spacing: -.035em; }
.yvr-footer .yvr-footer-invitation h2 em { color: #d5b87e; }
.yvr-footer .yvr-footer-collection { display: inline-flex; align-items: center; gap: 35px; padding: 12px 0; border-bottom: 1px solid #ac9061; color: #e9d8b6; font: 10px/1.5 Arial,sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.yvr-footer .yvr-footer-collection span { font-size: 22px; }
.tf-footer.yvr-footer .footer-body {    padding-block: 30px 9px !important;}
.tf-footer.yvr-footer .footer-inner-wrap { display: grid !important; grid-template-columns: 1.25fr .75fr .75fr 1.1fr; align-items: start; gap: clamp(25px,4vw,62px); padding:0px; }
.tf-footer.yvr-footer .footer-infor, .tf-footer.yvr-footer .footer-col-block { width: 100%; max-width: none; padding: 0; }
.tf-footer.yvr-footer .footer-heading { color: #d5bb8c !important; font: 11px/1.6 Arial,sans-serif; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 25px; }
.tf-footer.yvr-footer .footer-menu-list a, .tf-footer.yvr-footer .footer-menu-list li, .tf-footer.yvr-footer .yvr-footer-description { color: #fff !important; font-size: 15px; line-height: 1.9; }
.tf-footer.yvr-footer .footer-menu-list li { margin-bottom: 8px; }
.tf-footer.yvr-footer .footer-menu-list, .tf-footer.yvr-footer .yvr-footer-description { overflow-wrap: anywhere; }
.tf-footer.yvr-footer .footer-menu-list a:hover { color: #f0d7a5; }
.tf-footer.yvr-footer .tf-social-icon { gap: 10px; margin-top: 30px; }
.tf-footer.yvr-footer .tf-social-icon a { width: 38px; height: 38px; border-color: rgba(223,206,173,.25); color: #dcc79f; background: rgba(255,255,255,.02); }
.tf-footer.yvr-footer .footer-bottom { background: rgba(1,5,10,.28); border-top: 1px solid rgba(230,210,170,.15); }
.tf-footer.yvr-footer .footer-bottom-wrap { padding-block: 15px; }
.tf-footer.yvr-footer .footer-bottom p { color: #919ca9; font-size: 11px; letter-spacing: .04em; }
@media (max-width: 991px) {
    .tf-footer.yvr-footer .footer-inner-wrap { grid-template-columns: 1fr 1fr; gap: 32px 45px; }
    .tf-footer.yvr-footer .footer-body { padding-block: 38px 45px !important; }
}
@media (max-width: 575px) {
    .yvr-footer .yvr-footer-masthead { grid-template-columns: minmax(0,1fr); gap: 39px; padding: 55px 0 38px; }
    .yvr-footer .yvr-footer-wordmark__name { font-size: clamp(105px,32vw,146px); }
    .yvr-footer .yvr-footer-wordmark__detail { margin-top: 22px; font-size: 8px; letter-spacing: .31em; }
    .yvr-footer .yvr-footer-invitation { justify-self: start; }
    .yvr-footer .yvr-footer-invitation h2 { font-size: 35px; }
    .tf-footer.yvr-footer .footer-inner-wrap { grid-template-columns: minmax(0,1fr); gap: 28px; }
    .tf-footer.yvr-footer .footer-heading { margin-bottom: 15px; }
}

@media (max-width: 1023px) {
    .yvr-motion-page .yvr-distinction__content h2 { font-size: clamp(32px,4.3vw,48px); }
}
@media (max-width: 767px) {
    .yvr-motion-page .yvr-cinema-stage.is-active { height: 200svh; }
    .yvr-motion-page .hero.yvr-cinema-ready .hero-copy { width: 100%; max-width: 470px; }
    .yvr-motion-page .hero.yvr-cinema-ready .hero-copy h1 { font-size: clamp(32px,10vw,52px); line-height: 1.08; }
    .yvr-motion-page .hero.yvr-cinema-ready .hero-slide__content { padding-inline: 24px; }
    .yvr-motion-page .hero.yvr-cinema-ready .hero-intro { max-width: 310px; }
    .yvr-motion-page .yvr-cinema-ready [data-hero-atmosphere] { inset: 9% 0 9%; }
    .yvr-motion-page .yvr-cinema-aura { inset: 25% 4%; }
    .yvr-motion-page .yvr-header-jewel { height: 125px; margin-top: -12px; margin-bottom: 10px; }
    .yvr-motion-page .yvr-style-head { grid-template-columns: minmax(0,1fr); gap: 12px; margin-bottom: 30px; }
    .yvr-motion-page .yvr-style-head > .yvr-jewel-stage { height: 150px; width: min(100%,340px); margin: auto; }
    .yvr-motion-page .yvr-style-head > .s-title-2 { text-align: center !important; font-size: clamp(32px,8.5vw,48px); }
    .yvr-motion-page .yvr-testimonial-jewel { height: 138px; }
    .yvr-motion-page .yvr-journal-jewel { height: 125px; }
    .yvr-motion-page .yvr-distinction { display: block; min-height: 0; }
    .yvr-motion-page .yvr-distinction__visual { position: relative; inset: auto; width: 100%; aspect-ratio: 1.22; }
    .yvr-motion-page .yvr-distinction__container { display: block; width: 100%; min-height: 0; padding: 36px 24px 46px; }
    .yvr-motion-page .yvr-distinction__content { width: 100%; max-width: none; padding: 0; }
    .yvr-motion-page .yvr-distinction__content h2 { font-size: clamp(29px,7.6vw,43px); line-height: 1.13; letter-spacing: -.02em; }
    .yvr-motion-page .yvr-distinction__jewel { inset: 4% 9% 7%; }
    .yvr-motion-page .yvr-distinction__veil { display: none; }
    .yvr-motion-page .yvr-distinction__copy { font-size: 14px; line-height: 1.8; }
    .yvr-loader__stage { min-height: 215px; width: min(94vw,380px); height: min(47svh,340px); }
    .yvr-loader__copy p { font-size: 27px; }
    .yvr-loader__percent { left: 24px; bottom: 29px; }
    .yvr-loader__skip { right: 24px; bottom: 24px; }
}
@media (max-height: 500px) and (orientation: landscape) {
    .yvr-loader__brand { top: 20px; left: 26px; font-size: 23px; }
    .yvr-loader__stage { min-height: 120px; height: 61svh; width: 330px; }
    .yvr-loader__copy p { font-size: 24px; margin-bottom: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    .yvr-diamond-loader, .yvr-jewel-renderer { display: none !important; }
    .yvr-motion-page .yvr-motion-word { overflow: visible; }
    .yvr-motion-page .hero-scroll i::after, .yvr-loader__fallback,
    .yvr-motion-page .yvr-cat-skeleton-media, .yvr-motion-page .yvr-cat-skeleton-title,
    .yvr-motion-page .yvr-cat-media.is-loading::after, .yvr-motion-page .yvr-product-card__media::after { animation: none !important; }
}
