/* ZEOLEADS / ORIGINAL FILM — full-bleed cinematic treatment V4.2.
 * Scoped to the homepage; preserves all existing film playback behaviors.
 */
.page-home .zl-film-section {
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(64px, 7vw, 106px) 0 clamp(72px, 7.6vw, 114px);
  overflow: hidden;
  scroll-margin-top: 82px;
  background:
    radial-gradient(ellipse 64% 64% at 101% 3%, rgba(23,151,114,.37), transparent 72%),
    radial-gradient(ellipse 52% 68% at -12% 83%, rgba(13,114,141,.32), transparent 76%),
    linear-gradient(112deg,#031322 0%,#052736 52%,#05372e 100%);
  color: #f5fffa;
}
.page-home .zl-film-section::before {
  content: ""; position:absolute; pointer-events:none; left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent 4%,rgba(90,249,176,.75) 48%,transparent 96%);
  box-shadow:0 0 34px rgba(53,211,148,.24);
}
.page-home .zl-film-section::after {
  content:""; position:absolute; pointer-events:none; width:min(84vw,1000px);aspect-ratio:1;
  right:-29%;top:-39%;border-radius:50%;border:1px solid rgba(112,238,199,.10);
  box-shadow:0 0 0 72px rgba(89,244,179,.015),0 0 0 150px rgba(89,244,179,.012);
}
.page-home .zl-film-inner {
  position:relative;z-index:1;box-sizing:border-box;
  width:calc(100% - clamp(36px,9vw,150px));
  max-width:1540px;
  margin-inline:auto;
}
.page-home .zl-film-head {
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.76fr);
  align-items:end;gap:clamp(36px,6vw,116px);
  margin:0 0 clamp(28px,3.4vw,50px);
  text-align:left;
}
.page-home .zl-film-head-main {min-width:0;}
.page-home .zl-film-eyebrow {
  display:inline-flex;align-items:center;gap:12px;
  width:max-content;max-width:100%;
  margin:0 0 22px;padding:10px 17px;
  border:1px solid rgba(106,245,179,.48);border-radius:999px;
  background:rgba(22,118,88,.22);color:#b3f7d2;
  font-size:.78rem;line-height:1.4;font-weight:780;letter-spacing:.16em;text-transform:uppercase;
  box-shadow:inset 0 1px rgba(255,255,255,.08);
}
.page-home .zl-film-eyebrow-icon {font-size:1rem;color:#59f3ab;line-height:1;}
.page-home .zl-film-eyebrow-rule {height:15px;width:1px;background:rgba(168,241,202,.36);}
.page-home .zl-film-head h2 {
  max-width:920px;margin:0;color:#fff;
  font-family:inherit;font-weight:850;
  font-size:clamp(2.85rem,5.55vw,5.7rem);
  letter-spacing:-.055em;line-height:1.06;
  text-wrap:balance;
  text-shadow:0 8px 45px rgba(0,11,22,.25);
}
.page-home .zl-film-head h2 span {
  display:block;color:#69f1aa;
  background:linear-gradient(105deg,#95ffd0 0%,#55edaa 58%,#d6f7aa 108%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.page-home .zl-film-head-aside {padding-bottom:7px;}
.page-home .zl-film-head-aside p {margin:0 0 25px;max-width:520px;
  color:#d5eae6;font-size:clamp(1.03rem,1.33vw,1.22rem);line-height:1.66;
  font-weight:450;letter-spacing:-.008em;}
.page-home .zl-film-mini-flow {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0;
  color:#dff9ed;font-size:.79rem;letter-spacing:.075em;font-weight:730;text-transform:uppercase;}
.page-home .zl-film-mini-flow span {display:inline-flex;align-items:center;gap:7px;white-space:nowrap;}
.page-home .zl-film-mini-flow span::before {content:"";width:7px;height:7px;border-radius:50%;
  background:#4ee6a3;box-shadow:0 0 11px rgba(69,241,166,.48);}
.page-home .zl-film-mini-flow i {font-style:normal;color:rgba(142,231,192,.72);font-size:1.1rem;}
.page-home .zl-film-cinema {
  position:relative;overflow:hidden;border:1px solid rgba(130,231,194,.27);
  border-radius:clamp(16px,2.15vw,30px);
  background:#051824;
  box-shadow:0 35px 105px rgba(0,0,0,.39),0 0 0 1px rgba(255,255,255,.02) inset;
}
.page-home .zl-film-cinema::before {
  content:"";position:absolute;z-index:1;top:0;left:7%;right:7%;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(122,255,184,.7),transparent);
}
.page-home .zl-film-cinema-top {
  box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:18px;
  padding:16px clamp(19px,2.3vw,34px);
  min-height:55px;border-bottom:1px solid rgba(147,255,202,.14);
  background:linear-gradient(105deg,#061d2a,#0a3436);
}
.page-home .zl-film-screen-brand,
.page-home .zl-film-screen-meta {display:inline-flex;align-items:center;gap:12px;
  color:#d6f6eb;font-size:.77rem;font-weight:780;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;}
.page-home .zl-film-screen-brand b {
  display:grid;place-items:center;width:23px;height:23px;border-radius:7px;
  color:#06281f;background:linear-gradient(145deg,#b3ffca,#42da9d);
  box-shadow:0 0 18px rgba(69,235,164,.25);font-size:.9rem;letter-spacing:0;}
.page-home .zl-film-screen-meta {color:#aed6ca;font-weight:620;letter-spacing:.065em;}
.page-home .zl-film-screen-meta .zl-film-meta-dot {
  height:7px;width:7px;border-radius:50%;background:#57f0a6;box-shadow:0 0 10px #38d69b;}
.page-home .zl-film-media {max-width:none;margin:0;position:relative;background:#061927;}
.page-home .zl-film-preview,.page-home .zl-film-inline-shell {
  position:relative;width:100%;overflow:hidden;box-sizing:border-box;
  border:0;border-radius:0;background:#061824;
  box-shadow:none;
}
.page-home .zl-film-preview--desktop,.page-home .zl-film-inline-shell {aspect-ratio:16/9;}
.page-home .zl-film-preview--mobile {display:none;}
.page-home .zl-film-preview a {display:block;width:100%;height:100%;position:relative;overflow:hidden;text-decoration:none;color:inherit;}
.page-home .zl-film-preview img {display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .55s ease,filter .45s ease;}
.page-home .zl-film-preview a::after {
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg,rgba(1,17,29,.49) 0%,transparent 25%,transparent 76%,rgba(2,20,28,.22) 100%);
}
.page-home .zl-film-preview a:hover img {transform:scale(1.015);filter:brightness(1.045);}
.page-home .zl-film-play-pill {
  position:absolute;z-index:3;left:50%;top:50%;
  transform:translate(-50%,-50%);
  display:grid;place-items:center;width:clamp(94px,8.5vw,136px);height:clamp(94px,8.5vw,136px);
  border:3px solid rgba(245,255,247,.95);border-radius:50%;
  background:linear-gradient(135deg,#b9ffd0 0%,#57ec9b 52%,#30c982 100%);
  color:#073629;
  box-shadow:0 0 0 13px rgba(61,231,153,.16),0 20px 60px rgba(0,0,0,.38),0 0 54px rgba(62,242,169,.32);
  transition:transform .25s ease,box-shadow .25s ease;
}
.page-home .zl-film-play-pill svg {width:40%;height:40%;margin-left:6%;fill:currentColor;}
.page-home .zl-film-preview a:hover .zl-film-play-pill,
.page-home .zl-film-preview a:focus-visible .zl-film-play-pill {
  transform:translate(-50%,-50%) scale(1.07);
  box-shadow:0 0 0 17px rgba(68,241,168,.2),0 24px 70px rgba(0,0,0,.4),0 0 60px rgba(62,242,169,.38);
}
.page-home .zl-film-play-copy {
  position:absolute;z-index:2;left:50%;top:calc(50% + clamp(80px,8.4vw,124px));
  transform:translateX(-50%);white-space:nowrap;
  color:#fff;font-size:clamp(.76rem,1vw,.9rem);letter-spacing:.21em;text-transform:uppercase;font-weight:820;
  text-shadow:0 2px 8px rgba(0,0,0,.88);
}
.page-home .zl-film-duration {
  position:absolute;z-index:2;right:24px;bottom:21px;
  padding:9px 13px;border:1px solid rgba(207,255,230,.38);
  border-radius:9px;background:rgba(4,25,36,.72);
  color:#f4fff9;font-size:.79rem;letter-spacing:.085em;font-weight:800;
}
.page-home .zl-film-inline-shell {display:grid;place-items:center;}
.page-home .zl-film-inline-shell video {display:block;width:100%;height:100%;object-fit:contain;background:#020b15;}
.page-home .zl-film-inline-actions {
  display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap;
  background:#071e2a;padding:13px 21px;border-top:1px solid rgba(157,236,209,.16);
}
.page-home .zl-film-inline-actions button {
  min-height:39px;padding:7px 14px;border:1px solid rgba(141,241,184,.35);
  border-radius:9px;background:rgba(255,255,255,.045);
  color:#eafff5;font:inherit;font-size:.85rem;font-weight:720;cursor:pointer;
}
.page-home .zl-film-inline-actions button:hover {background:rgba(40,184,128,.16);}
.page-home .zl-film-preview[hidden],.page-home .zl-film-inline-shell[hidden],
.page-home .zl-film-inline-actions[hidden],.page-home [data-zl-film-replay][hidden] {display:none!important;}
.page-home .zl-film-screen-bottom {
  display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  padding:15px clamp(18px,2.4vw,34px);
  border-top:1px solid rgba(138,232,190,.17);
  background:linear-gradient(95deg,#061b29,#082d30);
}
.page-home .zl-film-screen-bottom p {display:inline-flex;align-items:center;gap:9px;
  margin:0;color:#b9ded4;font-size:.77rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;}
.page-home .zl-film-screen-bottom svg {color:#6ce8ad;width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;}
.page-home .zl-film-screen-bottom p:last-child {color:#8fd3bc;}
.page-home .zl-film-after {
  display:flex;justify-content:space-between;gap:clamp(24px,4vw,70px);
  align-items:center;max-width:100%;
  padding:clamp(28px,3.2vw,48px) 0 0;
}
.page-home .zl-film-journey {display:flex;align-items:flex-start;gap:clamp(15px,2.9vw,46px);flex-wrap:wrap;}
.page-home .zl-film-journey > span {display:inline-flex;align-items:center;gap:10px;
  color:#dff7ee;font-size:.86rem;font-weight:720;letter-spacing:.012em;white-space:nowrap;}
.page-home .zl-film-journey b {font-size:.79rem;color:#76efb5;font-variant-numeric:tabular-nums;}
.page-home .zl-film-journey > span + span::before {content:"";display:inline-block;width:1px;height:16px;
  margin-right:clamp(0px,1vw,12px);background:rgba(135,242,193,.29);}
.page-home .zl-film-footer {display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;flex-shrink:0;margin:0;}
.page-home .zl-film-primary,.page-home .zl-film-secondary {
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  min-height:55px;padding:14px clamp(17px,1.8vw,29px);
  border-radius:13px;text-decoration:none;white-space:nowrap;
  font-weight:840;font-size:.93rem;line-height:1.2;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.page-home .zl-film-primary {background:linear-gradient(135deg,#a6ffd0,#47e598 68%,#2bd488);color:#06382e;box-shadow:0 15px 38px rgba(54,222,147,.18);}
.page-home .zl-film-secondary {border:1px solid rgba(153,241,196,.47);color:#e9fff3;background:rgba(219,255,239,.035);}
.page-home .zl-film-primary:hover,.page-home .zl-film-secondary:hover {transform:translateY(-2px);}
.page-home .zl-film-note {margin:24px 0 0;max-width:1060px;text-align:left;
  font-size:.79rem;line-height:1.6;color:#a2c9bd;}
.page-home .zl-film-preview a:focus-visible,
.page-home .zl-film-primary:focus-visible,.page-home .zl-film-secondary:focus-visible,
.page-home .zl-film-inline-actions button:focus-visible {outline:3px solid #a5ffd0;outline-offset:3px;}
/* Accessible native-video dialog, only constructed after the user taps Play. */
.zl-film-dialog {box-sizing:border-box;border:1px solid rgba(123,239,192,.55);
  border-radius:23px;background:linear-gradient(145deg,#051727,#092f32);
  color:#f2fff7;width:min(calc(100vw - 22px),540px);
  max-height:calc(100dvh - 20px);padding:14px;
  box-shadow:0 30px 110px rgba(0,0,0,.7);}
.zl-film-dialog::backdrop {background:rgba(1,11,20,.87);backdrop-filter:blur(9px);}
.zl-film-dialog-toolbar {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 8px 13px;}
.zl-film-dialog-toolbar strong {color:#eafff1;font-size:.96rem;line-height:1.3;}
.zl-film-dialog-close {border:1px solid rgba(132,241,196,.49);
  background:#12584c;color:#fff;min-height:43px;padding:9px 13px;
  border-radius:11px;font:inherit;font-weight:800;cursor:pointer;}
.zl-film-dialog-player {display:grid;place-items:center;max-height:calc(100dvh - 132px);}
.zl-film-dialog-player video {display:block;width:auto;max-width:100%;
  max-height:calc(100dvh - 145px);aspect-ratio:9/16;background:#031420;}
.zl-film-dialog-caption {margin:10px 5px 0;font-size:.78rem;line-height:1.4;text-align:center;color:#c0ded2;}
.zl-film-dialog-close:focus-visible {outline:3px solid #a4fed2;outline-offset:3px;}
@media(max-width:1190px) {
  .page-home .zl-film-head {grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);gap:28px;}
  .page-home .zl-film-head h2 {font-size:clamp(2.55rem,5.5vw,4.8rem);}
  .page-home .zl-film-after {flex-direction:column;align-items:stretch;gap:25px;}
  .page-home .zl-film-footer {justify-content:flex-start;}
}
@media(max-width:760px) {
  .page-home .zl-film-section {padding:52px 0 66px;scroll-margin-top:70px;}
  .page-home .zl-film-inner {width:calc(100% - 34px);max-width:480px;}
  .page-home .zl-film-head {display:block;margin:0 0 25px;}
  .page-home .zl-film-eyebrow {font-size:.67rem;letter-spacing:.115em;padding:8px 12px;margin-bottom:18px;gap:8px;}
  .page-home .zl-film-head h2 {font-size:clamp(2.56rem,10.2vw,3.35rem);
    line-height:1.075;letter-spacing:-.052em;max-width:470px;text-wrap:balance;}
  .page-home .zl-film-head h2 span {display:block;}
  .page-home .zl-film-head-aside {margin-top:16px;padding:0;}
  .page-home .zl-film-head-aside p {font-size:.95rem;line-height:1.62;margin-bottom:16px;}
  .page-home .zl-film-mini-flow {gap:8px;font-size:.65rem;letter-spacing:.025em;}
  .page-home .zl-film-mini-flow span {gap:5px;}
  .page-home .zl-film-mini-flow span::before {width:5px;height:5px;}
  .page-home .zl-film-cinema {border-radius:21px;}
  .page-home .zl-film-cinema-top {min-height:49px;padding:12px 14px;gap:8px;}
  .page-home .zl-film-screen-brand {font-size:.65rem;letter-spacing:.055em;gap:8px;}
  .page-home .zl-film-screen-brand b {width:22px;height:22px;}
  .page-home .zl-film-screen-meta {font-size:.65rem;gap:6px;}
  .page-home .zl-film-screen-meta .zl-film-meta-dot {width:6px;height:6px;}
  .page-home .zl-film-media {display:flex;justify-content:center;align-items:center;min-height:392px;
    padding:21px 10px 23px;
    background:radial-gradient(ellipse 64% 67% at 50% 56%,rgba(40,198,141,.22),transparent 79%),#061826;}
  .page-home .zl-film-preview--desktop {display:none;}
  .page-home .zl-film-preview--mobile {
    display:block;flex:0 0 auto;width:min(68vw,248px);
    aspect-ratio:9/16;border-radius:17px;
    border:1px solid rgba(132,246,193,.44);
    box-shadow:0 22px 65px rgba(0,0,0,.48),0 0 0 5px rgba(138,245,194,.065);
  }
  .page-home .zl-film-preview--mobile img {width:100%;height:100%;object-fit:cover;}
  .page-home .zl-film-play-pill {width:75px;height:75px;box-shadow:0 0 0 9px rgba(61,231,153,.18),0 12px 38px rgba(0,0,0,.4);}
  .page-home .zl-film-play-pill svg {width:30px;height:30px;}
  .page-home .zl-film-play-copy {top:calc(50% + 70px);font-size:.67rem;letter-spacing:.15em;}
  .page-home .zl-film-duration {right:10px;bottom:12px;padding:6px 9px;font-size:.67rem;}
  .page-home .zl-film-screen-bottom {padding:13px 14px;gap:6px;}
  .page-home .zl-film-screen-bottom p {font-size:.65rem;letter-spacing:.015em;}
  .page-home .zl-film-screen-bottom p:last-child {display:none;}
  .page-home .zl-film-after {padding:23px 0 0;gap:22px;}
  .page-home .zl-film-journey {gap:12px 17px;}
  .page-home .zl-film-journey>span {font-size:.72rem;gap:6px;}
  .page-home .zl-film-journey>span + span::before {display:none;}
  .page-home .zl-film-journey b {font-size:.66rem;}
  .page-home .zl-film-footer {flex-direction:column;gap:10px;align-items:stretch;}
  .page-home .zl-film-primary,.page-home .zl-film-secondary {width:100%;min-height:52px;white-space:normal;font-size:.87rem;}
  .page-home .zl-film-note {margin-top:18px;font-size:.74rem;line-height:1.53;}
}
@media(max-width:375px) {
  .page-home .zl-film-inner {width:calc(100% - 28px);}
  .page-home .zl-film-head h2 {font-size:2.44rem;}
  .page-home .zl-film-eyebrow {letter-spacing:.055em;font-size:.61rem;}
  .page-home .zl-film-mini-flow {font-size:.6rem;}
}
@media(prefers-reduced-motion:reduce) {
  .page-home .zl-film-preview img,
  .page-home .zl-film-play-pill,
  .page-home .zl-film-primary,
  .page-home .zl-film-secondary {transition:none!important;}
  .page-home .zl-film-preview a:hover img {transform:none;filter:none;}
}

/* Suppress the duplicated fixed pilot banner only while the film is in view on mobile. */
@media (max-width:760px) {
  .page-home.zl-film-in-view .mobile-conversion-bar {
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transform:translateY(120%)!important;transition:opacity .2s ease,transform .2s ease!important;
  }
}
