/* =========================================================
   N.P.P. CINEMATIC ENVIRONMENT V1
   Shared institutional atmosphere
========================================================= */

html{
  background:#070607;
}

body.partner-page,
body.npp-honors{
  position:relative;
  isolation:isolate;
  overflow-x:hidden;

  background:
    radial-gradient(
      ellipse at 82% 7%,
      rgba(111,18,40,.30),
      transparent 33%
    ),
    radial-gradient(
      ellipse at 12% 44%,
      rgba(120,24,46,.12),
      transparent 38%
    ),
    radial-gradient(
      ellipse at 70% 85%,
      rgba(70,8,24,.14),
      transparent 35%
    ),
    linear-gradient(
      145deg,
      #0d0a0b 0%,
      #080708 42%,
      #050505 100%
    ) !important;

  background-attachment:fixed !important;
}


/* Film atmosphere */

body.partner-page::before,
body.npp-honors::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;

  background:
    repeating-radial-gradient(
      circle at 20% 30%,
      rgba(255,255,255,.016) 0 1px,
      transparent 1px 4px
    );

  opacity:.34;
}


/* Cinematic light sweep */

body.partner-page::after,
body.npp-honors::after{
  content:"";
  position:fixed;

  width:75vw;
  height:110vh;

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

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

  background:
    linear-gradient(
      108deg,
      transparent 30%,
      rgba(255,238,226,.055) 48%,
      rgba(119,20,43,.085) 55%,
      transparent 72%
    );

  transform:rotate(-8deg);
  filter:blur(12px);
}


/* =========================================================
   REMOVE BLACK-CARD FEEL
========================================================= */

.partner-section,
.honors-section{
  position:relative;
  background:transparent !important;
}


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

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

  border-color:
    rgba(255,255,255,.10) !important;

  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);

  box-shadow:none !important;
}


/* Cards become editorial planes instead of boxes */

.offer-card{
  border-left:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
  padding-left:4px !important;
  padding-right:32px !important;
}

.inventory-card{
  border-left:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
}

.curated-card{
  background:transparent !important;
  border-left:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
}


/* =========================================================
   CINEMATIC HERO
========================================================= */

.partner-hero,
.honors-hero{
  position:relative;
  min-height:88vh !important;
}

.partner-hero::before,
.honors-hero::before{
  content:"N.P.P.";
  position:absolute;

  right:-1vw;
  top:8%;

  z-index:-1;

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

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

  font-size:clamp(160px,29vw,510px);

  line-height:.7;
  letter-spacing:-.07em;

  white-space:nowrap;
}


.partner-hero h1,
.honors-hero h1{
  text-shadow:
    0 16px 45px rgba(0,0,0,.45);
}


/* Burgundy editorial rule */

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

  left:0;
  top:0;

  width:70px;
  height:1px;

  background:
    linear-gradient(
      90deg,
      #8a2138,
      transparent
    );
}


/* =========================================================
   CURATED PRODUCT ENVIRONMENT
========================================================= */

.curated-image{
  min-height:420px;

  background:
    radial-gradient(
      ellipse at 50% 28%,
      rgba(112,29,47,.28),
      transparent 42%
    ),
    linear-gradient(
      160deg,
      rgba(255,255,255,.035),
      rgba(0,0,0,.20)
    ) !important;

  border-bottom:
    1px solid rgba(255,255,255,.09);
}


/* =========================================================
   FORMS
========================================================= */

.partner-form,
.nomination-form{

  background:
    linear-gradient(
      145deg,
      rgba(22,17,19,.82),
      rgba(7,7,8,.68)
    ) !important;

  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);

  border:
    1px solid rgba(255,255,255,.11) !important;
}


/* =========================================================
   MOTION — RESTRAINED, NOT GIMMICKY
========================================================= */

@keyframes nppCinemaReveal{

  from{
    opacity:0;
    transform:translateY(18px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }

}

.partner-hero > *,
.honors-hero > *{
  animation:
    nppCinemaReveal
    .8s
    cubic-bezier(.2,.7,.2,1)
    both;
}

.partner-hero > *:nth-child(2),
.honors-hero > *:nth-child(2){
  animation-delay:.10s;
}


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

  .partner-hero > *,
  .honors-hero > *{
    animation:none;
  }

}


@media(max-width:700px){

  body.partner-page::after,
  body.npp-honors::after{
    opacity:.55;
  }

  .partner-hero,
  .honors-hero{
    min-height:auto !important;
  }

  .partner-hero::before,
  .honors-hero::before{
    top:18%;
    right:-10vw;
  }

}
