/* Story pages replace technical metric grids with cinematic narrative surfaces. */
.nv-landing-story > .nv-landing-page-picture {
  position: absolute;
  inset: 0 0 48px;
}

.nv-landing-story > .nv-landing-page-picture img {
  object-position: center;
  transform: scale(1.01);
}

.nv-landing-story-shade {
  position: absolute;
  z-index: 1;
  inset: 0 0 48px;
  background:
    linear-gradient(90deg, rgba(1, 5, 12, .97) 0%, rgba(2, 8, 17, .82) 36%, rgba(2, 8, 17, .2) 67%, rgba(1, 5, 12, .12) 100%),
    linear-gradient(180deg, rgba(1,5,12,.14), transparent 58%, rgba(1,5,12,.82));
}

.nv-landing-universe .nv-landing-story-shade,
.nv-landing-technology .nv-landing-story-shade {
  background:
    linear-gradient(270deg, rgba(1, 5, 12, .98) 0%, rgba(2, 8, 17, .86) 38%, rgba(2, 8, 17, .23) 68%, rgba(1, 5, 12, .12) 100%),
    linear-gradient(180deg, rgba(1,5,12,.1), transparent 55%, rgba(1,5,12,.86));
}

.nv-landing-story-head {
  position: absolute;
  z-index: 4;
  top: clamp(44px, 8vh, 88px);
  left: clamp(34px, 6vw, 108px);
  width: min(700px, 46vw);
}

.nv-landing-story-head.align-right {
  right: clamp(34px, 6vw, 108px);
  left: auto;
}

.nv-landing-story-head h2 {
  margin: 16px 0 0;
  color: #f4f9ff;
  font-size: clamp(39px, 4.35vw, 72px);
  font-weight: 850;
  letter-spacing: -.055em;
  line-height: .98;
  text-wrap: balance;
  text-shadow: 0 14px 40px rgba(0,0,0,.52);
}

.nv-landing-story-head > p {
  max-width: 650px;
  margin: 22px 0 0;
  color: #adc0cf;
  font-size: clamp(13px, 1vw, 17px);
  line-height: 1.62;
}

.nv-landing-pillar-grid {
  position: absolute;
  z-index: 5;
  right: clamp(30px, 4.5vw, 78px);
  bottom: 77px;
  left: clamp(30px, 4.5vw, 78px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(105, 205, 246, .28);
  border-bottom: 1px solid rgba(105, 205, 246, .12);
  background: linear-gradient(90deg, rgba(3, 12, 24, .9), rgba(4, 17, 31, .62), rgba(3, 12, 24, .9));
  backdrop-filter: blur(16px);
}

.nv-landing-pillar-grid article {
  min-width: 0;
  padding: clamp(18px, 2vw, 31px);
  border-right: 1px solid rgba(114, 191, 230, .14);
}

.nv-landing-pillar-grid article:last-child { border-right: 0; }
.nv-landing-pillar-grid b { color: #68d9ff; font-size: 13px; letter-spacing: .16em; }
.nv-landing-pillar-grid h3 { margin: 10px 0 0; color: #eff9ff; font-size: clamp(18px, 1.45vw, 26px); letter-spacing: -.025em; }
.nv-landing-pillar-grid p { margin: 9px 0 0; color: #92aaba; font-size: clamp(13px, .78vw, 13px); line-height: 1.48; }

.nv-landing-chapter-list {
  position: absolute;
  z-index: 5;
  bottom: clamp(80px, 10vh, 112px);
  left: clamp(34px, 6vw, 108px);
  display: grid;
  width: min(650px, 43vw);
}

.nv-landing-chapter-list.align-right {
  right: clamp(34px, 6vw, 108px);
  left: auto;
}

.nv-landing-chapter-list > div {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 15px;
  padding: 12px 0;
  border-top: 1px solid rgba(113, 194, 234, .18);
}

.nv-landing-chapter-list b {
  color: #67d9ff;
  font-size: 13px;
  letter-spacing: .14em;
}

.nv-landing-chapter-list span {
  color: #8fa6b6;
  font-size: clamp(13px, .74vw, 13px);
  line-height: 1.44;
}

.nv-landing-chapter-list strong {
  display: block;
  margin-bottom: 2px;
  color: #e5f3fb;
  font-size: clamp(13px, .95vw, 16px);
}

.nv-landing-chapter-list.compact { width: min(570px, 40vw); }

.nv-landing-verbs {
  position: absolute;
  z-index: 5;
  bottom: clamp(84px, 12vh, 132px);
  left: clamp(34px, 6vw, 108px);
  display: flex;
  flex-wrap: wrap;
  gap: clamp(14px, 2vw, 30px);
  max-width: 760px;
}

.nv-landing-verbs.align-right {
  right: clamp(34px, 6vw, 108px);
  left: auto;
  justify-content: flex-end;
}

.nv-landing-verbs span {
  color: rgba(229, 245, 255, .91);
  font-size: clamp(22px, 2.5vw, 42px);
  font-weight: 820;
  letter-spacing: -.035em;
  text-shadow: 0 10px 30px rgba(0,0,0,.55);
}

.nv-landing-story .nv-landing-hero-actions { margin-top: 28px; }

.nv-landing-story .nv-landing-page-footer {
  position: absolute;
  z-index: 8;
  right: 0;
  bottom: 0;
  left: 0;
  height: 48px;
  margin: 0;
  border-top-color: rgba(100, 183, 226, .16);
  background: rgba(2, 8, 17, .96);
}

@media (max-width: 1180px) {
  .nv-landing-home-cinematic .nv-landing-home-copy { width: min(690px, 58vw); margin-left: 42px; }
  .nv-landing-home-cinematic h1 { font-size: clamp(42px, 5.7vw, 70px); }
  .nv-landing-story-head { left: 44px; width: min(640px, 52vw); }
  .nv-landing-story-head.align-right { right: 44px; left: auto; }
  .nv-landing-chapter-list { left: 44px; width: min(620px, 49vw); }
  .nv-landing-chapter-list.align-right { right: 44px; left: auto; }
  .nv-landing-verbs { left: 44px; }
  .nv-landing-verbs.align-right { right: 44px; left: auto; }
}

@media (max-width: 820px) {
  .nv-landing-home-cinematic > .nv-landing-page-picture img { object-position: 62% center; }
  .nv-landing-home-cinematic::before {
    background: linear-gradient(180deg, rgba(1,5,11,.2) 0%, rgba(1,5,11,.64) 35%, rgba(1,5,11,.98) 78%);
  }
  .nv-landing-home-cinematic .nv-landing-home-copy {
    justify-content: flex-end;
    width: calc(100% - 44px);
    height: calc(100% - 70px);
    margin: 0 22px;
    padding-bottom: 90px;
  }
  .nv-landing-home-cinematic h1 { max-width: 690px; font-size: clamp(38px, 8.2vw, 62px); }
  .nv-landing-home-cinematic .nv-landing-home-copy > p:not(.nv-landing-manifesto) { max-width: 640px; font-size: 13px; line-height: 1.5; }
  .nv-landing-manifesto { display: none; }
  .nv-landing-home-promise { right: 12px; bottom: 10px; left: 12px; min-height: 48px; }
  .nv-landing-home-promise span { max-width: 62%; font-size: 13px; }
  .nv-landing-story-head,
  .nv-landing-story-head.align-right {
    top: 28px;
    right: 24px;
    left: 24px;
    width: auto;
  }
  .nv-landing-story-head h2 { font-size: clamp(34px, 7.4vw, 54px); }
  .nv-landing-story-head > p { max-width: 620px; font-size: 13px; }
  .nv-landing-story-shade,
  .nv-landing-universe .nv-landing-story-shade,
  .nv-landing-technology .nv-landing-story-shade {
    background: linear-gradient(180deg, rgba(1,5,11,.22), rgba(1,5,11,.78) 42%, rgba(1,5,11,.97) 100%);
  }
  .nv-landing-pillar-grid {
    right: 14px;
    bottom: 61px;
    left: 14px;
  }
  .nv-landing-pillar-grid article { padding: 13px; }
  .nv-landing-pillar-grid h3 { font-size: 14px; }
  .nv-landing-pillar-grid p { font-size: 13px; }
  .nv-landing-chapter-list,
  .nv-landing-chapter-list.align-right,
  .nv-landing-chapter-list.compact {
    right: 24px;
    bottom: 69px;
    left: 24px;
    width: auto;
  }
  .nv-landing-chapter-list > div { padding: 8px 0; }
  .nv-landing-verbs,
  .nv-landing-verbs.align-right {
    right: 24px;
    bottom: 77px;
    left: 24px;
    justify-content: flex-start;
  }
  .nv-landing-verbs span { font-size: clamp(19px, 5vw, 32px); }
}

@media (max-width: 560px) {
  .nv-landing-home-cinematic .nv-landing-eyebrow { font-size: 13px; letter-spacing: .13em; }
  .nv-landing-home-cinematic .nv-landing-home-copy { width: calc(100% - 28px); height: 100%; margin: 0 14px; padding-bottom: 68px; }
  .nv-landing-home-cinematic h1 { margin-top: 10px; font-size: clamp(32px, 9.7vw, 45px); line-height: 1; }
  .nv-landing-home-cinematic .nv-landing-home-copy > p:not(.nv-landing-manifesto) { margin-top: 12px; font-size: 13px; line-height: 1.42; }
  .nv-landing-home-cinematic .nv-landing-hero-actions { margin-top: 14px; }
  .nv-landing-home-cinematic .nv-landing-hero-actions .nv-landing-button { min-height: 40px; padding: 8px 12px; font-size: 13px; }
  .nv-landing-home-promise { min-height: 42px; padding-inline: 12px; }
  .nv-landing-home-promise span { max-width: 56%; font-size: 13px; }
  .nv-landing-home-promise button { font-size: 13px; }
  .nv-landing-story-head,
  .nv-landing-story-head.align-right { top: 18px; right: 16px; left: 16px; }
  .nv-landing-story-head .nv-landing-eyebrow { font-size: 13px; }
  .nv-landing-story-head h2 { margin-top: 8px; font-size: clamp(28px, 9vw, 40px); }
  .nv-landing-story-head > p { margin-top: 10px; font-size: 13px; line-height: 1.4; }
  .nv-landing-pillar-grid { grid-template-columns: 1fr; right: 10px; bottom: 53px; left: 10px; }
  .nv-landing-pillar-grid article { padding: 8px 11px; border-right: 0; border-bottom: 1px solid rgba(114,191,230,.12); }
  .nv-landing-pillar-grid article:last-child { border-bottom: 0; }
  .nv-landing-pillar-grid b { float: left; margin-right: 9px; font-size: 13px; }
  .nv-landing-pillar-grid h3 { margin: 0; font-size: 13px; }
  .nv-landing-pillar-grid p { margin-top: 2px; font-size: 13px; line-height: 1.3; }
  .nv-landing-chapter-list,
  .nv-landing-chapter-list.align-right,
  .nv-landing-chapter-list.compact { right: 16px; bottom: 56px; left: 16px; }
  .nv-landing-chapter-list > div { grid-template-columns: 28px 1fr; gap: 8px; padding: 5px 0; }
  .nv-landing-chapter-list strong { font-size: 13px; }
  .nv-landing-chapter-list span { font-size: 13px; }
  .nv-landing-verbs,
  .nv-landing-verbs.align-right { right: 16px; bottom: 65px; left: 16px; gap: 8px; }
  .nv-landing-verbs span { font-size: 19px; }
  .nv-landing-story .nv-landing-page-footer { height: 43px; }
}

@media (max-height: 760px) and (min-width: 821px) {
  .nv-landing-home-cinematic .nv-landing-home-copy { height: calc(100% - 66px); padding-bottom: 42px; }
  .nv-landing-home-cinematic h1 { font-size: clamp(40px, 4.45vw, 65px); }
  .nv-landing-home-cinematic .nv-landing-home-copy > p:not(.nv-landing-manifesto) { margin-top: 15px; font-size: 13px; line-height: 1.48; }
  .nv-landing-manifesto { margin-top: 14px; font-size: 13px; }
  .nv-landing-home-cinematic .nv-landing-hero-actions { margin-top: 17px; }
  .nv-landing-home-promise { bottom: 8px; min-height: 44px; }
  .nv-landing-story-head { top: 28px; }
  .nv-landing-story-head h2 { font-size: clamp(34px, 3.7vw, 55px); }
  .nv-landing-story-head > p { margin-top: 14px; font-size: 13px; }
  .nv-landing-pillar-grid { bottom: 62px; }
  .nv-landing-pillar-grid article { padding-block: 14px; }
  .nv-landing-chapter-list { bottom: 60px; }
  .nv-landing-chapter-list > div { padding: 7px 0; }
  .nv-landing-verbs { bottom: 72px; }
}

@media (prefers-reduced-motion: reduce) {
  .nv-landing-home-cinematic > .nv-landing-page-picture img,
  .nv-landing-logo > span::after { animation: none; }
}
