/** NCDE Gateway Sprint 2.9.1.3 — Chapter 01 Final Polish */
:root{
  --c01-gold:#d9b45a;
  --c01-gold-soft:#f2d58c;
  --c01-ivory:#f7f1e3;
  --c01-header:84px;
  --c01-stable-vh:100vh;
}
html,body{background:#061c17}
body.c01-intro-lock,
body.c01-cta-lock{overflow:hidden!important;overscroll-behavior:none!important;touch-action:none}
.ncde-c01{position:relative;height:440vh;min-height:2380px;background:#061c17;isolation:isolate}
.ncde-c01__stage{position:sticky;top:0;width:100%;height:var(--c01-stable-vh);min-height:560px;overflow:hidden;background:#061c17;contain:paint}
.ncde-c01__background,.ncde-c01__veil,.ncde-c01__grain,.ncde-c01__header-mask{position:absolute;inset:0}
.ncde-c01__background{z-index:0;background-position:center center;background-repeat:no-repeat;background-size:cover;transform:none!important;will-change:auto!important;backface-visibility:hidden}
.ncde-c01__veil{z-index:1;background:linear-gradient(180deg,rgba(2,17,13,.24),rgba(2,17,13,.04) 36%,rgba(2,17,13,.12) 62%,rgba(2,17,13,.60)),linear-gradient(90deg,rgba(2,17,13,.58),rgba(2,17,13,.12) 58%,rgba(2,17,13,.18))}
.ncde-c01__grain{z-index:2;opacity:.045;pointer-events:none;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}
.ncde-c01__header-mask{z-index:7;bottom:auto;height:calc(var(--c01-header) + 42px);pointer-events:none;background:linear-gradient(180deg,rgba(3,28,21,.99),rgba(3,28,21,.94) 58%,rgba(3,28,21,0))}
.ncde-c01__story{position:absolute;z-index:4;inset:0;pointer-events:none}
.ncde-c01__opening,.ncde-c01__narrative{position:absolute;left:clamp(28px,8vw,138px);width:min(820px,calc(100vw - 56px));text-shadow:0 4px 34px rgba(0,0,0,.50)}
.ncde-c01__opening{top:clamp(150px,26vh,285px);transform-origin:left center;will-change:opacity,transform}
.ncde-c01__we{margin:0 0 16px;color:var(--c01-ivory);font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3.8vw,4rem);font-weight:400;line-height:1;opacity:0;transform:translateY(16px);transition:opacity 1.25s ease,transform 1.25s cubic-bezier(.22,.7,.25,1)}
.ncde-c01.is-we-visible .ncde-c01__we{opacity:1;transform:none}
.ncde-c01__headline{margin:0;color:var(--c01-ivory);font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.65rem,5.15vw,5.85rem);font-weight:400;line-height:1;letter-spacing:-.032em}
.ncde-c01__headline span{display:block;min-height:1em}
.ncde-c01__headline span:nth-child(1),.ncde-c01__headline span:nth-child(3),.ncde-c01__headline span:nth-child(4){color:var(--c01-gold-soft)}
.ncde-c01__headline span.is-typing::after{content:'';display:inline-block;width:1px;height:.78em;margin-left:.09em;vertical-align:-.03em;background:currentColor;animation:c01Caret .8s steps(1) infinite}
.ncde-c01__narrative{inset:auto auto auto clamp(28px,8vw,138px);top:50%;height:1px;max-width:760px;color:var(--c01-ivory);font-size:clamp(1.14rem,1.62vw,1.48rem);font-weight:350;line-height:1.64;letter-spacing:.005em}
.ncde-c01__narrative p{position:absolute;top:0;left:0;width:100%;max-width:700px;margin:0;opacity:0;filter:blur(7px);transform:translate3d(0,46px,0);will-change:opacity,filter,transform}
.ncde-c01__narrative strong{color:var(--c01-gold-soft);font-weight:500}
.ncde-c01__scroll-cue{position:absolute;z-index:6;left:50%;bottom:max(98px,calc(env(safe-area-inset-bottom) + 78px));width:50px;height:50px;border:1px solid rgba(242,213,140,.52);border-radius:50%;background:rgba(4,31,24,.24);backdrop-filter:blur(12px);opacity:0;transform:translate(-50%,14px);transition:opacity .75s ease,transform .75s ease}
.ncde-c01.is-intro-complete .ncde-c01__scroll-cue{opacity:.94;transform:translate(-50%,0)}
.ncde-c01__scroll-cue span{position:absolute;left:50%;top:48%;width:9px;height:9px;border-right:1px solid var(--c01-gold-soft);border-bottom:1px solid var(--c01-gold-soft);transform:translate(-50%,-50%) rotate(45deg);animation:c01Cue 1.8s ease-in-out infinite}
.ncde-c01__continue{position:absolute;z-index:8;left:50%;top:52%;display:flex;flex-direction:column;align-items:center;gap:17px;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,28px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,.7,.25,1),visibility .9s}
.ncde-c01__continue.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.ncde-c01__continue-label{color:var(--c01-gold-soft);font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.2rem,1.7vw,1.55rem);letter-spacing:.12em;text-shadow:0 0 18px rgba(217,180,90,.48);animation:c01Label 4.5s ease-in-out infinite}
.ncde-c01__continue-circle{position:relative;display:grid;place-items:center;width:68px;height:68px;border:1px solid rgba(242,213,140,.66);border-radius:50%;color:var(--c01-gold-soft);background:rgba(4,31,24,.34);backdrop-filter:blur(15px);box-shadow:inset 0 0 20px rgba(242,213,140,.05),0 0 28px rgba(217,180,90,.12);transition:transform .25s ease,border-color .25s ease,background .25s ease}
.ncde-c01__continue-circle::before,.ncde-c01__continue-circle::after{content:'';position:absolute;inset:-1px;border:1px solid rgba(242,213,140,.32);border-radius:50%;animation:c01Pulse 3.2s ease-out infinite}
.ncde-c01__continue-circle::after{animation-delay:1.6s}
.ncde-c01__continue-circle svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.ncde-c01__continue-circle:hover,.ncde-c01__continue-circle:focus-visible{transform:scale(1.06);border-color:var(--c01-gold-soft);background:rgba(7,45,34,.53);outline:none}
.ncde-c01__continue-circle:active{transform:scale(.94)}
.ncde-c01__light-sweep{position:absolute;z-index:9;left:-20%;right:-20%;bottom:-22%;height:22%;pointer-events:none;opacity:0;background:linear-gradient(180deg,transparent,rgba(242,213,140,.34),rgba(255,244,203,.08),transparent);filter:blur(16px);transform:translateY(120%)}
.ncde-c01.is-leaving .ncde-c01__light-sweep{animation:c01Sweep .75s cubic-bezier(.22,.72,.2,1) forwards}
@keyframes c01Caret{50%{opacity:0}}
@keyframes c01Cue{0%,100%{transform:translate(-50%,-65%) rotate(45deg);opacity:.4}50%{transform:translate(-50%,-15%) rotate(45deg);opacity:1}}
@keyframes c01Label{0%,100%{opacity:.7;text-shadow:0 0 12px rgba(217,180,90,.25)}50%{opacity:1;text-shadow:0 0 24px rgba(217,180,90,.65)}}
@keyframes c01Pulse{0%{transform:scale(.96);opacity:.6}75%,100%{transform:scale(1.38);opacity:0}}
@keyframes c01Sweep{0%{opacity:0;transform:translateY(120%)}25%{opacity:1}100%{opacity:0;transform:translateY(-620%)}}
@media(max-width:760px){
  :root{--c01-header:76px}
  .ncde-c01{height:460vh;min-height:2500px}
  .ncde-c01__opening,.ncde-c01__narrative{left:24px;width:calc(100vw - 48px)}
  .ncde-c01__opening{top:clamp(140px,21vh,200px)}
  .ncde-c01__we{font-size:clamp(1.85rem,7.7vw,2.75rem);margin-bottom:14px}
  .ncde-c01__headline{font-size:clamp(1.98rem,8.45vw,3.25rem);line-height:1.025;letter-spacing:-.023em}
  .ncde-c01__narrative{top:48%;font-size:clamp(1.08rem,4.45vw,1.28rem);line-height:1.65}
  .ncde-c01__continue{top:50%}
  .ncde-c01__continue-circle{width:64px;height:64px}
  .ncde-c01__scroll-cue{bottom:max(102px,calc(env(safe-area-inset-bottom) + 82px))}
}
@media(max-height:690px) and (orientation:landscape){.ncde-c01__opening{top:118px}.ncde-c01__headline{font-size:clamp(1.9rem,6.8vh,4rem)}.ncde-c01__scroll-cue{bottom:82px}}
@media(prefers-reduced-motion:reduce){.ncde-c01__we,.ncde-c01__scroll-cue,.ncde-c01__continue{transition-duration:.01ms!important}.ncde-c01__headline span.is-typing::after,.ncde-c01__scroll-cue span,.ncde-c01__continue-label,.ncde-c01__continue-circle::before,.ncde-c01__continue-circle::after{animation:none!important}}

/* EE 1.0.1 corrective typography lock */
@media(max-width:760px){
  .ncde-c01__we{font-size:clamp(1.45rem,6vw,2rem)}
  .ncde-c01__headline{font-size:clamp(1.56rem,6.65vw,2.35rem);line-height:1.04;letter-spacing:-.018em}
}

/* Sprint 3.4.5 — Functional Journey Step Cue */
.ncde-c01__scroll-cue{appearance:none;cursor:pointer;padding:0;touch-action:manipulation;opacity:.46!important;border-color:rgba(226,190,99,.46)!important;background:rgba(4,31,24,.16)!important;box-shadow:0 0 0 1px rgba(226,190,99,.04),0 0 18px rgba(226,190,99,.08);transition:opacity .22s ease,transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease!important}
.ncde-c01__scroll-cue:hover,.ncde-c01__scroll-cue:focus-visible,.ncde-c01__scroll-cue.is-activated{opacity:1!important;border-color:rgba(242,213,140,.9)!important;background:rgba(4,31,24,.52)!important;box-shadow:0 0 0 5px rgba(226,190,99,.08),0 0 28px rgba(226,190,99,.28);outline:none;transform:translate(-50%,0) scale(1.06)!important}
.ncde-c01__scroll-cue span{width:11px!important;height:11px!important;border-width:0 1.5px 1.5px 0!important;filter:drop-shadow(0 0 5px rgba(242,213,140,.65))}
