/* A finite, silent film. The canvas is decorative; all essential content is HTML. */
.rf-film{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;border:0;margin:0;padding:0;background:#0d2949;color:#fff;overflow:hidden;z-index:10000;font-family:var(--sans,Arial,sans-serif);transition:background 1s,color 1s}
.rf-film:modal{overscroll-behavior:contain}.rf-film::backdrop{background:#0d2949;overflow:hidden;overscroll-behavior:contain}.rf-film[open]{display:block}.rf-film[data-scene="world"],.rf-film[data-scene="iaap"],.rf-film[data-scene="final"]{background:#edf8fc;color:#153e68}
.rf-top,.rf-bottom{position:absolute;left:clamp(20px,4vw,64px);right:clamp(20px,4vw,64px);z-index:4;display:flex;align-items:center;justify-content:space-between;gap:18px}
.rf-top{top:max(16px,env(safe-area-inset-top));min-height:54px;border-bottom:1px solid #8eb4ce44;padding-bottom:8px}.rf-top>span{font-size:12px;letter-spacing:.13em;text-transform:uppercase}.rf-top b{font-weight:400;margin-left:12px}.rf-film button,.rf-film a{font:inherit;color:inherit}.rf-top button,.rf-bottom button{display:flex;align-items:center;gap:14px;min-height:44px;background:none;border:0;padding:0;cursor:pointer;font-size:13px}.rf-top button span{font-size:28px;font-weight:300}.rf-film :focus-visible{outline:3px solid #1593d1;outline-offset:6px}.rf-bottom{bottom:max(18px,env(safe-area-inset-bottom));gap:24px}.rf-bottom a{font-size:12px;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:flex;align-items:center}.rf-progress{height:2px;background:#88aec74d;flex:1;max-width:480px;overflow:hidden}.rf-progress span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:currentColor}
.rf-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.rf-caption{position:absolute;left:20px;right:20px;text-align:center;z-index:2;opacity:0;pointer-events:none;transition:opacity .65s,transform .8s;transform:translateY(14px)}
.rf-caption>span{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.18em;line-height:1.6;margin-bottom:16px}.rf-caption p{font:400 clamp(28px,3.5vw,52px)/1.12 var(--display,Georgia,serif);margin:0}.rf-caption em{font-weight:400;color:#0080aa}.rf-history{bottom:15%;text-shadow:0 2px 20px #06172c}.rf-history em{color:#a6d9f2}.rf-world{top:12%}.rf-world p{font-size:clamp(25px,2.8vw,42px)}.rf-world small{display:block;margin-top:12px;font-size:11px;color:#456781}.rf-iaap{top:64%}.rf-iaap p{font-size:clamp(26px,3.3vw,48px)}
.rf-film[data-scene="history"] .rf-history,.rf-film[data-scene="world"] .rf-world,.rf-film[data-scene="iaap"] .rf-iaap{opacity:1;transform:none}
.rf-finale{position:absolute;inset:90px 24px 75px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity 1s,transform 1s;z-index:2;overflow:auto}.rf-film[data-scene="final"] .rf-finale{opacity:1;visibility:visible;transform:none}.rf-finale>img{width:clamp(150px,20vw,250px);max-height:110px;height:auto;object-fit:contain;mix-blend-mode:multiply;margin-bottom:22px}.rf-final-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px}.rf-finale h3{font:400 clamp(35px,5.5vw,76px)/1 var(--display,Georgia,serif);letter-spacing:-.03em;color:#123d6c;margin:0}.rf-final-year{font:300 clamp(42px,6vw,82px)/1.1 var(--sans,Arial,sans-serif);letter-spacing:-.05em;margin:12px 0 20px}.rf-final-year span{color:#159dc9;font-weight:200}.rf-dates{font-size:13px;line-height:1.8;margin:0 0 20px;color:#42627b}.rf-dates strong{font-weight:500;color:#123f67;font-size:16px}.rf-finale button{background:#124f84;border:0;padding:16px 24px;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:42px;color:#fff;cursor:pointer;font-size:15px}.rf-finale button svg{width:24px;height:24px}.rf-finale>small{font-size:11px;letter-spacing:.08em;margin-top:18px;color:#54748b}
.rf-replay{display:flex;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid #b6d9e7;padding:12px var(--gutter);background:#fff;color:#166580;min-height:48px;font:400 14px var(--sans,Arial,sans-serif);cursor:pointer;text-align:left}.rf-replay svg{width:22px;height:22px}.rf-replay span{margin-left:auto;letter-spacing:.08em;font-size:12px}.rf-replay:hover{background:#e8f7fc}.rf-replay:focus-visible{outline:3px solid #007ba9;outline-offset:-3px}
.rf-credits{max-width:1050px;margin:auto;padding:50px var(--gutter);font-family:var(--sans,Arial,sans-serif);color:#234962}.rf-credits>h1{font:400 clamp(42px,7vw,72px)/1.1 var(--display,Georgia,serif);margin:20px 0}.rf-credits p,.rf-credits li{font-size:16px;line-height:1.75}.rf-credits>h2{margin-top:48px}.rf-credit{display:flex;gap:24px;border-top:1px solid #c5d9e4;padding:25px 0}.rf-credit img{object-fit:cover;flex:none;width:110px;height:110px}.rf-credit h2{font:500 21px/1.3 var(--sans,Arial,sans-serif);margin:0 0 8px}.rf-credit p{margin:4px 0}.rf-credits a{color:#00668a;text-decoration:underline;text-underline-offset:3px}.rf-credit p.rf-credit-note{font-size:13px}.rf-credits li{margin:10px 0}
@media(max-width:600px){.rf-top>span{font-size:10px;letter-spacing:.08em}.rf-top b{display:block;margin:5px 0 0}.rf-top button{font-size:12px;gap:9px}.rf-top{gap:10px}.rf-history{bottom:16%}.rf-history p{font-size:30px}.rf-world{top:14%}.rf-world>span{font-size:9px}.rf-world p{font-size:30px}.rf-caption>span{font-size:10px;letter-spacing:.1em;margin-bottom:12px}.rf-iaap{top:65%}.rf-iaap p{font-size:32px}.rf-bottom{gap:15px}.rf-bottom button,.rf-bottom a{font-size:11px}.rf-credit{gap:15px}.rf-credit img{width:75px;height:85px}.rf-finale{inset:80px 20px 65px}.rf-finale>img{margin-bottom:18px;max-height:85px}.rf-final-label{font-size:10px;margin-bottom:12px}.rf-final-year{margin-bottom:15px}.rf-dates{margin-bottom:15px}.rf-finale button{padding:14px 20px;min-height:50px}}
@media(max-height:620px){.rf-world{top:15%}.rf-caption p{font-size:26px}.rf-caption>span{font-size:9px;margin-bottom:8px}.rf-world small{display:none}.rf-finale{inset:75px 20px 60px}.rf-finale>img{max-height:45px;margin-bottom:8px}.rf-final-label{margin-bottom:6px;font-size:9px}.rf-finale h3{font-size:34px}.rf-final-year{font-size:38px;margin:5px 0}.rf-dates{font-size:11px;line-height:1.4;margin-bottom:10px}.rf-dates strong{font-size:13px}.rf-finale>small{margin-top:8px}.rf-finale button{padding:10px 20px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.rf-film,.rf-caption,.rf-finale{transition:none}}
@media print{.rf-film,.rf-replay{display:none!important}}

/* The first frame names the qualification; Jung remains at the visual centre. */
.rf-history{top:clamp(102px,13vh,150px);bottom:auto;max-width:960px;margin-inline:auto}.rf-history p{font-size:clamp(29px,3.7vw,53px);line-height:1.12}.rf-history small{display:block;margin-top:18px;font-size:12px;letter-spacing:.1em;color:#c3e0ef}.rf-history em{display:inline-block;font-style:normal}.rf-film[data-scene="history"] .rf-history{transition:none;transform:none}
.rf-final-label{font-size:14px;text-transform:none;letter-spacing:.02em;line-height:1.5;max-width:36ch}.rf-final-label strong{font-weight:500;font-size:18px;color:#006c91}
@media(max-width:600px){.rf-history{top:clamp(100px,14vh,125px);left:22px;right:22px}.rf-history p{font-size:clamp(27px,7.5vw,33px)}.rf-history>span{font-size:9px}.rf-history small{font-size:11px;margin-top:14px}.rf-final-label{font-size:12px;line-height:1.5}.rf-final-label strong{font-size:16px}}
@media(max-height:620px){.rf-history{top:85px}.rf-history p{font-size:24px}.rf-history>span{display:none}.rf-history small{margin-top:8px;font-size:10px}.rf-final-label{font-size:10px;line-height:1.3}.rf-final-label strong{font-size:13px}}

.rf-qualification{display:block;text-wrap:balance}.rf-history p{font-size:clamp(29px,3.1vw,46px)}
@media(max-width:600px){.rf-history p{font-size:clamp(25px,7.2vw,31px)}}
@media(max-height:620px){.rf-history p{font-size:24px}}

/* The OPP seal keeps its own colours and a separate, readable chapter. */
.rf-film[data-scene="opp"]{background:#edf8fc;color:#153e68}
.rf-opp{position:absolute;inset:92px 24px 82px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:24px;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .75s,transform .75s;z-index:2}
.rf-film[data-scene="opp"] .rf-opp{opacity:1;visibility:visible;transform:none}
.rf-opp>span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#467087}
.rf-opp>img{display:block;width:min(390px,78vw);max-height:33vh;height:auto;object-fit:contain}
.rf-opp h3{font:400 clamp(24px,3vw,40px)/1.18 var(--display,Georgia,serif);margin:0;color:#153e68}
.rf-opp p{font-size:13px;line-height:1.7;margin:0;color:#42627b;max-width:40ch}
.rf-opp p span{display:inline-block;margin-top:6px;font-size:11px;letter-spacing:.08em}
@media(max-width:600px){.rf-opp{gap:24px;inset:90px 22px 76px}.rf-opp h3{font-size:25px}.rf-opp>img{width:min(330px,82vw)}.rf-opp p{font-size:12px}}
@media(max-height:620px){.rf-opp{gap:12px;inset:78px 22px 62px}.rf-opp>img{max-height:24vh}.rf-opp h3{font-size:21px}.rf-opp p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.rf-opp{transition:none}}
