.poster{position:relative;aspect-ratio:16/9;overflow:hidden;background:#1f2022;container-type:inline-size;--ink:#ede5db;--on-ink:#28292b;--ink-2:#b8b1a8;--label:#a09b96;--ink-4:#5e5c59;--hair:hsla(33,33%,89%,.1);--hair-2:hsla(33,33%,89%,.22);--glass:rgba(34,35,37,.8);--raised:#313234;--ground:#28292b;--deep:#1f2022;--stone:#8b8783;--lift:3px 3px 8px rgba(0,0,0,.45);--lift-hi:7px 7px 16px rgba(0,0,0,.5);color:var(--ink)}.poster iframe,.poster video{background:#000}.poster__cover{position:absolute;inset:0;z-index:2;pointer-events:none}.poster__cover .duo img{transition:filter 1.1s var(--glide),transform 1.6s var(--glide)}.poster:hover .poster__cover .duo img{filter:none;transform:scale(1.03)}.poster{--bp:88px}@supports (width:1cqw){.poster{--bp:clamp(52px,13cqw,104px)}}.poster .bigplay{position:absolute;left:50%;top:50%;width:var(--bp);height:var(--bp);margin:calc(var(--bp) / -2) 0 0 calc(var(--bp) / -2);border-radius:50%;border:calc(var(--bp) * .19) solid #ede5db;box-shadow:6px 6px 18px rgba(0,0,0,.45);transition:transform .6s var(--glide)}.poster .bigplay i{position:absolute;left:50%;top:50%;width:0;height:0;border-left:calc(var(--bp) * .145) solid #ede5db;border-top:calc(var(--bp) * .096) solid transparent;border-bottom:calc(var(--bp) * .096) solid transparent;transform:translate(-35%,-50%)}.poster:hover .bigplay{transform:scale(1.07)}.poster .fr-spin{position:absolute;left:50%;top:50%;width:calc(var(--bp) * .7);height:calc(var(--bp) * .7);margin:calc(var(--bp) * -.35) 0 0 calc(var(--bp) * -.35);border-radius:50%;background:conic-gradient(#ede5db 0 72%,hsla(33,33%,89%,.18) 0);-webkit-mask:radial-gradient(closest-side,transparent 59.3%,#000 calc(59.3% + .5px));mask:radial-gradient(closest-side,transparent 59.3%,#000 calc(59.3% + .5px));animation:plSpin .9s linear infinite}@keyframes plSpin{to{transform:rotate(1turn)}}.poster .pl-state{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center}.poster .pl-msg{background:var(--deep);z-index:3}.poster .pl-card{display:grid;grid-gap:12px;gap:12px;justify-items:center;max-width:420px}.poster .pl-card .d-s{margin:0;font-size:clamp(18px,3.2cqw,26px)}.poster .pl-card .body{margin:0;font-size:15px}@media (prefers-reduced-motion:reduce){.poster .fr-spin{animation:none}.poster:hover .poster__cover .duo img{transform:none}}.bmk{width:44px;height:44px;display:inline-grid;place-items:center;color:var(--label);transition:color .25s}.bmk.on,.bmk:hover{color:var(--ink)}.bmk svg{width:18px;height:18px;display:block;overflow:visible}.bmk svg circle{transition:stroke-width .45s var(--glide),r .45s var(--glide)}.bmk-t{display:inline-flex;align-items:center;gap:8px;min-height:32px;font:500 11.5px/1 var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--label);transition:color .25s}.bmk-t.on,.bmk-t:hover{color:var(--ink)}.bmk-t svg{width:13px;height:13px;display:block;overflow:visible}.celebrate__canvas{inset:0;width:100%;height:100%;z-index:70}.celebrate,.celebrate__canvas{position:fixed;pointer-events:none}.celebrate{left:0;right:0;bottom:clamp(24px,6vh,64px);display:flex;justify-content:center;padding:0 16px;z-index:71}.celebrate__card{display:flex;align-items:center;gap:16px;max-width:calc(100vw - 32px);padding:16px 22px 16px 18px;background:var(--raised);border:1px solid var(--hair-2);animation:celebIn .6s var(--glide) both}.celebrate--course .celebrate__card,.celebrate--module .celebrate__card{border-top:2px solid var(--brass)}.celebrate--out .celebrate__card{animation:celebOut .32s var(--release) forwards}.celebrate__mark{width:30px;height:30px;flex:none;overflow:visible}.celebrate__mark circle{fill:none;stroke:var(--ink)}.celebrate--course .celebrate__mark circle,.celebrate--module .celebrate__mark circle{stroke:var(--brass)}.celebrate__label{font:500 10.5px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--label)}.celebrate--course .celebrate__label,.celebrate--module .celebrate__label{color:var(--brass)}.celebrate__title{font:700 20px/1.1 var(--f-display);font-stretch:108%;letter-spacing:-.02em;color:var(--ink)}.celebrate__label+.celebrate__title{margin-top:6px}.celebrate--course .celebrate__title{font-size:24px}.celebrate__sub{font:400 13px/1.3 var(--f-body);color:var(--ink-2);margin-top:4px}@keyframes celebIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes celebOut{to{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.celebrate__card{animation:none}.celebrate--out .celebrate__card{animation:none;opacity:0}}