/* Authenticated-library overrides only: the approved login CSS remains untouched. */
body.vf-library {background:#F4EBDD!important;padding:0 40px 34px;color:#2F3A4A!important}
.vf-library .vf-library-header {box-sizing:border-box;max-width:1240px;padding:26px 0 24px;align-items:center;border-color:#ddcebb;gap:30px}
.vf-library .vf-library-header .vf-wordmark {font-size:42px}
.vf-library .vf-library-header .vf-subtitle {display:block;max-width:none;font-size:12px;line-height:1.6;color:#6c685f}
/* Header navigation: only the correspondence slot and the account medallion. */
.vf-library .vf-cinema-nav {display:flex;gap:10px;align-items:center;justify-content:flex-end;flex:none}
.vf-library .vf-letter-slot {display:block;position:relative;width:62px;height:52px;flex:none}
.vf-library .vf-cinema-nav a.vf-account-link {display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;width:48px;height:48px;min-height:0;padding:0;border:1px solid #cbb48e;border-radius:50%;background:#fffaf1;box-shadow:0 2px 9px #8265470b;text-decoration:none;transition:background .12s}
.vf-library .vf-cinema-nav a.vf-account-link:hover {background:#f8efdf}
.vf-library .vf-cinema-nav a.vf-account-link svg {width:30px;height:30px;display:block}
.vf-library .vf-wordmark[role="button"] {cursor:pointer}
.vf-library .vf-wordmark[role="button"]:focus-visible {outline:3px solid #406963;outline-offset:4px;border-radius:6px}
.vf-cinema {box-sizing:border-box;max-width:1240px;margin:28px auto 0;min-width:0}
.vf-cinema[hidden] {display:none!important}
.vf-cinema * {box-sizing:border-box}
.vf-cinema a,.vf-cinema button {font-family:Inter,sans-serif}
.vf-cinema h1,.vf-cinema h2,.vf-cinema h3,.vf-cinema p {padding:0;border:0;background:none}
/* The panorama and its atmosphere move independently of the live typography. */
.vf-cinema-hero {position:relative;isolation:isolate;min-height:430px;aspect-ratio:2.88;border:1px solid #C9A56A;border-radius:22px;overflow:hidden;background:#2F3A4A;box-shadow:0 12px 35px #82654708}
.vf-cinema-hero::before {content:"";position:absolute;z-index:3;inset:12px;border:1px solid #C9A56A80;border-radius:12px;pointer-events:none}
.vf-cinema-hero::after {content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 15%,#C9A56A0c,transparent 55%),radial-gradient(ellipse at center,transparent 40%,#09172348 100%);box-shadow:inset 0 0 70px #09172338}
.vf-cinema-photo {position:absolute;inset:0;overflow:hidden;background-image:var(--vf-library-photo);background-size:cover;background-position:center;transform-origin:20% 50%;animation:vf-panorama-drift 26s cubic-bezier(.45,0,.55,1) -8s infinite alternate}
.vf-cinema-welcome {position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;width:43%;min-height:430px;margin-left:35%;padding:48px 0 64px;text-shadow:0 2px 18px #09172380;animation:vf-panorama-reveal 1.2s ease-out both}
.vf-cinema-hero .vf-eyebrow {font:600 9px/1.8 Inter,sans-serif;letter-spacing:.19em;color:#C9A56A;margin:0 0 20px;max-width:340px}
.vf-cinema-welcome h1 {font:400 clamp(36px,3.4vw,48px)/1.13 'Playfair Display',Georgia,serif;letter-spacing:-.025em;color:#F4EBDD;margin:0 0 20px;max-width:470px;text-wrap:balance}
.vf-cinema-hero .vf-welcome-message {font:400 12px/1.9 Inter,sans-serif;color:#F4EBDDdb;max-width:330px;margin:0;text-wrap:pretty}
.vf-hero-ornament {display:flex;align-items:center;gap:13px;width:150px;margin-top:24px;color:#C9A56Aaa}
.vf-hero-ornament::before,.vf-hero-ornament::after {content:"";height:1px;flex:1;background:currentColor}
.vf-hero-ornament svg {width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1}
.vf-cinema-hero .vf-hero-credit {position:absolute;z-index:2;bottom:21px;left:35%;font:500 7px/1.6 Inter,sans-serif;letter-spacing:.13em;color:#F4EBDD99;margin:0}
/* A 26-second camera move, then a seamless return. Start mid-move so the
   first seconds (including after the logo intro) already show gentle motion. */
@keyframes vf-panorama-drift {from {transform:scale(1)} to {transform:scale(1.05)}}
@keyframes vf-panorama-reveal {from {opacity:0;transform:translateY(8px)} to {opacity:1;transform:translateY(0)}}
.vf-collections {margin-top:38px}
.vf-collection-heading {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:23px}
.vf-collection-heading h1,.vf-collection-heading h2 {font:400 33px/1.25 'Playfair Display',Georgia,serif;color:#406963;margin:0 0 7px;overflow-wrap:anywhere;letter-spacing:-.02em;outline-offset:6px}
.vf-collection-count {font:400 11px/1.5 Inter,sans-serif;color:#756e63;margin:0}
.vf-refresh {font:500 12px Inter,sans-serif;color:#4c6f67;cursor:pointer;border:0!important;box-shadow:none!important;background:transparent!important;padding:12px 0 12px 14px;min-height:44px;white-space:nowrap}
.vf-collection-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.vf-collection-card {display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:197px;padding:24px 25px 22px;border:1px solid #dfd2c0;border-radius:17px;background:#fffaf1;color:#2F3A4A;text-decoration:none!important;box-shadow:0 5px 18px #78644b04;transition:border-color .15s,background-color .15s}
.vf-collection-card:hover {background:#fcf5e9;border-color:#91afa3}
.vf-collection-icon {display:flex;align-items:center;justify-content:center;width:39px;height:39px;flex:none;background:#e5ebe1;border-radius:11px;color:#587e71;margin-bottom:19px}
.vf-collection-icon svg,.vf-file-icon svg {width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round}
.vf-collection-card .vf-collection-name {font:400 23px/1.25 'Playfair Display',Georgia,serif;letter-spacing:-.015em;color:#2F3A4A;margin:0 0 20px;overflow-wrap:anywhere}
.vf-cinema a:focus-visible,.vf-cinema button:focus-visible,.vf-library .vf-cinema-nav a:focus-visible {outline:3px solid #406963;outline-offset:4px}
.vf-breadcrumbs {margin:24px 0 0}
.vf-breadcrumbs ol {display:flex;flex-wrap:wrap;align-items:center;gap:8px;list-style:none;padding:0;margin:0;font:400 12px/1.8 Inter,sans-serif;color:#6f695f}
.vf-breadcrumbs li {display:flex;align-items:baseline;gap:8px;min-width:0;overflow-wrap:anywhere}
.vf-breadcrumbs li+li::before {content:'/';color:#a39077}
.vf-breadcrumbs a {color:#4d7367;text-decoration:none;padding:5px 0}
.vf-breadcrumbs [aria-current] {color:#796754}
.vf-breadcrumbs+.vf-collections {margin-top:24px}
.vf-files-section {margin-top:31px}
.vf-files-section h2 {font:400 23px/1.4 'Playfair Display',Georgia,serif;color:#496f64;margin:0 0 16px}
.vf-movie-files {list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.vf-movie-file {display:flex;align-items:center;gap:18px;padding:20px 24px;border:1px solid #dfd2c0;background:#fffaf1;border-radius:15px;min-width:0}
.vf-file-icon {width:41px;height:46px;display:flex;align-items:center;justify-content:center;flex:none;color:#9c7970;background:#f1e6da;border-radius:10px}
.vf-file-info {min-width:0;flex:1}
.vf-file-name {font:500 14px/1.6 Inter,sans-serif;color:#2F3A4A;margin:0 0 4px;overflow-wrap:anywhere}
.vf-file-size {font:400 12px/1.6 Inter,sans-serif;color:#7c7266;margin:0;font-variant-numeric:tabular-nums}
.vf-download-button {display:inline-flex;align-items:center;justify-content:center;min-height:46px;flex:none;border-radius:10px;padding:11px 20px;background:#ecd6ce;color:#753f3c!important;border:1px solid #dfbdb3;text-decoration:none!important;font:600 12px/1.4 Inter,sans-serif}
.vf-download-button:hover {background:#e4c5ba}
.vf-cinema-footer {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:26px;font:400 11px/1.7 Inter,sans-serif}
.vf-cinema-footer a {color:#756c5e;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.vf-standard-link {margin-left:auto}
.vf-empty {padding:28px;border:1px dashed #d3c0a8;border-radius:14px;color:#71685c;font:400 14px/1.7 Inter,sans-serif}
/* Hide the native view only after the dynamic, authorized replacement renders successfully. */
.vf-curated #wrap,.vf-curated #path,.vf-curated #tree,.vf-curated #ops,.vf-curated #acc_info,.vf-curated #widget,.vf-curated #srv_info {display:none!important}
@media(max-width:1000px) {
 body.vf-library {padding:0 28px 28px}
 .vf-collection-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .vf-collection-card {min-height:193px}
}
@media(max-width:600px) {
 body.vf-library {padding:0 18px 24px}
 .vf-library .vf-library-header {padding:20px 0 18px;min-height:107px;align-items:center;gap:8px;flex-wrap:nowrap}
 .vf-library .vf-library-header .vf-wordmark {font-size:35px}
 .vf-library .vf-library-header .vf-subtitle {font-size:10px;max-width:160px;line-height:1.4;white-space:normal}
 .vf-library .vf-cinema-nav {gap:4px;min-width:0}
 .vf-library .vf-letter-slot {width:52px;height:46px}
 .vf-library .vf-cinema-nav a.vf-account-link {width:44px;height:44px}
 .vf-library .vf-cinema-nav a.vf-account-link svg {width:27px;height:27px}
 .vf-cinema {margin-top:21px}
 .vf-collections {margin-top:29px}
 .vf-collection-heading {margin-bottom:19px;gap:9px}
 .vf-collection-heading h1,.vf-collection-heading h2 {font-size:29px}
 .vf-collection-count {font-size:10px}
 .vf-refresh {font-size:11px}
 .vf-collection-grid {grid-template-columns:minmax(0,1fr);gap:13px}
 .vf-collection-card {min-height:173px;padding:22px}
 .vf-collection-icon {width:35px;height:35px;margin-bottom:16px}
 .vf-collection-card .vf-collection-name {font-size:23px;margin-bottom:20px}
 .vf-movie-file {flex-wrap:wrap;gap:13px;padding:18px}
 .vf-file-icon {width:32px;height:39px}
 .vf-file-info {flex-basis:calc(100% - 52px)}
 .vf-file-name {font-size:13px;line-height:1.7}
 .vf-file-size {font-size:11px}
 .vf-download-button {width:100%;min-height:46px;font-size:13px;margin-top:2px}
 .vf-files-section h2 {font-size:23px}
 .vf-breadcrumbs ol {font-size:11px}
 .vf-cinema-footer {align-items:flex-start;font-size:10px;gap:12px}
 .vf-cinema-footer a {max-width:55%}
}
@media(prefers-reduced-motion:reduce) {.vf-collection-card {transition:none}}

/* Homepage editorial interlude; palette runs from cool to warm. */
.vf-chill-interlude {margin:38px auto 0;max-width:760px;text-align:center}
.vf-chill-title {display:flex;align-items:center;justify-content:center;gap:clamp(12px,3vw,28px);margin:0;color:#5B7874;font:400 clamp(20px,2.2vw,28px)/1.4 'Playfair Display',Georgia,serif}
.vf-chill-title::before,.vf-chill-title::after {content:'';height:1px;flex:1;min-width:12px;background:#cbbba6}
.vf-chill-palette {display:flex;justify-content:center;gap:clamp(5px,1.2vw,8px);margin:17px auto 0;max-width:100%}
.vf-chill-swatch {display:block;flex:0 1 30px;min-width:0;height:14px;border:1px solid #2f3a4a26;border-radius:3px}
@media(max-width:600px) {
 .vf-chill-interlude {margin-top:29px}
 .vf-chill-palette {margin-top:14px}
}

/* A quiet, root-only note from the entirely fictional finance department. */
.vf-announcement {display:flex;align-items:flex-start;gap:17px;margin:32px 0 0;padding:25px 28px;background:#F4EBDD;border:1px solid #decac0;border-left:3px solid #C97B72;border-radius:15px;color:#2F3A4A}
.vf-announcement-icon {display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:10px;background:#ecd9cd;font-size:19px}
.vf-announcement-words {min-width:0;max-width:850px}
.vf-announcement h2 {font:400 21px/1.4 'Playfair Display',Georgia,serif;color:#2F3A4A;margin:0 0 10px;overflow-wrap:anywhere}
.vf-announcement-message {font:400 13px/1.85 Inter,sans-serif;color:#2F3A4A;margin:0 0 12px;overflow-wrap:anywhere}
.vf-announcement-signature {font:400 11px/1.7 Inter,sans-serif;color:#785247;margin:0}
@media(max-width:600px) {
 .vf-announcement {padding:21px 19px;gap:12px;margin-top:26px}
 .vf-announcement-icon {width:29px;height:31px;font-size:17px}
 .vf-announcement h2 {font-size:19px}
 .vf-announcement-message {font-size:12px;line-height:1.85}
 .vf-announcement-signature {font-size:10px}
}

/* Native media viewer entry points; original file transfers remain with Copyparty. */
.vf-file-actions {display:flex;flex-wrap:wrap;align-items:center;gap:10px;flex:none}
.vf-watch-button {display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border:1px solid #5B7874;border-radius:10px;background:#5B7874;color:#F4EBDD!important;text-decoration:none!important;font:600 12px/1.4 Inter,sans-serif}
.vf-watch-button:hover {background:#46635f}
a.vf-file-name {display:block;text-decoration:underline;text-underline-offset:3px}
.vf-playback-note {font:400 12px/1.7 Inter,sans-serif;color:#70675e;margin:0 0 16px}
.vf-library #bbox-close {width:auto;min-width:44px;min-height:44px;padding:8px 12px;font:600 12px/1.4 Inter,sans-serif;background:#5B7874;color:#F4EBDD}
@media(max-width:850px) {
 .vf-movie-file {flex-wrap:wrap}
 .vf-file-info {flex-basis:calc(100% - 65px)}
 .vf-file-actions {width:100%}
 .vf-file-actions a {flex:1;min-width:0}
}

/* Restrained theater marquees and admission tickets for video files. */
.vf-marquee {position:relative;display:grid;justify-items:center;gap:4px;overflow:hidden;margin:22px 0 19px;padding:23px 20px 22px;border:1px solid #C9A56A;border-radius:12px;background:#2F3A4A;color:#F4EBDD;text-align:center}
.vf-marquee::before,.vf-marquee::after {content:'';position:absolute;top:50%;width:42px;height:1px;background:#C9A56A}
.vf-marquee::before {left:22px}.vf-marquee::after {right:22px}
.vf-marquee-kicker {margin:0;color:#C9A56A;font:600 9px/1.5 Inter,sans-serif;letter-spacing:.2em}
.vf-marquee h2 {margin:0;color:#F4EBDD;font:400 clamp(22px,3vw,31px)/1.25 'Playfair Display',Georgia,serif;letter-spacing:.08em}
.vf-marquee-caption {margin:0;color:#f4ebddc9;font:400 11px/1.6 Inter,sans-serif}
.vf-ticket-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
/* Admission paper: a poster-led screening and a detachable fifth-width stub. */
.vf-ticket {position:relative;display:block;min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.vf-ticket-paper {position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,20%);min-width:0;background:#fbf2e2;color:#2f3a4a;mask-image:radial-gradient(circle 15px at 0 0,transparent 98%,#000 100%),radial-gradient(circle 15px at 100% 0,transparent 98%,#000 100%),radial-gradient(circle 15px at 0 100%,transparent 98%,#000 100%),radial-gradient(circle 15px at 100% 100%,transparent 98%,#000 100%);mask-composite:intersect}
.vf-ticket-border {position:absolute;z-index:4;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.vf-ticket-border path {stroke:#b78a51;stroke-width:1;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.vf-ticket-border path+path {stroke:#c6a174;stroke-width:.8}
.vf-ticket-border .vf-ticket-perforation {stroke:#b78a51;stroke-width:1;stroke-dasharray:4 4}
.vf-ticket-main {min-width:0;padding:10px 10px 14px}
.vf-ticket-header {display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:8px 14px;background:radial-gradient(circle 25px at -10px -10px,#fbf2e2 98%,transparent 100%),radial-gradient(circle 25px at calc(100% + 10px) -10px,#fbf2e2 98%,transparent 100%),#2f3a4a;color:#f4ebdd;border-bottom:1px solid #c9a56a}
.vf-ticket-brand {font:600 9px/1.4 Inter,sans-serif;letter-spacing:.13em}
.vf-ticket-screening {display:grid;grid-template-columns:82px minmax(0,1fr);align-items:start;gap:12px 16px;padding:0 12px 4px;min-width:0}
.vf-ticket-art {position:relative;align-self:start;aspect-ratio:2/3;min-width:0;border-radius:5px;overflow:hidden;background:#e5e9df}
.vf-ticket-poster-placeholder {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#7a9183}
.vf-ticket-poster-placeholder svg {width:30px;height:36px;fill:none;stroke:currentColor;stroke-width:1.2}
.vf-ticket-poster {position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.vf-ticket-has-poster .vf-ticket-poster-placeholder {display:none}
.vf-ticket-content {min-width:0;padding:0}
.vf-ticket-eyebrow {margin:0 0 7px;color:#b4796f;font:600 9px/1.4 Inter,sans-serif;letter-spacing:.16em}
.vf-ticket-content h3,.vf-ticket-title {margin:0 0 8px;color:#263545;font:400 24px/1.14 'Playfair Display',Georgia,serif;letter-spacing:-.025em;overflow-wrap:anywhere}
.vf-ticket-detail {display:grid;gap:3px}
.vf-ticket-episode {margin:0;color:#8a6743;font:600 10px/1.5 Inter,sans-serif}
.vf-ticket:not([data-vf-season]) .vf-ticket-episode {display:none}
.vf-ticket-episode-title {margin:0;color:#62584c;font:italic 12px/1.5 Georgia,serif;overflow-wrap:anywhere}
.vf-ticket-enrichment {display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:3px;color:#6d6255;font:400 11px/1.5 Inter,sans-serif}
.vf-ticket-enrichment p {margin:0;line-height:1.55}
.vf-ticket-enrichment .vf-media-facts {flex-basis:100%}
.vf-ticket-enrichment .vf-media-rating {color:#8a602d;font-weight:500}
.vf-media-rating span {color:#ad8247}
.vf-ticket-synopsis {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:10px 0 0;color:#6d6255;font:400 13px/1.6 Inter,sans-serif}
.vf-ticket-technical {display:grid;gap:2px;margin-top:10px;padding-top:9px;border-top:1px solid #d9c6a7;color:#716557;font:400 11px/1.5 Inter,sans-serif}
.vf-ticket .vf-ticket-filename {display:block;margin:0;color:inherit;font:400 11px/1.5 Inter,sans-serif;overflow-wrap:anywhere}
.vf-ticket-filename::before {content:'Filename: ';font-weight:500}
.vf-ticket-meta {margin:0;font:400 11px/1.5 Inter,sans-serif;color:#716557}
.vf-ticket-size::before {content:'File size: ';font-weight:500}
.vf-ticket .vf-file-actions {position:relative;z-index:1;grid-column:1/-1;display:flex;flex-wrap:wrap;width:auto;gap:10px;margin:0;padding:0}
.vf-ticket .vf-file-actions a {flex:0 1 auto;width:auto;min-width:130px;min-height:44px;margin:0;padding:11px 17px;border-radius:8px;font-size:12px}
.vf-ticket-stub {position:relative;display:flex;min-width:0;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:22px 15px;background:#f4e7d0;border-left:1px solid transparent;text-align:center}
.vf-ticket-stub::before,.vf-ticket-stub::after {content:'';position:absolute;z-index:3;left:-15px;width:29px;height:29px;border:0;border-radius:50%;background:#F4EBDD;pointer-events:none}
.vf-ticket-stub::before {top:-14.5px}.vf-ticket-stub::after {bottom:-14.5px}
.vf-ticket-popcorn {display:block;width:28px;height:36px;flex:none}
.vf-ticket-admission {max-width:100%;color:#88594c;font:400 18px/1.15 'Playfair Display',Georgia,serif;letter-spacing:.015em}
.vf-ticket-star {color:#ad8247;font-size:14px;line-height:1}
.vf-ticket-number {color:#8a602d;font:600 10px/1.5 Inter,sans-serif;letter-spacing:.045em;font-variant-numeric:tabular-nums}
.vf-ticket-seat {padding-top:8px;border-top:1px dashed #c9ad86;color:#716557;font:600 9px/1.5 Inter,sans-serif;letter-spacing:.07em}
.vf-ticket-subtitle {margin:4px 0 0;color:#88594c;font:italic 10px/1.5 Georgia,serif;overflow-wrap:anywhere}
.vf-ticket-about {min-width:0;margin:6px 14px 0;padding:0;border-top:1px solid #d9c6a7;color:#6f675d;font:400 12px/1.7 Inter,sans-serif}
.vf-ticket-about p {margin:0 0 5px}
.vf-ticket-about p:last-child {margin-bottom:0}
.vf-ticket-about summary {cursor:pointer;min-height:44px;display:list-item;padding:10px 0;color:#496f64;font:500 15px/1.6 'Playfair Display',Georgia,serif}
/* Override Copyparty's mouse :focus outline/shadow only on ticket disclosures. */
.vf-library .vf-ticket-about > summary:focus:not(:focus-visible) {outline:none;box-shadow:none}
.vf-library .vf-ticket-about > summary:focus-visible {outline:3px solid #406963;outline-offset:2px;box-shadow:none}
.vf-ticket-featured {grid-column:1/-1;width:min(100%,1000px);margin-inline:auto}
.vf-ticket-featured .vf-ticket-paper {grid-template-columns:minmax(0,1fr) minmax(170px,20%)}
.vf-ticket-featured .vf-ticket-screening {grid-template-columns:148px minmax(0,1fr);gap:16px 22px;padding:2px 14px 8px}
.vf-ticket-featured .vf-ticket-content h3 {font-size:clamp(32px,3.4vw,46px)}
.vf-ticket-featured .vf-ticket-eyebrow {font-size:10px}
.vf-ticket-featured .vf-ticket-enrichment {font-size:13px}
.vf-ticket-featured .vf-ticket-art {width:148px}
.vf-ticket-featured .vf-ticket-popcorn {width:38px;height:49px}
.vf-ticket-featured .vf-ticket-admission {font-size:24px}
.vf-ticket-featured .vf-ticket-admission span {display:block}
.vf-ticket-featured .vf-ticket-number {font-size:12px}
.vf-ticket-featured .vf-ticket-seat {font-size:10px;margin-top:2px}
.vf-ticket-featured .vf-ticket-subtitle {max-width:145px;font-size:12px;line-height:1.5;margin-top:10px}
.vf-ticket[hidden] {display:none!important}
.vf-more-tickets {display:block;min-height:46px;margin:18px auto 0;padding:12px 20px;border:1px solid #b4796f;border-radius:10px;background:#fff8e9;color:#78534c;font:600 12px/1.5 Inter,sans-serif;cursor:pointer}
.vf-cinema-footer {flex-wrap:wrap;align-items:flex-start}
.vf-cinema-footer .vf-poster-credits {flex-basis:100%;margin-top:0;display:grid;grid-template-columns:1fr auto;gap:4px 20px}
.vf-poster-credits p {grid-column:1/-1}
@media(max-width:900px) and (min-width:721px) {
 .vf-ticket-grid {grid-template-columns:minmax(0,1fr)}
}
@media(max-width:720px) {
 .vf-ticket-grid {grid-template-columns:minmax(0,1fr)}
 .vf-ticket-featured {width:100%}
 .vf-ticket-paper,.vf-ticket-featured .vf-ticket-paper {grid-template-columns:minmax(0,1fr)}
 .vf-ticket-main {padding:10px 10px 12px}
 .vf-ticket-screening,.vf-ticket-featured .vf-ticket-screening {grid-template-columns:94px minmax(0,1fr);gap:14px;padding:0 6px 4px}
 .vf-ticket-featured .vf-ticket-art {width:auto}
 .vf-ticket-content h3,.vf-ticket-featured .vf-ticket-content h3 {font-size:24px;line-height:1.16}
 .vf-ticket-enrichment,.vf-ticket-featured .vf-ticket-enrichment {font-size:11px;gap:4px 8px}
 .vf-ticket-eyebrow,.vf-ticket-featured .vf-ticket-eyebrow {font-size:9px;letter-spacing:.1em}
 .vf-ticket-synopsis {font-size:12px;margin-top:8px}
 .vf-ticket .vf-file-actions {gap:9px}
 .vf-ticket .vf-file-actions a {min-width:120px;padding:11px 12px;font-size:11px}
 .vf-ticket-stub {display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:14px 18px;border-top:1px solid transparent;border-left:0;text-align:left}
 .vf-ticket-popcorn,.vf-ticket-featured .vf-ticket-popcorn {grid-column:1;grid-row:1/3;width:27px;height:35px}
 .vf-ticket-admission,.vf-ticket-featured .vf-ticket-admission {grid-column:2;grid-row:1;font-size:17px}
 .vf-ticket-featured .vf-ticket-admission span {display:inline}
 .vf-ticket-star {grid-column:3;grid-row:1;text-align:right;font-size:13px}
 .vf-ticket-number,.vf-ticket-featured .vf-ticket-number {grid-column:2;grid-row:2;font-size:10px}
 .vf-ticket-seat,.vf-ticket-featured .vf-ticket-seat {grid-column:3;grid-row:2;border:0;padding:0;margin:0;font-size:8px;text-align:right}
 .vf-ticket-subtitle,.vf-ticket-featured .vf-ticket-subtitle {grid-column:2/4;grid-row:3;max-width:none;margin:2px 0 0;font-size:11px;line-height:1.4}
 .vf-ticket-stub::before {top:-15px;left:-14.5px}
 .vf-ticket-stub::after {top:-15px;bottom:auto;left:auto;right:-14.5px}
 .vf-ticket-about {margin:6px 10px 0}
}
@media(max-width:360px) {
 .vf-ticket-screening,.vf-ticket-featured .vf-ticket-screening {grid-template-columns:78px minmax(0,1fr);gap:12px}
 .vf-ticket-content h3,.vf-ticket-featured .vf-ticket-content h3 {font-size:23px}
 .vf-ticket .vf-file-actions a {min-width:110px}
 .vf-ticket-stub {padding-left:15px;padding-right:15px;gap:4px 8px}
 .vf-ticket-admission,.vf-ticket-featured .vf-ticket-admission {font-size:16px}
}

/* Hero-only responsive composition; the surrounding collection layout is unchanged. */
@media(min-width:701px) and (max-width:1100px) {
 .vf-cinema-hero {min-height:330px;aspect-ratio:auto}
 .vf-cinema-photo {background-size:cover;background-position:15% center}
 .vf-cinema-welcome {margin-left:35%;width:44%;min-height:330px;padding:35px 0 58px}
 .vf-cinema-welcome h1 {font-size:clamp(30px,3.8vw,41px)}
 .vf-cinema-hero .vf-eyebrow {font-size:8px;letter-spacing:.14em;margin-bottom:15px}
 .vf-cinema-hero .vf-welcome-message {font-size:11px;max-width:260px}
 .vf-hero-ornament {margin-top:18px;width:120px}
 .vf-cinema-hero .vf-hero-credit {font-size:6px;left:35%;bottom:20px}
}
@media(max-width:700px) {
 .vf-cinema-hero {min-height:0;aspect-ratio:auto;border-radius:17px;padding-top:270px;background:#2F3A4A}
 .vf-cinema-hero::before {inset:9px;border-radius:9px}
 .vf-cinema-photo {height:300px;bottom:auto;background-image:linear-gradient(to bottom,transparent 63%,#2F3A4A 100%),var(--vf-library-portrait);background-position:center top;background-size:cover;transform-origin:35% 40%}
 .vf-cinema-hero::after {background:radial-gradient(ellipse at top,transparent 25%,#09172326 100%);box-shadow:inset 0 0 35px #09172322}
 .vf-cinema-welcome {width:auto;min-height:0;margin:0;padding:3px 29px 88px}
 .vf-cinema-hero .vf-eyebrow {font-size:8px;letter-spacing:.16em;max-width:275px;margin-bottom:15px}
 .vf-cinema-welcome h1 {font-size:33px;line-height:1.17;max-width:440px;margin-bottom:16px}
 .vf-cinema-hero .vf-welcome-message {font-size:12px;max-width:340px;line-height:1.85}
 .vf-hero-ornament {width:112px;margin-top:20px}
 .vf-hero-ornament svg {width:23px;height:23px}
 .vf-cinema-hero .vf-hero-credit {left:29px;bottom:22px;font-size:5.5px;letter-spacing:.09em}
}
@media(min-width:480px) and (max-width:700px) {
 .vf-cinema-hero {padding-top:330px}
 .vf-cinema-photo {height:365px;background-position:center 30%}
 .vf-cinema-welcome {padding-left:36px;padding-right:36px}
}
@media(prefers-reduced-motion:reduce) {
 .vf-cinema-photo,.vf-cinema-welcome {animation:none}
}

@media(min-width:701px) and (max-width:850px) {
 .vf-cinema-hero {padding-top:calc((100vw - 58px)/2.985);min-height:0;background:#2F3A4A}
 .vf-cinema-photo {height:auto;bottom:auto;aspect-ratio:2.985;width:100%;background-size:cover;background-position:center}
 .vf-cinema-photo {background-image:linear-gradient(to bottom,transparent 70%,#2F3A4A),var(--vf-library-photo)}
 .vf-cinema-welcome {margin:0;width:85%;min-height:0;padding:22px 35px 65px}
 .vf-cinema-welcome h1 {font-size:36px;max-width:520px}
 .vf-cinema-hero .vf-welcome-message {max-width:400px;font-size:12px}
 .vf-cinema-hero .vf-hero-credit {left:35px}
}
.vf-cinema-photo::after {content:"";position:absolute;inset:0;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23g)' opacity='.6' d='M0 0h180v180H0z' fill='%23F4EBDD'/%3E%3C/svg%3E")}

/* Final editorial alignment stays inside the existing type region. */
@media(min-width:701px) {
 .vf-cinema-welcome {align-items:center;text-align:center}
 .vf-cinema-welcome h1,.vf-cinema-hero .vf-eyebrow,.vf-cinema-hero .vf-welcome-message {width:100%}
 .vf-cinema-hero .vf-hero-credit {width:43%;text-align:center}
}
@media(min-width:851px) and (max-width:1100px) {
 .vf-cinema-hero .vf-hero-credit {width:44%}
}
@media(min-width:701px) and (max-width:850px) {
 .vf-cinema-hero .vf-hero-credit {left:0;width:85%}
}
/* A transparent margin surrounds the entire light footprint, including at
   both drift extremes. The radial fades out before the navy type region. */
.vf-cinema-hero .vf-cinema-photo::before {content:"";position:absolute;inset:-15%;width:auto;height:auto;pointer-events:none;background:radial-gradient(ellipse 28% 42% at 25% 44%,#FFD28D80 0%,#EFC17B38 40%,#EFC17B00 100%);opacity:.12;animation:vf-golden-hour 18s ease-in-out -3s infinite alternate}
@keyframes vf-golden-hour {
 from {opacity:.12;transform:translateY(-1%)}
 to {opacity:.36;transform:translateY(1%)}
}
@media(prefers-reduced-motion:reduce) {
 .vf-cinema-hero .vf-cinema-photo::before {animation:none;transform:none;opacity:.18}
}

/* Private original-photo viewer; independent of Copyparty's media player. */
.vf-photo-lightbox {position:fixed;inset:0;box-sizing:border-box;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:58px 16px 18px;border:0;background:transparent;color:#F4EBDD;overflow:hidden}
.vf-photo-lightbox[open] {display:flex;align-items:center;justify-content:center;animation:vf-photo-arrive .2s ease-out}
.vf-photo-lightbox::backdrop {background:#2F3A4Af5}
.vf-photo-original {display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 12px 48px #0006;border:1px solid #C9A56A55;border-radius:3px}
.vf-photo-lightbox .vf-photo-close {position:absolute;right:max(20px,env(safe-area-inset-right));top:max(14px,env(safe-area-inset-top));display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;border:1px solid #C9A56A66;border-radius:50%;background:#152231;color:#F4EBDD;font:300 30px/1 Georgia,serif;cursor:pointer;box-shadow:none}
.vf-photo-lightbox .vf-photo-close:focus-visible {outline:2px solid #F4EBDD;outline-offset:4px}
@keyframes vf-photo-arrive {from {opacity:0} to {opacity:1}}
.vf-hero-paused .vf-cinema-photo,.vf-cinema-hero.vf-hero-paused .vf-cinema-photo::before {animation-play-state:paused}
@media(prefers-reduced-motion:reduce) {.vf-photo-lightbox[open] {animation:none}}

/* Fixed hover bridge keeps the original exposed corner interactive as the paper rises. */
.vf-cinema-hero .vf-hero-tickets {position:absolute;z-index:4;right:24px;bottom:0;display:block;width:210px;height:146px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:zoom-in;pointer-events:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}
.vf-hero-tickets::after {content:"";position:absolute;bottom:0;right:0;width:200px;height:36px;pointer-events:auto}
.vf-hero-tickets .vf-hero-paper {position:absolute;bottom:0;right:5px;display:block;width:180px;height:auto;max-width:none;pointer-events:auto;transform-origin:50% 85%;filter:drop-shadow(1px 3px 3px #09172355);transition:transform .44s cubic-bezier(.22,.72,.25,1)}
.vf-hero-tickets .vf-hero-paper-rear {z-index:0;transform:translate(-12px,58%) rotate(-11deg)}
.vf-hero-tickets .vf-hero-paper-front {z-index:1;transform:translate(0,65%) rotate(-4deg)}
.vf-cinema-hero .vf-hero-tickets:focus-visible {outline:1px solid #F4EBDD;outline-offset:-4px;border-radius:8px;box-shadow:none}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .vf-hero-tickets:hover .vf-hero-paper-front {transform:translate(-1px,-22px) rotate(-3deg)}
 .vf-hero-tickets:hover .vf-hero-paper-rear {transform:translate(-17px,-49px) rotate(-10deg)}
}
@media(prefers-reduced-motion:no-preference) {
 .vf-hero-tickets:focus-visible .vf-hero-paper-front {transform:translate(-1px,-22px) rotate(-3deg)}
 .vf-hero-tickets:focus-visible .vf-hero-paper-rear {transform:translate(-17px,-49px) rotate(-10deg)}
}
@media(max-width:1100px) {.vf-cinema-hero .vf-hero-tickets {right:18px;width:184px;height:130px}.vf-hero-tickets .vf-hero-paper {width:156px}.vf-hero-tickets::after {width:174px}}
@media(hover:none),(pointer:coarse) {
 .vf-hero-tickets .vf-hero-paper-front {transform:translate(0,45%) rotate(-4deg)}
 .vf-hero-tickets .vf-hero-paper-rear {transform:translate(-11px,23%) rotate(-11deg)}
}
@media(prefers-reduced-motion:reduce) {
 .vf-hero-tickets .vf-hero-paper {transition:none}
 .vf-hero-tickets .vf-hero-paper-front {transform:translate(0,45%) rotate(-4deg)}
 .vf-hero-tickets .vf-hero-paper-rear {transform:translate(-11px,23%) rotate(-11deg)}
}
/* Leave the mobile presentation credit clear while retaining two visible paper edges. */
@media(max-width:700px) {
 .vf-cinema-hero .vf-hero-tickets {right:0;width:142px;height:110px}
 .vf-hero-tickets .vf-hero-paper {width:116px}
 .vf-hero-tickets::after {width:136px}
}
.vf-photo-lightbox button {-webkit-tap-highlight-color:transparent}
.vf-photo-lightbox button:focus:not(:focus-visible) {outline:none;box-shadow:none}
.vf-photo-lightbox button:focus-visible {outline:2px solid #F4EBDD;outline-offset:4px;box-shadow:none}
.vf-photo-lightbox:focus {outline:none;box-shadow:none}
.vf-photo-lightbox {-webkit-tap-highlight-color:transparent}

/* Override Copyparty's ID-scoped focus defaults only for this viewer and its trigger. */
#ht_brw .vf-hero-tickets:focus:not(:focus-visible),
#ht_brw .vf-photo-lightbox:focus:not(:focus-visible),
#ht_brw .vf-photo-lightbox button:focus:not(:focus-visible) {outline:none;box-shadow:none}
#ht_brw .vf-hero-tickets:focus-visible,#ht_brw .vf-photo-lightbox button:focus-visible {outline:2px solid #C9A56A;outline-offset:-4px;box-shadow:none}
#ht_brw .vf-photo-lightbox button:focus-visible {outline-offset:4px}
#ht_brw .vf-photo-lightbox:focus-visible {outline:none;box-shadow:none}
.vf-photo-magic {position:fixed;z-index:2;width:1px;height:1px;pointer-events:none;animation:vf-magic-life .65s linear both}
.vf-photo-magic::before {content:"";position:absolute;width:70px;height:70px;left:-35px;top:-35px;border-radius:50%;background:radial-gradient(circle,#EFD09677,transparent 70%);animation:vf-magic-aura .6s ease-out both}
.vf-magic-star {position:absolute;left:-6px;top:-6px;color:#EFD096;font:16px/1 Georgia,serif;animation:vf-keepsake-spark .6s cubic-bezier(.15,.65,.3,1) both}
.vf-magic-star:nth-child(even) {font-size:11px;color:#C9A56A}
@keyframes vf-keepsake-spark {0% {opacity:0;transform:translate(0,0) scale(.3)} 18% {opacity:1} 100% {opacity:0;transform:translate(var(--vf-dx),var(--vf-dy)) rotate(var(--vf-turn)) scale(.65)}}
@keyframes vf-magic-aura {from {opacity:0;transform:scale(.25)} 20% {opacity:.7} to {opacity:0;transform:scale(1.6)}}
@keyframes vf-magic-life {from {opacity:1} to {opacity:1}}
@media(prefers-reduced-motion:reduce) {.vf-photo-magic {display:none}}

/* Remove the raster preview's exterior backing without changing any interior artwork pixels. */
.vf-artwork-cutout {width:min(1774px,100%,calc(200dvh - 152px));aspect-ratio:2;flex:none;filter:drop-shadow(0 8px 12px #15223155)}
.vf-artwork-cutout .vf-photo-original {display:block;width:100%;height:100%;max-width:none;max-height:none;border:0;border-radius:0;box-shadow:none;mask-image:var(--vf-ticket-silhouette);mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:var(--vf-ticket-silhouette);-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}

.vf-magic-star {text-shadow:0 1px 2px #152231aa,0 0 4px #F4EBDD}

/* Collection presentation: the navy surface is complete before artwork loads. */
.vf-presentation {position:relative;isolation:isolate;overflow:hidden;min-height:200px;margin:0;padding:32px 40px;border:1px solid #b99762;border-radius:10px;background:#2f3a4a;color:#f4ebdd;align-items:flex-start}
.vf-presentation::before {content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(110deg,#273544 0%,#344450 100%)}
.vf-presentation::after {content:'';position:absolute;z-index:2;inset:9px;border:1px solid #c9a56a80;pointer-events:none}
.vf-presentation-image {position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0}
.vf-presentation-has-image::before {background:linear-gradient(90deg,rgba(27,39,53,.96) 0%,rgba(27,39,53,.89) 62%,rgba(35,48,62,.40) 100%)}
.vf-presentation-has-image .vf-presentation-image {opacity:1}
.vf-presentation-copy {position:relative;z-index:2;min-width:0;max-width:min(760px,60%)}
.vf-presentation .vf-presentation-kicker {margin:0 0 12px;color:#d9bb84;font:600 10px/1.5 Inter,sans-serif;letter-spacing:.18em}
.vf-presentation h1 {margin:0;color:#f4ebdd;font:400 clamp(30px,3.2vw,42px)/1.16 'Playfair Display',Georgia,serif;letter-spacing:-.02em}
.vf-presentation-facts,.vf-presentation-tagline {margin:10px 0 0;color:#f4ebdd; font:400 12px/1.6 Inter,sans-serif}
.vf-presentation-tagline {font:italic 15px/1.5 'Playfair Display',Georgia,serif}
.vf-presentation .vf-collection-controls {position:relative;z-index:2}
.vf-presentation .vf-refresh {position:relative;color:#f4ebdd;padding:8px;min-height:44px}
.vf-breadcrumbs+.vf-collections {margin-top:18px}
.vf-presentation + .vf-collection-grid {margin-top:20px}
.vf-ticket-grid {align-items:start}
@media(max-width:600px) {
 .vf-presentation {min-height:160px;padding:27px 25px;gap:8px}
 .vf-presentation h1 {font-size:29px}
 .vf-presentation .vf-refresh {font-size:11px;padding:4px}
 .vf-presentation-tagline {font-size:14px}
}

/* Keep the control with navigation and protect copy over unpredictable imagery. */
.vf-breadcrumbs {display:flex;align-items:center;justify-content:space-between;gap:12px}
.vf-breadcrumbs ol {min-width:0}
.vf-breadcrumbs .vf-collection-controls {flex:none}
@media(max-width:600px) {
 .vf-presentation-copy {max-width:100%}
 .vf-presentation-has-image::before {background:linear-gradient(90deg,rgba(27,39,53,.95),rgba(27,39,53,.87))}
}
