/* Hero concepts: a vertical clip drawn the way PodClip draws it (the "Simple Orange" preset).
   Montserrat Black, all caps, plain white captions whose words fade in as they are said; big words stack beside a
   single speaker and tuck behind them (the cutout sits on top). Sizes follow podtext.py on a 1080x1920 frame. */
@font-face{font-family:"Montserrat";src:url(/home/assets/fonts/Montserrat-900.woff2) format("woff2");font-weight:900;font-display:swap}
.pc-clip{position:relative;aspect-ratio:9/16;container-type:inline-size;overflow:hidden;background:#3a2f27;isolation:isolate}
.pc-clip .pc-bg,.pc-clip .pc-cut{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.pc-clip .pc-cut{z-index:2;pointer-events:none}
.pc-clip .pc-panel{position:absolute;left:0;right:0;height:50%;background-repeat:no-repeat}
.pc-clip .pc-panel.t{top:0}.pc-clip .pc-panel.b{bottom:0}
.pc-clip .pc-grade{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(to bottom,rgba(20,12,6,.18),transparent 22%,transparent 70%,rgba(20,12,6,.22))}
/* captions: CAPTION_SIZE 80 (libass size = ascent+descent, about 66px of CSS font on 1080 wide), CAPTION_Y .64, CAPTION_WIDTH .80 */
.pc-caps{position:absolute;left:10%;right:10%;top:64%;z-index:4;pointer-events:none}
.pc-stack .pc-caps{top:50%}
.pc-line{position:absolute;left:0;right:0;top:0;translate:0 -50%;text-align:center;font:900 6.3cqw/1.16 "Montserrat",system-ui,sans-serif;color:#fff;text-transform:uppercase;letter-spacing:0;text-shadow:0 .28cqw .5cqw rgba(0,0,0,.5);opacity:0;transition:opacity .35s cubic-bezier(.4,0,.2,1)}
.pc-line.show{opacity:1}
.pc-line span{display:inline-block;opacity:0;filter:blur(.7cqw);transition:opacity .3s cubic-bezier(.25,.7,.3,1),filter .3s cubic-bezier(.25,.7,.3,1)}
.pc-line span.on{opacity:1;filter:blur(0)}
/* big words: CALLOUT_SIZE 185 (about 152px of CSS font on 1080), rows 0.68 apart, beside the speaker, behind the cutout */
.pc-big{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .4s cubic-bezier(.4,0,.2,1)}
.pc-big.show{opacity:1}
.pc-big b{position:absolute;translate:-50% -50%;white-space:nowrap;font:900 var(--bs,14cqw)/1 "Montserrat",system-ui,sans-serif;color:#fff;text-transform:uppercase;text-shadow:0 .4cqw .8cqw rgba(0,0,0,.35);opacity:0;filter:blur(1cqw);transform:translateY(2cqw);transition:opacity .45s cubic-bezier(.25,.7,.3,1),filter .45s cubic-bezier(.25,.7,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.pc-big b.o{color:#FF7A00}
.pc-big b.on{opacity:1;filter:blur(0);transform:none}
@media (prefers-reduced-motion:reduce){.pc-line,.pc-line span,.pc-big,.pc-big b{transition:none!important}}
