/* The gift is a single full-viewport stage. Native scrolling directs its camera. */
.np-page { --gift-navy:#041324; --gift-lilac:#d2b8fc; }
.np-page::selection { background:#d2b8fc; color:#152038; }
.np-page .site-header { position:absolute; inset:0 0 auto; z-index:30; background:transparent; }
.np-page .site-header .brand { animation:none; }
.np-page main { overflow:clip; }
.np-cinema { position:relative; background:var(--gift-navy); min-height:780px; }
.np-cinema-stage { position:relative; height:100svh; min-height:760px; overflow:hidden; isolation:isolate; }
.np-gift-canvas,.np-gift-poster { position:absolute; inset:0; width:100%; height:100%; display:block; }
/* Normal startup reveals only the finished live frame. The image is fallback-only. */
.np-gift-poster { object-fit:cover; object-position:center; opacity:1; }
.np-gift-canvas { opacity:0; transition:opacity .45s cubic-bezier(.22,1,.36,1); }
.np-cinema[data-renderer=ready] .np-gift-canvas { opacity:1; }
.np-cinema[data-renderer=ready] .np-gift-poster { display:none; }
.np-cinema[data-renderer=fallback] .np-gift-canvas { display:none; }
.np-cinema-shade { position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(4,19,36,.84),rgba(4,19,36,.55) 33%,rgba(4,19,36,0) 63%),linear-gradient(0deg,#041324 0%,transparent 16%,transparent 84%,#04132466); }
.np-cinema-copy { position:absolute; z-index:2; left:max(5vw,calc((100vw - 1450px)/2)); top:50%; translate:0 -41%; width:46%; max-width:710px; }
.np-page .np-cinema h1,.np-page .np-cinema h2 { font-size:clamp(44px,4.75vw,78px); font-weight:600; letter-spacing:-.04em; line-height:1.07; text-wrap:balance; }
.np-cinema h1 span,.np-cinema h2 span { display:inline; color:var(--gift-lilac); }
.np-page .np-cinema-copy p { max-width:520px; margin-top:28px; font-size:clamp(17px,1.6vw,24px); line-height:1.55; color:#c4d2e3; }
.np-cinema .np-hero-actions { margin-top:32px; gap:20px 26px; }
.np-cinema .np-button { padding-inline:27px; min-height:58px; background:#7aeef1; }
.np-cinema .np-button svg,.np-cinema .np-text-link svg { width:21px; height:21px; flex-shrink:0; }
.np-cinema .np-text-link { font-size:15px; border-bottom-color:#718b9e; }
.np-cinema-copy[data-gift-copy]:not([data-gift-copy="0"]) { opacity:0; visibility:hidden; pointer-events:none; }
.np-cinema-copy[data-gift-copy="1"] { max-width:610px; }
.np-cinema-copy[data-gift-copy="2"] { top:45%; width:35%; }
.np-page .np-cinema-copy[data-gift-copy="2"] h2 { font-size:clamp(40px,4.1vw,65px); }
.np-cinema-services { display:flex; flex-wrap:wrap; gap:12px 23px; padding:0; margin:26px 0 0; list-style:none; font:500 15px 'NP Space',sans-serif; color:#cbe8e9; }
.np-cinema-services li { display:flex; gap:9px; align-items:center; }
.np-cinema-services svg { width:16px; height:16px; stroke:#7ae6ed; }
.np-cinema-bottom { position:absolute; z-index:3; bottom:28px; left:5vw; right:5vw; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.np-scroll-cue { display:flex; align-items:center; gap:12px; color:#cedce8; font:400 13px/1.4 'NP Space',sans-serif; text-decoration:none; min-height:44px; }
.np-scroll-cue svg { width:22px; height:30px; }
.np-cinema .np-motion { position:static; margin:0; color:#c4d2e3; min-height:44px; padding:10px 16px; border-color:#5d758b; background:#04132480; }
.np-film-progress { position:absolute; left:0; bottom:0; height:2px; width:100%; background:#6a9eae25; transform-origin:left; }
.np-film-progress::after { content:''; display:block; height:100%; width:100%; background:#a9e8eb; transform:scaleX(var(--gift-progress,0)); transform-origin:left; }
.np-cinema[data-scroll=on] { height:410svh; min-height:0; }
.np-cinema[data-scroll=on] .np-cinema-stage { position:sticky; top:0; min-height:0; height:100svh; }
.np-cinema[data-scroll=off] .np-film-progress { display:none; }
.np-cinema[data-scroll=off] .np-cinema-copy[data-gift-copy="0"] { opacity:1!important; visibility:visible!important; transform:none!important; }
.np-cinema[data-scroll=off] .np-cinema-copy[data-gift-copy]:not([data-gift-copy="0"]) { opacity:0!important; visibility:hidden!important; }
.np-page .np-partner { scroll-margin-top:35px; padding-top:100px; }
.np-page .np-partner,.np-page .np-help,.np-page .np-process,.np-page .np-apply { position:relative; z-index:2; }
.np-page .np-cinema :focus-visible { outline-color:#a4f4f4; outline-offset:6px; }
@media(min-width:1700px) { .np-cinema-copy { width:44%; } }
@media(max-width:1100px) and (min-width:800px) {
  .np-cinema-copy { left:4vw; width:48%; }
  .np-page .np-cinema h1,.np-page .np-cinema h2 { font-size:clamp(40px,5vw,56px); }
  .np-page .np-cinema-copy p { font-size:18px; }
  .np-cinema .np-hero-actions { gap:12px; }
}
@media(max-width:799px) {
  .np-cinema { min-height:800px; }
  .np-cinema-stage { min-height:800px; }
  .np-cinema[data-scroll=on] { height:355svh; }
  .np-cinema-copy,.np-cinema-copy[data-gift-copy="2"] { left:6vw; top:121px; translate:0 0; width:88%; max-width:620px; }
  .np-page .np-cinema h1,.np-page .np-cinema h2,.np-page .np-cinema-copy[data-gift-copy="2"] h2 { font-size:clamp(34px,7.3vw,53px); line-height:1.08; letter-spacing:-.038em; }
  .np-page .np-cinema-copy p { font-size:16px; margin-top:16px; line-height:1.5; max-width:520px; }
  .np-cinema .np-hero-actions { margin-top:18px; gap:6px 14px; }
  .np-cinema .np-button { font-size:12px; min-height:48px; padding:12px 16px; gap:10px; }
  .np-cinema .np-text-link { font-size:11px; gap:5px; min-height:44px; }
  .np-cinema-services { font-size:12px; margin-top:17px; gap:10px 17px; }
  .np-cinema-shade { background:linear-gradient(180deg,#04132488,transparent 17%,#04132430 40%,transparent 52%,transparent 85%,#041324 100%); }
  .np-cinema-bottom { bottom:16px; left:6vw; right:6vw; gap:8px; }
  .np-scroll-cue { font-size:11px; gap:7px; }
  .np-cinema .np-motion { font-size:11px; padding:8px 11px; }
  .np-gift-poster { inset:42% auto auto -100%; width:200%; max-width:none; height:58%; object-fit:contain; object-position:center; }
}
@media(max-width:799px) and (max-height:720px) {
  .np-cinema-copy,.np-cinema-copy[data-gift-copy="2"] { top:105px; }
  .np-page .np-cinema h1,.np-page .np-cinema h2,.np-page .np-cinema-copy[data-gift-copy="2"] h2 { font-size:32px; }
  .np-page .np-cinema-copy p { font-size:14px; margin-top:12px; }
  .np-cinema .np-hero-actions { margin-top:12px; }
}
@media(max-height:570px) and (min-width:800px) {
  .np-page .np-cinema h1,.np-page .np-cinema h2 { font-size:42px; }
  .np-page .np-cinema-copy p { font-size:16px; margin-top:18px; }
  .np-cinema .np-hero-actions { margin-top:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .np-cinema * { transition:none!important; }
  .np-cinema[data-scroll=on] { height:auto; min-height:780px; }
  .np-cinema[data-scroll=on] .np-cinema-stage { position:relative; min-height:780px; }
}
