/* FILM-024 — optional homepage introduction video */
.intro-film-button{margin-top:18px;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;border:1px solid var(--accent,#d7f48c);border-radius:5px;background:rgba(215,244,140,.09);color:var(--accent,#d7f48c);font:700 13px 'DM Sans',sans-serif;padding:13px 17px;cursor:pointer;min-height:46px;transition:background .15s,border-color .15s}
.intro-film-button:hover{background:rgba(215,244,140,.18)}.intro-film-button:focus-visible{outline:3px solid var(--accent,#d7f48c);outline-offset:3px}
.intro-film-button [data-intro-film-label]{white-space:nowrap;font-size:12px}
.intro-film-button svg{width:19px;height:19px;flex:none}
.intro-film-dialog{position:fixed;inset:0;z-index:100000;max-width:none;max-height:none;width:100%;height:100%;margin:0;padding:clamp(12px,3vw,38px);border:0;background:rgba(3,8,5,.88);color:#edf3e5;overflow:auto;overscroll-behavior:contain}
.intro-film-dialog::backdrop{background:rgba(3,8,5,.88)}
.intro-film-dialog[open]{display:grid;place-items:center}
.intro-film-shell{width:min(1080px,100%);margin:auto}
.intro-film-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font:600 clamp(15px,2vw,21px) 'DM Sans',sans-serif}
.intro-film-heading h2{font:inherit;margin:0}
.intro-film-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border:1px solid rgba(215,244,140,.42);border-radius:50%;background:#182016;color:#f4f6ec;font-size:25px;cursor:pointer}
.intro-film-close:hover{background:#283526}.intro-film-close:focus-visible{outline:3px solid #d7f48c;outline-offset:3px}
.intro-film-player{display:block;width:100%;height:auto;max-height:min(70vh,680px);aspect-ratio:16/9;background:#080c09;border:1px solid rgba(215,244,140,.24);border-radius:10px}
.intro-film-note{margin:12px 0 0;color:#b6c4a9;font-size:13px;line-height:1.5}
.intro-film-note[hidden]{display:none}
@media(max-width:650px){.intro-film-button{width:100%}.intro-film-dialog{padding:12px}.intro-film-player{max-height:65vh}}
@media(prefers-reduced-motion:reduce){.intro-film-button{transition:none}}
/* Only the existing introduction field and its video dialog. */
.home-introduction .intro-film-button{width:auto;margin:0;min-height:44px;border-radius:99px;padding:10px 25px}
.intro-film-dialog{box-sizing:border-box;height:100dvh;max-height:100dvh}
.intro-film-dialog *{box-sizing:border-box}
.intro-film-dialog .intro-film-player{max-height:62dvh;object-fit:contain}
.intro-film-dialog .intro-film-download,.intro-film-dialog summary{color:#d7f48c;font-size:14px;line-height:1.6}
.intro-film-dialog .intro-film-download{display:inline-block;margin:12px 0}
.intro-film-dialog .intro-film-transcript{margin-top:10px;font-size:15px;line-height:1.6}
.intro-film-dialog summary{cursor:pointer;min-height:44px;padding:10px 0}
.intro-film-dialog .intro-film-transcript p{max-width:75ch}
.intro-film-dialog a:focus-visible,.intro-film-dialog summary:focus-visible{outline:3px solid #d7f48c;outline-offset:3px}
/* Film entry: put the main action beside the explanation, never at the far edge. */
.modus-home .home-introduction{max-width:1180px;box-sizing:border-box;gap:32px;padding:28px!important;margin:24px auto 36px!important;align-items:center}
.modus-home .home-introduction .introduction-copy{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.modus-home .home-introduction .introduction-copy>p{margin:0}
.modus-home .home-introduction .intro-film-button{display:inline-flex;align-items:center;justify-content:center!important;gap:12px;min-width:156px;min-height:44px;width:auto;grid-column:auto;grid-row:auto;margin:6px 0 0!important;padding:10px 18px!important;border:2px solid #d9ed8a!important;border-radius:8px;background:#d9ed8a!important;color:#08201c!important;font:700 14px/1.3 Arial,sans-serif!important;box-shadow:0 4px 20px #0002;cursor:pointer}
.modus-home .home-introduction .intro-film-button [data-intro-film-label]{font:inherit;white-space:normal}
.modus-home .home-introduction .intro-film-button:hover{background:#edf7bd!important;border-color:#edf7bd!important}
.modus-home .home-introduction .intro-film-button:focus-visible{outline:2px solid #67ddd6;outline-offset:3px}
.modus-home .home-introduction .introduction-poster:focus-visible{outline:3px solid #67ddd6;outline-offset:5px}
.modus-home .home-introduction .introduction-poster{display:block;position:relative;flex:0 0 340px;width:340px;height:auto;aspect-ratio:16/9;padding:0;border:1px solid #6ccfc77a;border-radius:12px;background:#062522;overflow:hidden;cursor:pointer}
.modus-home .home-introduction .introduction-poster>img:first-child{width:100%;height:100%;object-fit:cover;display:block}
.modus-home .home-introduction .poster-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00181635;color:white}
.modus-home .home-introduction .poster-play>span{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#d9ed8a;color:#08201c;font-size:28px;box-shadow:0 3px 20px #0006}
@media(max-width:1250px){.modus-home .home-introduction{margin-left:5%!important;margin-right:5%!important}}
@media(max-width:850px){.modus-home .home-introduction{gap:24px;padding:24px!important}.modus-home .home-introduction .introduction-poster{flex-basis:260px;width:260px}}
@media(max-width:760px){.modus-home .home-introduction{align-items:stretch;gap:20px}.modus-home .home-introduction .introduction-poster{width:100%;flex-basis:auto;max-width:440px;align-self:center}.modus-home .home-introduction .intro-film-button{width:auto!important;min-width:156px;min-height:44px;margin-top:8px!important}}

html[data-theme=contrast] .modus-home .home-introduction .intro-film-button{background:#fff!important;color:#000!important;border-color:#000!important}
