/* INTELLECTUAL POWER INGREDIENT FILM LIBRARY
   SMART DELIVERY 1.0.1 — LAYOUT STABILITY SHELL */
[data-ip-ifl-shell]{
  --ip-ifl-placeholder-height:min(920px,100vh);
  --ip-ifl-reserved-height:var(--ip-ifl-placeholder-height);
  position:relative;
  min-height:var(--ip-ifl-placeholder-height);
  overflow:hidden;
  isolation:isolate;
  contain:layout style;
  color:#f4f8ff;
  background:
    radial-gradient(circle at 50% 30%,rgba(30,125,255,.17),transparent 38%),
    linear-gradient(180deg,#020611,#050d1d 58%,#020611);
  font-family:Inter,Arial,Helvetica,sans-serif;
}

[data-ip-ifl-shell][data-state="loading"],
[data-ip-ifl-shell][data-state="measuring"],
[data-ip-ifl-shell][data-state="hydrating"],
[data-ip-ifl-shell][data-state="ready"]{
  min-height:var(--ip-ifl-reserved-height,var(--ip-ifl-placeholder-height));
}

[data-ip-ifl-shell][data-state="hydrating"],
[data-ip-ifl-shell][data-state="ready"]{
  overflow:visible;
}

[data-ip-ifl-shell] .ip-ifl-anchor{
  position:absolute;
  top:-120px;
}

[data-ip-ifl-shell] .ip-ifl-placeholder{
  position:relative;
  z-index:3;
  min-height:var(--ip-ifl-placeholder-height);
  display:grid;
  place-items:center;
  padding:90px clamp(24px,6vw,90px);
  text-align:left;
  opacity:1;
  visibility:visible;
  transition:opacity .24s ease,visibility .24s ease;
}

[data-ip-ifl-shell] .ip-ifl-placeholder::before{
  content:"";
  position:absolute;
  right:clamp(-100px,2vw,40px);
  top:50%;
  width:min(520px,62vw);
  aspect-ratio:1;
  transform:translateY(-50%);
  border:1px solid rgba(109,176,255,.22);
  border-radius:50%;
  box-shadow:
    0 0 0 42px rgba(58,132,255,.025),
    0 0 100px rgba(30,125,255,.1);
}

[data-ip-ifl-shell] .ip-ifl-placeholder-inner{
  position:relative;
  z-index:2;
  width:min(1450px,100%);
  margin:auto;
}

[data-ip-ifl-shell] .ip-ifl-placeholder-inner > *{
  max-width:760px;
}

[data-ip-ifl-shell] .ip-ifl-kicker{
  margin:0 0 15px;
  color:#6db0ff;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.23em;
  text-transform:uppercase;
}

[data-ip-ifl-shell] h2{
  margin:0;
  color:#f4f8ff;
  font-size:clamp(3.7rem,7.2vw,9rem);
  line-height:.84;
  letter-spacing:-.065em;
  text-transform:uppercase;
}

[data-ip-ifl-shell] .ip-ifl-copy{
  max-width:720px;
  margin:22px 0 0;
  color:#a8b4d1;
  font-size:clamp(1rem,1.45vw,1.25rem);
  line-height:1.75;
}

[data-ip-ifl-shell] .ip-ifl-load{
  min-height:54px;
  margin-top:28px;
  padding:0 25px;
  border:0;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#145fff,#36a4ff);
  box-shadow:0 18px 42px rgba(23,104,255,.3);
  cursor:pointer;
  font-weight:850;
}

[data-ip-ifl-shell] .ip-ifl-status{
  min-height:22px;
  margin:17px 0 0;
  color:#6f8fb9;
  font-size:.72rem;
  letter-spacing:.08em;
}

[data-ip-ifl-shell][data-state="loading"] .ip-ifl-load,
[data-ip-ifl-shell][data-state="measuring"] .ip-ifl-load{
  opacity:.5;
  pointer-events:none;
}

[data-ip-ifl-shell][data-state="loading"] .ip-ifl-status::after,
[data-ip-ifl-shell][data-state="measuring"] .ip-ifl-status::after{
  content:"";
  display:inline-block;
  width:18px;
  height:18px;
  margin:0 0 -3px 10px;
  border:2px solid rgba(109,176,255,.22);
  border-top-color:#70cfff;
  border-radius:50%;
  animation:ipIflShellSpin .75s linear infinite;
}

[data-ip-ifl-shell][data-state="error"] .ip-ifl-load{
  opacity:1;
  pointer-events:auto;
}

/* The full library is first measured outside normal flow. */
[data-ip-ifl-shell] .ip-ifl-stage{
  position:absolute;
  z-index:1;
  top:0;
  left:0;
  width:100%;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  contain:layout style;
}

/* Commit only after the shell has reserved the measured height. */
[data-ip-ifl-shell] .ip-ifl-stage.is-committed{
  position:relative;
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  contain:none;
}

[data-ip-ifl-shell][data-state="hydrating"] .ip-ifl-placeholder,
[data-ip-ifl-shell][data-state="ready"] .ip-ifl-placeholder{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

@keyframes ipIflShellSpin{
  to{transform:rotate(360deg)}
}

@media(max-width:760px){
  [data-ip-ifl-shell]{
    --ip-ifl-placeholder-height:min(800px,92vh);
  }

  [data-ip-ifl-shell] .ip-ifl-placeholder{
    padding:78px 22px;
  }

  [data-ip-ifl-shell] .ip-ifl-placeholder::before{
    right:-42vw;
    width:92vw;
    opacity:.68;
  }

  [data-ip-ifl-shell] h2{
    font-size:clamp(3.3rem,16vw,5.6rem);
  }
}

@media(prefers-reduced-motion:reduce){
  [data-ip-ifl-shell] *{
    animation:none!important;
    transition:none!important;
  }
}


/* SMART DELIVERY 1.0.5 — FULL-BLEED HERO PLACEHOLDER */
[data-ip-ifl-shell] .ip-ifl-placeholder{padding:0;align-items:stretch}
[data-ip-ifl-shell] .ip-ifl-placeholder::before{display:none}
[data-ip-ifl-shell] .ip-ifl-placeholder-inner{display:grid;grid-template-columns:minmax(0,1fr);align-items:end;gap:0;position:relative;min-height:var(--ip-ifl-placeholder-height);width:100%;max-width:none;margin:0;padding:clamp(112px,12vw,152px) clamp(24px,6vw,90px) clamp(92px,10vw,132px)}
[data-ip-ifl-shell] .ip-ifl-placeholder-inner::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(2,8,23,.92) 0%,rgba(2,8,23,.78) 28%,rgba(2,8,23,.42) 52%,rgba(2,8,23,.72) 100%),linear-gradient(180deg,rgba(2,8,23,.28) 0%,rgba(2,8,23,.08) 42%,rgba(2,8,23,.78) 100%)}
[data-ip-ifl-shell] .ip-ifl-placeholder-inner::after{content:"";position:absolute;left:0;right:0;bottom:0;height:26%;z-index:1;background:linear-gradient(180deg,rgba(2,8,23,0),rgba(2,8,23,.84) 82%,#020815 100%)}
[data-ip-ifl-shell] .ip-ifl-placeholder-copy{position:relative;z-index:3;max-width:min(720px,100%)}
[data-ip-ifl-shell] .ip-ifl-placeholder-visual{position:absolute;inset:0;z-index:0;justify-self:stretch;width:100%;height:100%}
[data-ip-ifl-shell] .ip-ifl-placeholder-picture{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;border-radius:0;overflow:hidden;background:#020815;box-shadow:none}
[data-ip-ifl-shell] .ip-ifl-placeholder-picture img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
[data-ip-ifl-shell] .ip-ifl-placeholder-inner > *{max-width:none}
@media(max-width:960px){[data-ip-ifl-shell] .ip-ifl-placeholder-inner{padding:96px 20px 86px}}
@media(max-width:767px){[data-ip-ifl-shell]{--ip-ifl-placeholder-height:min(920px,100svh)}[data-ip-ifl-shell] .ip-ifl-placeholder-inner{padding:92px 18px 82px}[data-ip-ifl-shell] .ip-ifl-placeholder-inner::before{background:linear-gradient(180deg,rgba(2,8,23,.34) 0%,rgba(2,8,23,.44) 22%,rgba(2,8,23,.22) 42%,rgba(2,8,23,.86) 100%),linear-gradient(90deg,rgba(2,8,23,.74) 0%,rgba(2,8,23,.22) 55%,rgba(2,8,23,.72) 100%)}[data-ip-ifl-shell] .ip-ifl-placeholder-picture img{object-position:center top}}


/* SMART DELIVERY 1.0.6 — HERO TEXT CLEANUP */
[data-ip-ifl-shell] .ip-ifl-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
[data-ip-ifl-shell] .ip-ifl-placeholder-inner{padding:0!important}
[data-ip-ifl-shell] .ip-ifl-placeholder-inner::before{background:linear-gradient(180deg,rgba(2,8,23,.16) 0%,rgba(2,8,23,.08) 38%,rgba(2,8,23,.56) 100%)!important}
[data-ip-ifl-shell] .ip-ifl-placeholder-inner::after{height:22%!important}
