/* UNITED EARTH · FILM HALL — independent private preview.
   Full original video frame, blurred color derived from the film itself.
   Native vertical scrolling, optional story text, restrained blue glass controls. */
.film-exhibition{margin:0 0 clamp(62px,9vw,114px)}
.film-exhibition-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.film-exhibition h1{margin-bottom:22px}
.film-count{font-size:11px;letter-spacing:.08em;color:#a8bac8;padding-bottom:25px}
.film-exhibition-description{color:#a8bac8;font-size:clamp(16px,3vw,20px);line-height:1.55;max-width:58ch;margin:0 0 37px}
.film-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,4vw,42px) clamp(14px,3vw,31px)}
.film-card{min-width:0}
.film-card:first-child{grid-column:span 2}
.film-card-art{position:relative;display:block;overflow:hidden;width:100%;aspect-ratio:16/10;border:1px solid rgba(102,168,255,.23);border-radius:2px;padding:0;background:#0b2940}
.film-card:first-child .film-card-art{aspect-ratio:16/9}
.film-card-poster{position:absolute;inset:0;background-size:contain;background-position:center;background-repeat:no-repeat;transition:transform .28s ease}
.film-card-art:hover .film-card-poster{transform:scale(1.02)}
.film-card-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:white;font-size:17px;background:rgba(11,41,64,.42);border:1px solid rgba(165,214,255,.45);-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);box-shadow:0 0 15px rgba(102,168,255,.12);padding-left:4px}
.film-card-info{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:13px}
.film-card-info strong{font:420 clamp(22px,3vw,30px)/1.12 'UE Newsreader',Georgia,serif;letter-spacing:-.033em;overflow-wrap:anywhere}
.film-card-info .film-card-size{flex:none;font:500 10px/1.4 system-ui,sans-serif;letter-spacing:.09em;color:#a8bac8}
.film-empty{border-top:1px solid rgba(102,168,255,.20);padding:22px 0;font-size:14px;color:#a8bac8;margin:0}
.film-editor{display:flex;align-items:flex-start;flex-wrap:wrap;gap:13px;margin-top:24px}
.film-editor p{font-size:12px;color:#a8bac8;margin:8px 0;max-width:420px}
.film-card-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.film-card-tools button,.film-meta-editor button{border-radius:99px;border:1px solid rgba(102,168,255,.33);padding:8px 14px;font:500 12px/1.4 system-ui,sans-serif;min-height:44px;background:rgba(11,41,64,.44);color:#f5faff}
.film-meta-editor{display:grid;gap:8px;margin-top:12px;max-width:100%;padding:14px;border:1px solid rgba(102,168,255,.20);border-radius:12px;background:rgba(11,41,64,.28)}
.film-meta-editor input,.film-meta-editor textarea{min-width:0;width:100%;background:rgba(3,23,40,.74);border:1px solid rgba(102,168,255,.35);border-radius:8px;color:#fff;padding:10px 13px;font-size:14px}
.film-story-divider{display:flex;align-items:center;gap:16px;margin:0 0 clamp(40px,6vw,70px);color:#a8bac8;font-size:11px;letter-spacing:.15em}
.film-story-divider::after{content:"";display:block;height:1px;flex:1;background:rgba(102,168,255,.19)}
.film-journey{position:fixed;inset:0;display:block;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;padding:0;margin:0;border:0;background:#031728;color:#f5faff;overflow:hidden}
.film-journey::backdrop{background:#031728}
.film-journey[open]{display:block}
.film-journey-head{display:flex;align-items:center;justify-content:space-between;gap:12px;position:absolute;z-index:12;top:0;left:0;right:0;min-height:76px;padding:max(14px,env(safe-area-inset-top)) max(15px,env(safe-area-inset-right)) 10px max(15px,env(safe-area-inset-left));background:linear-gradient(180deg,rgba(3,23,40,.75),transparent);pointer-events:none}
.film-journey-head>*{pointer-events:auto}
.film-journey-name{font:600 10px/1.4 system-ui,sans-serif;letter-spacing:.10em;white-space:nowrap;color:#eaf6ff}
.film-journey-head .language-picker{min-width:55px;max-width:95px;margin-left:auto}
.film-frosted{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 15px;border:1px solid rgba(102,168,255,.39);background:rgba(11,41,64,.37);color:#f5faff;border-radius:99px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 1px rgba(255,255,255,.06);font:500 12px/1.2 system-ui,sans-serif}
.film-frosted:hover,.film-frosted:focus-visible{border-color:rgba(102,168,255,.82);box-shadow:0 0 16px rgba(102,168,255,.14)}
.film-progress{position:absolute;top:0;left:0;right:0;height:2px;z-index:15;background:rgba(102,168,255,.20);pointer-events:none}
#film-progress-bar{height:100%;width:0;background:#66a8ff}
.film-track{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#66a8ff #031728;scroll-behavior:auto}
.film-track:focus{outline:none}
.film-scene{position:relative;height:154svh;min-height:690px;background:#031728;isolation:isolate}
.film-scene:last-child{height:140svh}
.film-stage{position:sticky;top:0;width:100%;height:100vh;height:100svh;overflow:hidden;background:#031728;isolation:isolate}
.film-backdrop{position:absolute;inset:-36px;z-index:0;background-color:#0b2940;background-position:center;background-size:cover;background-repeat:no-repeat;filter:blur(34px) brightness(.55) saturate(.8);transform:scale(1.10);pointer-events:none}
.film-foreground{position:absolute;left:50%;top:50%;display:block;width:100%;height:100%;object-fit:fill;object-position:center;z-index:1;transform:translate3d(-50%,-50%,0);transform-origin:center;pointer-events:none;will-change:transform}
.film-enter{position:absolute;z-index:2;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;color:transparent;touch-action:pan-y;user-select:none}
.film-enter:focus-visible{outline:2px solid #66a8ff;outline-offset:-4px}
.film-scene-zoom,.film-scene-play,.film-scene-sound{position:absolute;z-index:5;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;background:rgba(11,41,64,.38);border:1px solid rgba(102,168,255,.40);color:#f5faff;font-size:24px;font-weight:400;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.film-scene-zoom{top:max(87px,calc(env(safe-area-inset-top) + 82px));right:max(16px,env(safe-area-inset-right))}
.film-scene-play{bottom:max(20px,calc(env(safe-area-inset-bottom) + 16px));left:max(18px,env(safe-area-inset-left));font-size:17px}
.film-scene-sound{width:auto;min-width:73px;border-radius:99px;padding:7px 12px;bottom:max(20px,calc(env(safe-area-inset-bottom) + 16px));left:max(72px,calc(env(safe-area-inset-left) + 70px));font-size:11px}
.film-copy{position:absolute;z-index:4;bottom:0;left:0;right:0;padding:55px max(21px,env(safe-area-inset-left)) max(82px,calc(env(safe-area-inset-bottom) + 71px));pointer-events:none;opacity:0;transform:translateY(12px);transition:none}
.film-copy::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent,rgba(3,23,40,.62));-webkit-mask-image:linear-gradient(180deg,transparent,black 32%);mask-image:linear-gradient(180deg,transparent,black 32%)}
.film-copy-inner{max-width:min(660px,100%);margin:0 auto}
.film-copy h2{font:400 clamp(30px,8vw,68px)/1.08 'UE Newsreader',Georgia,serif;letter-spacing:-.045em;margin:0 0 9px;text-wrap:balance;overflow-wrap:anywhere}
.film-copy p{font:400 clamp(14px,3.6vw,20px)/1.48 system-ui,sans-serif;color:#e0ebf4;max-width:530px;margin:0}
.film-scene.has-letterbox-copy .film-copy{bottom:0;padding-top:0;padding-bottom:max(78px,calc(env(safe-area-inset-bottom) + 68px))}
.film-scene.has-letterbox-copy .film-copy h2{font-size:clamp(24px,5vw,42px)}
.film-scene.has-letterbox-copy .film-copy p{font-size:clamp(12px,3vw,17px)}
.film-scene.has-letterbox-copy .film-copy::before{background:none}
@media(min-width:780px){
 .film-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
 .film-card:first-child{grid-column:span 2}
 .film-exhibition .film-card:first-child .film-card-art{aspect-ratio:16/10}
 .film-scene{height:156svh}
}
@media(max-width:380px){
 .film-journey-name{font-size:9px;letter-spacing:.04em}
 .film-journey-head{gap:8px}
 .film-journey-head .language-picker{max-width:82px}
 .film-card-info{flex-direction:column;align-items:flex-start;gap:5px}
 .film-card-info strong{font-size:21px}
}
html[dir=rtl] .film-copy{text-align:right}
html[dir=rtl] .film-card-info{text-align:right}
@media(prefers-reduced-motion:reduce){
 .film-foreground{will-change:auto}
 .film-card-poster{transition:none}
}

/* A closed native dialog must never intercept the page underneath. */
.film-journey:not([open]){display:none!important}

/* Card previews use the SAME captured frame in two layers: soft ambient
   behind the uncropped original, for portrait and landscape alike. */
.film-card-poster{background-image:none;background-repeat:no-repeat;overflow:hidden}
.film-card-poster::before,.film-card-poster::after{content:"";position:absolute;pointer-events:none;inset:0;background-image:inherit;background-position:center;background-repeat:no-repeat}
.film-card-poster::before{inset:-30px;background-size:cover;filter:blur(24px) brightness(.52) saturate(.88)}
.film-card-poster::after{background-size:contain}
html[dir="rtl"] .film-exhibition-description{text-align:right}
html[dir="rtl"] .film-exhibition-heading{text-align:right}


/* Standard/native film player. No virtual camera, phone-motion, or immersive modal. */
.film-stage.native-playing .film-enter,
.film-stage.native-playing .film-scene-zoom,
.film-stage.native-playing .film-scene-play,
.film-stage.native-playing .film-scene-sound{pointer-events:none;opacity:0;visibility:hidden}
.film-stage.native-playing .film-foreground{pointer-events:auto}
.film-foreground:fullscreen,
.film-foreground:-webkit-full-screen{
 position:fixed!important;inset:0!important;
 top:0!important;left:0!important;
 width:100vw!important;height:100vh!important;
 width:100dvw!important;height:100dvh!important;
 transform:none!important;
 object-fit:contain!important;
 background:#000!important;
 pointer-events:auto!important;
 border:0!important;
}
/* The film (not the editorial side panel) is the fullscreen tap target. */
@media (min-width:1100px) and (min-aspect-ratio:13/10) and (pointer:fine){
 .film-enter{width:73.5%;right:auto}
}

/* Temporary licensed film examples shown only on protected preview. */
.film-demo-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:8px 0 4px}
.film-demo-badge{display:inline-block;color:#9dc8fd;border:1px solid rgba(102,168,255,.32);border-radius:100px;padding:4px 8px;font:600 9px/1.35 system-ui,sans-serif;letter-spacing:.13em}
.film-demo-credit{color:#a8bac8;font:400 11px/1.4 system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px}
.film-demo-credit:hover{color:#f5faff}
.film-story-credit{display:block;margin-top:13px;color:#a8bac8;font:500 10px/1.4 system-ui,sans-serif;letter-spacing:.09em}
/* No clone thumbnails: each card uses one actual poster frame. */
.film-card-poster::before{display:none}
.film-card-poster::after{inset:0;background-size:contain}
