/* Composition adjustments to the library's four animated sections. */
.immersive-hero { --vb-cinema-scroll: 205vh; }
.immersive-hero .vbs-hero-horizon-frame__viewport { max-width: calc(var(--vb-max-content) + 2 * var(--vb-gutter)); }
.immersive-hero .vbs-hero-horizon-frame__title { max-width: 18ch; }
.immersive-hero .vbs-hero-horizon-frame__chapter { max-width: 35ch; }
.immersive-hero .vbs-hero-horizon-frame__media img { object-position: 55% 55%; }
.immersive-project { --vb-cinema-scroll: 185vh; }
.immersive-project .vbs-intro-cinematic-aperture__chapter { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--vb-section-gap); }
.immersive-project .vbs-intro-cinematic-aperture__heading { max-width: 18ch; }
.immersive-project .vbs-intro-cinematic-aperture__details { justify-items: start; align-content: end; }
.immersive-project .vbs-intro-cinematic-aperture__lede { max-width: 35ch; }
.immersive-favorites .vbs-cta-cursor-lookbook__link { padding: 0; background: transparent; border: 0; font: inherit; letter-spacing: inherit; line-height: inherit; cursor: pointer; }
.immersive-favorites .vbs-cta-cursor-lookbook__statement { width: min(100%, 34ch); font-size: var(--vb-fs-body); }
.immersive-favorites .vbs-cta-cursor-lookbook__media { aspect-ratio: 4/5; }
/* The library's Horizon Frame pins only above 704px. This composition also
   supports normal laptop windows, with geometry scoped to the active pin. */
html.vb-gsap .immersive-hero[data-vb-cinema-pin="true"] { padding-block: 0; }
html.vb-gsap .immersive-hero[data-vb-cinema-pin="true"] .vbs-hero-horizon-frame__viewport {
 display: block; position: relative; block-size: calc(100svh - var(--livya-header-height, 84px));
 max-inline-size: none; max-width: none; padding-inline: 0; overflow: hidden; isolation: isolate;
}
html.vb-gsap .immersive-hero[data-vb-cinema-pin="true"] .vbs-hero-horizon-frame__masthead {
 position: absolute; z-index: 2; inset: 0 0 auto; background: var(--vb-surface);
 padding: clamp(1rem, 3vh, 2rem) var(--vb-gutter);
}
html.vb-gsap .immersive-hero[data-vb-cinema-pin="true"] .vbs-hero-horizon-frame__title { font-size: clamp(2.5rem, min(5.5vw, 8vh), var(--vb-fs-display-1)); }
html.vb-gsap .immersive-hero[data-vb-cinema-pin="true"] .vbs-hero-horizon-frame__media { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; aspect-ratio: auto; margin: 0; border-radius: 0; }
html.vb-gsap .immersive-hero[data-vb-cinema-pin="true"] .vbs-hero-horizon-frame__target { display: block; position: absolute; inset: 38% var(--vb-gutter) 7% 51%; border-radius: var(--vb-radius-card); visibility: hidden; pointer-events: none; }
html.vb-gsap .immersive-hero[data-vb-cinema-pin="true"] .vbs-hero-horizon-frame__chapters { position: absolute; inset: 39% 57% 7% var(--vb-gutter); display: grid; align-content: center; }
html.vb-gsap .immersive-hero[data-vb-cinema-pin="true"] .vbs-hero-horizon-frame__chapter { gap: clamp(.75rem, 2vh, 1.5rem); }
html.vb-gsap .immersive-project[data-vb-cinema-pin="true"] .vb-cinema__viewport { block-size: calc(100svh - var(--livya-header-height, 84px)); }
html.vb-gsap .immersive-project[data-vb-cinema-pin="true"] .vbs-intro-cinematic-aperture__chapter { max-width: var(--vb-max-content); padding: clamp(1.5rem, 3vw, 3rem); }
@media (max-height: 43.999rem) {
 html.vb-gsap .immersive-hero[data-vb-cinema-pin="true"] .vb-lead { font-size: var(--vb-fs-body); }
 html.vb-gsap .immersive-project[data-vb-cinema-pin="true"] .vb-display-2 { font-size: clamp(2rem, 6vh, var(--vb-fs-display-2)); }
 html.vb-gsap .immersive-project[data-vb-cinema-pin="true"] .vb-lead { font-size: var(--vb-fs-body); }
}
html.vb-gsap .immersive-favorites .vbs-cta-cursor-lookbook__stage { height: min(900px, 100svh); }
html.vb-gsap .immersive-favorites .vbs-cta-cursor-lookbook__statement { padding-top: var(--vb-space-section-sm); max-width: 38ch; width: 100%; }
html.vb-gsap .immersive-favorites .vbs-cta-cursor-lookbook__title { max-width: calc(100% - 2 * var(--vb-gutter)); font-size: clamp(var(--vb-fs-display-1), 8.7vw, calc(var(--vb-fs-display-1) * 1.7)); }
html.vb-gsap .immersive-favorites .vbs-cta-cursor-lookbook__card { opacity: 0; transition: opacity var(--vb-dur-base) var(--vb-ease-out-soft); }
html.vb-gsap .immersive-favorites .vbs-cta-cursor-lookbook__stage:hover .vbs-cta-cursor-lookbook__card { opacity: 1; }
html.vb-gsap .immersive-favorites .vbs-cta-cursor-lookbook__stage:focus-within .vbs-cta-cursor-lookbook__card { opacity: 0; }
@media (max-width: 63.999rem), (max-height: 29.999rem) {
 .immersive-hero .vbs-hero-horizon-frame__viewport { grid-template-columns: 1fr; }
 .immersive-hero .vbs-hero-horizon-frame__media { grid-column: 1; grid-row: auto; }
 .immersive-hero .vbs-hero-horizon-frame__chapters { grid-column: 1; grid-row: auto; }
 .immersive-hero .vbs-hero-horizon-frame__title { font-size: var(--vb-fs-display-1); }
 .immersive-project .vbs-intro-cinematic-aperture__chapter { grid-template-columns: 1fr; }
}
@media (max-width: 40rem) {
 .immersive-favorites .vbs-cta-cursor-lookbook__title { max-width: 100%; }
}
html[data-layout="immersive"] { scroll-behavior: auto; }
html.vb-gsap body { overflow-anchor: none; }

/* Showcase Sticky Scroll: a short rail and three large photographic panels. */
.immersive-spaces { --vbs-showcase-sticky-scroll-top: calc(var(--livya-header-height, 84px) + 2rem); }
.immersive-spaces .vbs-showcase-sticky-scroll__aside::after { content: none; }
.immersive-spaces .vbs-showcase-sticky-scroll__rail { display: grid; gap: 1.5rem; max-width: none; }
.immersive-spaces .vbs-showcase-sticky-scroll__title { margin: 0; max-inline-size: none; }
.immersive-spaces .vbs-showcase-sticky-scroll__intro { margin: 0; }
.immersive-spaces .vbs-showcase-sticky-scroll__rail .vb-link { justify-self: start; }
.immersive-spaces .vbs-showcase-sticky-scroll__stack { gap: clamp(4rem, 9vw, 9rem); }
.immersive-spaces .vbs-showcase-sticky-scroll__panel { row-gap: 1.5rem; }
.immersive-spaces .vbs-showcase-sticky-scroll__media { overflow: clip; }
.immersive-spaces .vbs-showcase-sticky-scroll__panel:nth-child(1) { inline-size: 100%; }
.immersive-spaces .vbs-showcase-sticky-scroll__panel:nth-child(2) { inline-size: 88%; margin-inline-start: auto; }
.immersive-spaces .vbs-showcase-sticky-scroll__panel:nth-child(3) { inline-size: 94%; }
@media (min-width: 64rem) and (min-height: 36rem) {
 .immersive-spaces .vbs-showcase-sticky-scroll__rail { position: sticky; top: var(--vbs-showcase-sticky-scroll-top); }
}
@media (max-width: 63.999rem) {
 .immersive-spaces .vbs-showcase-sticky-scroll__rail { max-width: none; }
 .immersive-spaces .vbs-showcase-sticky-scroll__stack { max-width: 48rem; margin-inline: auto; }
}
.livya-line-mask { padding-block: .07em; margin-block: -.07em; }
[data-livya-parallax] { will-change: transform; }
@media (prefers-reduced-motion: reduce) {
 [data-livya-parallax] { will-change: auto; }
}
