:root {
  --pn-ink: #030608;
  --pn-ink-raised: #071014;
  --pn-panel: rgba(5, 12, 15, .86);
  --pn-ivory: #eee8df;
  --pn-muted: #aaa69f;
  --pn-blue: #5f8d9a;
  --pn-gold: #b78749;
  --pn-gold-light: #d7b373;
  --pn-line: rgba(190, 147, 85, .28);
  --pn-line-soft: rgba(255, 255, 255, .075);
  --pn-serif: "Cormorant Garamond", Georgia, serif;
  --pn-sans: "Manrope", "Segoe UI", sans-serif;
  --pn-max: 1540px;
  --pn-shell: 1400px;
  --pn-header-h: 78px;
}

*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--pn-header-h) + 18px);
  overflow-x: clip;
  background: var(--pn-ink);
}

body.pn-page {
  margin: 0;
  overflow-x: clip;
  color: var(--pn-ivory);
  background:
    radial-gradient(circle at 50% 12%, rgba(19, 57, 67, .16), transparent 34rem),
    var(--pn-ink);
  font-family: var(--pn-sans);
  font-size: 16px;
  line-height: 1.7;
}

.pn-page img { display: block; max-width: 100%; }
.pn-page a { color: inherit; text-decoration: none; }
.pn-page button, .pn-page a { -webkit-tap-highlight-color: transparent; }
.pn-page button { font: inherit; }
.pn-page :focus-visible { outline: 2px solid var(--pn-gold-light); outline-offset: 4px; }

.pn-skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 300;
  padding: 12px 18px;
  color: #0a0907;
  background: var(--pn-gold-light);
  font-size: .8rem;
  font-weight: 700;
  transform: translateY(-160%);
  transition: transform .2s ease;
}
.pn-skip-link:focus { transform: translateY(0); }

.pn-grain, .pn-vignette {
  position: fixed;
  inset: 0;
  z-index: 150;
  pointer-events: none;
}
.pn-grain {
  opacity: .032;
  mix-blend-mode: screen;
  background-image:
    radial-gradient(circle at 14% 17%, rgba(255,255,255,.55) 0 .5px, transparent .65px),
    radial-gradient(circle at 68% 41%, rgba(255,255,255,.35) 0 .45px, transparent .6px),
    radial-gradient(circle at 37% 81%, rgba(255,255,255,.3) 0 .45px, transparent .62px);
  background-size: 9px 9px, 13px 13px, 17px 17px;
}
.pn-vignette { box-shadow: inset 0 0 170px rgba(0, 0, 0, .48); }

.pn-shell { width: min(calc(100% - 80px), var(--pn-shell)); margin: 0 auto; }
.pn-section { position: relative; padding: clamp(92px, 9vw, 150px) 0; border-top: 1px solid var(--pn-line-soft); }
.pn-eyebrow {
  margin: 0 0 18px;
  color: var(--pn-gold-light);
  font-size: .69rem;
  font-weight: 700;
  letter-spacing: .24em;
  line-height: 1.5;
}
.pn-eyebrow::before { content: ""; display: inline-block; width: 32px; height: 1px; margin: 0 12px 3px 0; background: var(--pn-gold); }

.pn-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 120;
  min-height: var(--pn-header-h);
  color: var(--pn-ivory);
  border-bottom: 1px solid rgba(198, 155, 92, .16);
  background: rgba(3, 8, 10, .88);
  backdrop-filter: blur(15px) saturate(1.15);
  transition: background .3s ease, box-shadow .3s ease;
}
.pn-header.is-scrolled { background: rgba(2, 6, 8, .97); box-shadow: 0 16px 45px rgba(0, 0, 0, .28); }
.pn-header__inner {
  width: min(calc(100% - 54px), var(--pn-max));
  min-height: var(--pn-header-h);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(240px, 320px) 1fr;
  align-items: center;
  gap: 28px;
}
.pn-brand-cluster { display: flex; align-items: center; gap: 22px; }
.pn-brand { position: relative; display: grid; width: max-content; justify-items: start; line-height: 1; }
.pn-brand__project { margin: 0 0 -2px 25px; color: #c9c2b8; font: 500 .64rem/1 var(--pn-serif); letter-spacing: .2em; }
.pn-brand strong { font: 600 1.45rem/.82 var(--pn-serif); letter-spacing: .05em; text-shadow: 0 2px 12px #000; }
.pn-brand small { margin-top: 6px; color: #9c958b; font-size: .42rem; font-weight: 600; letter-spacing: .15em; }
.pn-back-link { padding-left: 18px; color: #827d76; border-left: 1px solid var(--pn-line); font-size: .48rem; font-weight: 700; letter-spacing: .15em; transition: color .2s ease; }
.pn-back-link:hover { color: var(--pn-gold-light); }

.pn-nav { position: relative; justify-self: end; display: flex; align-items: center; gap: clamp(18px, 2.15vw, 40px); height: 100%; }
.pn-nav a { color: #aaa59d; font-size: .68rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; transition: color .2s ease; }
.pn-nav a:hover, .pn-nav a.is-active { color: var(--pn-ivory); }
.pn-nav .pn-nav__buy { color: var(--pn-gold-light); }
.pn-nav__indicator {
  --pn-indicator-x: 0px;
  --pn-indicator-width: 48px;
  position: absolute;
  bottom: 0;
  left: 0;
  width: var(--pn-indicator-width);
  height: 7px;
  opacity: 0;
  transform: translate3d(var(--pn-indicator-x), 0, 0);
  transition: width .38s ease, transform .46s cubic-bezier(.22,.75,.2,1), opacity .2s ease;
}
.pn-nav.is-ready .pn-nav__indicator { opacity: 1; }
.pn-nav__indicator::before { content: ""; position: absolute; inset: auto 0 2px; height: 1px; background: linear-gradient(90deg, transparent, var(--pn-gold-light), transparent); }
.pn-nav__indicator i { position: absolute; left: 50%; bottom: 0; width: 5px; height: 5px; border: 1px solid var(--pn-gold-light); background: #05090b; transform: translateX(-50%) rotate(45deg); }
.pn-menu-toggle { display: none; width: 46px; height: 46px; padding: 11px; border: 1px solid var(--pn-line); background: rgba(3,8,10,.7); cursor: pointer; }
.pn-menu-toggle span { display: block; width: 100%; height: 1px; margin: 6px 0; background: var(--pn-gold-light); transition: transform .25s ease; }
.pn-menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
.pn-menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.pn-mobile-nav { padding: 8px 28px 26px; border-top: 1px solid var(--pn-line-soft); background: rgba(2,6,8,.98); }
.pn-mobile-nav:not([hidden]) { display: grid; }
.pn-mobile-nav a { min-height: 48px; display: flex; align-items: center; color: #aaa59d; border-bottom: 1px solid var(--pn-line-soft); font-size: .78rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.pn-mobile-nav a.is-active { color: var(--pn-gold-light); }

.pn-hero {
  --pn-hero-pointer-x: 0px;
  --pn-hero-pointer-y: 0px;
  --pn-hero-scroll-y: 0px;
  --pn-hero-fog-y: 0px;
  position: relative;
  min-height: 100svh;
  display: grid;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  border-bottom: 1px solid var(--pn-line);
  background: #020506;
}
.pn-hero__media {
  position: absolute;
  inset: -6%;
  z-index: -4;
  overflow: hidden;
  transform: translate3d(var(--pn-hero-pointer-x), calc(var(--pn-hero-scroll-y) + var(--pn-hero-pointer-y)), 0) scale(1.07);
  will-change: transform;
}
.pn-hero__slides { position: absolute; inset: 0; animation: pn-hero-breathe 18s ease-in-out infinite alternate; }
.pn-hero-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  background: var(--pn-slide-image) 54% center / cover no-repeat;
  filter: saturate(.68) contrast(1.08) brightness(.83);
  transform: scale(1.075);
  transition: opacity 1.15s ease, transform 7s cubic-bezier(.2,.65,.2,1);
  will-change: opacity, transform;
}
.pn-hero-slide.is-active { opacity: 1; transform: scale(1.015); }
.pn-hero-slide::before,
.pn-hero-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  background: inherit;
}
.pn-hero-slide::before { filter: saturate(1.25) hue-rotate(155deg); mix-blend-mode: screen; }
.pn-hero-slide::after { filter: saturate(1.4) hue-rotate(-42deg); mix-blend-mode: lighten; }
.pn-hero__media.is-glitching .pn-hero-slide.is-active { animation: pn-glitch-frame .58s steps(2, end); }
.pn-hero__media.is-glitching .pn-hero-slide.is-active::before { opacity: .38; animation: pn-glitch-cyan .58s steps(2, end); }
.pn-hero__media.is-glitching .pn-hero-slide.is-active::after { opacity: .3; animation: pn-glitch-amber .58s steps(2, end); }
.pn-hero__glitch-scan {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  background: repeating-linear-gradient(180deg, transparent 0 4px, rgba(167,213,220,.15) 5px, transparent 6px);
  mix-blend-mode: screen;
}
.pn-hero__media.is-glitching .pn-hero__glitch-scan { animation: pn-glitch-scan .58s steps(4, end); }
.pn-hero-carousel__controls {
  position: absolute;
  right: calc(6% + 26px);
  bottom: calc(6% + 42px);
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  color: #d7c9b5;
  border: 1px solid rgba(190,147,85,.28);
  background: rgba(2,7,9,.66);
  backdrop-filter: blur(12px);
}
.pn-hero-carousel__controls > button {
  width: 34px;
  height: 34px;
  padding: 0;
  color: #dac9ad;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.pn-hero-carousel__controls p { min-width: 42px; margin: 0; display: flex; align-items: baseline; gap: 4px; line-height: 1; }
.pn-hero-carousel__controls p strong { color: #f0e7db; font: 500 1.15rem/1 var(--pn-serif); }
.pn-hero-carousel__controls p span { color: #847e75; font-size: .5rem; letter-spacing: .08em; }
.pn-hero-carousel__dots { display: flex; align-items: center; gap: 6px; }
.pn-hero-carousel__dots button { width: 19px; height: 18px; padding: 0; position: relative; border: 0; background: transparent; cursor: pointer; }
.pn-hero-carousel__dots button::before { content: ""; position: absolute; inset: 8px 1px auto; height: 1px; background: rgba(222,215,204,.35); transition: background .25s ease, transform .25s ease; }
.pn-hero-carousel__dots button.is-active::before { background: var(--pn-gold-light); transform: scaleY(2); }
.pn-hero-carousel__controls button:hover { color: #fff; }
.pn-hero-carousel__controls button:focus-visible { outline-offset: 1px; }
.pn-hero__shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(1,4,5,.96) 0%, rgba(2,6,8,.81) 27%, rgba(2,6,8,.08) 52%, rgba(1,5,7,.7) 81%, rgba(1,4,5,.95) 100%),
    linear-gradient(180deg, rgba(1,4,6,.7) 0%, transparent 25%, transparent 68%, rgba(1,4,5,.91) 100%);
}
.pn-hero__fog {
  position: absolute;
  inset: 24% -20% -22%;
  z-index: -3;
  opacity: .48;
  filter: blur(28px);
  background:
    radial-gradient(ellipse at 35% 65%, rgba(81,127,140,.22), transparent 37%),
    radial-gradient(ellipse at 72% 55%, rgba(157,176,168,.14), transparent 30%);
  transform: translate3d(-3%, var(--pn-hero-fog-y), 0);
  animation: pn-fog-drift 24s ease-in-out infinite alternate;
}
.pn-hero__grid {
  width: min(calc(100% - 72px), var(--pn-max));
  min-height: 100svh;
  margin: 0 auto;
  padding: calc(var(--pn-header-h) + 64px) 0 72px;
  display: grid;
  grid-template-columns: minmax(390px, .95fr) minmax(220px, 1.15fr) minmax(330px, .72fr);
  align-items: center;
  gap: 24px;
}
.pn-hero__copy { position: relative; z-index: 2; min-width: 0; max-width: 560px; }
.pn-hero h1 { margin: 0; font-family: var(--pn-serif); font-weight: 500; line-height: .84; }
.pn-title__project { display: block; margin: 0 0 7px 21%; color: #d6d0c7; font-size: clamp(1.2rem, 1.8vw, 1.75rem); font-weight: 500; letter-spacing: .1em; }
.pn-title__main { display: block; color: #e3ded7; font-size: clamp(4.2rem, 5.35vw, 6.35rem); letter-spacing: -.045em; text-shadow: 0 4px 26px rgba(0,0,0,.8); }
.pn-title__case { display: block; margin: 14px 0 0 3%; color: #c9c2b8; font-family: var(--pn-sans); font-size: clamp(.78rem, 1.15vw, 1.18rem); font-weight: 500; letter-spacing: .15em; line-height: 1.35; }
.pn-tagline { margin: 38px 0 14px; color: var(--pn-gold-light); font-size: .9rem; font-weight: 600; letter-spacing: .19em; }
.pn-hero__lead { max-width: 540px; margin: 0; color: #b8b3ab; font-size: clamp(.83rem, .9vw, .96rem); line-height: 1.8; text-wrap: pretty; }
.pn-actions { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 12px; }
.pn-button {
  min-height: 50px;
  padding: 13px 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid rgba(210,174,112,.48);
  border-radius: 2px;
  color: var(--pn-ivory);
  background: rgba(4,9,11,.72);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .11em;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .25s ease, border-color .25s ease, background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.pn-button:hover { color: #fff6e7; border-color: var(--pn-gold-light); background: rgba(14,20,21,.94); transform: translateY(-2px); }
.pn-button--gold { color: #fff4df; border-color: #c09a5c; background: linear-gradient(180deg, #906b37, #5e421f); box-shadow: inset 0 1px rgba(255,255,255,.11), 0 10px 24px rgba(0,0,0,.25); }
.pn-button--gold:hover { background: linear-gradient(180deg, #a87b3e, #6c4b24); box-shadow: inset 0 1px rgba(255,255,255,.14), 0 14px 28px rgba(0,0,0,.35); }
.pn-button--full { width: 100%; }
.pn-play-mark { font-size: .65rem; }
.pn-text-link { display: inline-block; margin-top: 22px; color: #c6b28e; font-size: .63rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; transition: color .2s ease; }
.pn-text-link:hover { color: var(--pn-gold-light); }

.pn-steam-panel {
  position: relative;
  z-index: 2;
  width: 100%;
  min-width: 0;
  padding: 22px;
  border: 1px solid rgba(205, 164, 99, .35);
  border-radius: 3px;
  background: linear-gradient(145deg, rgba(9,18,21,.94), rgba(3,8,10,.94));
  box-shadow: 0 24px 75px rgba(0,0,0,.52), inset 0 1px rgba(255,255,255,.035);
  backdrop-filter: blur(13px);
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
.pn-steam-panel::before { content: ""; position: absolute; inset: -1px; pointer-events: none; background: linear-gradient(120deg, rgba(215,179,115,.14), transparent 32%); }
.pn-steam-panel__topline { position: relative; display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
.pn-steam-panel__topline span { color: var(--pn-gold-light); font-size: .54rem; font-weight: 700; letter-spacing: .17em; }
.pn-steam-panel h2 { max-width: 250px; margin: 5px 0 15px; font: 500 1.35rem/1.05 var(--pn-serif); letter-spacing: .035em; }
.pn-steam-mark { width: 50px; height: 50px; display: grid; place-items: center; border: 1px solid var(--pn-line); border-radius: 50%; font-size: .43rem !important; }
.pn-steam-frame { --pn-steam-scale: .5; position: relative; width: 100%; height: auto; aspect-ratio: 646/190; overflow: hidden; border: 1px solid var(--pn-line-soft); background: #060b0d; }
.pn-steam-frame iframe { position: absolute; top: 0; left: 0; width: 646px; max-width: none; height: 190px; border: 0; zoom: var(--pn-steam-scale); }
.pn-steam-panel > p { margin: 15px 0; color: #8f8d88; font-size: .67rem; line-height: 1.6; }
.pn-scroll-cue { position: absolute; bottom: 22px; left: 50%; z-index: 2; display: grid; justify-items: center; gap: 8px; color: #837d74; font-size: .5rem; letter-spacing: .18em; text-transform: uppercase; transform: translateX(-50%); }
.pn-scroll-cue i { width: 1px; height: 22px; background: linear-gradient(var(--pn-gold), transparent); }

.pn-story {
  position: relative;
  min-height: 820px;
  display: grid;
  grid-template-columns: minmax(390px, 40%) 1fr;
  align-items: stretch;
  overflow: hidden;
  border-bottom: 1px solid var(--pn-line-soft);
  background: #04090b;
}
.pn-story__copy { position: relative; z-index: 2; width: min(100%, 600px); margin-left: max(40px, calc((100vw - var(--pn-shell)) / 2)); padding: clamp(100px, 9vw, 150px) 60px clamp(100px, 9vw, 150px) 0; align-self: center; }
.pn-story__copy::after { content: "36"; position: absolute; right: 12px; bottom: 16px; color: rgba(187,148,88,.045); font: 500 13rem/1 var(--pn-serif); }
.pn-story h2, .pn-section-heading h2, .pn-watch h2, .pn-world h2, .pn-gallery h2, .pn-release h2, .pn-final h2 {
  margin: 0;
  color: var(--pn-ivory);
  font: 500 clamp(3rem, 5.2vw, 5.8rem)/.88 var(--pn-serif);
  letter-spacing: -.035em;
}
.pn-rule { width: 72px; height: 1px; margin: 32px 0; background: var(--pn-gold); }
.pn-story__copy > p:not(.pn-eyebrow) { position: relative; z-index: 1; margin: 0 0 18px; color: #aaa9a5; font-size: .91rem; line-height: 1.82; }
.pn-story__copy .pn-story__patient { color: #e2dacd; font: 500 1.7rem/1.25 var(--pn-serif); }
.pn-story__copy .pn-story__closing { margin-top: 30px; color: var(--pn-gold-light); font-weight: 600; }
.pn-story__visual { --pn-depth-y: 0px; position: relative; min-height: 820px; margin: 0; overflow: hidden; background: #04090b; }
.pn-story__visual::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(90deg, #04090b 0%, rgba(4,9,11,.73) 10%, transparent 42%), linear-gradient(180deg, rgba(1,4,5,.32), transparent 50%, rgba(1,4,5,.78)); }
.pn-story__visual img { position: relative; z-index: 0; width: 100%; height: calc(100% + 90px); object-fit: cover; object-position: 55% center; filter: saturate(.7) contrast(1.1) brightness(.78); transform: translate3d(0, var(--pn-depth-y), 0) scale(1.04); }
.pn-story__video { position: absolute; inset: 0; z-index: 1; overflow: hidden; pointer-events: none; background: transparent; }
.pn-story__video iframe { position: absolute; top: 50%; left: 50%; width: 100%; height: auto; min-width: 100%; min-height: 100%; aspect-ratio: 16 / 9; border: 0; opacity: .82; filter: saturate(.68) contrast(1.12) brightness(.76); transform: translate(-50%, -50%) scale(1.08); }
.pn-story__visual figcaption { position: absolute; right: 44px; bottom: 38px; z-index: 3; display: grid; justify-items: end; color: #d3c8b6; font-size: .55rem; letter-spacing: .13em; }
.pn-story__visual figcaption span { color: var(--pn-gold-light); }

.pn-features {
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(180deg, rgba(3,8,10,.72), rgba(2,7,9,.9)),
    url("../assets/ss_a417e116bd6eee792492de9276f546c4e99a2115.1920x1080.jpg") center / cover no-repeat,
    #030708;
}
.pn-features__video {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
  pointer-events: none;
  background: #030708;
}
.pn-features__video::before,
.pn-features__video::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
.pn-features__video::before {
  background:
    linear-gradient(180deg, rgba(2,7,9,.79) 0%, rgba(2,7,9,.48) 28%, rgba(2,7,9,.57) 66%, rgba(2,7,9,.93) 100%),
    linear-gradient(90deg, rgba(2,7,9,.64), rgba(2,7,9,.22) 48%, rgba(2,7,9,.59));
}
.pn-features__video::after {
  opacity: .2;
  background: repeating-linear-gradient(180deg, transparent 0 3px, rgba(190,213,216,.08) 4px, transparent 5px);
  mix-blend-mode: screen;
}
.pn-features__video iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  opacity: .72;
  filter: saturate(.55) contrast(1.12) brightness(.72);
  transform: translate(-50%, -50%) scale(1.12);
}
.pn-features > .pn-shell { position: relative; z-index: 1; }
.pn-section-heading { max-width: 810px; margin-bottom: 55px; }
.pn-section-heading > p:last-child { max-width: 650px; margin: 25px 0 0; color: var(--pn-muted); font-size: .94rem; }
.pn-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pn-feature-card {
  --pn-card-rx: 0deg;
  --pn-card-ry: 0deg;
  position: relative;
  min-height: 390px;
  padding: 194px 24px 28px;
  overflow: hidden;
  border: 1px solid var(--pn-line-soft);
  background: linear-gradient(180deg, rgba(10,19,22,.74), rgba(4,9,11,.98));
  transform: perspective(1000px) rotateX(var(--pn-card-rx)) rotateY(var(--pn-card-ry));
  transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.pn-feature-card:hover { border-color: rgba(205,166,104,.48); box-shadow: 0 20px 45px rgba(0,0,0,.24); }
.pn-feature-card__image { position: absolute; inset: 0 0 auto; height: 170px; overflow: hidden; }
.pn-feature-card__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 42%, rgba(4,9,11,1)); }
.pn-feature-card__image img { width: 100%; height: calc(100% + 42px); margin-top: -21px; object-fit: cover; filter: saturate(.6) contrast(1.08) brightness(.72); transform: translate3d(0, var(--pn-image-y, 0px), 0) scale(1.025); transition: transform .45s ease, filter .45s ease; will-change: transform; }
.pn-feature-card:hover .pn-feature-card__image img { transform: translate3d(0, var(--pn-image-y, 0px), 0) scale(1.06); filter: saturate(.76) contrast(1.08) brightness(.82); }
.pn-feature-card__index { position: absolute; top: 146px; right: 20px; z-index: 2; color: var(--pn-gold-light); font-size: .56rem; letter-spacing: .13em; }
.pn-feature-card h3 { position: relative; margin: 0 0 14px; color: #e3dcd1; font: 600 1.25rem/1.04 var(--pn-serif); letter-spacing: .035em; }
.pn-feature-card p { margin: 0; color: #92918d; font-size: .76rem; line-height: 1.72; }

.pn-watch {
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(90deg, rgba(2,6,8,.96) 0%, rgba(2,6,8,.86) 30%, rgba(2,6,8,.48) 62%, rgba(2,6,8,.84) 100%),
    linear-gradient(180deg, rgba(2,6,8,.76), rgba(2,6,8,.28) 48%, rgba(2,6,8,.88)),
    url("../assets/ss_da0c903269684690b0821062574f3e79357d7787.1920x1080.jpg") center / cover no-repeat,
    #020607;
}
.pn-watch::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 72% 42%, rgba(170,102,42,.13), transparent 31rem),
    radial-gradient(circle at center, transparent 36%, rgba(0,0,0,.42) 100%);
}
.pn-watch__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(280px, .52fr) minmax(0, 1.2fr); align-items: center; gap: clamp(48px, 7vw, 110px); }
.pn-watch__copy h2 { max-width: 560px; font-size: clamp(3.2rem, 5vw, 5.6rem); }
.pn-watch__copy > p:not(.pn-eyebrow) { max-width: 530px; margin: 28px 0 0; color: var(--pn-muted); }
.pn-lite-video { position: relative; width: 100%; aspect-ratio: 16/9; padding: 0; overflow: hidden; color: var(--pn-ivory); border: 1px solid var(--pn-line); background: #030708; box-shadow: 0 30px 75px rgba(0,0,0,.44); }
.pn-lite-video img, .pn-lite-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover; }
.pn-lite-video img { z-index: 0; filter: saturate(.57) contrast(1.08) brightness(.67); }
.pn-lite-video iframe { z-index: 1; transform: scale(1.01); }
.pn-lite-video__shade { position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(180deg, rgba(2,6,8,.12), rgba(2,6,8,.32)); }
.pn-lite-video__label, .pn-lite-video__duration { position: absolute; left: 24px; z-index: 3; pointer-events: none; font-size: .53rem; font-weight: 700; letter-spacing: .15em; }
.pn-lite-video__label { top: 22px; color: var(--pn-gold-light); }
.pn-lite-video__duration { bottom: 20px; color: #c8c0b5; }
.pn-video-card__poster > span { position: absolute; top: 50%; left: 50%; width: 72px; height: 72px; display: grid; place-items: center; color: #f1dfc2; border: 1px solid rgba(220,184,122,.62); border-radius: 50%; background: rgba(3,8,10,.7); backdrop-filter: blur(8px); transform: translate(-50%, -50%); transition: transform .25s ease, background .25s ease; }

.pn-world {
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(180deg, rgba(3,8,10,.42), rgba(3,8,10,.56) 55%, rgba(3,8,10,.91) 100%),
    linear-gradient(90deg, rgba(3,8,10,.28), transparent 48%, rgba(3,8,10,.19)),
    url("../assets/backgroundstreamers.webp") center top / cover no-repeat,
    #030708;
}
.pn-world::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(circle at 72% 21%, rgba(55,95,112,.12), transparent 33rem);
}
.pn-world > .pn-shell { position: relative; z-index: 1; }
.pn-world__intro { display: grid; grid-template-columns: 1fr .82fr; gap: clamp(45px, 7vw, 110px); align-items: end; margin-bottom: 52px; }
.pn-world__intro h2 { font-size: clamp(3rem, 4.9vw, 5.5rem); }
.pn-world__intro > div:last-child p { margin: 0 0 15px; color: var(--pn-muted); font-size: .91rem; }
.pn-world__intro > div:last-child p:last-child { color: #c4bdaF; }
.pn-video-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.pn-video-card { overflow: hidden; border: 1px solid var(--pn-line-soft); background: rgba(6,13,16,.9); transition: border-color .25s ease, transform .25s ease; }
.pn-video-card:hover { border-color: rgba(203,162,99,.45); transform: translateY(-3px); }
.pn-video-card__poster { position: relative; width: 100%; aspect-ratio: 16/9; padding: 0; overflow: hidden; border: 0; background: #020506; cursor: pointer; }
.pn-video-card__poster::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(2,6,8,.58)); }
.pn-video-card__poster img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.65) brightness(.72); transition: transform .4s ease, filter .4s ease; }
.pn-video-card:hover .pn-video-card__poster img { transform: scale(1.03); filter: saturate(.82) brightness(.8); }
.pn-video-card__poster > span { z-index: 2; width: 54px; height: 54px; font-size: .72rem; }
.pn-video-card__body { min-height: 175px; padding: 24px; display: flex; flex-direction: column; }
.pn-video-card__body p { margin: 0 0 8px; color: var(--pn-gold-light); font-size: .54rem; font-weight: 700; letter-spacing: .14em; }
.pn-video-card__body h3 { margin: 0 0 20px; color: #ddd6cc; font: 600 1.25rem/1.12 var(--pn-serif); letter-spacing: .025em; }
.pn-video-card__body a { margin-top: auto; color: #a8a299; font-size: .61rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.pn-video-card__body a:hover { color: var(--pn-gold-light); }

.pn-gallery { overflow: hidden; isolation: isolate; background: #020607; }
.pn-gallery__backdrop { position: absolute; inset: 0; z-index: -2; overflow: hidden; pointer-events: none; background: #020607; }
.pn-gallery__backdrop::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(180deg, rgba(2,6,7,.77) 0%, rgba(2,6,7,.64) 34%, rgba(2,6,7,.75) 72%, rgba(2,6,7,.96) 100%),
    linear-gradient(90deg, rgba(2,6,7,.68), rgba(2,6,7,.28) 50%, rgba(2,6,7,.62));
}
.pn-gallery__backdrop-slide {
  position: absolute;
  inset: -4%;
  opacity: 0;
  background: var(--pn-gallery-bg) center / cover no-repeat;
  filter: saturate(.58) contrast(1.08) brightness(.62);
  transform: scale(1.065);
  transition: opacity 1.7s ease, transform 9s cubic-bezier(.2,.65,.2,1);
  will-change: opacity, transform;
}
.pn-gallery__backdrop-slide.is-active { opacity: .62; transform: scale(1.015); }
.pn-gallery > .pn-shell { position: relative; z-index: 1; }
.pn-gallery__heading, .pn-release__top { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 50px; }
.pn-gallery__heading > p, .pn-release__top > p { max-width: 420px; margin: 0; color: var(--pn-muted); }
.pn-gallery-grid { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); grid-auto-rows: 190px; gap: 10px; }
.pn-gallery-item { position: relative; grid-column: span 3; padding: 0; overflow: hidden; color: var(--pn-ivory); border: 1px solid var(--pn-line-soft); background: #020506; cursor: zoom-in; }
.pn-gallery-item--lead { grid-column: span 6; grid-row: span 2; }
.pn-gallery-item--tall { grid-column: span 3; grid-row: span 2; }
.pn-gallery-item:nth-child(5), .pn-gallery-item:nth-child(6), .pn-gallery-item:nth-child(7) { grid-column: span 3; }
.pn-gallery-item img { width: 100%; height: calc(100% + 44px); margin-top: -22px; object-fit: cover; filter: saturate(.63) contrast(1.07) brightness(.74); transform: translate3d(0, var(--pn-image-y, 0px), 0) scale(1.02); transition: transform .5s ease, filter .5s ease; will-change: transform; }
.pn-gallery-item::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(1,4,5,.72)); }
.pn-gallery-item:hover img { transform: translate3d(0, var(--pn-image-y, 0px), 0) scale(1.055); filter: saturate(.8) contrast(1.07) brightness(.82); }
.pn-gallery-item > span { position: absolute; bottom: 13px; left: 15px; z-index: 2; color: #d5cdc0; font-size: .52rem; font-weight: 700; letter-spacing: .14em; }

.pn-release {
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(180deg, rgba(3,7,9,.3) 0%, rgba(3,7,9,.52) 58%, rgba(3,7,9,.82) 100%),
    linear-gradient(90deg, rgba(3,7,9,.13), rgba(3,7,9,.5) 58%, rgba(3,7,9,.72)),
    url("../assets/backgroundpremios.webp") center / cover no-repeat,
    #05090b;
}
.pn-release > .pn-shell { position: relative; z-index: 1; }
.pn-release__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 38px; }
.pn-awards { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.pn-award { min-height: 270px; padding: 25px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--pn-line); background: rgba(8,14,16,.72); text-align: center; }
.pn-award img { width: 170px; height: 92px; object-fit: contain; filter: sepia(.24) saturate(.7) contrast(1.05); mix-blend-mode: screen; }
.pn-award div { display: grid; gap: 4px; margin-top: 20px; }
.pn-award strong { color: #e2d8c8; font: 600 1.05rem/1.1 var(--pn-serif); letter-spacing: .04em; }
.pn-award span { color: var(--pn-gold-light); font-size: .56rem; letter-spacing: .15em; }
.pn-platforms { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.pn-platforms a { min-height: 132px; padding: 18px; display: grid; place-items: center; align-content: center; gap: 11px; color: #c8c1b7; border: 1px solid var(--pn-line-soft); background: rgba(4,10,12,.76); font-size: .72rem; font-weight: 600; letter-spacing: .05em; text-align: center; backdrop-filter: blur(5px); transition: color .25s ease, border-color .25s ease, background .25s ease, transform .25s ease; }
.pn-platforms a:hover { color: var(--pn-ivory); border-color: var(--pn-line); background: rgba(12,22,25,.91); transform: translateY(-2px); }
.pn-platforms .pn-platform-icon { width: 56px; height: 56px; display: grid; place-items: center; border: 1px solid rgba(197,148,76,.34); border-radius: 50%; background: rgba(3,8,10,.48); }
.pn-platforms .pn-platform-icon img { width: 31px; height: 31px; object-fit: contain; opacity: .9; filter: drop-shadow(0 4px 12px rgba(0,0,0,.45)); transition: opacity .25s ease, transform .25s ease; }
.pn-platforms .pn-platform-icon img.pn-platform-logo--tint { filter: brightness(0) saturate(100%) invert(93%) sepia(7%) saturate(264%) hue-rotate(347deg) brightness(98%) contrast(88%) drop-shadow(0 4px 12px rgba(0,0,0,.45)); }
.pn-platforms a:hover .pn-platform-icon img { opacity: 1; transform: scale(1.07); }
.pn-platforms .pn-platform-name { width: auto; height: auto; display: inline; }

.pn-links { overflow: hidden; isolation: isolate; background: #030708; }
.pn-links__video { position: absolute; inset: 0; z-index: -2; overflow: hidden; pointer-events: none; background: #030708; }
.pn-links__video::before, .pn-links__video::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.pn-links__video::before { background: linear-gradient(180deg, rgba(2,7,9,.74), rgba(2,7,9,.48) 42%, rgba(2,7,9,.82)), linear-gradient(90deg, rgba(2,7,9,.69), rgba(2,7,9,.28) 52%, rgba(2,7,9,.66)); }
.pn-links__video::after { opacity: .15; background: repeating-linear-gradient(180deg, transparent 0 3px, rgba(190,213,216,.07) 4px, transparent 5px); mix-blend-mode: screen; }
.pn-links__video iframe { position: absolute; top: 50%; left: 50%; width: 100%; height: auto; min-width: 100%; min-height: 100%; aspect-ratio: 16 / 9; border: 0; opacity: .76; filter: saturate(.57) contrast(1.12) brightness(.68); transform: translate(-50%, -50%) scale(1.1); }
.pn-links > .pn-shell { position: relative; z-index: 1; }
.pn-link-groups { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.pn-link-group { padding: 28px 30px; border: 1px solid var(--pn-line-soft); background: rgba(6,13,15,.72); }
.pn-link-group h3 { margin: 0 0 20px; color: #ded5c8; font: 600 1.1rem/1 var(--pn-serif); letter-spacing: .055em; }
.pn-link-group h3 span { margin-right: 10px; color: var(--pn-gold-light); font: 700 .55rem/1 var(--pn-sans); }
.pn-link-group > a { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 15px; color: #9e9a94; border-top: 1px solid var(--pn-line-soft); font-size: .72rem; transition: color .2s ease, padding .2s ease; }
.pn-link-group > a:hover { padding-left: 4px; color: var(--pn-gold-light); }

.pn-final { position: relative; min-height: 560px; padding: 105px 34px; display: grid; place-items: center; overflow: hidden; isolation: isolate; border-top: 1px solid var(--pn-line); border-bottom: 1px solid var(--pn-line); background: #020607; }
.pn-final__image { position: absolute; inset-block: 0; z-index: -3; width: 55%; background-repeat: no-repeat; background-size: cover; filter: saturate(.62) contrast(1.1) brightness(.57); }
.pn-final__image--left { left: 0; background-image: url("../assets/ss_f481e640188aee027f51083e460da4c908139600.1920x1080.jpg"); background-position: left center; }
.pn-final__image--right { right: 0; background-image: url("../assets/ss_9f9e5a2400c34d23b851f32818fac8e3a7493ad8.1920x1080.jpg"); background-position: 70% center; }
.pn-final__shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(2,6,8,.34), rgba(2,6,8,.96) 35%, rgba(2,6,8,.96) 65%, rgba(2,6,8,.35)), linear-gradient(180deg, rgba(2,6,8,.24), rgba(2,6,8,.55)); }
.pn-final__copy { width: min(100%, 760px); text-align: center; }
.pn-final__copy .pn-eyebrow::before { display: none; }
.pn-final__copy p:not(.pn-eyebrow) { margin: 24px auto 0; color: #b2ada5; }
.pn-actions--centered { justify-content: center; }

.pn-footer { padding: 58px 0 46px; background: #020506; }
.pn-footer__inner { width: min(calc(100% - 80px), var(--pn-shell)); margin: 0 auto; display: grid; grid-template-columns: 1.45fr repeat(3, minmax(130px, .55fr)); gap: 45px; }
.pn-footer__brand { display: grid; align-content: start; }
.pn-footer__brand strong { color: #e4ddd3; font: 500 2rem/1 var(--pn-serif); }
.pn-footer__brand > span { margin-top: 10px; color: #9a9690; font-size: .72rem; }
.pn-footer__brand small { margin-top: 26px; color: #65635f; font-size: .58rem; }
.pn-footer__column { display: grid; align-content: start; justify-items: start; gap: 9px; }
.pn-footer__column h2 { margin: 0 0 8px; color: var(--pn-gold-light); font-size: .55rem; letter-spacing: .16em; }
.pn-footer__column a, .pn-footer__column button { padding: 0; color: #8e8a84; border: 0; background: none; font-size: .64rem; cursor: pointer; }
.pn-footer__column a:hover, .pn-footer__column button:hover { color: var(--pn-ivory); }

.pn-dialog { width: min(calc(100% - 40px), 1120px); max-width: none; padding: 0; color: var(--pn-ivory); border: 1px solid var(--pn-line); background: #030709; box-shadow: 0 40px 100px rgba(0,0,0,.75); }
.pn-dialog::backdrop { background: rgba(0, 3, 5, .9); backdrop-filter: blur(8px); }
.pn-dialog__panel { padding: 20px; }
.pn-dialog__header { min-height: 45px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.pn-dialog__header h2 { margin: 0; color: #dcd4c8; font: 500 1.3rem/1.2 var(--pn-serif); }
.pn-dialog__close { width: 42px; height: 42px; display: grid; place-items: center; color: #d6c5aa; border: 1px solid var(--pn-line); background: rgba(6,13,15,.8); font-size: 1.4rem; line-height: 1; cursor: pointer; }
.pn-dialog__media { position: relative; width: 100%; aspect-ratio: 16/9; margin-top: 14px; overflow: hidden; background: #000; }
.pn-dialog__media iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pn-dialog__note { margin: 12px 0 0; color: #797671; font-size: .6rem; }
.pn-lightbox { width: min(calc(100% - 30px), 1500px); background: transparent; border-color: rgba(205,166,104,.34); }
.pn-lightbox__panel { position: relative; min-height: 78vh; padding: 54px 74px 25px; display: grid; place-items: center; background: rgba(2,6,8,.96); }
.pn-lightbox figure { width: 100%; margin: 0; display: grid; justify-items: center; }
.pn-lightbox figure img { max-width: 100%; max-height: 72vh; width: auto; height: auto; object-fit: contain; }
.pn-lightbox figcaption { margin-top: 16px; color: #b6afa5; font-size: .72rem; letter-spacing: .04em; }
.pn-lightbox__close { position: absolute; top: 12px; right: 12px; z-index: 3; }
.pn-lightbox__nav { position: absolute; top: 50%; z-index: 3; width: 48px; height: 62px; color: #e0d2bd; border: 1px solid var(--pn-line); background: rgba(3,8,10,.78); cursor: pointer; transform: translateY(-50%); }
.pn-lightbox__nav--prev { left: 12px; }
.pn-lightbox__nav--next { right: 12px; }
.pn-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; white-space: nowrap !important; border: 0 !important; }

.pn-reveal { opacity: 0; transform: translate3d(0, 22px, 0); transition: opacity .75s ease, transform .75s cubic-bezier(.22,.75,.2,1); }
.pn-reveal.is-visible { opacity: 1; transform: none; }
.pn-reveal[data-scroll-layer].is-visible { transform: translate3d(0, var(--pn-scroll-y, 0px), 0) rotate(var(--pn-scroll-tilt, 0deg)) scale(var(--pn-scroll-scale, 1)); }
[data-scroll-layer] { will-change: transform; }

@keyframes pn-hero-breathe { from { scale: 1; } to { scale: 1.018; } }
@keyframes pn-fog-drift { from { transform: translate3d(-3%, var(--pn-hero-fog-y), 0); } to { transform: translate3d(6%, calc(var(--pn-hero-fog-y) - 2%), 0); } }
@keyframes pn-glitch-frame {
  0% { transform: translate3d(0,0,0) scale(1.02); filter: saturate(.7) contrast(1.08) brightness(.83); }
  18% { transform: translate3d(-8px,1px,0) scale(1.03); filter: saturate(.15) contrast(1.45) brightness(.72); }
  36% { transform: translate3d(7px,-2px,0) scale(1.025); filter: saturate(1.15) contrast(1.2) brightness(.94); }
  58% { transform: translate3d(-3px,0,0) scale(1.02); filter: saturate(.55) contrast(1.5) brightness(.78); }
  100% { transform: translate3d(0,0,0) scale(1.015); filter: saturate(.68) contrast(1.08) brightness(.83); }
}
@keyframes pn-glitch-cyan {
  0%,100% { clip-path: inset(0 0 100% 0); transform: translateX(0); }
  18% { clip-path: inset(12% 0 66% 0); transform: translateX(15px); }
  38% { clip-path: inset(58% 0 24% 0); transform: translateX(-11px); }
  62% { clip-path: inset(31% 0 48% 0); transform: translateX(8px); }
}
@keyframes pn-glitch-amber {
  0%,100% { clip-path: inset(100% 0 0 0); transform: translateX(0); }
  22% { clip-path: inset(68% 0 12% 0); transform: translateX(-14px); }
  46% { clip-path: inset(20% 0 63% 0); transform: translateX(10px); }
  76% { clip-path: inset(47% 0 36% 0); transform: translateX(-7px); }
}
@keyframes pn-glitch-scan {
  0% { opacity: 0; transform: translateY(-12%); }
  18%,74% { opacity: .42; }
  38% { opacity: .18; transform: translateY(7%); }
  100% { opacity: 0; transform: translateY(14%); }
}

@media (min-width: 1560px) {
  .pn-feature-grid { grid-template-columns: repeat(6, minmax(0,1fr)); }
  .pn-feature-card { min-height: 420px; padding-inline: 18px; }
  .pn-feature-card h3 { font-size: 1.04rem; }
  .pn-feature-card p { font-size: .69rem; }
}

@media (max-width: 1320px) {
  .pn-header__inner { grid-template-columns: minmax(210px, 280px) 1fr; }
  .pn-back-link { display: none; }
  .pn-nav { gap: 21px; }
  .pn-nav a { font-size: .62rem; }
  .pn-hero__grid { grid-template-columns: minmax(380px, .95fr) minmax(150px, .8fr) minmax(320px, .7fr); }
  .pn-title__main { font-size: clamp(4rem, 5.2vw, 5rem); }
  .pn-story { grid-template-columns: minmax(360px, 43%) 1fr; }
  .pn-story__copy { padding-right: 40px; }
}

@media (max-width: 1120px) {
  :root { --pn-header-h: 72px; }
  .pn-header__inner { grid-template-columns: 1fr auto; }
  .pn-nav { display: none; }
  .pn-menu-toggle { display: block; }
  .pn-hero { min-height: auto; }
  .pn-hero__grid { min-height: auto; padding-top: calc(var(--pn-header-h) + 70px); padding-bottom: 100px; grid-template-columns: minmax(0,1fr) minmax(310px, 400px); gap: 50px; }
  .pn-hero__breathing-space { display: none; }
  .pn-hero__shade { background: linear-gradient(90deg, rgba(1,4,5,.93), rgba(1,4,5,.35) 70%, rgba(1,4,5,.78)), linear-gradient(180deg, rgba(1,4,6,.7), transparent 30%, rgba(1,4,5,.92)); }
  .pn-title__main { font-size: clamp(4.2rem, 8vw, 5.8rem); }
  .pn-story { min-height: 0; grid-template-columns: 1fr; }
  .pn-story__copy { width: min(calc(100% - 80px), 780px); margin: 0 auto; padding: 100px 0 70px; }
  .pn-story__visual { min-height: 620px; }
  .pn-story__visual::after { background: linear-gradient(180deg, #04090b, transparent 18%, transparent 70%, rgba(1,4,5,.75)); }
  .pn-watch__grid { grid-template-columns: 1fr; }
  .pn-watch__copy { max-width: 750px; }
  .pn-release__grid { grid-template-columns: 1fr; }
}

@media (max-width: 840px) {
  .pn-shell, .pn-footer__inner { width: min(calc(100% - 42px), var(--pn-shell)); }
  .pn-section { padding: 88px 0; }
  .pn-hero__grid { width: calc(100% - 42px); grid-template-columns: 1fr; gap: 45px; }
  .pn-hero__copy { max-width: 680px; }
  .pn-hero__media { opacity: .78; }
  .pn-hero-slide { background-position: 62% center; }
  .pn-hero-carousel__controls { right: 21px; bottom: 24px; }
  .pn-hero__shade { background: linear-gradient(180deg, rgba(1,4,5,.91) 0%, rgba(1,4,5,.44) 35%, rgba(1,4,5,.86) 71%, rgba(1,4,5,.97) 100%); }
  .pn-steam-panel { max-width: 646px; }
  .pn-feature-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pn-feature-card { min-height: 410px; }
  .pn-world__intro { grid-template-columns: 1fr; }
  .pn-video-grid { grid-template-columns: 1fr; }
  .pn-video-card { display: grid; grid-template-columns: minmax(240px, .9fr) 1fr; }
  .pn-video-card__body { min-height: 100%; }
  .pn-gallery__heading, .pn-release__top { align-items: flex-start; flex-direction: column; gap: 20px; }
  .pn-gallery-grid { grid-template-columns: repeat(2, minmax(0,1fr)); grid-auto-rows: 220px; }
  .pn-gallery-item, .pn-gallery-item:nth-child(5), .pn-gallery-item:nth-child(6), .pn-gallery-item:nth-child(7) { grid-column: span 1; }
  .pn-gallery-item--lead { grid-column: span 2; grid-row: span 2; }
  .pn-gallery-item--tall { grid-column: span 1; grid-row: span 2; }
  .pn-link-groups { grid-template-columns: 1fr; }
  .pn-footer__inner { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .pn-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
  :root { --pn-header-h: 68px; }
  body.pn-page { font-size: 15px; }
  .pn-vignette { box-shadow: inset 0 0 90px rgba(0,0,0,.42); }
  .pn-header__inner { width: calc(100% - 28px); }
  .pn-brand strong { font-size: 1.2rem; }
  .pn-brand small { font-size: .37rem; }
  .pn-menu-toggle { width: 44px; height: 44px; }
  .pn-shell, .pn-footer__inner { width: calc(100% - 28px); }
  .pn-hero__grid { width: calc(100% - 28px); padding-top: calc(var(--pn-header-h) + 55px); padding-bottom: 90px; }
  .pn-eyebrow { font-size: .59rem; letter-spacing: .18em; }
  .pn-eyebrow::before { width: 22px; margin-right: 8px; }
  .pn-title__project { margin-left: 18%; font-size: 1.18rem; }
  .pn-title__main { font-size: clamp(3rem, 14.7vw, 4.25rem); }
  .pn-title__case { margin-top: 11px; font-size: clamp(.67rem, 3vw, .86rem); letter-spacing: .1em; }
  .pn-tagline { margin-top: 30px; font-size: .78rem; }
  .pn-hero__lead { font-size: .86rem; }
  .pn-hero-carousel__controls { right: 14px; bottom: 18px; gap: 7px; padding: 6px 7px; }
  .pn-hero-carousel__controls > button { width: 30px; height: 32px; }
  .pn-hero-carousel__dots { gap: 3px; }
  .pn-hero-carousel__dots button { width: 16px; }
  .pn-actions { flex-direction: column; }
  .pn-button { width: 100%; min-height: 52px; }
  .pn-steam-panel { padding: 16px; }
  .pn-steam-panel h2 { font-size: 1.18rem; }
  .pn-steam-mark { width: 44px; height: 44px; }
  .pn-scroll-cue { display: none; }
  .pn-story__copy { width: calc(100% - 28px); padding: 80px 0 55px; }
  .pn-story h2, .pn-section-heading h2, .pn-watch h2, .pn-world h2, .pn-gallery h2, .pn-release h2, .pn-final h2 { font-size: clamp(2.75rem, 13vw, 4rem); }
  .pn-story__copy > p:not(.pn-eyebrow) { font-size: .88rem; }
  .pn-story__visual { min-height: 430px; }
  .pn-story__visual img { object-position: 58% center; }
  .pn-story__visual figcaption { right: 16px; bottom: 16px; }
  .pn-section-heading { margin-bottom: 35px; }
  .pn-feature-grid { grid-template-columns: 1fr; }
  .pn-feature-card { min-height: 390px; }
  .pn-lite-video__play { width: 58px; height: 58px; }
  .pn-lite-video__label { top: 13px; left: 14px; }
  .pn-lite-video__duration { bottom: 12px; left: 14px; }
  .pn-video-card { display: block; }
  .pn-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 220px; }
  .pn-gallery-item, .pn-gallery-item:nth-child(5), .pn-gallery-item:nth-child(6), .pn-gallery-item:nth-child(7), .pn-gallery-item--lead, .pn-gallery-item--tall { grid-column: span 1; grid-row: span 1; }
  .pn-gallery-item--lead { min-height: 300px; }
  .pn-awards { grid-template-columns: 1fr; }
  .pn-award { min-height: 230px; }
  .pn-platforms { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pn-platforms a { min-height: 120px; }
  .pn-link-group { padding: 24px 20px; }
  .pn-final { min-height: 580px; padding: 90px 20px; }
  .pn-final__image { width: 100%; opacity: .65; }
  .pn-final__image--left { right: 50%; width: 70%; }
  .pn-final__image--right { left: 45%; width: 70%; }
  .pn-final__shade { background: linear-gradient(90deg, rgba(2,6,8,.5), rgba(2,6,8,.89) 28%, rgba(2,6,8,.89) 72%, rgba(2,6,8,.52)); }
  .pn-footer__inner { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 35px 24px; }
  .pn-footer__brand { grid-column: 1 / -1; }
  .pn-footer__column:last-child { grid-column: 1 / -1; }
  .pn-dialog { width: calc(100% - 20px); }
  .pn-dialog__panel { padding: 12px; }
  .pn-lightbox__panel { min-height: 70vh; padding: 52px 48px 20px; }
  .pn-lightbox__nav { width: 40px; }
  .pn-lightbox__nav--prev { left: 4px; }
  .pn-lightbox__nav--next { right: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .pn-page *, .pn-page *::before, .pn-page *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .pn-hero__media, .pn-story__visual img, .pn-reveal, [data-scroll-layer], .pn-feature-card__image img, .pn-gallery-item img { transform: none !important; }
  .pn-reveal { opacity: 1; }
  .pn-story__video iframe, .pn-features__video iframe, .pn-lite-video iframe, .pn-links__video iframe { display: none; }
  .pn-gallery__backdrop-slide { transition: none; transform: none; }
}

.pn-page[data-page-hidden="true"] .pn-hero__media,
.pn-page[data-page-hidden="true"] .pn-hero__fog,
.pn-page[data-page-hidden="true"] .pn-hero__slides { animation-play-state: paused; }

/* Desktop composition matched to the supplied cinematic reference. */
@media (min-width: 1400px) {
  :root {
    --pn-header-h: 94px;
    --pn-line: rgba(197, 148, 76, .38);
  }

  .pn-header {
    background:
      linear-gradient(180deg, rgba(2, 6, 8, .975), rgba(2, 7, 9, .94)),
      radial-gradient(circle at 48% 100%, rgba(42, 78, 86, .12), transparent 34%);
    backdrop-filter: blur(17px) saturate(1.08);
  }
  .pn-header__inner {
    width: 95.2%;
    max-width: none;
    grid-template-columns: minmax(350px, 410px) 1fr;
    gap: 36px;
  }
  .pn-brand-cluster { gap: 27px; }
  .pn-brand__project { margin: 0 0 -1px 42px; font-size: .76rem; letter-spacing: .19em; }
  .pn-brand strong { font-size: 1.95rem; font-weight: 500; letter-spacing: .045em; }
  .pn-brand small { margin-top: 8px; font-size: .48rem; letter-spacing: .18em; }
  .pn-back-link { padding-left: 25px; font-size: .58rem; color: var(--pn-gold-light); }
  .pn-nav { gap: clamp(28px, 2.75vw, 50px); }
  .pn-nav a { font-size: .71rem; letter-spacing: .09em; }

  .pn-hero { min-height: 100svh; }
  .pn-hero__media {
    inset: -3%;
    transform: translate3d(var(--pn-hero-pointer-x), calc(var(--pn-hero-scroll-y) + var(--pn-hero-pointer-y)), 0) scale(1.035);
  }
  .pn-hero-slide {
    background-position: 50% center;
    filter: saturate(.67) contrast(1.11) brightness(.72);
    transform: scale(1.045);
  }
  .pn-hero-slide.is-active { transform: scale(1.006); }
  .pn-hero__shade {
    background:
      linear-gradient(90deg, rgba(1,4,5,.97) 0%, rgba(2,6,8,.77) 24%, rgba(2,6,8,.13) 46%, rgba(2,6,8,.08) 63%, rgba(1,4,6,.72) 83%, rgba(1,4,5,.96) 100%),
      linear-gradient(180deg, rgba(1,4,6,.5) 0%, transparent 22%, transparent 63%, rgba(1,4,5,.93) 100%);
  }
  .pn-hero__fog { opacity: .34; }
  .pn-hero__grid {
    width: 93%;
    max-width: none;
    min-height: 100svh;
    padding: calc(var(--pn-header-h) + 50px) 0 76px;
    grid-template-columns: minmax(620px, 680px) minmax(80px, 1fr) 430px;
    gap: 24px;
  }
  .pn-hero__copy {
    width: 100%;
    max-width: 660px;
    padding-left: 26px;
    align-self: center;
    top: -30px;
  }
  .pn-hero .pn-eyebrow { margin-bottom: 22px; font-size: .68rem; letter-spacing: .24em; }
  .pn-hero .pn-eyebrow::before { width: 36px; margin-right: 22px; }
  .pn-title__project { margin: 0 0 8px 13%; font-size: 1.8rem; letter-spacing: .13em; }
  .pn-title__main {
    font-size: clamp(6.25rem, 6.65vw, 7.15rem);
    font-weight: 400;
    letter-spacing: -.052em;
    text-shadow: 0 5px 34px rgba(0,0,0,.86);
  }
  .pn-title__case {
    position: relative;
    margin: 18px 0 0;
    padding-bottom: 24px;
    font-size: .98rem;
    letter-spacing: .19em;
  }
  .pn-title__case::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 158px;
    height: 1px;
    background: linear-gradient(90deg, var(--pn-gold), rgba(183,135,73,.5) 78%, transparent);
  }
  .pn-tagline { margin: 37px 0 13px; font-size: .88rem; letter-spacing: .27em; }
  .pn-hero__lead { max-width: 510px; color: #beb8af; font-size: .91rem; line-height: 1.98; }
  .pn-hero__copy .pn-actions { margin-top: 27px; flex-direction: column; align-items: flex-start; gap: 16px; }
  .pn-hero__copy .pn-button { min-height: 54px; padding-inline: 22px; font-size: .69rem; }
  .pn-hero__copy .pn-button--gold { min-width: 337px; }
  .pn-hero__copy .pn-button--outline { min-width: 234px; }
  .pn-hero__copy .pn-text-link { margin-top: 22px; color: #d5c5aa; letter-spacing: .15em; }

  .pn-steam-panel {
    width: 430px;
    min-height: 464px;
    margin-top: 43px;
    padding: 39px 26px 28px;
    display: flex;
    flex-direction: column;
    align-self: center;
    border-color: rgba(205, 159, 88, .48);
    border-radius: 13px;
    background:
      radial-gradient(circle at 16% 0%, rgba(42,70,74,.13), transparent 42%),
      linear-gradient(145deg, rgba(7,16,19,.96), rgba(2,8,10,.965));
    box-shadow: 0 30px 90px rgba(0,0,0,.58), inset 0 1px rgba(255,255,255,.035);
  }
  .pn-steam-panel::before { border-radius: 13px; }
  .pn-steam-panel__topline { min-height: 103px; }
  .pn-steam-panel__topline span { font-size: .56rem; letter-spacing: .18em; }
  .pn-steam-panel h2 { max-width: 230px; margin-top: 7px; font-size: 1.58rem; line-height: 1.02; }
  .pn-steam-mark {
    position: relative;
    width: 77px;
    height: 77px;
    padding-top: 39px;
    font-size: .43rem !important;
    letter-spacing: .12em !important;
    border-color: rgba(205,159,88,.53);
  }
  .pn-steam-mark::before {
    content: "";
    position: absolute;
    top: 22px;
    left: 24px;
    width: 24px;
    height: 9px;
    border-top: 3px solid #d5c6b0;
    transform: rotate(-26deg);
  }
  .pn-steam-mark::after {
    content: "";
    position: absolute;
    top: 16px;
    right: 15px;
    width: 15px;
    height: 15px;
    border: 3px solid #d5c6b0;
    border-radius: 50%;
    box-shadow: -27px 18px 0 -4px #d5c6b0;
  }
  .pn-steam-frame { margin-top: 3px; border-color: rgba(196,151,81,.26); }
  .pn-steam-panel > p { margin: 16px 0; color: #97938c; font-size: .68rem; }
  .pn-steam-panel .pn-button { min-height: 61px; margin-top: auto; font-size: .69rem; }

  .pn-hero-carousel__controls {
    right: 3.5%;
    bottom: 11.35%;
    width: 430px;
    min-height: 60px;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 25px;
    border-color: rgba(205,159,88,.47);
    border-radius: 2px;
    background: rgba(2,8,10,.82);
    box-shadow: 0 16px 45px rgba(0,0,0,.28);
  }
  .pn-hero-carousel__controls > button { width: 30px; }
  .pn-hero-carousel__controls p { min-width: 58px; }
  .pn-hero-carousel__controls p strong { font-size: 1rem; }
  .pn-hero-carousel__dots { flex: 1; justify-content: center; gap: 8px; }
  .pn-hero-carousel__dots button { width: 20px; }
  .pn-scroll-cue { bottom: 42px; color: #b5a893; }
  .pn-scroll-cue i { height: 31px; }

  .pn-grain { opacity: .042; }
  .pn-vignette { box-shadow: inset 0 0 210px rgba(0,0,0,.57); }
}
