.ucs-space { display: none; }
.ucs-enhanced .ucs-header { position: fixed; pointer-events: none; }
.ucs-enhanced .ucs-header > * { pointer-events: auto; }
.ucs-enhanced { overflow: hidden; }
.ucs-enhanced .ucs-viewport { position: fixed; inset: 0; max-width: none; padding: 0; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain; outline-offset: -3px; }
.ucs-enhanced .ucs-space { display: block; }
.ucs-enhanced .ucs-scene { position: sticky; top: 0; height: 100svh; margin-bottom: -100svh; overflow: clip; pointer-events: none; perspective-origin: 50% 50%; }
.ucs-enhanced .ucs-article { width: min(48rem, calc(100% - 3rem)); margin: 0 auto; font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.6; }
.ucs-article.ucs-cylinder,
.ucs-article.ucs-cylinder .story-content,
.ucs-article.ucs-cylinder section,
.ucs-article.ucs-cylinder .wp-block-group,
.ucs-article.ucs-cylinder :is(p,h1,h2,h3,h4,h5,h6,figure,figcaption,.ucs-image) { position: absolute; inset: 0; width: 100%; max-width: none; margin: 0; padding: 0; border: 0; transform-style: preserve-3d; }
.ucs-enhanced .ucs-line { position: absolute; top: 50%; left: 50%; width: min(48rem, calc(100% - 3rem)); transform-origin: 50% 50%; white-space: pre; backface-visibility: hidden; pointer-events: auto; }
.ucs-enhanced .section-page-back { margin: 0; }
.ucs-enhanced .ucs-line a { pointer-events: auto; }
.ucs-enhanced.admin-bar .ucs-header { top: 32px; }
@media (max-width: 782px) { .ucs-enhanced.admin-bar .ucs-header { top: 46px; } }
@media print {
 .ucs-space { display: none !important; }
 .ucs-enhanced, .ucs-enhanced .ucs-viewport, .ucs-enhanced .ucs-scene { position: static !important; overflow: visible !important; }
 .ucs-article.ucs-cylinder, .ucs-article.ucs-cylinder :is(section,div,p,h1,h2,h3,h4,h5,h6,figure,figcaption,.ucs-image) { position: static !important; }
 .ucs-line { position: static !important; display: block; transform: none !important; margin: 0 !important; opacity: 1 !important; filter: none !important; white-space: normal !important; }
}

/* The page title occupies its own band, outside the cylindrical surface. */
.ucs-page-title { width: min(48rem, calc(100% - 3rem)); margin: 3rem auto 0; color: var(--gold, #b98a4a); font-size: clamp(1.8rem, 3.2vw, 2.8rem); font-weight: 300; line-height: 1.1; letter-spacing: -.025em; }
body:not(.ucs-enhanced) .ucs-viewport { padding-top: 2rem; }
.ucs-enhanced { --ucs-content-top: clamp(150px, 22svh, 190px); }
.ucs-enhanced .ucs-page-title { position: fixed; z-index: 10; top: clamp(85px, 12svh, 110px); left: 50%; margin: 0 0 0 max(-24rem, calc(-50% + 1.5rem)); pointer-events: none; transform-origin: 50% 50%; }
.ucs-enhanced .ucs-viewport { top: var(--ucs-content-top); }
.ucs-enhanced .ucs-scene { height: calc(100svh - var(--ucs-content-top)); margin-bottom: calc(var(--ucs-content-top) - 100svh); }
.ucs-title-pending .ucs-page-title { opacity: 0; }
.ucs-enhanced.admin-bar .ucs-page-title { margin-top: 32px; }
@media (max-width: 782px) { .ucs-enhanced.admin-bar .ucs-page-title { margin-top: 46px; } }
@media print { .ucs-page-title { position: static !important; margin: 1rem auto !important; opacity: 1 !important; } }

.ucs-enhanced .ucs-image-strip { overflow: hidden; white-space: normal; }
@media print { .ucs-image-strip { display: none !important; } .ucs-image-strip:first-child { display: block !important; height: auto !important; overflow: visible; } .ucs-image-strip:first-child img { position: static !important; max-width: 100% !important; height: auto !important; } }

/* Decorative opening media shares the text cylinder's scroll position. */
.ucs-opening-video { display: none; }
.ucs-enhanced .ucs-opening-video { display: block; position: absolute; top: 50%; left: 50%; width: min(48rem, calc(100% - 3rem)); opacity: 0; pointer-events: none; backface-visibility: hidden; }
.ucs-opening-video video { display: block; width: 100%; height: 100%; object-fit: contain; object-position: calc(50% - var(--ucs-video-x, 0%)) 50%; opacity: 0; transition: opacity 900ms ease; mask-image: linear-gradient(to bottom, transparent, black 12%, black 82%, transparent); }
.ucs-opening-video video.ucs-video-ready { opacity: 1; }
.ucs-opening-video[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .ucs-opening-video video { transition: none; } }
@media print { .ucs-opening-video { display: none !important; } }

/* Two nested alpha masks multiply naturally, without mask-composite differences. */
.ucs-video-mask { width: 100%; height: 100%; }
.ucs-video-mask[data-studio-mask] { opacity: var(--ucs-opacity, 1); }
.ucs-video-mask[data-studio-mask] video { -webkit-mask-image: none; mask-image: none; }
.ucs-video-mask[data-studio-mask="1"] {
 -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 var(--ucs-mask-left, 15%), #000 calc(100% - var(--ucs-mask-right, 15%)), transparent 100%);
 mask-image: linear-gradient(to right, transparent 0%, #000 var(--ucs-mask-left, 15%), #000 calc(100% - var(--ucs-mask-right, 15%)), transparent 100%);
 -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
 -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}
.ucs-video-mask[data-studio-mask="1"] video {
 -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 var(--ucs-mask-top, 8%), #000 calc(100% - var(--ucs-mask-bottom, 25%)), transparent 100%);
 mask-image: linear-gradient(to bottom, transparent 0%, #000 var(--ucs-mask-top, 8%), #000 calc(100% - var(--ucs-mask-bottom, 25%)), transparent 100%);
 -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
 -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}
