/* ==========================================================
   N.P.P. CINEMATIC ECOSYSTEM V2
   NO PRESET PATH
========================================================== */

:root{
  --npp-black:#050405;
  --npp-ink:#090708;
  --npp-cream:#eee8df;
  --npp-muted:#8f888b;
  --npp-burgundy:#681426;
  --npp-wine:#8b2039;
  --npp-silver:#aaa4a5;
  --npp-line:rgba(255,255,255,.105);
}


/* ONE WORLD */

body{
  background:
    radial-gradient(
      ellipse at 78% 4%,
      rgba(113,18,42,.22),
      transparent 31%
    ),
    radial-gradient(
      ellipse at 12% 48%,
      rgba(83,12,30,.10),
      transparent 36%
    ),
    radial-gradient(
      ellipse at 74% 91%,
      rgba(105,17,39,.10),
      transparent 31%
    ),
    linear-gradient(
      155deg,
      #0c090a 0%,
      #070607 48%,
      #040404 100%
    ) !important;

  background-attachment:fixed !important;
}


/* FILM GRAIN */

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:9998;
  pointer-events:none;

  opacity:.12;

  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");

  mix-blend-mode:soft-light;
}


/* LIGHT BEAM */

body::after{
  content:"";
  position:fixed;

  width:70vw;
  height:130vh;

  right:-30vw;
  top:-38vh;

  z-index:-1;
  pointer-events:none;

  transform:rotate(-13deg);

  background:
    linear-gradient(
      110deg,
      transparent 25%,
      rgba(255,244,233,.035) 45%,
      rgba(130,23,48,.08) 53%,
      transparent 70%
    );

  filter:blur(20px);
}


/* REMOVE DEMO CARD FEEL */

.offer-card,
.inventory-card,
.curated-card,
.honor-card,
.recipient-card{

  box-shadow:none !important;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.018),
      rgba(255,255,255,.002)
    ) !important;

  border-left:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;

  border-top:
    1px solid var(--npp-line) !important;
}


/* EDITORIAL DEPTH */

.partner-section,
.honors-section{
  position:relative;
  isolation:isolate;
}

.partner-section::after,
.honors-section::after{
  content:"";
  position:absolute;

  width:32vw;
  height:32vw;

  right:-15vw;
  top:10%;

  z-index:-1;

  border:
    1px solid rgba(255,255,255,.025);

  border-radius:50%;
}


/* OVERSIZED WATERMARK */

.partner-hero::after{
  content:"NO PRESET PATH";

  position:absolute;

  left:0;
  bottom:2%;

  z-index:-1;

  color:rgba(255,255,255,.022);

  font-family:
    Impact,
    "Arial Black",
    sans-serif;

  font-size:clamp(70px,14vw,220px);
  line-height:.75;
  letter-spacing:-.055em;

  white-space:nowrap;
}


/* CINEMATIC TYPOGRAPHY */

.partner-hero h1,
.section-head h2{
  text-wrap:balance;
}

.section-head h2{
  text-shadow:
    0 20px 55px rgba(0,0,0,.4);
}


/* LIVE ECOSYSTEM PULSE */

.npp-ecosystem-pulse{
  position:relative;

  display:grid;
  grid-template-columns:
    repeat(4,1fr);

  border-top:
    1px solid var(--npp-line);

  border-bottom:
    1px solid var(--npp-line);

  margin:0;
}

.npp-pulse-cell{
  min-height:150px;

  padding:25px 18px;

  display:flex;
  flex-direction:column;
  justify-content:space-between;

  border-right:
    1px solid var(--npp-line);
}

.npp-pulse-cell:last-child{
  border-right:0;
}

.npp-pulse-label{
  color:#706a6e;

  font-size:7px;
  font-weight:950;
  letter-spacing:.15em;
}

.npp-pulse-value{
  color:var(--npp-cream);

  font-family:
    Impact,
    "Arial Black",
    sans-serif;

  font-size:
    clamp(38px,5vw,68px);

  line-height:.8;
}

.npp-pulse-state{
  display:flex;
  align-items:center;
  gap:7px;

  color:#9b9498;

  font-size:7px;
  font-weight:900;
  letter-spacing:.1em;
}

.npp-live-dot{
  width:6px;
  height:6px;

  border-radius:50%;

  background:var(--npp-wine);

  box-shadow:
    0 0 14px rgba(139,32,57,.7);
}


/* ECOSYSTEM RAIL */

.npp-world-rail{
  display:flex;
  align-items:center;

  overflow:auto;

  padding:16px 0;

  border-bottom:
    1px solid var(--npp-line);

  scrollbar-width:none;
}

.npp-world-rail::-webkit-scrollbar{
  display:none;
}

.npp-world-rail a{
  flex:0 0 auto;

  padding:0 19px;

  border-right:
    1px solid var(--npp-line);

  color:#777176;

  text-decoration:none;

  font-size:7px;
  font-weight:950;
  letter-spacing:.13em;
}

.npp-world-rail a:first-child{
  padding-left:0;
}

.npp-world-rail a:hover{
  color:var(--npp-cream);
}


/* CURATED LIVE INVENTORY */

.npp-live-curated{
  display:grid;
  grid-template-columns:
    repeat(12,1fr);

  gap:12px;
}

.npp-live-brand{
  grid-column:span 6;

  min-height:520px;

  position:relative;
  overflow:hidden;

  border-top:
    1px solid var(--npp-line);
}

.npp-live-brand:nth-child(3n){
  grid-column:span 12;
}

.npp-live-brand-media{
  position:absolute;
  inset:0;

  background:
    radial-gradient(
      ellipse at 55% 32%,
      rgba(113,22,43,.28),
      transparent 38%
    ),
    linear-gradient(
      145deg,
      #171214,
      #070607
    );
}

.npp-live-brand-media img,
.npp-live-brand-media video{
  width:100%;
  height:100%;

  object-fit:cover;

  opacity:.72;
}

.npp-live-brand-shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      transparent 20%,
      rgba(0,0,0,.15) 45%,
      rgba(0,0,0,.94) 100%
    );
}

.npp-live-brand-copy{
  position:absolute;

  left:26px;
  right:26px;
  bottom:26px;

  z-index:2;
}

.npp-live-brand-copy small{
  color:#a34b60;

  font-size:7px;
  font-weight:950;
  letter-spacing:.15em;
}

.npp-live-brand-copy h3{
  margin:7px 0;

  font-family:
    Impact,
    "Arial Black",
    sans-serif;

  font-size:
    clamp(38px,5vw,72px);

  line-height:.83;
}

.npp-live-brand-copy p{
  max-width:520px;

  color:#aaa3a6;
  line-height:1.55;
}


/* EMPTY STATE SHOULD STILL FEEL INTENTIONAL */

.npp-curated-empty{
  grid-column:1/-1;

  min-height:400px;

  display:flex;
  flex-direction:column;
  justify-content:flex-end;

  padding:30px 0;

  border-top:
    1px solid var(--npp-line);
}

.npp-curated-empty small{
  color:var(--npp-wine);
  font-weight:950;
  letter-spacing:.15em;
}

.npp-curated-empty h3{
  max-width:850px;

  margin:10px 0;

  font-family:
    Impact,
    "Arial Black",
    sans-serif;

  font-size:
    clamp(48px,8vw,110px);

  line-height:.8;
}


/* SCROLL REVEAL */

.npp-reveal{
  opacity:0;
  transform:translateY(28px);

  transition:
    opacity .75s ease,
    transform .75s
    cubic-bezier(.2,.7,.2,1);
}

.npp-reveal.npp-visible{
  opacity:1;
  transform:none;
}


/* MOBILE */

@media(max-width:800px){

  .npp-ecosystem-pulse{
    grid-template-columns:1fr 1fr;
  }

  .npp-pulse-cell:nth-child(2){
    border-right:0;
  }

  .npp-pulse-cell:nth-child(-n+2){
    border-bottom:
      1px solid var(--npp-line);
  }

  .npp-live-brand,
  .npp-live-brand:nth-child(3n){
    grid-column:span 12;
    min-height:430px;
  }

}


@media(prefers-reduced-motion:reduce){

  .npp-reveal{
    opacity:1;
    transform:none;
    transition:none;
  }

}
