/* GPC brand film — overlay + inline player */
html.filmlock,html.filmlock body{overflow:hidden}
.gpcfilm{position:relative;background:#000;overflow:hidden;font-family:Montserrat,sans-serif}
#film.gpcfilm{position:fixed;inset:0;z-index:9000;opacity:0;pointer-events:none;transition:opacity .5s ease}
#film.gpcfilm.on{opacity:1;pointer-events:auto}
.gpcfilm.inline{aspect-ratio:16/9;width:100%;border:1px solid rgba(255,255,255,.14);border-radius:6px}
.gpcfilm .fvids{position:absolute;inset:0}
.gpcfilm video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1);filter:blur(0);transition:opacity 1.6s cubic-bezier(.4,0,.2,1),filter 1.6s cubic-bezier(.4,0,.2,1),transform 9s linear;will-change:opacity,transform,filter}
.gpcfilm video.on{opacity:1;transform:scale(1.065);filter:blur(0) brightness(1)}
.gpcfilm video.out{opacity:0;transform:scale(1.1);filter:blur(7px) brightness(1.12);transition:opacity 1.6s cubic-bezier(.4,0,.2,1),filter 1.6s cubic-bezier(.4,0,.2,1),transform 1.8s cubic-bezier(.25,0,.3,1)}
.gpcfilm video.pre{filter:blur(9px) brightness(1.08);transition:none}
.gpcfilm .fgrade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.6) 100%)}
.gpcfilm .fwm{position:absolute;bottom:clamp(74px,8vw,116px);inset-inline-end:clamp(14px,2.4vw,40px);width:clamp(78px,9vw,164px);opacity:.28;filter:brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.6));pointer-events:none;z-index:2;transition:opacity .5s ease}
.gpcfilm.ended .fwm,.gpcfilm:not(.playing) .fwm{opacity:0}
.gpcfilm .fcap{position:absolute;left:0;right:0;bottom:13%;text-align:center;padding:0 8%;font-weight:600;color:#fff;font-size:clamp(15px,1.9vw,32px);line-height:1.45;text-shadow:0 2px 26px rgba(0,0,0,.9);opacity:0;transform:translateY(14px);transition:opacity .55s cubic-bezier(.37,0,.24,1),transform .9s cubic-bezier(.2,.8,.2,1);pointer-events:none;text-wrap:pretty;z-index:2}
.gpcfilm .fcap.on{opacity:1;transform:none}
html[dir="rtl"] .gpcfilm .fcap{font-family:Cairo,sans-serif}
.gpcfilm .fend{position:absolute;inset:0;background:#fff;display:grid;place-content:center;justify-items:center;gap:clamp(14px,3vw,48px);padding:6%;opacity:0;pointer-events:none;transition:opacity 1.2s cubic-bezier(.37,0,.24,1);z-index:3}
.gpcfilm.ended .fend{opacity:1}
.gpcfilm .fend img{width:clamp(130px,22vw,400px);height:auto}
.gpcfilm .flines{display:flex;flex-direction:column;gap:clamp(4px,.7vw,11px);align-items:center;text-align:center}
.gpcfilm .flines span{font-weight:900;font-size:clamp(11px,1.3vw,22px);letter-spacing:.2em;text-transform:uppercase;color:#111}
.gpcfilm .flines span:nth-child(2){color:#F15A24}
.gpcfilm .flines span:nth-child(3){color:#00695C}
html[dir="rtl"] .gpcfilm .flines span{font-family:Cairo,sans-serif;letter-spacing:.05em}
.gpcfilm .ftag{font-size:clamp(10px,1vw,15px);font-weight:600;letter-spacing:.06em;color:#777}
.gpcfilm .ftop{position:absolute;top:0;left:0;right:0;z-index:4;padding:clamp(10px,1.6vw,26px) clamp(12px,2.4vw,40px);display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(rgba(0,0,0,.6),transparent);opacity:0;transition:opacity .35s}
.gpcfilm.playing .ftop,.gpcfilm.ended .ftop{opacity:1}
.gpcfilm .fscene{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#a5a5a5}
.gpcfilm .fui{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:clamp(10px,1.6vw,26px) clamp(12px,2.4vw,40px);display:flex;align-items:center;gap:clamp(8px,1.3vw,20px);background:linear-gradient(transparent,rgba(0,0,0,.8));opacity:0;transition:opacity .35s}
.gpcfilm.playing .fui,.gpcfilm.ended .fui,.gpcfilm:hover .fui{opacity:1}
.gpcfilm:not(.playing):not(.ended) .fui{opacity:0}
.gpcfilm button{background:none;border:0;color:#fff;cursor:pointer;font-family:Montserrat,sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:8px 10px;border-radius:4px;transition:background .2s,color .2s;white-space:nowrap}
.gpcfilm button:hover{background:rgba(255,255,255,.14);color:#F15A24}
html[dir="rtl"] .gpcfilm button{font-family:Cairo,sans-serif;letter-spacing:0}
.gpcfilm .fx{border:1px solid rgba(255,255,255,.3)}
.gpcfilm .fbar{flex:1;height:3px;background:rgba(255,255,255,.24);border-radius:2px;position:relative;cursor:pointer}
.gpcfilm .ffill{position:absolute;inset-inline-start:0;top:0;bottom:0;width:0;background:#F15A24;border-radius:2px;display:block}
.gpcfilm .fclock{font-size:10px;font-weight:600;letter-spacing:.1em;color:#bbb;font-variant-numeric:tabular-nums}
.gpcfilm .fstart{position:absolute;inset:0;z-index:5;display:grid;place-content:center;justify-items:center;gap:20px;background:radial-gradient(ellipse at center,rgba(20,20,24,.5),rgba(0,0,0,.86));transition:opacity .5s ease}
.gpcfilm.playing .fstart,.gpcfilm.ended .fstart{opacity:0;pointer-events:none}
.gpcfilm .fplay{width:74px;height:74px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:rgba(255,255,255,.06);display:grid;place-content:center;padding:0;transition:all .3s}
.gpcfilm .fplay:hover{background:#F15A24;border-color:#F15A24;transform:scale(1.06)}
.gpcfilm .fplay svg{width:24px;height:24px;margin-inline-start:3px}
.gpcfilm .flen{font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#9a9a9a}
html[dir="rtl"] .gpcfilm .flen{font-family:Cairo,sans-serif;letter-spacing:.04em}
@media(max-width:760px){.gpcfilm .fui{flex-wrap:wrap}.gpcfilm .fbar{order:-1;flex-basis:100%}.gpcfilm .fclock{display:none}}

#film.gpcfilm.on .ftop,#film.gpcfilm.on .fui{opacity:1}
#film.gpcfilm .fx{border:1px solid rgba(255,255,255,.42);background:rgba(0,0,0,.5)}
#film.gpcfilm.on .fstart{z-index:3}

/* Keep decoding and compositing light, especially on mobile GPUs. */
.gpcfilm video{will-change:auto;filter:none;transition:opacity 1.6s ease,transform 9s linear}
.gpcfilm video.on{will-change:opacity,transform;filter:none}
.gpcfilm video.out{filter:none;transition:opacity 1.6s ease,transform 1.8s ease}
.gpcfilm .fstatus{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;padding:12px 18px;border-radius:6px;background:rgba(0,0,0,.75);color:#fff;font-size:13px;text-align:center;pointer-events:none}
.gpcfilm .fstatus:empty{display:none}
@media(prefers-reduced-motion:reduce){.gpcfilm video,.gpcfilm video.on,.gpcfilm video.out{transform:none;transition:none}}
