
/* v18.1.2 — centered brand, festive title, dense vertical snowfall */
.zl5-home .zl5-hero__stage{
  grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr)!important;
  align-items:end!important;
  padding-top:10px;
}
.zl5-home .zl5-hero__brand-center{
  position:relative;
  z-index:6;
  grid-column:1/-1;
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin:0 auto clamp(16px,2.2vw,30px);
  pointer-events:none;
}
.zl5-home .zl5-hero__brand-center::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:min(900px,86vw);
  height:220px;
  background:radial-gradient(ellipse at center,rgba(2,12,35,.88) 0%,rgba(2,12,35,.58) 46%,rgba(2,12,35,0) 76%);
  filter:blur(8px);
}
.zl5-home .zl5-hero__brand-center .zl5-hero__logo{
  display:block;
  width:min(650px,66vw)!important;
  max-height:230px;
  margin:0!important;
  object-fit:contain;
  filter:drop-shadow(0 12px 30px rgba(0,0,0,.42));
}
.zl5-home .zl5-overline{
  margin-bottom:18px!important;
  color:#f6dc85!important;
  font-size:clamp(.72rem,.9vw,.9rem)!important;
  letter-spacing:.24em!important;
}
.zl5-home .zl5-hero h1{
  max-width:700px!important;
  font-family:"Apple Chancery","Segoe Print","URW Chancery L","Monotype Corsiva",Georgia,cursive!important;
  font-size:clamp(3rem,4.25vw,5.05rem)!important;
  font-weight:600!important;
  font-style:normal;
  line-height:1.05!important;
  letter-spacing:-.018em!important;
  text-wrap:balance;
  text-shadow:0 8px 26px rgba(0,0,0,.48),0 0 22px rgba(245,215,126,.08)!important;
}
.zl5-home .zl5-sparkles{
  z-index:1!important;
  inset:-15% 0 0!important;
  height:125%!important;
  opacity:1!important;
  background-image:url(../images/director-v1812/snow-layer-1.svg)!important;
  background-size:100% auto!important;
  background-repeat:repeat-y!important;
  animation:zlSnowFallOne 24s linear infinite!important;
  pointer-events:none;
}
.zl5-home .zl5-sparkles::before,
.zl5-home .zl5-sparkles::after{
  content:"";
  position:absolute;
  inset:0;
  background-repeat:repeat-y;
  background-size:100% auto;
  pointer-events:none;
}
.zl5-home .zl5-sparkles::before{
  background-image:url(../images/director-v1812/snow-layer-2.svg);
  opacity:.88;
  animation:zlSnowFallTwo 34s linear infinite;
}
.zl5-home .zl5-sparkles::after{
  background-image:url(../images/director-v1812/snow-layer-3.svg);
  opacity:.74;
  animation:zlSnowFallThree 44s linear infinite;
}
@keyframes zlSnowFallOne{from{background-position:center -900px}to{background-position:center 900px}}
@keyframes zlSnowFallTwo{from{background-position:center -1200px}to{background-position:center 600px}}
@keyframes zlSnowFallThree{from{background-position:center -600px}to{background-position:center 1200px}}
@media(prefers-reduced-motion:reduce){
  .zl5-home .zl5-sparkles,
  .zl5-home .zl5-sparkles::before,
  .zl5-home .zl5-sparkles::after{animation:none!important;background-position:center top!important}
}
@media(max-width:1020px){
  .zl5-home .zl5-hero__stage{grid-template-columns:1fr!important;padding-top:0}
  .zl5-home .zl5-hero__brand-center{margin-bottom:10px}
  .zl5-home .zl5-hero__brand-center .zl5-hero__logo{width:min(560px,78vw)!important}
  .zl5-home .zl5-hero h1{max-width:790px!important;font-size:clamp(2.85rem,6.2vw,4.5rem)!important}
}
@media(max-width:767px){
  .zl5-home .zl5-hero__brand-center{margin-bottom:8px}
  .zl5-home .zl5-hero__brand-center::before{width:100vw;height:150px}
  .zl5-home .zl5-hero__brand-center .zl5-hero__logo{width:min(360px,86vw)!important;max-height:150px}
  .zl5-home .zl5-hero__copy{text-align:left}
  .zl5-home .zl5-overline{font-size:.66rem!important;letter-spacing:.2em!important}
  .zl5-home .zl5-hero h1{font-size:clamp(2.18rem,8vw,3.05rem)!important;line-height:1.08!important;letter-spacing:-.01em!important}
  .zl5-home .zl5-sparkles{background-size:150% auto!important}
  .zl5-home .zl5-sparkles::before,.zl5-home .zl5-sparkles::after{background-size:150% auto!important}
}
@media(max-width:430px){
  .zl5-home .zl5-hero__brand-center .zl5-hero__logo{width:min(330px,88vw)!important}
  .zl5-home .zl5-hero h1{font-size:clamp(2.02rem,8.6vw,2.7rem)!important}
}


/* v18.1.3 — explicit current-season context */
.zl5-home .zl5-hero__brand-center{
  flex-direction:column;
}
.zl5-home .zl5-season-badge{
  position:relative;
  z-index:8;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:clamp(2px,.55vw,8px) 0 0;
  padding:9px 18px 10px;
  color:#fff7dc;
  background:linear-gradient(180deg,rgba(11,37,84,.84),rgba(4,18,48,.88));
  border:1px solid rgba(246,220,133,.62);
  border-radius:999px;
  box-shadow:0 12px 28px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.08);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.12em;
  white-space:nowrap;
}
.zl5-home .zl5-season-badge::before,
.zl5-home .zl5-season-badge::after{
  content:"";
  width:28px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(246,220,133,.78));
}
.zl5-home .zl5-season-badge::after{
  transform:scaleX(-1);
}
.zl5-home .zl5-season-badge span{
  color:#f6dc85;
  font-size:.76rem;
  line-height:1;
}
.zl5-home .zl5-season-badge b{
  color:#fff7dc;
  font-size:clamp(.68rem,.76vw,.82rem);
  font-weight:760;
}
.zl5-home .zl5-season-badge strong{
  color:#f6dc85;
  font-size:clamp(.76rem,.9vw,.94rem);
  font-weight:900;
  letter-spacing:.08em;
}
@media(max-width:767px){
  .zl5-home .zl5-season-badge{
    gap:7px;
    margin-top:2px;
    padding:8px 12px 9px;
    letter-spacing:.075em;
  }
  .zl5-home .zl5-season-badge::before,
  .zl5-home .zl5-season-badge::after{
    width:14px;
  }
  .zl5-home .zl5-season-badge span{
    font-size:.64rem;
  }
  .zl5-home .zl5-season-badge b{
    font-size:.61rem;
  }
  .zl5-home .zl5-season-badge strong{
    font-size:.68rem;
  }
}
@media(max-width:390px){
  .zl5-home .zl5-season-badge::before,
  .zl5-home .zl5-season-badge::after,
  .zl5-home .zl5-season-badge span{
    display:none;
  }
  .zl5-home .zl5-season-badge{
    gap:6px;
    padding-inline:13px;
  }
}
