.polo-film-wrap *{ margin:0; padding:0; box-sizing:border-box; }
.polo-film-wrap{ position:relative; }
.polo-film-wrap .display{ font-family:"Cormorant Garamond","Times New Roman",serif; font-weight:500; letter-spacing:.005em; }
.polo-film-wrap ::selection{ background:#C2A878; color:#000; }

.polo-film-wrap .pf-loader{
  position:fixed; inset:0; z-index:1000;
  background:radial-gradient(120% 100% at 50% 40%, #121214 0%, #060607 60%, #000 100%);
  display:grid; place-items:center;
  transition:opacity 1s cubic-bezier(.22,.61,.36,1), visibility 1s cubic-bezier(.22,.61,.36,1);
}
.polo-film-wrap .pf-loader.is-done{ opacity:0; visibility:hidden; }
.polo-film-wrap .pf-loader .loader__inner{ width:min(78vw,360px); text-align:center; }
.polo-film-wrap .pf-loader .loader__mark{
  font-family:"Cormorant Garamond","Times New Roman",serif; font-size:54px; font-weight:600;
  line-height:1; width:84px; height:84px;
  display:grid; place-items:center; margin:0 auto 26px; border-radius:50%;
}
.polo-film-wrap .pf-loader .loader__name{
  font-size:13px; letter-spacing:.62em; text-indent:.62em; margin-bottom:34px;
}
.polo-film-wrap .pf-loader .loader__bar{ height:1px; width:100%; overflow:hidden; }
.polo-film-wrap .pf-loader .loader__bar span{ display:block; height:100%; width:0%; transition:width .25s linear; }
.polo-film-wrap .pf-loader .loader__pct{ margin-top:16px; font-size:12px; letter-spacing:.3em; }
.polo-film-wrap .pf-loader .loader__pct i{ font-style:normal; }
.polo-film-wrap .pf-loader .loader__cap{ margin-top:8px; font-size:10.5px; letter-spacing:.34em; text-transform:uppercase; }

.polo-film-wrap .pf-topbar{
  position:fixed; top:0; left:0; right:0; z-index:90;
  display:flex; align-items:center; justify-content:space-between;
  padding:24px clamp(20px,4vw,52px);
  mix-blend-mode:difference;
  opacity:0; transform:translateY(-12px);
  transition:opacity 1s cubic-bezier(.22,.61,.36,1) .2s, transform 1s cubic-bezier(.22,.61,.36,1) .2s;
}
.polo-film-wrap .pf-topbar.is-in{ opacity:1; transform:none; }
.polo-film-wrap .pf-topbar .topbar__brand{
  font-family:"Cormorant Garamond","Times New Roman",serif; font-weight:600; font-size:22px;
  letter-spacing:.34em; text-indent:.34em; color:#fff; text-decoration:none;
}
.polo-film-wrap .pf-topbar .topbar__nav{ display:flex; align-items:center; gap:clamp(16px,2.4vw,40px); }
.polo-film-wrap .pf-topbar .topbar__nav a{
  color:#fff; text-decoration:none; font-size:11px;
  letter-spacing:.22em; text-transform:uppercase; opacity:.82; transition:opacity .3s;
}
.polo-film-wrap .pf-topbar .topbar__nav a:hover{ opacity:1; }

.polo-film-wrap .pf-seq{ position:relative; height:820vh; background:#000; }
.polo-film-wrap .pf-sticky{ position:sticky; top:0; height:100vh; width:100%; overflow:hidden; }
.polo-film-wrap .pf-frames{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.polo-film-wrap .pf-layer{ position:absolute; inset:0; pointer-events:none; z-index:3; }
.polo-film-wrap .pf-vignette{
  background:radial-gradient(130% 110% at 50% 42%, transparent 38%, rgba(0,0,0,.55) 100%),
    linear-gradient(to bottom, rgba(0,0,0,.45) 0%, transparent 22%, transparent 72%, rgba(0,0,0,.78) 100%);
}
.polo-film-wrap .pf-grain{
  z-index:4; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.polo-film-wrap .pf-overlay{ position:absolute; inset:0; z-index:5; pointer-events:none; }

.polo-film-wrap .pf-panel{
  position:absolute; top:50%; left:50%;
  width:min(92vw,1240px); transform:translate(-50%,-50%);
  will-change:transform,opacity; opacity:0;
}
.polo-film-wrap .pf-panel > *{ will-change:transform,opacity; display:block; }
.polo-film-wrap .pf-panel[data-align="center"]{ text-align:center; }
.polo-film-wrap .pf-panel[data-align="center"] .panel__body{ margin-left:auto; margin-right:auto; }
.polo-film-wrap .pf-panel[data-align="left"]{ text-align:left; }
.polo-film-wrap .pf-panel[data-align="right"]{ text-align:right; }
.polo-film-wrap .pf-panel[data-align="right"] .panel__body{ margin-left:auto; }
.polo-film-wrap .pf-panel .panel__index{
  font-size:clamp(40px,5.4vw,78px); line-height:.8; color:transparent;
  -webkit-text-stroke:1px currentColor; opacity:.7; margin-bottom:8px;
}
.polo-film-wrap .pf-panel .panel__kicker{
  font-size:11px; letter-spacing:.42em; text-transform:uppercase; margin-bottom:22px; font-weight:500;
}
.polo-film-wrap .pf-panel .panel__title{
  font-size:clamp(32px,5vw,68px); line-height:1; letter-spacing:-.01em; color:#fff;
  text-shadow:0 6px 60px rgba(0,0,0,.7);
}
.polo-film-wrap .pf-panel .panel__title em{ font-style:italic; }
.polo-film-wrap .pf-panel .panel__sub{
  margin-top:20px; font-size:clamp(14px,1.6vw,19px);
  letter-spacing:.34em; text-transform:uppercase;
}
.polo-film-wrap .pf-panel .panel__body{
  margin-top:26px; max-width:38ch;
  font-size:clamp(15px,1.35vw,18px); line-height:1.7;
}
.polo-film-wrap .pf-panel.panel--hero{ width:min(92vw,720px); text-align:center; }
.polo-film-wrap .pf-panel.panel--hero .panel__kicker{ margin-bottom:16px; }
.polo-film-wrap .pf-panel.panel--hero .panel__title{ font-size:clamp(30px,4.8vw,64px); line-height:1; }
.polo-film-wrap .pf-panel.panel--hero .panel__sub{ margin-top:14px; font-size:clamp(11px,1.1vw,14px); }
.polo-film-wrap .pf-panel.panel--bottom{ top:auto; bottom:clamp(54px,8vh,104px); transform:translateX(-50%); }

.polo-film-wrap .pf-panel .scrollcue{
  margin-top:34px; display:inline-flex; flex-direction:column; align-items:center; gap:14px;
  font-size:10px; letter-spacing:.36em; text-transform:uppercase;
}
.polo-film-wrap .pf-panel .scrollcue i{ width:1px; height:54px; position:relative; overflow:hidden; background:currentColor; opacity:.3; }
.polo-film-wrap .pf-panel .scrollcue i::after{
  content:""; position:absolute; left:0; top:-50%; width:1px; height:50%;
  animation:pf-cue 2.1s cubic-bezier(.22,.61,.36,1) infinite;
}
@keyframes pf-cue{ 0%{ transform:translateY(-100%); } 60%,100%{ transform:translateY(300%);} }

.polo-film-wrap .pf-hud{ position:absolute; inset:0; z-index:6; pointer-events:none; }
.polo-film-wrap .pf-hud .hud__label{
  position:absolute; bottom:26px;
  font-size:10px; letter-spacing:.3em; text-transform:uppercase;
}
.polo-film-wrap .pf-hud .hud__label--l{ left:clamp(20px,4vw,52px); }
.polo-film-wrap .pf-hud .hud__label--r{ right:clamp(20px,4vw,52px); }
.polo-film-wrap .pf-hud .hud__label--r b{ font-weight:500; }
.polo-film-wrap .pf-hud .hud__progress{
  position:absolute; left:50%; bottom:28px; transform:translateX(-50%);
  width:min(40vw,260px); height:1px;
}
.polo-film-wrap .pf-hud .hud__progress span{
  display:block; height:100%; width:0%;
  background:linear-gradient(90deg,var(--pf-gold-soft,#C2A87888),var(--pf-gold,#C2A878));
}

@media (max-width:760px){
  .polo-film-wrap .pf-seq{ height:700vh; }
  .polo-film-wrap .pf-panel{ width:88vw; }
  .polo-film-wrap .pf-panel[data-align="right"]{ text-align:left; }
  .polo-film-wrap .pf-panel[data-align="right"] .panel__body{ margin-left:0; }
  .polo-film-wrap .pf-panel .panel__body{ max-width:34ch; }
  .polo-film-wrap .pf-topbar .topbar__nav a{ display:none !important; }
  .polo-film-wrap .pf-hud .hud__label--l{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  .polo-film-wrap .pf-panel .scrollcue i::after{ animation:none; }
}
