/* Hallmark · existing-brand editorial refinement · poster showcase + certificate.
 * Pre-emit critique: Philosophy 4 · Hierarchy 4 · Execution 4 · Specificity 5 · Restraint 4 · Variety 4. */
.hero{--scene-bg:var(--paper);--scene-ink:var(--navy);--scene-accent:var(--forest);background:var(--paper);color:var(--navy);position:relative;isolation:isolate;overflow:hidden}
.hero-inner{position:relative;z-index:1}.theme-curtain{position:absolute;inset:0;pointer-events:none;z-index:0;visibility:hidden}
.hero .masthead{height:clamp(150px,21vw,295px)}
.hero-wordmark{width:113%;height:125%;flex:none;background:var(--navy);mask:url('assets/wordmark.png') center/contain no-repeat;-webkit-mask:url('assets/wordmark.png') center/contain no-repeat}
.hero .masthead-bottom,.hero .hero-foot{border-color:var(--line)}
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,7vw,115px);padding:45px 0 50px;align-items:center}
.hero h1{font-size:clamp(64px,6.8vw,105px);line-height:1.02}.hero h1 span{color:var(--forest)}
.hero-copy>p{font-size:16px}.hero .text-link{margin-top:24px}
.certificate-note{display:block;font-size:12px;margin-top:34px;width:fit-content;border-top:1px solid var(--line);padding-top:16px}.certificate-note span{margin-left:22px}
.showcase button:focus-visible,.showcase:focus-visible{outline-color:var(--scene-ink)}
.showcase{min-width:0;background:var(--scene-bg);color:var(--scene-ink);padding:28px;position:relative;isolation:isolate;overflow:hidden}.showcase>div:not(.theme-curtain){position:relative;z-index:1}.showcase-top{display:flex;justify-content:space-between;gap:15px;max-width:430px;font-size:11px;letter-spacing:.1em;margin-bottom:17px}
.showcase-body{display:grid;grid-template-columns:minmax(0,1fr) 74px;gap:28px;align-items:center}
.poster-stage{position:relative;overflow:hidden;aspect-ratio:4/5;max-width:380px;background:color-mix(in srgb,var(--scene-ink) 8%,var(--scene-bg));touch-action:pan-y}
.stage-poster{display:block;border:0;padding:0;width:100%;height:100%;cursor:pointer;background:transparent;color:inherit;position:relative}
.stage-poster img{width:100%;height:100%;object-fit:contain}.stage-poster:focus-visible{outline-offset:-6px!important}
.showcase.is-transitioning .stage-poster img{will-change:transform,opacity}.showcase.is-transitioning .slide-caption{will-change:transform,opacity}
.poster-ghost{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;object-fit:contain}
.slide-controls{display:flex;flex-direction:column;align-items:center;gap:12px}.slide-count{display:flex;flex-direction:column;align-items:center;line-height:1.2;margin-bottom:22px}.slide-count b{font:48px var(--serif);font-weight:400;letter-spacing:-.03em}.slide-count>span{font-size:12px;opacity:.7}
.slide-arrow{border:1px solid color-mix(in srgb,var(--scene-ink) 45%,transparent);color:inherit;background:transparent;width:62px;height:62px;border-radius:50%;cursor:pointer;display:grid;place-items:center;flex:none;transition:transform .3s var(--ease)}
.slide-arrow span{font-size:27px;line-height:1;transition:transform .3s var(--ease)}.slide-arrow:hover{background:var(--scene-ink);color:var(--scene-bg)}.slide-arrow:hover span{transform:translateX(3px)}.slide-arrow.previous:hover span{transform:translateX(-3px)}.slide-arrow:active{transform:scale(.94)}.slide-arrow:disabled{opacity:.4;cursor:wait}.control-hint{font-size:9px;letter-spacing:.18em;writing-mode:vertical-rl;margin-top:20px}
.autoplay-toggle{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:inherit;cursor:pointer;font-size:20px;flex:none}.autoplay-toggle:hover{background:var(--beige)}.autoplay-toggle[aria-pressed=true]{font-size:16px}
.slide-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 102px 20px 0;min-height:73px}.slide-caption p{font-size:11px;letter-spacing:.02em;margin-bottom:5px}.slide-caption h2{font-size:clamp(27px,2.6vw,40px);letter-spacing:-.025em}.slide-caption button{padding:10px 0 10px 12px;border:0;background:transparent;color:inherit;font-size:27px;cursor:pointer}
.slide-progress{height:1px;background:color-mix(in srgb,var(--scene-ink) 25%,transparent);margin-right:102px;overflow:hidden}.slide-progress span{display:block;width:25%;height:100%;background:var(--scene-ink);transition:transform .7s var(--ease)}
h1,h2,h3{min-width:0;overflow-wrap:anywhere;font-style:normal}.intro{padding-block:120px 140px}.programme .section-heading{margin-bottom:64px}.question h2{max-width:1100px}.question .quote-glyph{opacity:.09}
.certificate{background:var(--beige);padding-block:100px;margin-bottom:110px}.certificate-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:65px;align-items:center}.certificate-copy h2{font-size:clamp(45px,4vw,62px)}.certificate-copy .lead{font-family:var(--serif);font-size:31px;line-height:1.1;margin:28px 0 18px}.certificate-copy>p:not([class]){font-size:15px;max-width:42ch}.certificate-copy strong{font-weight:600}.certificate-figure{margin:0;min-width:0}.certificate-figure img{width:100%;height:auto}.certificate-figure figcaption{font-size:11px;margin-top:12px;color:var(--muted)}.certificate-copy details{border-block:1px solid var(--line);margin-top:28px;padding-block:14px;max-width:400px;font-size:13px}.certificate-copy summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px;font-weight:600}.certificate-copy summary::-webkit-details-marker{display:none}.certificate-copy summary span{font-size:20px;line-height:1}.certificate-copy details[open] summary span{transform:rotate(45deg)}.certificate-copy details p{margin-top:15px}.certificate-copy summary:focus-visible{outline:2px solid var(--navy);outline-offset:6px}
.film-replay{border-top:1px solid var(--line);padding-block:23px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.film-replay button{border:0;background:none;padding:0;color:var(--navy);display:flex;align-items:center;gap:16px;cursor:pointer;font-size:13px}.film-replay button>span:last-child{color:var(--muted);font-size:11px;margin-left:25px}.film-replay a{white-space:nowrap}.footer-bottom a,.footer-bottom button{white-space:nowrap}
#brand-intro{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:0;background:var(--paper);overflow:hidden;color:var(--navy)}#brand-intro::backdrop{background:transparent;backdrop-filter:none}#brand-film{width:100%;height:100%;object-fit:contain;display:block}#skip-intro{position:absolute;right:clamp(20px,4vw,64px);bottom:35px;border:0;border-bottom:1px solid var(--navy);padding:8px 0;color:var(--navy);background:var(--paper);font-size:13px;cursor:pointer;display:flex;gap:30px;align-items:center}.intro-playing{overflow-y:hidden}
@media(min-width:1500px){.poster-stage{max-width:415px}.showcase-top{max-width:460px}}
@media(max-width:1000px){.hero-grid{gap:38px}.showcase-body{grid-template-columns:minmax(0,1fr) 55px;gap:17px}.slide-arrow{width:50px;height:50px}.slide-caption,.slide-progress{margin-right:72px}.control-hint{display:none}.hero h1{font-size:72px}.certificate-grid{gap:35px}.certificate{padding-block:75px}}
@media(max-width:700px){.hero .masthead{min-height:105px;height:26vw}.hero-grid{grid-template-columns:minmax(0,1fr);gap:45px;padding:40px 0}.hero h1{font-size:clamp(63px,14vw,90px)}.hero-copy>p{margin-top:20px}.certificate-note{margin-top:24px;padding-top:13px}.showcase{max-width:480px;width:100%;margin-inline:auto}.showcase-body{grid-template-columns:minmax(0,1fr) 54px;gap:20px}.poster-stage{max-width:none}.showcase-top{max-width:none;padding-right:74px;font-size:10px}.slide-caption,.slide-progress{margin-right:74px}.slide-caption h2{font-size:33px}.slide-caption{min-height:70px;margin-top:19px}.slide-count{margin-bottom:20px}.slide-count b{font-size:42px}.slide-arrow{width:50px;height:50px}.control-hint{display:block;font-size:8px}.intro{padding-block:75px 85px}.certificate-grid{grid-template-columns:minmax(0,1fr);gap:40px}.certificate{padding-block:65px;margin-bottom:75px}.certificate-copy>p:not([class]){max-width:48ch}.certificate-figure{width:100%}.certificate-copy h2{font-size:49px}.film-replay button>span:last-child{display:none}.film-replay button{font-size:12px}.hero .masthead-bottom{font-size:11px}.site-header nav{font-size:12px;gap:10px}.hero-foot{font-size:11px}}
@media(min-width:701px) and (max-width:850px){.hero-grid{grid-template-columns:minmax(0,1fr)}.showcase{max-width:540px;width:100%;margin-inline:auto}}
@media(max-width:700px){.showcase{width:calc(100% + 40px);max-width:none;margin-left:-20px;margin-right:-20px;padding:24px}.showcase-top{font-size:11px}.slide-caption h2{font-size:32px}}
@media(max-width:360px){.hero h1{font-size:60px}.slide-caption h2{font-size:28px}.showcase-body{gap:14px;grid-template-columns:minmax(0,1fr) 46px}.slide-arrow{width:44px;height:44px}.slide-caption,.slide-progress{margin-right:60px}.showcase-top{padding-right:60px;font-size:10px}.certificate-copy h2{font-size:43px}.hero .masthead-bottom{font-size:10px}.site-header nav{font-size:10px}.hero-foot p{max-width:140px}}
@media(prefers-reduced-motion:reduce){#brand-intro:not([data-replay]){display:none}.slide-progress span{transition:none}}
@media print{.hero{background:transparent;color:var(--navy)}.hero-wordmark{background:var(--navy)}.hero h1 span{color:var(--forest)}.showcase,.film-replay,#brand-intro,.theme-curtain{display:none!important}.certificate{margin:0;padding-block:35px;background:transparent}.certificate-grid{gap:30px}.certificate-copy h2{font-size:36px}.certificate-copy .lead{font-size:25px}}
