
:root{--ncs-gold:#d8b86a;--ncs-cream:#f5efe3;--ncs-emerald:#08271f;--ncs-line:rgba(216,184,106,.28);--ncs-glass:rgba(4,25,19,.52)}
body.ncde-storytelling-page{background:#031b14;color:var(--ncs-cream)}
.ncde-cinematic-document{position:relative;overflow:clip}

/* Act I — v2.2 Editorial Cinematic Composition */
.ncs-cinema{position:relative;height:1000vh;isolation:isolate;--cam-x:0%;--cam-y:0%;--cam-scale:1;--home-opacity:1;--city-opacity:0;--bloom-opacity:0;--ambient-opacity:.27}
.ncs-cinema__stage{position:sticky;top:0;width:100%;height:100vh;height:100dvh;overflow:hidden;background:transparent}
.ncs-cinema__ambient{position:absolute;inset:-7%;width:114%;height:114%;object-fit:cover;filter:blur(20px) saturate(.72) brightness(.42);opacity:var(--ambient-opacity);transform:scale(1.07);transition:opacity 1s ease;mix-blend-mode:soft-light}
.ncs-cinema__ambient-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,18,13,.80),rgba(2,18,13,.28) 35%,rgba(2,18,13,.32) 76%,rgba(2,18,13,.82));pointer-events:none}
.ncs-cinema__canvas{position:absolute;left:50%;top:53%;width:min(94vw,1540px);aspect-ratio:3/2;max-height:80dvh;transform:translate(-50%,-50%);overflow:hidden;background:#071b15;box-shadow:0 25px 95px rgba(0,0,0,.46);clip-path:inset(0 round 5px)}
.ncs-cinema__frame{position:absolute;inset:0;overflow:hidden;transition:opacity 1.15s cubic-bezier(.2,.7,.2,1)}
.ncs-cinema__frame--home{opacity:var(--home-opacity)}.ncs-cinema__frame--city{opacity:var(--city-opacity);z-index:2}
.ncs-cinema__image{position:absolute;left:50%;top:50%;display:block;max-width:none;backface-visibility:hidden;will-change:transform}
.ncs-cinema__image--home{width:100%;height:100%;object-fit:cover;transform:translate3d(calc(-50% + var(--cam-x)),calc(-50% + var(--cam-y)),0) scale(var(--cam-scale));transition:transform 1.75s cubic-bezier(.18,.78,.16,1)}
.ncs-cinema__image--city{width:100%;height:100%;object-fit:cover;transform:translate3d(-50%,-50%,0) scale(var(--city-scale,1.12));transition:transform 3.2s cubic-bezier(.16,.76,.18,1)}
.ncs-cinema__edge{position:absolute;inset:-1px;z-index:10;pointer-events:none;box-shadow:inset 0 0 58px rgba(2,18,13,.42),inset 0 0 1px rgba(216,184,106,.38)}
.ncs-cinema__shade{position:absolute;inset:0;z-index:5;background:linear-gradient(90deg,rgba(1,14,10,.64),rgba(1,14,10,.10) 43%,rgba(1,14,10,.04) 75%),linear-gradient(180deg,rgba(1,14,10,.17),transparent 45%,rgba(1,14,10,.34));pointer-events:none;transition:opacity .8s ease}
.ncs-cinema__grain{position:absolute;inset:0;z-index:12;opacity:.04;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.ncs-cinema__bloom{position:absolute;inset:0;z-index:9;background:radial-gradient(circle at 76% 32%,rgba(255,247,219,.98),rgba(255,222,145,.62) 20%,rgba(255,224,155,.15) 46%,transparent 68%);opacity:var(--bloom-opacity);transition:opacity .75s ease;mix-blend-mode:screen;pointer-events:none}
.ncs-cinema__timeline{position:absolute;inset:0;z-index:1;pointer-events:none}.ncs-cinema__step{height:100vh;height:100dvh}

.ncs-cinema__opening{position:absolute;z-index:14;left:clamp(32px,6vw,96px);top:max(138px,calc(env(safe-area-inset-top) + 116px));width:min(560px,42vw);pointer-events:none}
.ncs-cinema .ncs-title{margin:0;color:var(--ncs-cream);font:500 clamp(1.85rem,3.25vw,3.7rem)/1.08 Georgia,serif;letter-spacing:-.035em;text-shadow:0 4px 30px rgba(0,0,0,.78)}
.ncs-cinema .ncs-title span{display:block;min-height:1.08em;white-space:nowrap}
.ncs-cinema .ncs-title span.is-typing:after{content:"";display:inline-block;width:.045em;height:.82em;margin-left:.08em;vertical-align:-.05em;background:currentColor;animation:ncsTypeCursor .9s steps(1,end) infinite}
@keyframes ncsTypeCursor{0%,46%{opacity:1}47%,100%{opacity:0}}
.ncs-cinema__opening-rule{width:min(360px,75%);height:1px;margin-top:18px;background:linear-gradient(90deg,var(--ncs-gold),transparent)}
.ncs-cinema__hint{margin:14px 0 0;color:rgba(245,239,227,.72);font:500 clamp(.72rem,.95vw,.9rem)/1.4 system-ui,sans-serif;letter-spacing:.02em}

.ncs-cinema__labels{position:absolute;inset:0;z-index:8;pointer-events:none}
.ncs-cinema__label{position:absolute;top:50%;width:min(310px,29%);padding:22px 24px;color:var(--ncs-cream);background:linear-gradient(135deg,rgba(3,28,21,.84),rgba(3,28,21,.58));border:1px solid rgba(216,184,106,.38);box-shadow:0 15px 46px rgba(0,0,0,.30);backdrop-filter:blur(12px);opacity:0;filter:blur(4px);transition:opacity .42s ease .9s,transform .72s cubic-bezier(.18,.82,.18,1) .82s,filter .5s ease .85s}
.ncs-cinema__label strong{display:block;font:500 clamp(1.4rem,2.1vw,2.4rem)/1.05 Georgia,serif;letter-spacing:-.025em}.ncs-cinema__label span{display:block;margin-top:8px;color:rgba(245,239,227,.76);font:500 clamp(.78rem,1vw,1rem)/1.45 system-ui,sans-serif}
.ncs-cinema__label--right{right:5.5%;transform:translate(38px,-50%)}.ncs-cinema__label--left{left:5.5%;transform:translate(38px,-50%)}
.ncs-cinema__label.is-active{opacity:1;filter:none}.ncs-cinema__label--right.is-active,.ncs-cinema__label--left.is-active{transform:translate(0,-50%)}
.ncs-cinema__label--statement{left:50%;top:auto;bottom:7%;width:auto;max-width:72%;text-align:center;transform:translate(-50%,26px);background:rgba(3,28,21,.60)}.ncs-cinema__label--statement.is-active{transform:translate(-50%,0)}.ncs-cinema__label--gold strong{color:var(--ncs-gold)}
.ncs-cinema[data-camera-state="apple"] .ncs-cinema__label--right{top:47%}.ncs-cinema[data-camera-state="rice"] .ncs-cinema__label--left{top:39%}.ncs-cinema[data-camera-state="coffee"] .ncs-cinema__label--right{top:39%}.ncs-cinema[data-camera-state="egg"] .ncs-cinema__label--left{top:42%}.ncs-cinema[data-camera-state="water"] .ncs-cinema__label--left{top:43%}

.ncs-cinema__journey{position:absolute;right:clamp(18px,2.1vw,36px);top:50%;z-index:16;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translateY(-50%);color:rgba(245,239,227,.68);font:600 .68rem/1 system-ui,sans-serif;letter-spacing:.08em}.ncs-cinema__journey i{width:1px;height:128px;background:linear-gradient(var(--ncs-gold),rgba(245,239,227,.16))}.ncs-cinema__journey span{color:var(--ncs-gold)}
.ncs-cinema__progress{position:absolute;z-index:16;bottom:22px;left:50%;width:min(230px,42vw);height:2px;transform:translateX(-50%);background:rgba(245,239,227,.16);overflow:hidden;border-radius:999px;pointer-events:none}.ncs-cinema__progress i{display:block;width:100%;height:100%;background:var(--ncs-gold);transform:scaleX(0);transform-origin:left center;transition:transform .45s ease}

/* Continuous camera waypoints */
.ncs-cinema[data-camera-state="intro"],.ncs-cinema[data-camera-state="opening"]{--cam-x:0%;--cam-y:0%;--cam-scale:1;--ambient-opacity:.27}
.ncs-cinema[data-camera-state="apple"]{--cam-x:30%;--cam-y:-25%;--cam-scale:2.18;--ambient-opacity:.20}
.ncs-cinema[data-camera-state="rice"]{--cam-x:11%;--cam-y:-18%;--cam-scale:2.12;--ambient-opacity:.20}
.ncs-cinema[data-camera-state="coffee"]{--cam-x:-14%;--cam-y:-25%;--cam-scale:2.22;--ambient-opacity:.20}
.ncs-cinema[data-camera-state="egg"]{--cam-x:-9%;--cam-y:-14%;--cam-scale:2.26;--ambient-opacity:.20}
.ncs-cinema[data-camera-state="water"]{--cam-x:-31%;--cam-y:-17%;--cam-scale:2.15;--ambient-opacity:.20}
.ncs-cinema[data-camera-state="family-full"]{--cam-x:0%;--cam-y:0%;--cam-scale:1;--ambient-opacity:.27}
.ncs-cinema[data-camera-state="window"]{--cam-x:-29%;--cam-y:16%;--cam-scale:2.08;--bloom-opacity:.68;--ambient-opacity:.16}
.ncs-cinema[data-camera-state="city"]{--home-opacity:0;--city-opacity:1;--bloom-opacity:0;--ambient-opacity:.18;--city-scale:1}.ncs-cinema[data-camera-state="city"] .ncs-cinema__shade{opacity:.52}

@media (max-width:760px){
  .ncs-cinema{height:1000svh}.ncs-cinema__stage{min-height:100svh}
  .ncs-cinema__opening{top:max(128px,calc(env(safe-area-inset-top) + 112px));left:22px;width:calc(100vw - 44px)}
  .ncs-cinema .ncs-title{font-size:clamp(1.75rem,8.2vw,2.55rem);line-height:1.08}.ncs-cinema .ncs-title span{white-space:nowrap}
  .ncs-cinema__opening-rule{margin-top:14px;width:72%}.ncs-cinema__hint{font-size:.72rem}
  .ncs-cinema__canvas{top:60%;width:100vw;max-height:none;aspect-ratio:3/2;clip-path:none;box-shadow:0 16px 62px rgba(0,0,0,.42)}
  .ncs-cinema__label{top:48%;width:min(42%,190px);padding:14px 15px}.ncs-cinema__label strong{font-size:clamp(1.18rem,5.5vw,1.55rem)}.ncs-cinema__label span{font-size:clamp(.68rem,3vw,.82rem);margin-top:5px}
  .ncs-cinema__label--right{right:4%;}.ncs-cinema__label--left{left:4%}.ncs-cinema__label--statement{left:50%;bottom:5%;width:max-content;max-width:84%;padding:13px 16px}
  .ncs-cinema__journey{right:8px;top:61%;transform:translateY(-50%) scale(.82)}.ncs-cinema__progress{bottom:max(18px,calc(env(safe-area-inset-bottom) + 10px));width:42vw}
  .ncs-cinema[data-camera-state="apple"]{--cam-x:32%;--cam-y:-26%;--cam-scale:2.22}.ncs-cinema[data-camera-state="rice"]{--cam-x:12%;--cam-y:-18%;--cam-scale:2.16}.ncs-cinema[data-camera-state="coffee"]{--cam-x:-15%;--cam-y:-26%;--cam-scale:2.28}.ncs-cinema[data-camera-state="egg"]{--cam-x:-9%;--cam-y:-14%;--cam-scale:2.30}.ncs-cinema[data-camera-state="water"]{--cam-x:-32%;--cam-y:-17%;--cam-scale:2.20}.ncs-cinema[data-camera-state="window"]{--cam-x:-30%;--cam-y:15%;--cam-scale:2.14}
}
@media (max-width:390px){.ncs-cinema__opening{top:max(118px,calc(env(safe-area-inset-top) + 102px))}.ncs-cinema .ncs-title{font-size:clamp(1.55rem,7.8vw,2.05rem)}.ncs-cinema__canvas{top:59%}}
@media (prefers-reduced-motion:reduce){.ncs-cinema__image--home,.ncs-cinema__image--city,.ncs-cinema__label,.ncs-cinema__frame,.ncs-cinema__bloom{transition-duration:.01ms!important}}

/* Existing Acts II–V remain compatible */
.ncs-scene{position:relative;min-height:120vh;padding:clamp(150px,19vh,230px) 0 clamp(140px,18vh,220px);display:flex;align-items:center;isolation:isolate}
.ncs-scene:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 38%,rgba(8,55,42,.18),transparent 58%),linear-gradient(180deg,rgba(2,16,12,.08),rgba(2,18,14,.52));pointer-events:none}
.ncs-scene:after{content:"";position:absolute;left:50%;bottom:0;width:min(78vw,1100px);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--ncs-line),transparent)}
.ncs-scene--invitation:after{display:none}.ncs-scene__inner{width:min(900px,calc(100% - 48px));margin:auto}.ncs-scene__inner--wide{width:min(1180px,calc(100% - 48px))}.ncs-scene__inner--center{text-align:center}
.ncs-scene .ncs-kicker{margin:0 0 24px;color:var(--ncs-gold);font:600 .74rem/1.4 system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase}.ncs-scene .ncs-title{margin:0;color:var(--ncs-cream);font:500 clamp(2.5rem,5.8vw,6rem)/1.02 Georgia,serif;letter-spacing:-.045em;text-wrap:balance;text-shadow:0 4px 32px rgba(0,0,0,.42)}
.ncs-scene__inner--center .ncs-title{max-width:920px;margin-inline:auto}.ncs-lead{max-width:790px;margin:clamp(48px,7vh,84px) auto 0;font-size:clamp(1.12rem,2vw,1.55rem);line-height:1.75;color:rgba(245,239,227,.78);text-wrap:pretty}
.ncs-collage{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(92px,10vw);gap:clamp(10px,1.5vw,20px);margin-top:clamp(72px,11vh,132px)}.ncs-visual{position:relative;grid-column:span 4;grid-row:span 3;margin:0;overflow:hidden;border:1px solid rgba(216,184,106,.25);border-radius:clamp(18px,2vw,30px);background:var(--ncs-glass);box-shadow:0 24px 70px rgba(0,0,0,.24);isolation:isolate}.ncs-visual--hero{grid-column:span 7;grid-row:span 5}.ncs-visual--wide{grid-column:span 8;grid-row:span 3}.ncs-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s cubic-bezier(.2,.8,.2,1),filter 1s ease}.ncs-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(2,16,12,.74));pointer-events:none}.ncs-visual figcaption{position:absolute;left:18px;bottom:15px;z-index:2;color:var(--ncs-cream);font:600 .72rem/1.3 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase}.ncs-visual.is-active img{transform:scale(1.045)}
.ncs-reflection{display:grid;gap:clamp(36px,6vh,72px);margin-top:clamp(100px,15vh,170px)}.ncs-line{margin:0;font:500 clamp(2rem,4.7vw,5rem)/1.08 Georgia,serif;letter-spacing:-.035em;text-wrap:balance}.ncs-line--soft{color:rgba(245,239,227,.72)}.ncs-line--pause{color:var(--ncs-cream)}.ncs-line--gold{color:var(--ncs-gold)}
.ncs-closing{max-width:820px;margin:clamp(95px,14vh,160px) 0 0 auto;color:var(--ncs-gold);font:500 clamp(1.35rem,2.4vw,2.2rem)/1.55 Georgia,serif;text-wrap:balance}.ncs-closing--center{margin-inline:auto}
.ncs-balance-map{display:flex;align-items:center;justify-content:center;gap:clamp(16px,3vw,42px);margin:clamp(80px,12vh,135px) auto 0;color:var(--ncs-gold);font:500 clamp(1.3rem,2.3vw,2rem)/1 Georgia,serif}.ncs-balance-map i{width:clamp(34px,7vw,90px);height:1px;background:linear-gradient(90deg,transparent,var(--ncs-gold),transparent)}
.ncs-copy-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,72px);margin-top:clamp(70px,10vh,120px)}.ncs-copy-grid p{margin:0;color:rgba(245,239,227,.78);font-size:clamp(1.08rem,1.7vw,1.42rem);line-height:1.75}.ncs-panorama{margin:clamp(80px,12vh,140px) 0 0;overflow:hidden;border:1px solid var(--ncs-line);border-radius:32px;background:var(--ncs-glass);box-shadow:0 30px 90px rgba(0,0,0,.28)}.ncs-panorama img{width:100%;display:block}
.ncs-ecosystem{position:relative;width:min(78vw,690px);aspect-ratio:1;margin:clamp(90px,13vh,150px) auto 0;border-radius:50%;border:1px solid rgba(216,184,106,.2);box-shadow:inset 0 0 100px rgba(216,184,106,.05),0 0 80px rgba(0,0,0,.2)}.ncs-ecosystem:before,.ncs-ecosystem:after{content:"";position:absolute;inset:18%;border:1px solid rgba(216,184,106,.14);border-radius:50%}.ncs-ecosystem:after{inset:34%}.ncs-ecosystem__core{position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%);display:grid;place-items:center;gap:8px;width:180px;aspect-ratio:1;border-radius:50%;border:1px solid rgba(216,184,106,.45);background:rgba(3,27,20,.76);backdrop-filter:blur(18px);box-shadow:0 0 60px rgba(216,184,106,.14)}.ncs-ecosystem__core img{width:72px;height:72px;object-fit:contain}.ncs-ecosystem__core strong{font:500 1.05rem/1.2 Georgia,serif}.ncs-ecosystem__core small{max-width:125px;color:rgba(245,239,227,.58);font:.62rem/1.35 system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase}.ncs-ecosystem>span{--a:calc(var(--i)*45deg);position:absolute;left:50%;top:50%;display:grid;place-items:center;min-width:84px;min-height:42px;padding:4px 14px;border:1px solid rgba(216,184,106,.3);border-radius:999px;background:rgba(3,27,20,.66);backdrop-filter:blur(12px);font:.75rem/1 system-ui,sans-serif;letter-spacing:.08em;transform:translate(-50%,-50%) rotate(var(--a)) translateY(-290px) rotate(calc(var(--a)*-1));box-shadow:0 8px 24px rgba(0,0,0,.2)}
.ncs-mantra{display:grid;gap:20px;margin:clamp(90px,14vh,160px) 0 0}.ncs-mantra p{margin:0;font:500 clamp(3rem,7vw,7.6rem)/.98 Georgia,serif;letter-spacing:-.055em;text-wrap:balance}.ncs-mantra p:last-child{color:var(--ncs-gold)}.ncs-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:clamp(58px,8vh,90px)}.ncs-action{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 26px;border:1px solid rgba(216,184,106,.42);border-radius:999px;background:rgba(3,27,20,.48);backdrop-filter:blur(12px);color:var(--ncs-cream);text-decoration:none;font:600 .78rem/1 system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase;transition:transform .25s ease,background .25s ease}.ncs-action:hover{transform:translateY(-3px)}.ncs-action--primary{background:var(--ncs-gold);border-color:var(--ncs-gold);color:#08231b}
.js [data-ncs-reveal]{opacity:0;transform:translate3d(0,42px,0);filter:blur(5px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.8,.2,1),filter 1.1s ease}.js [data-ncs-reveal].is-visible{opacity:1;transform:none;filter:none}

@media(max-width:760px){
  .ncs-cinema{height:900svh}
  .ncs-cinema__image--home{width:auto;height:104%;min-width:104%}
  .ncs-cinema__step{padding:0 24px;align-items:flex-end;padding-bottom:clamp(112px,18vh,170px)}
  .ncs-cinema__step--opening{align-items:center;padding-bottom:0}
  .ncs-cinema__copy{max-width:100%}.ncs-cinema .ncs-kicker{font-size:.66rem;letter-spacing:.17em;margin-bottom:18px}.ncs-cinema .ncs-title{font-size:clamp(2.55rem,12.4vw,4.4rem);line-height:1.01}
  .ncs-cinema__word,.ncs-cinema__statement{max-width:94vw;font-size:clamp(3rem,14vw,5.6rem)}
  .ncs-cinema__word--wide,.ncs-cinema__statement{font-size:clamp(2.35rem,10.5vw,4.6rem);line-height:1.04}
  .ncs-cinema__shade{background:linear-gradient(180deg,rgba(1,14,10,.34),rgba(1,14,10,.04) 36%,rgba(1,14,10,.72) 86%)}
  .ncs-cinema[data-camera-state="opening"]{--cam-x:-1%;--cam-y:0%;--cam-scale:1.06}
  .ncs-cinema[data-camera-state="apple"]{--cam-x:48%;--cam-y:-29%;--cam-scale:2.34}
  .ncs-cinema[data-camera-state="rice"]{--cam-x:16%;--cam-y:-18%;--cam-scale:2.28}
  .ncs-cinema[data-camera-state="coffee"]{--cam-x:-22%;--cam-y:-29%;--cam-scale:2.36}
  .ncs-cinema[data-camera-state="water"]{--cam-x:-46%;--cam-y:-17%;--cam-scale:2.32}
  .ncs-cinema[data-camera-state="family"]{--cam-x:-2%;--cam-y:19%;--cam-scale:1.54}
  .ncs-cinema[data-camera-state="family-full"]{--cam-x:0%;--cam-y:0%;--cam-scale:1.0}
  .ncs-cinema[data-camera-state="window"]{--cam-x:0%;--cam-y:0%;--cam-scale:1.0;--bloom-opacity:.38}
  .ncs-cinema__progress{bottom:15px;transform:translateY(-15px)}
  .ncs-scene{min-height:108vh;padding:132px 0 120px}.ncs-scene__inner,.ncs-scene__inner--wide{width:min(100% - 32px,900px)}.ncs-scene .ncs-title{font-size:clamp(2.35rem,11vw,4.3rem)}.ncs-collage{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}.ncs-visual,.ncs-visual--hero,.ncs-visual--wide{grid-column:span 1;grid-row:span 1}.ncs-visual--hero,.ncs-visual--wide{grid-column:span 2;grid-row:span 2}.ncs-copy-grid{grid-template-columns:1fr}.ncs-balance-map{flex-direction:column}.ncs-balance-map i{width:1px;height:38px}.ncs-ecosystem{width:min(94vw,520px)}.ncs-ecosystem__core{width:138px}.ncs-ecosystem>span{min-width:68px;min-height:36px;padding-inline:9px;font-size:.62rem;transform:translate(-50%,-50%) rotate(var(--a)) translateY(-42vw) rotate(calc(var(--a)*-1))}.ncs-actions{flex-direction:column}.ncs-action{width:100%;box-sizing:border-box}
}
@media(prefers-reduced-motion:reduce){.ncs-cinema .ncs-title[data-typewriter].is-typing:after{display:none!important}.ncs-cinema__image,.ncs-cinema__frame,.ncs-cinema__bloom{transition:none!important}.ncs-cinema__word,.ncs-cinema__statement,.ncs-cinema__copy{filter:none!important;transition:none!important}.js [data-ncs-reveal]{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.ncs-visual img{transition:none!important}}

/* v2.0.2 — viewport precision, mobile parity, environment restoration */
body.ncde-storytelling-page,
body.ncde-storytelling-page .site-after-gateway,
body.ncde-storytelling-page .ncde-story-document{background:transparent!important}
body.ncde-storytelling-page .ncde-fixed-environment{display:block!important;visibility:visible!important;opacity:1!important}
body.ncde-storytelling-page .ncde-fixed-environment__shade{background:linear-gradient(180deg,rgba(2,18,13,.14),rgba(2,18,13,.46))}
.ncs-cinema{height:1000vh;background:transparent}
.ncs-cinema__stage{background:transparent}
.ncs-cinema__frame{background:#031b14}
.ncs-cinema__step--intro{pointer-events:none}
.ncs-cinema__step--opening{align-items:center}
.ncs-cinema__copy--hero{max-width:min(720px,66vw)}
.ncs-cinema .ncs-title{font-size:clamp(2.8rem,5.8vw,6.5rem);line-height:1.01}
.ncs-cinema__word{max-width:min(520px,44vw);padding:18px 24px;border:1px solid rgba(216,184,106,.34);border-radius:18px;background:rgba(3,27,20,.54);backdrop-filter:blur(12px);font-size:clamp(2.15rem,4.3vw,4.7rem);line-height:1.02}
.ncs-cinema[data-camera-state="intro"]{--cam-x:0%;--cam-y:0%;--cam-scale:1.0}
.ncs-cinema[data-camera-state="opening"]{--cam-x:0%;--cam-y:0%;--cam-scale:1.0}
.ncs-cinema[data-camera-state="apple"]{--cam-x:31%;--cam-y:-27%;--cam-scale:2.18}
.ncs-cinema[data-camera-state="rice"]{--cam-x:11%;--cam-y:-19%;--cam-scale:2.13}
.ncs-cinema[data-camera-state="coffee"]{--cam-x:-14%;--cam-y:-31%;--cam-scale:2.22}
.ncs-cinema[data-camera-state="egg"]{--cam-x:-10%;--cam-y:-18%;--cam-scale:2.18}
.ncs-cinema[data-camera-state="water"]{--cam-x:-31%;--cam-y:-20%;--cam-scale:2.15}
.ncs-cinema[data-camera-state="family-full"]{--cam-x:0%;--cam-y:0%;--cam-scale:1.0}
.ncs-cinema[data-camera-state="window"]{--cam-x:-27%;--cam-y:12%;--cam-scale:1.72;--bloom-opacity:.42}
.ncs-cinema[data-camera-state="city"]{--home-opacity:0;--city-opacity:1;--bloom-opacity:0;--city-scale:1.0;--city-y:0%}
.ncs-cinema[data-camera-state="apple"] .ncs-cinema__step.is-active .ncs-cinema__word,
.ncs-cinema[data-camera-state="rice"] .ncs-cinema__step.is-active .ncs-cinema__word{margin-left:auto;margin-right:7vw}
.ncs-cinema[data-camera-state="coffee"] .ncs-cinema__step.is-active .ncs-cinema__word,
.ncs-cinema[data-camera-state="egg"] .ncs-cinema__step.is-active .ncs-cinema__word,
.ncs-cinema[data-camera-state="water"] .ncs-cinema__step.is-active .ncs-cinema__word{margin-left:7vw;margin-right:auto}

@media(max-width:760px){
  .ncs-cinema{height:1000svh}
  .ncs-cinema__image--home{height:100%;min-width:100%}
  .ncs-cinema__step{padding:0 18px 15vh;align-items:flex-end}
  .ncs-cinema__step--intro{padding:0}
  .ncs-cinema__step--opening{align-items:flex-start;padding:18vh 22px 0}
  .ncs-cinema__copy--hero{max-width:88vw}
  .ncs-cinema .ncs-title{font-size:clamp(2rem,9.2vw,3.35rem);line-height:1.07;letter-spacing:-.035em}
  .ncs-cinema__word{max-width:72vw;padding:13px 16px;border-radius:14px;font-size:clamp(1.72rem,8vw,2.8rem);line-height:1.08}
  .ncs-cinema__statement{max-width:88vw;font-size:clamp(2.05rem,9.5vw,3.7rem)}
  .ncs-cinema[data-camera-state="intro"],.ncs-cinema[data-camera-state="opening"]{--cam-x:0%;--cam-y:0%;--cam-scale:1.02}
  .ncs-cinema[data-camera-state="apple"]{--cam-x:48%;--cam-y:-31%;--cam-scale:2.38}
  .ncs-cinema[data-camera-state="rice"]{--cam-x:18%;--cam-y:-21%;--cam-scale:2.34}
  .ncs-cinema[data-camera-state="coffee"]{--cam-x:-23%;--cam-y:-35%;--cam-scale:2.44}
  .ncs-cinema[data-camera-state="egg"]{--cam-x:-16%;--cam-y:-20%;--cam-scale:2.38}
  .ncs-cinema[data-camera-state="water"]{--cam-x:-48%;--cam-y:-21%;--cam-scale:2.38}
  .ncs-cinema[data-camera-state="family-full"]{--cam-x:0%;--cam-y:0%;--cam-scale:1.02}
  .ncs-cinema[data-camera-state="window"]{--cam-x:-45%;--cam-y:16%;--cam-scale:1.85;--bloom-opacity:.48}
  .ncs-cinema[data-camera-state="apple"] .ncs-cinema__step.is-active .ncs-cinema__word,
  .ncs-cinema[data-camera-state="rice"] .ncs-cinema__step.is-active .ncs-cinema__word,
  .ncs-cinema[data-camera-state="coffee"] .ncs-cinema__step.is-active .ncs-cinema__word,
  .ncs-cinema[data-camera-state="egg"] .ncs-cinema__step.is-active .ncs-cinema__word,
  .ncs-cinema[data-camera-state="water"] .ncs-cinema__step.is-active .ncs-cinema__word{margin:0}
}

/* v2.0.3 — Fixed 3:2 cinematic canvas mastering */
.ncs-cinema__stage{
  display:grid;
  place-items:center;
  background:transparent;
}
.ncs-cinema__frame--home{
  inset:auto;
  width:min(100vw,calc(100dvh * 1.5));
  aspect-ratio:3 / 2;
  height:auto;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  overflow:hidden;
  background:#071b15;
  box-shadow:0 24px 80px rgba(0,0,0,.38);
}
.ncs-cinema__frame--city{
  inset:0;
  width:100%;
  height:100%;
}
.ncs-cinema__image--home{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  transform-origin:var(--focus-x,50%) var(--focus-y,50%);
  transform:scale(var(--cam-scale));
  transition:transform 1.55s cubic-bezier(.22,.72,.18,1);
}
.ncs-cinema__image--city{
  width:104%;
  height:104%;
  object-fit:cover;
}
.ncs-cinema{
  --focus-x:50%;
  --focus-y:50%;
  --cam-scale:1;
}
.ncs-cinema[data-camera-state="intro"],
.ncs-cinema[data-camera-state="opening"],
.ncs-cinema[data-camera-state="family-full"]{
  --focus-x:50%;
  --focus-y:50%;
  --cam-scale:1;
}
.ncs-cinema[data-camera-state="apple"]{
  --focus-x:20%;
  --focus-y:76%;
  --cam-scale:2.45;
}
.ncs-cinema[data-camera-state="rice"]{
  --focus-x:39%;
  --focus-y:68%;
  --cam-scale:2.5;
}
.ncs-cinema[data-camera-state="coffee"]{
  --focus-x:65%;
  --focus-y:81%;
  --cam-scale:2.55;
}
.ncs-cinema[data-camera-state="egg"]{
  --focus-x:63%;
  --focus-y:67%;
  --cam-scale:2.5;
}
.ncs-cinema[data-camera-state="water"]{
  --focus-x:81%;
  --focus-y:69%;
  --cam-scale:2.45;
}
.ncs-cinema[data-camera-state="window"]{
  --focus-x:80%;
  --focus-y:24%;
  --cam-scale:2.05;
  --bloom-opacity:.4;
}
.ncs-cinema[data-camera-state="city"]{
  --home-opacity:0;
  --city-opacity:1;
  --bloom-opacity:0;
  --city-scale:1;
}
.ncs-cinema[data-camera-state="intro"] .ncs-cinema__shade,
.ncs-cinema[data-camera-state="family-full"] .ncs-cinema__shade{
  opacity:.18;
}

@media (max-aspect-ratio:3/2){
  .ncs-cinema__frame--home{
    width:100vw;
    height:auto;
  }
  .ncs-cinema__copy{max-width:calc(100vw - 40px)}
  .ncs-cinema .ncs-title{font-size:clamp(2.2rem,9.5vw,4rem);line-height:1.02}
  .ncs-cinema__word,.ncs-cinema__statement{font-size:clamp(2rem,10vw,4.3rem);max-width:calc(100vw - 40px)}
}

@media (max-width:760px){
  .ncs-cinema__frame--home{
    border-radius:0;
    box-shadow:0 20px 60px rgba(0,0,0,.34);
  }
  .ncs-cinema__step{
    align-items:flex-start;
    padding:clamp(86px,12vh,120px) 20px 0;
  }
  .ncs-cinema__step[data-camera="apple"],
  .ncs-cinema__step[data-camera="rice"],
  .ncs-cinema__step[data-camera="coffee"],
  .ncs-cinema__step[data-camera="egg"],
  .ncs-cinema__step[data-camera="water"]{
    align-items:flex-end;
    padding-bottom:clamp(92px,14vh,130px);
  }
  .ncs-cinema__word{
    padding:.55rem .8rem;
    border:1px solid rgba(216,184,106,.26);
    border-radius:14px;
    background:rgba(3,27,20,.46);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    font-size:clamp(1.65rem,7.6vw,2.55rem);
    line-height:1.04;
  }
  .ncs-cinema[data-camera-state="apple"]{--cam-scale:2.35}
  .ncs-cinema[data-camera-state="rice"]{--cam-scale:2.4}
  .ncs-cinema[data-camera-state="coffee"]{--cam-scale:2.45}
  .ncs-cinema[data-camera-state="egg"]{--cam-scale:2.4}
  .ncs-cinema[data-camera-state="water"]{--cam-scale:2.35}
  .ncs-cinema[data-camera-state="window"]{--focus-x:82%;--focus-y:23%;--cam-scale:1.95}
}

/* v2.2.1 — Hero Cinematic Mastering
   Family-first stage, compressed mobile opening, and blue-sky suppression. */
body.ncde-storytelling-page,
body.ncde-storytelling-page main,
body.ncde-storytelling-page .ncde-cinematic-document{
  background:#021710!important;
}
body.ncde-storytelling-page .site-header,
body.ncde-storytelling-page .ncde-header,
body.ncde-storytelling-page [data-site-header]{
  background:transparent!important;
  border-bottom-color:transparent!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.ncs-cinema__stage{
  background:#021710;
}
.ncs-cinema__ambient{
  opacity:.12!important;
  filter:blur(34px) saturate(.42) brightness(.24) hue-rotate(-9deg);
  mix-blend-mode:luminosity;
}
.ncs-cinema__ambient-shade{
  background:
    radial-gradient(ellipse at 58% 46%,rgba(11,49,36,.12),rgba(2,23,16,.76) 74%),
    linear-gradient(180deg,rgba(2,23,16,.96),rgba(2,23,16,.54) 32%,rgba(2,23,16,.58) 74%,rgba(2,23,16,.98));
}
.ncs-cinema__canvas{
  top:52%;
  width:min(96vw,1580px);
  max-height:86dvh;
  border-radius:0;
  clip-path:none;
  box-shadow:none;
}
.ncs-cinema__edge{
  inset:-3px;
  box-shadow:
    inset 0 0 90px rgba(2,23,16,.68),
    inset 0 0 18px rgba(2,23,16,.26);
}
.ncs-cinema__shade{
  background:
    linear-gradient(90deg,rgba(1,14,10,.76),rgba(1,14,10,.18) 42%,rgba(1,14,10,.03) 76%),
    linear-gradient(180deg,rgba(1,14,10,.28),transparent 40%,rgba(1,14,10,.52));
}
.ncs-cinema__opening{
  top:max(146px,calc(env(safe-area-inset-top) + 124px));
  width:min(520px,39vw);
}
.ncs-cinema .ncs-title{
  font-size:clamp(1.7rem,2.8vw,3.25rem);
  line-height:1.12;
}
.ncs-cinema__opening-rule{width:min(190px,45%)}
.ncs-cinema__hint{margin-top:18px}

@media (max-width:760px){
  body.ncde-storytelling-page .site-header,
  body.ncde-storytelling-page .ncde-header,
  body.ncde-storytelling-page [data-site-header]{
    background:transparent!important;
    border-bottom-color:transparent!important;
    box-shadow:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  .ncs-cinema__ambient{opacity:.06!important;filter:blur(36px) saturate(.28) brightness(.20)}
  .ncs-cinema__ambient-shade{
    background:linear-gradient(180deg,#021710 0%,rgba(2,23,16,.96) 24%,rgba(2,23,16,.62) 46%,rgba(2,23,16,.72) 78%,#021710 100%);
  }
  .ncs-cinema__opening{
    top:max(104px,calc(env(safe-area-inset-top) + 88px));
    left:24px;
    width:calc(100vw - 48px);
  }
  .ncs-cinema .ncs-title{
    font-size:clamp(1.45rem,6.8vw,2.05rem);
    line-height:1.11;
    letter-spacing:-.028em;
  }
  .ncs-cinema__opening-rule{margin-top:12px;width:78px}
  .ncs-cinema__hint{margin-top:12px;font-size:.69rem}
  .ncs-cinema__canvas{
    top:55%;
    width:100vw;
    max-height:none;
    aspect-ratio:3/2;
    box-shadow:none;
  }
  .ncs-cinema__edge{
    box-shadow:inset 0 0 42px rgba(2,23,16,.48),inset 0 -34px 48px rgba(2,23,16,.55);
  }
  .ncs-cinema__journey{right:10px;top:57%;transform:translateY(-50%) scale(.78)}
  .ncs-cinema__progress{bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px))}
}
@media (max-width:390px){
  .ncs-cinema__opening{top:max(98px,calc(env(safe-area-inset-top) + 82px))}
  .ncs-cinema .ncs-title{font-size:clamp(1.38rem,6.5vw,1.85rem)}
  .ncs-cinema__canvas{top:54%}
}

/* =========================================================
   NCDE STORYTELLING HERO ENGINE v3.0
   One stage · one camera · one coordinate system
   ========================================================= */
.ncs3{position:relative;height:1000vh;isolation:isolate;--focus-x:50%;--focus-y:50%;--zoom:1;--home-o:1;--city-o:0;--bloom-o:0}
.ncs3__stage{position:sticky;top:0;width:100%;height:100vh;height:100dvh;overflow:hidden;background:#031b14}
.ncs3__ambient{position:absolute;inset:-8%;width:116%;height:116%;object-fit:cover;filter:blur(28px) saturate(.72) brightness(.28);transform:scale(1.08);opacity:.64}
.ncs3__ambient-shade{position:absolute;inset:0;background:radial-gradient(circle at 54% 47%,rgba(6,42,31,.08),rgba(2,21,15,.4) 56%,rgba(2,18,13,.86) 100%),linear-gradient(180deg,rgba(2,25,18,.68),rgba(2,21,15,.18) 34%,rgba(2,20,15,.52) 100%)}
.ncs3__camera{position:absolute;left:50%;top:50%;width:min(100vw,calc(100dvh * 1.5));aspect-ratio:3/2;transform:translate(-50%,-50%);overflow:hidden;background:#061c16;box-shadow:0 32px 110px rgba(0,0,0,.5)}
.ncs3__shot{position:absolute;inset:0;overflow:hidden;transition:opacity 1s cubic-bezier(.2,.75,.2,1)}
.ncs3__shot--home{opacity:var(--home-o)}.ncs3__shot--city{opacity:var(--city-o)}
.ncs3__image{position:absolute;inset:0;width:100%;height:100%;display:block;backface-visibility:hidden;will-change:transform}
.ncs3__image--home{object-fit:cover;transform-origin:var(--focus-x) var(--focus-y);transform:scale(var(--zoom));transition:transform 1.65s cubic-bezier(.18,.78,.16,1)}
.ncs3__image--city{object-fit:cover;transform:scale(var(--city-zoom,1.08));transition:transform 3s cubic-bezier(.18,.76,.18,1)}
.ncs3__camera-shade{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(1,14,10,.72),rgba(1,14,10,.12) 48%,rgba(1,14,10,.04) 78%),linear-gradient(180deg,rgba(1,14,10,.18),transparent 45%,rgba(1,14,10,.38))}
.ncs3__bloom{position:absolute;inset:0;z-index:7;pointer-events:none;opacity:var(--bloom-o);background:radial-gradient(circle at 80% 28%,rgba(255,248,224,.98),rgba(255,223,147,.62) 19%,rgba(255,224,155,.12) 48%,transparent 69%);mix-blend-mode:screen;transition:opacity .7s ease}
.ncs3__grain{position:absolute;inset:0;z-index:8;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.ncs3__opening{position:absolute;z-index:12;left:clamp(28px,5.2vw,84px);top:clamp(132px,20vh,220px);width:min(540px,45vw);pointer-events:none;transition:opacity .55s ease,transform .7s ease}
.ncs3__title{margin:0;color:#f5efe3;font:500 clamp(2rem,4vw,4.6rem)/1.07 Georgia,serif;letter-spacing:-.04em;text-shadow:0 4px 32px rgba(0,0,0,.86)}
.ncs3__title span{display:block;white-space:nowrap;min-height:1.07em}.ncs3__title span.is-typing:after{content:"";display:inline-block;width:.045em;height:.82em;margin-left:.08em;vertical-align:-.05em;background:currentColor;animation:ncs3cursor .9s steps(1,end) infinite}
@keyframes ncs3cursor{0%,46%{opacity:1}47%,100%{opacity:0}}
.ncs3__rule{width:min(140px,34%);height:1px;margin-top:20px;background:linear-gradient(90deg,#d8b86a,transparent)}
.ncs3__hint{margin:18px 0 0;color:rgba(245,239,227,.78);font:500 clamp(.74rem,1vw,.92rem)/1.4 system-ui,sans-serif;text-shadow:0 2px 16px rgba(0,0,0,.7)}
.ncs3__labels{position:absolute;inset:0;z-index:9;pointer-events:none}
.ncs3__label{position:absolute;right:5%;bottom:10%;width:min(300px,31%);box-sizing:border-box;padding:20px 22px;color:#f5efe3;background:linear-gradient(135deg,rgba(3,28,21,.86),rgba(3,28,21,.6));border:1px solid rgba(216,184,106,.38);border-radius:18px;box-shadow:0 16px 48px rgba(0,0,0,.34);backdrop-filter:blur(12px);opacity:0;transform:translate3d(22px,0,0);filter:blur(3px);transition:opacity .4s ease .72s,transform .65s cubic-bezier(.18,.82,.18,1) .68s,filter .45s ease .7s}
.ncs3__label.is-active{opacity:1;transform:none;filter:none}.ncs3__label strong{display:block;font:500 clamp(1.35rem,2.15vw,2.35rem)/1.06 Georgia,serif}.ncs3__label span{display:block;margin-top:7px;color:rgba(245,239,227,.8);font:500 clamp(.72rem,.9vw,.9rem)/1.4 system-ui,sans-serif}
.ncs3__label--statement{left:50%;right:auto;bottom:8%;width:auto;max-width:min(620px,74%);padding:16px 24px;transform:translate3d(-50%,20px,0);text-align:center}.ncs3__label--statement.is-active{transform:translate3d(-50%,0,0)}.ncs3__label--statement strong{font-size:clamp(1.5rem,2.5vw,2.7rem)}.ncs3__label--gold strong{color:#d8b86a}
.ncs3__journey{position:absolute;z-index:13;right:clamp(18px,3vw,46px);top:20%;bottom:20%;display:flex;flex-direction:column;align-items:center;color:#d8b86a;font:600 .72rem/1 system-ui,sans-serif}.ncs3__journey i{display:block;width:1px;flex:1;margin:12px 0;background:linear-gradient(#d8b86a,rgba(216,184,106,.14))}.ncs3__journey b{font-weight:600;color:rgba(245,239,227,.76)}
.ncs3__progress{position:absolute;z-index:13;left:50%;bottom:20px;width:min(300px,42vw);height:3px;transform:translateX(-50%);background:rgba(245,239,227,.14);overflow:hidden;border-radius:999px}.ncs3__progress i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:#d8b86a;transition:transform .6s ease}
.ncs3__timeline{position:absolute;inset:0;z-index:-1;pointer-events:none}.ncs3__timeline article{height:100vh;height:100dvh}
.ncs3[data-camera-state="apple"]{--focus-x:20%;--focus-y:76%;--zoom:2.45}.ncs3[data-camera-state="rice"]{--focus-x:39%;--focus-y:68%;--zoom:2.5}.ncs3[data-camera-state="coffee"]{--focus-x:65%;--focus-y:81%;--zoom:2.55}.ncs3[data-camera-state="egg"]{--focus-x:63%;--focus-y:67%;--zoom:2.5}.ncs3[data-camera-state="water"]{--focus-x:81%;--focus-y:69%;--zoom:2.45}.ncs3[data-camera-state="family-full"]{--focus-x:50%;--focus-y:50%;--zoom:1}.ncs3[data-camera-state="window"]{--focus-x:80%;--focus-y:24%;--zoom:2.05;--bloom-o:.58}.ncs3[data-camera-state="city"]{--home-o:0;--city-o:1;--bloom-o:0;--city-zoom:1}.ncs3:not([data-camera-state="intro"]) .ncs3__opening{opacity:0;transform:translate3d(0,-18px,0)}

@media(max-width:760px){
  .ncs3{height:1000svh}
  .ncs3__ambient{filter:blur(22px) saturate(.75) brightness(.24);opacity:.72}
  .ncs3__camera{top:51%;width:100vw;aspect-ratio:3/2;box-shadow:0 18px 70px rgba(0,0,0,.48)}
  .ncs3__opening{left:clamp(24px,6vw,42px);top:max(130px,calc(env(safe-area-inset-top) + 104px));width:82vw}
  .ncs3__title{font-size:clamp(2rem,8.3vw,3rem);line-height:1.08}.ncs3__title span{min-height:1.08em}
  .ncs3__rule{margin-top:14px}.ncs3__hint{margin-top:13px;font-size:.75rem}
  .ncs3__journey{right:12px;top:42%;bottom:25%;font-size:.62rem}
  .ncs3__progress{bottom:15px;width:42vw}
  .ncs3__label{right:6%;bottom:8%;width:auto;max-width:68%;padding:13px 16px;border-radius:15px}.ncs3__label strong{font-size:clamp(1.35rem,6vw,1.8rem)}.ncs3__label span{font-size:.73rem;margin-top:5px}
  .ncs3__label--statement{left:50%;right:auto;bottom:6%;max-width:78%;padding:12px 18px}.ncs3__label--statement strong{font-size:clamp(1.35rem,6.2vw,1.9rem)}
  .ncs3[data-camera-state="apple"]{--zoom:2.35}.ncs3[data-camera-state="rice"]{--zoom:2.42}.ncs3[data-camera-state="coffee"]{--zoom:2.5}.ncs3[data-camera-state="egg"]{--zoom:2.42}.ncs3[data-camera-state="water"]{--zoom:2.35}.ncs3[data-camera-state="window"]{--zoom:1.95}
}
@media(max-width:390px){.ncs3__opening{top:max(118px,calc(env(safe-area-inset-top) + 94px))}.ncs3__title{font-size:clamp(1.8rem,8vw,2.5rem)}}
@media(prefers-reduced-motion:reduce){.ncs3__image,.ncs3__shot,.ncs3__label,.ncs3__bloom,.ncs3__opening{transition-duration:.01ms!important}.ncs3__title span.is-typing:after{display:none!important}}

/* v3.1.0 — Cinematic Mastering
   Dual-layer camera integration, shot-specific motion, stronger mobile immersion. */
.ncs3{
  --camera-duration:1.75s;
  --camera-ease:cubic-bezier(.18,.78,.16,1);
  --ambient-zoom:1.08;
}
.ncs3__ambient{
  inset:-10%;
  width:120%;
  height:120%;
  object-fit:cover;
  object-position:center;
  filter:blur(16px) saturate(.82) brightness(.36);
  opacity:.88;
  transform-origin:var(--focus-x) var(--focus-y);
  transform:scale(calc(var(--zoom) * var(--ambient-zoom)));
  transition:transform var(--camera-duration) var(--camera-ease),opacity .9s ease,filter .9s ease;
  mix-blend-mode:normal;
}
.ncs3__ambient-shade{
  background:
    radial-gradient(circle at var(--focus-x) var(--focus-y),rgba(6,42,31,.03),rgba(2,21,15,.28) 58%,rgba(2,18,13,.76) 100%),
    linear-gradient(90deg,rgba(2,18,13,.64),rgba(2,18,13,.14) 45%,rgba(2,18,13,.2)),
    linear-gradient(180deg,rgba(2,25,18,.5),rgba(2,21,15,.08) 38%,rgba(2,20,15,.46) 100%);
}
.ncs3__camera{
  width:min(100vw,calc(100dvh * 1.5));
  max-width:none;
  box-shadow:none;
  isolation:isolate;
}
.ncs3__camera::before,
.ncs3__camera::after{
  content:"";
  position:absolute;
  z-index:10;
  pointer-events:none;
  left:0;right:0;height:18%;
}
.ncs3__camera::before{top:-1px;background:linear-gradient(180deg,#031b14 0%,rgba(3,27,20,.74) 24%,transparent 100%)}
.ncs3__camera::after{bottom:-1px;background:linear-gradient(0deg,#031b14 0%,rgba(3,27,20,.72) 24%,transparent 100%)}
.ncs3__image--home{transition:transform var(--camera-duration) var(--camera-ease)}
.ncs3__opening{top:clamp(124px,18vh,198px)}
.ncs3__label{right:7.5%;bottom:12%;transition:opacity .34s ease,transform .58s cubic-bezier(.18,.82,.18,1),filter .4s ease}
.ncs3__label--statement{bottom:11%;max-width:min(560px,68%)}
.ncs3__journey{right:clamp(16px,2vw,34px)}
.ncs3__journey span::after{content:" / 09";color:rgba(245,239,227,.55);font-weight:500}
.ncs3__journey b{display:none}

.ncs3[data-camera-state="intro"],
.ncs3[data-camera-state="family-full"]{--camera-duration:2.25s;--camera-ease:cubic-bezier(.16,.76,.16,1);--ambient-zoom:1.045}
.ncs3[data-camera-state="apple"]{--camera-duration:1.95s;--camera-ease:cubic-bezier(.16,.82,.2,1)}
.ncs3[data-camera-state="rice"]{--camera-duration:1.8s;--camera-ease:cubic-bezier(.22,.72,.16,1)}
.ncs3[data-camera-state="coffee"]{--camera-duration:2.05s;--camera-ease:cubic-bezier(.14,.74,.18,1)}
.ncs3[data-camera-state="egg"]{--camera-duration:1.85s;--camera-ease:cubic-bezier(.2,.76,.18,1)}
.ncs3[data-camera-state="water"]{--camera-duration:2.15s;--camera-ease:cubic-bezier(.12,.72,.18,1)}
.ncs3[data-camera-state="window"]{--camera-duration:2.4s;--camera-ease:cubic-bezier(.22,.62,.12,1)}
.ncs3[data-camera-state="city"]{--camera-duration:2.8s;--ambient-zoom:1.02}
.ncs3[data-camera-state="city"] .ncs3__ambient{opacity:.52;filter:blur(20px) saturate(.74) brightness(.3)}

@media(max-width:760px){
  .ncs3__ambient{filter:blur(13px) saturate(.84) brightness(.34);opacity:.92}
  .ncs3__camera{top:52%;width:100vw;aspect-ratio:3/2;box-shadow:none}
  .ncs3__camera::before,.ncs3__camera::after{height:28%}
  .ncs3__opening{top:max(116px,calc(env(safe-area-inset-top) + 90px));left:24px;width:78vw}
  .ncs3__title{font-size:clamp(1.8rem,7.7vw,2.65rem)}
  .ncs3__hint{font-size:.72rem}
  .ncs3__label{right:10%;bottom:13%;max-width:58%;padding:12px 15px}
  .ncs3__label--statement{left:50%;right:auto;bottom:12%;max-width:72%;padding:11px 16px}
  .ncs3__journey{right:9px;top:34%;bottom:28%}
  .ncs3__progress{bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px));width:40vw}
}
@media(max-width:390px){
  .ncs3__opening{top:max(106px,calc(env(safe-area-inset-top) + 82px));width:80vw}
  .ncs3__title{font-size:clamp(1.68rem,7.4vw,2.3rem)}
  .ncs3__label{right:9%;max-width:62%}
}

/* v3.2.0 — Invisible UI + Living Pan Mastering */
.ncs3{
  --pan-x:0%;
  --pan-y:0%;
  --zoom:1;
}
.ncs3__image--home{
  transform-origin:50% 50%!important;
  transform:translate3d(var(--pan-x),var(--pan-y),0) scale(var(--zoom))!important;
  transition:transform var(--camera-duration,1.18s) var(--camera-ease,cubic-bezier(.2,.7,.16,1)),filter .16s ease!important;
}
.ncs3.is-panning .ncs3__image--home{
  filter:blur(.85px) saturate(1.015);
}
.ncs3.is-restarting .ncs3__stage{
  opacity:0;
  transition:opacity .38s ease;
}
.ncs3__stage{transition:opacity .52s ease}

/* True pan coordinates from the fixed 3:2 master canvas */
.ncs3[data-camera-state="intro"],
.ncs3[data-camera-state="family-full"]{--pan-x:0%;--pan-y:0%;--zoom:1;--camera-duration:1.55s;--camera-ease:cubic-bezier(.18,.68,.14,1)}
.ncs3[data-camera-state="apple"]{--pan-x:43.5%;--pan-y:-37.7%;--zoom:2.45;--camera-duration:1.22s;--camera-ease:cubic-bezier(.18,.72,.14,1)}
.ncs3[data-camera-state="rice"]{--pan-x:16.5%;--pan-y:-27%;--zoom:2.50;--camera-duration:1.08s;--camera-ease:cubic-bezier(.22,.68,.14,1)}
.ncs3[data-camera-state="coffee"]{--pan-x:-23.3%;--pan-y:-48.1%;--zoom:2.55;--camera-duration:1.22s;--camera-ease:cubic-bezier(.16,.7,.12,1)}
.ncs3[data-camera-state="egg"]{--pan-x:-19.5%;--pan-y:-25.5%;--zoom:2.50;--camera-duration:.98s;--camera-ease:cubic-bezier(.24,.66,.16,1)}
.ncs3[data-camera-state="water"]{--pan-x:-45%;--pan-y:-27.6%;--zoom:2.45;--camera-duration:1.18s;--camera-ease:cubic-bezier(.14,.68,.12,1)}
.ncs3[data-camera-state="window"]{--pan-x:-61.5%;--pan-y:53.3%;--zoom:2.05;--camera-duration:1.42s;--camera-ease:cubic-bezier(.24,.58,.1,1);--bloom-o:.58}

/* Invisible UI: narration only, no cards, no rails */
.ncs3__journey,.ncs3__progress{display:none!important}
.ncs3__label{
  right:7%;
  bottom:11%;
  width:auto;
  max-width:62%;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  text-shadow:0 3px 22px rgba(0,0,0,.92),0 1px 4px rgba(0,0,0,.9);
  transform:translate3d(22px,0,0);
}
.ncs3__label strong{
  font-size:clamp(1.55rem,2.6vw,2.9rem);
  letter-spacing:-.025em;
}
.ncs3__label span{display:none!important}
.ncs3__label--statement{
  left:7%;
  right:auto;
  bottom:9%;
  max-width:min(620px,76%);
  text-align:left;
  transform:translate3d(0,14px,0);
}
.ncs3__label--statement.is-active{transform:none}
.ncs3__label--statement strong{font-size:clamp(1.65rem,2.8vw,3.1rem)}
.ncs3__label--gold strong{color:#f2d58b}

/* A single understated continuation cue */
.ncs3__rule{display:none!important}
.ncs3__hint{
  width:22px;height:32px;margin:18px 0 0;
  overflow:hidden;color:transparent;font-size:0;
  opacity:.64;
}
.ncs3__hint::before{
  content:"";display:block;width:1px;height:25px;margin:auto;
  background:linear-gradient(180deg,rgba(216,184,106,0),#d8b86a);
  animation:ncs3Cue 1.9s ease-in-out infinite;
}
.ncs3__hint::after{
  content:"";display:block;width:7px;height:7px;margin:-7px auto 0;
  border-right:1px solid #d8b86a;border-bottom:1px solid #d8b86a;transform:rotate(45deg);
}
@keyframes ncs3Cue{0%,100%{transform:translateY(-5px);opacity:.25}50%{transform:translateY(5px);opacity:1}}
.ncs3:not([data-camera-state="intro"]) .ncs3__hint{opacity:0}

/* Subtle camera breathing while holding a shot */
.ncs3:not(.is-panning):not([data-camera-state="intro"]):not([data-camera-state="window"]):not([data-camera-state="city"]) .ncs3__image--home{
  animation:ncs3Breath 5.8s ease-in-out infinite alternate;
}
@keyframes ncs3Breath{from{filter:brightness(1)}to{filter:brightness(1.018)}}

@media(max-width:760px){
  .ncs3__label{right:8%;bottom:11%;max-width:70%}
  .ncs3__label strong{font-size:clamp(1.5rem,7vw,2.15rem)}
  .ncs3__label--statement{left:7%;bottom:9%;max-width:82%}
  .ncs3__label--statement strong{font-size:clamp(1.55rem,7.2vw,2.3rem)}
  .ncs3[data-camera-state="apple"]{--pan-x:41%;--pan-y:-35%;--zoom:2.35}
  .ncs3[data-camera-state="rice"]{--pan-x:15%;--pan-y:-25%;--zoom:2.42}
  .ncs3[data-camera-state="coffee"]{--pan-x:-22%;--pan-y:-45%;--zoom:2.50}
  .ncs3[data-camera-state="egg"]{--pan-x:-18%;--pan-y:-24%;--zoom:2.42}
  .ncs3[data-camera-state="water"]{--pan-x:-42%;--pan-y:-26%;--zoom:2.35}
  .ncs3[data-camera-state="window"]{--pan-x:-57%;--pan-y:47%;--zoom:1.95}
}

/* v3.2.1 — Clean Intro-to-First-Shot Handoff
   Fade the opening independently, hold the camera still, then begin the first pan. */
.ncs3.is-intro-handoff .ncs3__opening{
  opacity:0!important;
  transform:translate3d(0,-10px,0)!important;
  transition:opacity .18s ease,transform .22s ease!important;
}
.ncs3.is-intro-handoff[data-camera-state="intro"] .ncs3__image--home{
  transform:translate3d(0,0,0) scale(1)!important;
  filter:none!important;
}
.ncs3.is-intro-handoff .ncs3__ambient{
  transition:none!important;
}


/* v3.2.3 — Pinned Director + Stable Visual Viewport
   Prevent native page/header movement during the cinematic journey. */
.ncs3{
  overscroll-behavior:contain;
}
.ncs3__stage{
  height:var(--ncs3-stage-height,100svh)!important;
  min-height:var(--ncs3-stage-height,100svh)!important;
  max-height:var(--ncs3-stage-height,100svh)!important;
}
.ncs3__camera{
  top:50%!important;
}
@media(max-width:760px){
  .ncs3__camera{top:50%!important}
}


/* =========================================================
   v3.4.1 — Chapter I Reverse Time Engine
   14-frame city-to-rainforest cinematic rewind
   ========================================================= */
.ncs3{
  --reverse-o:0;
  --modern-wash:.16;
  background:#e9ecec;
}
.ncs3__stage::after{
  content:"";position:absolute;inset:0;z-index:6;pointer-events:none;
  background:linear-gradient(180deg,rgba(246,248,248,.10),rgba(232,237,237,.04) 46%,rgba(210,217,217,.12));
  mix-blend-mode:screen;opacity:var(--modern-wash);transition:opacity 1.4s ease;
}
.ncs3__ambient{filter:blur(18px) saturate(.72) brightness(.72) contrast(.88)!important;opacity:.76!important}
.ncs3__ambient-shade{background:linear-gradient(180deg,rgba(236,240,240,.32),rgba(220,226,226,.08) 38%,rgba(23,29,29,.34) 100%)!important}
.ncs3__camera-shade{background:linear-gradient(90deg,rgba(16,19,19,.42),rgba(18,22,22,.04) 48%,rgba(12,16,16,.08)),linear-gradient(180deg,rgba(238,242,242,.04),transparent 44%,rgba(10,14,14,.26))!important}
.ncs3__title{color:#f7f4ec;text-shadow:0 2px 18px rgba(0,0,0,.42)}
.ncs3__rule{background:linear-gradient(90deg,rgba(196,167,94,.95),rgba(196,167,94,0))!important}
.ncs3__hint{color:rgba(248,246,238,.86)!important}

.ncs3__shot--reverse{opacity:var(--reverse-o);z-index:4;background:#102118}
.ncs3__image--reverse{
  object-fit:cover;opacity:0;transform:scale(1.045);filter:saturate(.94) contrast(1.03) brightness(.88);
  transition:opacity .34s linear,transform .72s cubic-bezier(.16,.72,.16,1),filter .45s ease;
  will-change:opacity,transform;backface-visibility:hidden;
}
.ncs3__image--reverse.is-active{opacity:1;transform:scale(1.01)}
.ncs3__shot--reverse::before{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:radial-gradient(circle at 50% 46%,transparent 38%,rgba(1,12,8,.18) 100%);
}
.ncs3__shot--reverse.is-running::after,
.ncs3__shot--reverse[data-reverse-index]::after{
  content:"";position:absolute;inset:-7%;z-index:5;pointer-events:none;opacity:0;
  background:repeating-linear-gradient(92deg,transparent 0 24px,rgba(255,255,255,.07) 25px 26px,transparent 27px 52px);
  filter:blur(8px);
}
.ncs3__shot--reverse.is-running::after{opacity:.22;animation:ncs3ReverseSweep .42s linear infinite}
@keyframes ncs3ReverseSweep{from{transform:translate3d(-3%,0,0)}to{transform:translate3d(3%,0,0)}}

.ncs3[data-camera-state="rewind"]{
  --home-o:0;--city-o:0;--reverse-o:1;--bloom-o:.08;--modern-wash:.02;
}
.ncs3[data-camera-state="forest"]{
  --home-o:0;--city-o:0;--reverse-o:1;--bloom-o:0;--modern-wash:0;
}
.ncs3[data-camera-state="forest"] .ncs3__image--reverse.is-active{transform:scale(1);filter:saturate(.98) brightness(.78) contrast(1.08)}
.ncs3[data-camera-state="forest"] .ncs3__ambient{opacity:.38!important;filter:blur(22px) saturate(.86) brightness(.30)!important}
.ncs3[data-camera-state="forest"] .ncs3__ambient-shade{background:radial-gradient(circle at 50% 48%,rgba(12,54,38,.03),rgba(2,25,18,.53) 64%,rgba(1,17,12,.86))!important}
.ncs3__label--forest-title{left:7%;right:auto;bottom:12%;max-width:min(620px,82%);text-align:left;color:#f6edd6;text-shadow:0 3px 28px rgba(0,0,0,.65)}
.ncs3__label--forest-title strong{font-size:clamp(1.75rem,3.1vw,3.7rem);font-weight:400}

@media(max-width:720px){
  .ncs3{background:#e8ebeb}
  .ncs3__ambient{filter:blur(13px) saturate(.70) brightness(.76)!important;opacity:.82!important}
  .ncs3__image--reverse{object-position:center center;transform:scale(1.12)}
  .ncs3__image--reverse.is-active{transform:scale(1.075)}
  .ncs3[data-camera-state="forest"] .ncs3__image--reverse.is-active{transform:scale(1.06)}
  .ncs3__label--forest-title{left:8%;bottom:11%;max-width:84%}
  .ncs3__label--forest-title strong{font-size:clamp(1.7rem,8vw,2.55rem);line-height:1.08}
}
@media(prefers-reduced-motion:reduce){
  .ncs3__image--reverse{transition:none!important}
  .ncs3__shot--reverse.is-running::after{animation:none;opacity:0}
}

/* =========================================================
   v3.4.1 — Reverse Time Mastering
   Preserve the approved camera journey; refine only ambience,
   takeover, timing continuity and mobile immersion.
   ========================================================= */

/* Chapter I begins in a bright, contemporary world. */
.ncs3[data-camera-state="intro"],
.ncs3[data-camera-state="apple"],
.ncs3[data-camera-state="rice"],
.ncs3[data-camera-state="coffee"],
.ncs3[data-camera-state="egg"],
.ncs3[data-camera-state="water"],
.ncs3[data-camera-state="family-full"],
.ncs3[data-camera-state="window"],
.ncs3[data-camera-state="city"]{background:#e8ecee}
.ncs3[data-camera-state="intro"] .ncs3__camera::before,
.ncs3[data-camera-state="apple"] .ncs3__camera::before,
.ncs3[data-camera-state="rice"] .ncs3__camera::before,
.ncs3[data-camera-state="coffee"] .ncs3__camera::before,
.ncs3[data-camera-state="egg"] .ncs3__camera::before,
.ncs3[data-camera-state="water"] .ncs3__camera::before,
.ncs3[data-camera-state="family-full"] .ncs3__camera::before,
.ncs3[data-camera-state="window"] .ncs3__camera::before,
.ncs3[data-camera-state="city"] .ncs3__camera::before{
  background:linear-gradient(180deg,rgba(235,239,240,.92) 0%,rgba(235,239,240,.28) 45%,transparent 100%)
}
.ncs3[data-camera-state="intro"] .ncs3__camera::after,
.ncs3[data-camera-state="apple"] .ncs3__camera::after,
.ncs3[data-camera-state="rice"] .ncs3__camera::after,
.ncs3[data-camera-state="coffee"] .ncs3__camera::after,
.ncs3[data-camera-state="egg"] .ncs3__camera::after,
.ncs3[data-camera-state="water"] .ncs3__camera::after,
.ncs3[data-camera-state="family-full"] .ncs3__camera::after,
.ncs3[data-camera-state="window"] .ncs3__camera::after,
.ncs3[data-camera-state="city"] .ncs3__camera::after{
  background:linear-gradient(0deg,rgba(225,230,231,.9) 0%,rgba(225,230,231,.2) 42%,transparent 100%)
}
.ncs3__shot--reverse{transition:opacity .75s ease}
.ncs3__image--reverse{
  transition:opacity .56s linear,transform 1.05s cubic-bezier(.16,.72,.16,1),filter .62s ease;
  transform:scale(1.035)
}
.ncs3__image--reverse.is-active{transform:scale(1.005)}
.ncs3__shot--reverse.is-running::after{opacity:.11;animation-duration:.72s}
.ncs3__shot--reverse.is-complete::after{opacity:0!important;animation:none!important}

/* Forest is a terminal visual state; do not reveal the family layer again. */
.ncs3[data-camera-state="forest"] .ncs3__shot--home,
.ncs3[data-camera-state="forest"] .ncs3__shot--city{opacity:0!important;visibility:hidden!important}
.ncs3[data-camera-state="forest"] .ncs3__shot--reverse{opacity:1!important;visibility:visible!important}

@media(max-width:720px){
  /* Larger cinematic window: the actual frame, not the blurred surround, dominates. */
  .ncs3__camera{
    width:100vw!important;
    height:52svh!important;
    aspect-ratio:auto!important;
    top:54%!important;
  }
  .ncs3__shot,.ncs3__image{width:100%!important;height:100%!important}
  .ncs3__image--reverse{transform:scale(1.055);object-position:center center}
  .ncs3__image--reverse.is-active{transform:scale(1.015)}
  .ncs3[data-camera-state="forest"] .ncs3__image--reverse.is-active{transform:scale(1.01)}
  .ncs3__camera::before,.ncs3__camera::after{height:17%}
  .ncs3__label--forest-title{bottom:9%;left:7%;max-width:86%}
}

/* =========================================================
   v3.4.2 — Engine Terminal Lock + Chapter I Light Ambience
   Preserve approved camera coordinates and labels.
   ========================================================= */
.ncs3{
  --chapter-one-bg-opacity:.10;
  background:#f3f5f5!important;
}
.ncs3__ambient{
  opacity:var(--chapter-one-bg-opacity)!important;
  filter:blur(24px) saturate(.38) brightness(1.28) contrast(.72)!important;
  mix-blend-mode:multiply;
}
.ncs3__ambient-shade{
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.60) 46%,rgba(237,240,240,.78))!important;
}
.ncs3__stage::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:rgba(255,255,255,.66);
}
.ncs3__camera,.ncs3__opening{z-index:2}

/* Opening copy lives above the family frame, under the header. */
.ncs3__opening{
  top:clamp(82px,11svh,122px)!important;
  bottom:auto!important;
  transform:none!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
}
.ncs3__title{max-width:min(720px,88vw)!important}

@media(max-width:720px){
  .ncs3__opening{top:clamp(76px,10svh,104px)!important;padding-inline:22px!important}
  .ncs3__title{max-width:86vw!important}
  .ncs3[data-camera-state="intro"] .ncs3__camera{top:57%!important}
}

/* v3.4.3 — Bootstrap, contrast, transition and cinematic-state corrections */
html.ncde-story-preboot body.ncde-storytelling-page{overflow:hidden!important}
html.ncde-story-preboot [data-ncs3-cinema]{opacity:0!important;visibility:hidden!important}
[data-ncs3-cinema]{transition:opacity .42s ease}

/* Opening typography for the bright Chapter I world. */
.ncs3__title{
  color:#20362f!important;
  text-shadow:0 1px 0 rgba(255,255,255,.55),0 7px 24px rgba(31,53,46,.12)!important;
}
.ncs3__hint{color:rgba(32,54,47,.72)!important;text-shadow:none!important}
.ncs3__title span.is-typing:after{background:#b8924f!important}
.ncs3__rule{background:linear-gradient(90deg,#b8924f,rgba(184,146,79,0))!important}

/* Keep the family image present beneath a local veil; never expose a blank white canvas. */
.ncs3__stage::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,
    rgba(255,255,255,.91) 0%,
    rgba(255,255,255,.73) 27%,
    rgba(255,255,255,.18) 51%,
    rgba(255,255,255,0) 68%);
  opacity:var(--chapter-one-bg-opacity,.72);
  transition:opacity 1.25s ease;
}
.ncs3__opening{z-index:13!important}
.ncs3__camera{z-index:2!important}

/* No empty dual-buffer interval: the outgoing layer stays visible under the incoming layer. */
.ncs3__image--reverse{opacity:0!important;visibility:visible!important;transition:opacity .15s linear!important}
.ncs3__image--reverse.is-active{opacity:1!important}
.ncs3__shot--reverse{background:#102118}

/* Chapter I must fully leave before Chapter II enters. */
.ncs3.is-chapter-transitioning{opacity:0!important;pointer-events:none!important}
.ncs3.is-chapter-transitioning .ncs3__label{opacity:0!important;transition:opacity .55s ease!important}

/* Safe-area protection for object labels. */
@media (max-width:760px){
  .ncs3__label{
    right:max(24px,env(safe-area-inset-right))!important;
    bottom:max(34px,env(safe-area-inset-bottom))!important;
    max-width:calc(100vw - 48px)!important;
  }
  .ncs3__label--statement{
    left:max(24px,env(safe-area-inset-left))!important;
    right:auto!important;
  }
  .ncs3__opening{top:max(92px,calc(env(safe-area-inset-top) + 76px))!important}
}


/* =========================================================
   v3.4.4 — Viewport State Lock + Cinematic Composition Mastering
   ========================================================= */
body.ncde-storytelling-page.ncde-ch1-header-locked header,
body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header],
body.ncde-storytelling-page.ncde-ch1-header-locked .site-header,
body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header{
  transform:none!important;opacity:1!important;visibility:visible!important;transition:none!important;
}
.ncs3__title{
  color:#18352d!important;
  text-shadow:0 1px 0 rgba(255,255,255,.62),0 8px 24px rgba(24,53,45,.14)!important;
}
.ncs3__hint{color:rgba(24,53,45,.74)!important}

/* The actual cinematic frame should dominate, not the neutral canvas. */
@media(max-width:760px){
  .ncs3:not([data-camera-state="intro"]) .ncs3__camera{
    width:100vw!important;height:58svh!important;aspect-ratio:auto!important;top:54%!important;
  }
  .ncs3[data-camera-state="city"] .ncs3__camera,
  .ncs3[data-camera-state="rewind"] .ncs3__camera,
  .ncs3[data-camera-state="forest"] .ncs3__camera{height:61svh!important;top:53%!important}
}
@media(min-width:761px){
  .ncs3[data-camera-state="city"] .ncs3__camera,
  .ncs3[data-camera-state="rewind"] .ncs3__camera,
  .ncs3[data-camera-state="forest"] .ncs3__camera{height:72vh!important;width:min(100vw,1280px)!important;aspect-ratio:auto!important}
}

/* Hide every competing control during the rewind and chapter handoff. */
body.ncde-reverse-active .ncde-scroll-cue,
body.ncde-reverse-active [data-scroll-hint],
body.ncde-reverse-active [data-scroll-control],
body.ncde-reverse-active .scroll-arrow,
body.ncde-reverse-active .scroll-cue,
body.ncde-reverse-active .ncde-language-toggle,
body.ncde-reverse-active .floating-dock,
body.ncde-reverse-active [data-location-prompt],
body.ncde-reverse-active .ncde-location-prompt,
body.ncde-reverse-active .ncde-permission-prompt,
body.ncde-chapter-transition-active .ncde-scroll-cue,
body.ncde-chapter-transition-active [data-scroll-hint],
body.ncde-chapter-transition-active [data-scroll-control]{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;display:none!important;
}
.ncs3__label--forest-title{
  background:linear-gradient(90deg,rgba(2,22,15,.42),rgba(2,22,15,.12) 72%,transparent)!important;
  border-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important;
}


/* =========================================================
   v3.4.5 — Chapter I Final Refinement
   Logo presence, veil balance, cinematic scale, and timeline polish.
   Approved family camera coordinates and object labels remain untouched.
   ========================================================= */

/* Premium logo presence on the bright Chapter I canvas. */
body.ncde-storytelling-page.ncde-ch1-header-locked header img,
body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header] img,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-header img,
body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header img,
body.ncde-storytelling-page.ncde-ch1-header-locked .brand-logo,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-logo,
body.ncde-storytelling-page.ncde-ch1-header-locked [class*="logo"] img{
  opacity:1!important;
  filter:saturate(1.28) contrast(1.22) brightness(.88)
    drop-shadow(0 1px 1px rgba(20,47,39,.28))
    drop-shadow(0 3px 9px rgba(20,47,39,.13))!important;
}

/* The logo subtly warms with the story without changing size or artwork. */
body:has(.ncs3[data-camera-state="city"]) header img,
body:has(.ncs3[data-camera-state="rewind"]) header img,
body:has(.ncs3[data-camera-state="forest"]) header img{
  filter:saturate(1.38) contrast(1.24) brightness(.96)
    drop-shadow(0 1px 1px rgba(20,47,39,.30))
    drop-shadow(0 0 10px rgba(184,146,79,.16))!important;
}

/* White ambience belongs to the copy zone only; preserve warmth in the family image. */
.ncs3__stage::before{
  background:linear-gradient(180deg,
    rgba(255,255,255,.88) 0%,
    rgba(255,255,255,.66) 22%,
    rgba(255,255,255,.17) 40%,
    rgba(255,255,255,0) 54%)!important;
}
.ncs3__title{
  color:#17342c!important;
  font-weight:500!important;
  text-shadow:0 1px 0 rgba(255,255,255,.68),0 7px 22px rgba(23,52,44,.13)!important;
}

/* Once the story reaches the full-family statement, controls leave the frame. */
body:has(.ncs3[data-camera-state="family-full"]) .ncde-scroll-cue,
body:has(.ncs3[data-camera-state="family-full"]) [data-scroll-control],
body:has(.ncs3[data-camera-state="window"]) .ncde-scroll-cue,
body:has(.ncs3[data-camera-state="window"]) [data-scroll-control],
body:has(.ncs3[data-camera-state="city"]) .ncde-scroll-cue,
body:has(.ncs3[data-camera-state="city"]) [data-scroll-control],
body:has(.ncs3[data-camera-state="rewind"]) .ncde-scroll-cue,
body:has(.ncs3[data-camera-state="rewind"]) [data-scroll-control],
body:has(.ncs3[data-camera-state="forest"]) .ncde-scroll-cue,
body:has(.ncs3[data-camera-state="forest"]) [data-scroll-control]{
  display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;
}

/* Give the mobile film frame more authority while retaining the bright modern shell. */
@media(max-width:760px){
  .ncs3:not([data-camera-state="intro"]) .ncs3__camera{
    height:62svh!important;top:54%!important;
  }
  .ncs3[data-camera-state="city"] .ncs3__camera,
  .ncs3[data-camera-state="rewind"] .ncs3__camera{
    height:65svh!important;top:53%!important;
  }
  .ncs3[data-camera-state="forest"] .ncs3__camera{
    height:68svh!important;top:52.5%!important;
  }
}
.ncs3__label--forest-title{
  text-shadow:0 3px 18px rgba(0,0,0,.58)!important;
}

/* =========================================================
   v3.4.6 — Local Contrast Refinement
   Small deep-emerald radial ambience behind the logo, lighter
   language control, and a slightly cleaner bright Chapter I veil.
   ========================================================= */

/* Build local contrast behind the original logo without redrawing it. */
body.ncde-storytelling-page.ncde-ch1-header-locked header a:has(img),
body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header] a:has(img),
body.ncde-storytelling-page.ncde-ch1-header-locked .site-header a:has(img),
body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header a:has(img),
body.ncde-storytelling-page.ncde-ch1-header-locked .brand-logo-wrap,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-logo-wrap,
body.ncde-storytelling-page.ncde-ch1-header-locked [class*="logo-wrap"]{
  position:relative!important;
  isolation:isolate;
}
body.ncde-storytelling-page.ncde-ch1-header-locked header a:has(img)::before,
body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header] a:has(img)::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-header a:has(img)::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header a:has(img)::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .brand-logo-wrap::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-logo-wrap::before,
body.ncde-storytelling-page.ncde-ch1-header-locked [class*="logo-wrap"]::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:44%;
  top:44%;
  width:146px;
  height:112px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(ellipse at 46% 44%,
    rgba(5,48,38,.30) 0%,
    rgba(7,55,43,.20) 30%,
    rgba(8,63,49,.10) 56%,
    rgba(8,63,49,0) 78%);
  filter:blur(18px);
  pointer-events:none;
  opacity:.92;
}

/* Fallback when the logo is not wrapped in a dedicated anchor/container. */
body.ncde-storytelling-page.ncde-ch1-header-locked header::before,
body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header]::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-header::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header::before{
  content:"";
  position:absolute;
  z-index:0;
  left:clamp(28px,4vw,66px);
  top:calc(env(safe-area-inset-top) + 42px);
  width:150px;
  height:112px;
  border-radius:50%;
  background:radial-gradient(ellipse,
    rgba(5,48,38,.20) 0%,
    rgba(7,55,43,.11) 45%,
    transparent 76%);
  filter:blur(22px);
  pointer-events:none;
}
body.ncde-storytelling-page.ncde-ch1-header-locked header > *,
body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header] > *,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-header > *,
body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header > *{
  position:relative;
  z-index:1;
}

/* Keep the original artwork crisp; local contrast now does the heavy lifting. */
body.ncde-storytelling-page.ncde-ch1-header-locked header img,
body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header] img,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-header img,
body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header img,
body.ncde-storytelling-page.ncde-ch1-header-locked .brand-logo,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-logo,
body.ncde-storytelling-page.ncde-ch1-header-locked [class*="logo"] img{
  opacity:1!important;
  filter:saturate(1.20) contrast(1.16) brightness(.94)
    drop-shadow(0 1px 1px rgba(15,42,34,.16))!important;
}

/* Secondary language control: visually connected, deliberately quieter. */
body.ncde-storytelling-page .ncde-language-toggle{
  position:relative;
  isolation:isolate;
  background:rgba(18,56,47,.70)!important;
  border-color:rgba(184,146,79,.32)!important;
  box-shadow:0 5px 18px rgba(14,43,35,.10)!important;
  backdrop-filter:blur(10px) saturate(.92);
}
body.ncde-storytelling-page .ncde-language-toggle::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-22px -28px;
  border-radius:50%;
  background:radial-gradient(ellipse,
    rgba(8,58,46,.11) 0%,
    rgba(8,58,46,.05) 48%,
    transparent 76%);
  filter:blur(16px);
  pointer-events:none;
}

/* Preserve family warmth while keeping the bright editorial shell. */
.ncs3__stage::before{
  background:linear-gradient(180deg,
    rgba(255,255,255,.84) 0%,
    rgba(255,255,255,.58) 20%,
    rgba(255,255,255,.13) 36%,
    rgba(255,255,255,0) 49%)!important;
}
.ncs3__title{
  color:#18352d!important;
  opacity:.93;
}

@media(max-width:760px){
  body.ncde-storytelling-page.ncde-ch1-header-locked header a:has(img)::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header] a:has(img)::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .site-header a:has(img)::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header a:has(img)::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .brand-logo-wrap::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .site-logo-wrap::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked [class*="logo-wrap"]::before{
    width:126px;
    height:94px;
    left:42%;
    top:42%;
    filter:blur(16px);
  }
  body.ncde-storytelling-page.ncde-ch1-header-locked header::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header]::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .site-header::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header::before{
    left:18px;
    top:calc(env(safe-area-inset-top) + 28px);
    width:132px;
    height:96px;
    filter:blur(18px);
  }
  body.ncde-storytelling-page .ncde-language-toggle{
    min-height:52px!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
}


/* =========================================================
   v3.4.7 — Header Local Contrast Mastering
   Stronger compact deep-emerald local contrast behind the
   original logo. Header geometry and storytelling engine stay
   untouched.
   ========================================================= */
body.ncde-storytelling-page.ncde-ch1-header-locked header,
body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header],
body.ncde-storytelling-page.ncde-ch1-header-locked .site-header,
body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header{
  overflow:visible!important;
}

/* Dedicated logo ambience: compact core, quick organic falloff. */
body.ncde-storytelling-page.ncde-ch1-header-locked header a:has(img),
body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header] a:has(img),
body.ncde-storytelling-page.ncde-ch1-header-locked .site-header a:has(img),
body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header a:has(img),
body.ncde-storytelling-page.ncde-ch1-header-locked .brand-logo-wrap,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-logo-wrap,
body.ncde-storytelling-page.ncde-ch1-header-locked [class*="logo-wrap"]{
  position:relative!important;
  isolation:isolate!important;
  overflow:visible!important;
}
body.ncde-storytelling-page.ncde-ch1-header-locked header a:has(img)::before,
body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header] a:has(img)::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-header a:has(img)::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header a:has(img)::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .brand-logo-wrap::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-logo-wrap::before,
body.ncde-storytelling-page.ncde-ch1-header-locked [class*="logo-wrap"]::before{
  z-index:0!important;
  left:40%!important;
  top:39%!important;
  width:154px!important;
  height:116px!important;
  opacity:1!important;
  transform:translate(-50%,-50%) rotate(-4deg)!important;
  background:radial-gradient(ellipse at 43% 42%,
    rgba(4,45,35,.46) 0%,
    rgba(5,51,40,.34) 27%,
    rgba(6,57,44,.20) 49%,
    rgba(7,61,47,.08) 67%,
    rgba(7,61,47,0) 82%)!important;
  filter:blur(13px)!important;
}
body.ncde-storytelling-page.ncde-ch1-header-locked header a:has(img) > img,
body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header] a:has(img) > img,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-header a:has(img) > img,
body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header a:has(img) > img,
body.ncde-storytelling-page.ncde-ch1-header-locked .brand-logo-wrap > img,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-logo-wrap > img,
body.ncde-storytelling-page.ncde-ch1-header-locked [class*="logo-wrap"] > img{
  position:relative!important;
  z-index:1!important;
}

/* Browser fallback: deliberately softer than the dedicated anchor halo. */
body.ncde-storytelling-page.ncde-ch1-header-locked header::before,
body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header]::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-header::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header::before{
  width:142px!important;
  height:104px!important;
  background:radial-gradient(ellipse at 42% 42%,
    rgba(4,45,35,.25) 0%,
    rgba(5,52,40,.15) 43%,
    rgba(7,61,47,.05) 65%,
    transparent 81%)!important;
  filter:blur(14px)!important;
}

/* Gold remains original artwork; only optical density is refined. */
body.ncde-storytelling-page.ncde-ch1-header-locked header img,
body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header] img,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-header img,
body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header img,
body.ncde-storytelling-page.ncde-ch1-header-locked .brand-logo,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-logo,
body.ncde-storytelling-page.ncde-ch1-header-locked [class*="logo"] img{
  opacity:1!important;
  filter:saturate(1.28) contrast(1.22) brightness(.91)
    drop-shadow(0 1px 1px rgba(12,35,29,.10))!important;
}

@media(max-width:760px){
  body.ncde-storytelling-page.ncde-ch1-header-locked header a:has(img)::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header] a:has(img)::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .site-header a:has(img)::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header a:has(img)::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .brand-logo-wrap::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .site-logo-wrap::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked [class*="logo-wrap"]::before{
    width:136px!important;
    height:100px!important;
    left:39%!important;
    top:38%!important;
    filter:blur(12px)!important;
  }
  body.ncde-storytelling-page.ncde-ch1-header-locked header::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header]::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .site-header::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header::before{
    left:14px!important;
    top:calc(env(safe-area-inset-top) + 25px)!important;
    width:128px!important;
    height:94px!important;
    filter:blur(13px)!important;
  }
}


/* =========================================================
   v3.4.8 — Header Final Refinement
   Exact-center compact local contrast behind original logo.
   User-locked opacity profile: 50 / 25 / 12 / 0.
   ========================================================= */
body.ncde-storytelling-page.ncde-ch1-header-locked header a:has(img)::before,
body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header] a:has(img)::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-header a:has(img)::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header a:has(img)::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .brand-logo-wrap::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-logo-wrap::before,
body.ncde-storytelling-page.ncde-ch1-header-locked [class*="logo-wrap"]::before{
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:154px!important;
  height:116px!important;
  opacity:1!important;
  background:radial-gradient(ellipse at 50% 50%,
    rgba(4,45,35,.50) 0%,
    rgba(5,51,40,.25) 38%,
    rgba(6,57,44,.12) 68%,
    rgba(7,61,47,0) 100%)!important;
  filter:blur(13px)!important;
}

@media(max-width:760px){
  body.ncde-storytelling-page.ncde-ch1-header-locked header a:has(img)::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header] a:has(img)::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .site-header a:has(img)::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header a:has(img)::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .brand-logo-wrap::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .site-logo-wrap::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked [class*="logo-wrap"]::before{
    left:50%!important;
    top:50%!important;
    width:136px!important;
    height:100px!important;
    filter:blur(12px)!important;
  }
}

/* =========================================================
   v3.4.9 — Header Optical Alignment Refinement
   User-locked opacity profile: 81 / 68 / 18 / 0.
   Radial optical center shifted +5px on X axis.
   ========================================================= */
body.ncde-storytelling-page.ncde-ch1-header-locked header a:has(img)::before,
body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header] a:has(img)::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-header a:has(img)::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header a:has(img)::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .brand-logo-wrap::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .site-logo-wrap::before,
body.ncde-storytelling-page.ncde-ch1-header-locked [class*="logo-wrap"]::before{
  left:calc(50% + 8px)!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:154px!important;
  height:116px!important;
  opacity:1!important;
  background:radial-gradient(ellipse at 50% 50%,
    rgba(4,45,35,.81) 0%,
    rgba(5,51,40,.68) 38%,
    rgba(6,57,44,.18) 68%,
    rgba(7,61,47,0) 100%)!important;
  filter:blur(13px)!important;
}

@media(max-width:760px){
  body.ncde-storytelling-page.ncde-ch1-header-locked header a:has(img)::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked [data-site-header] a:has(img)::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .site-header a:has(img)::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .ncde-header a:has(img)::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .brand-logo-wrap::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked .site-logo-wrap::before,
  body.ncde-storytelling-page.ncde-ch1-header-locked [class*="logo-wrap"]::before{
    left:calc(50% + 8px)!important;
    top:50%!important;
    width:136px!important;
    height:100px!important;
    filter:blur(12px)!important;
  }
}

/* v3.5.1 Header Optical Lock: radial center shifted +8px toward user-right. */

/* =========================================================
   v3.5.2 — Logo-Centered Radial Lock
   The radial ambience is anchored to the actual logo box,
   not to the combined logo + wordmark brand width.
   ========================================================= */
body.ncde-storytelling-page.ncde-ch1-header-locked .gateway-header .brand{
  --ncde-header-logo-box:58px;
}
body.ncde-storytelling-page.ncde-ch1-header-locked header a:has(> .brand-logo)::before,
body.ncde-storytelling-page.ncde-ch1-header-locked .gateway-header .brand::before{
  left:calc(var(--ncde-header-logo-box,58px) / 2)!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
}
@media(max-width:680px){
  body.ncde-storytelling-page.ncde-ch1-header-locked .gateway-header .brand{
    --ncde-header-logo-box:52px;
  }
}

/* =========================================================
   Chapter I — Intro Camera Boundary Bridge v1.0
   Remove the physical camera seam without changing global
   luminance, image filters, camera coordinates, or story logic.
   ========================================================= */
.ncs3[data-camera-state="intro"]{
  --ncs3-intro-camera-top:calc(50% - min(33.333vw,50dvh));
}

/* The existing top fade lives inside the clipped camera and cannot
   cross the physical boundary. Disable it only for the intro state;
   the independent bridge below performs the optical hand-off. */
.ncs3[data-camera-state="intro"] .ncs3__camera::before{
  background:transparent!important;
}

/* Reuse the stage overlay only during intro as a narrow bridge that
   spans both sides of the camera edge. It sits above the camera but
   below the opening copy, so all text remains the top visual layer. */
.ncs3[data-camera-state="intro"] .ncs3__stage::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:calc(var(--ncs3-intro-camera-top) - 18px);
  bottom:auto;
  height:88px;
  z-index:11;
  pointer-events:none;
  opacity:1;
  mix-blend-mode:normal;
  background:linear-gradient(180deg,
    rgba(232,236,238,0) 0%,
    rgba(232,236,238,.98) 21%,
    rgba(232,236,238,.90) 43%,
    rgba(232,236,238,.54) 67%,
    rgba(232,236,238,0) 100%);
}

@media(max-width:760px){
  .ncs3[data-camera-state="intro"]{
    --ncs3-intro-camera-top:calc(57% - 26svh);
  }
  .ncs3[data-camera-state="intro"] .ncs3__stage::after{
    top:calc(var(--ncs3-intro-camera-top) - 16px);
    height:82px;
  }
}

/* =========================================================
   Chapter I — Intro Editorial White Canvas v1.0
   Final refinement: keep the approved camera boundary bridge,
   while changing only the opening-copy canvas to pure white.
   ========================================================= */
.ncs3[data-camera-state="intro"],
.ncs3[data-camera-state="intro"] .ncs3__stage{
  background:#ffffff!important;
}

/* Match the bridge to the white editorial canvas so the hand-off
   remains seamless and does not darken the family image. */
.ncs3[data-camera-state="intro"] .ncs3__stage::after{
  background:linear-gradient(180deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.98) 21%,
    rgba(255,255,255,.90) 43%,
    rgba(255,255,255,.54) 67%,
    rgba(255,255,255,0) 100%)!important;
}

/* =========================================================
   Chapter I — Editorial White Canvas State Consistency v1.1
   Keep the approved white editorial canvas through the full
   family/object sequence. The camera bridge remains intro-only.
   Rewind, forest, and exit retain their original dark ambience.
   ========================================================= */
.ncs3:is(
  [data-camera-state="intro"],
  [data-camera-state="apple"],
  [data-camera-state="rice"],
  [data-camera-state="coffee"],
  [data-camera-state="egg"],
  [data-camera-state="water"],
  [data-camera-state="family-full"],
  [data-camera-state="window"],
  [data-camera-state="city"]
),
.ncs3:is(
  [data-camera-state="intro"],
  [data-camera-state="apple"],
  [data-camera-state="rice"],
  [data-camera-state="coffee"],
  [data-camera-state="egg"],
  [data-camera-state="water"],
  [data-camera-state="family-full"],
  [data-camera-state="window"],
  [data-camera-state="city"]
) .ncs3__stage{
  background:#ffffff!important;
}

/* Ensure the optical bridge never leaks beyond the opening state. */
.ncs3:not([data-camera-state="intro"]) .ncs3__stage::after{
  content:none!important;
  opacity:0!important;
}

/* =========================================================
   Header Contact Shadow Lock v1.0
   Replace the broad emerald cast with a narrow neutral-gray
   contact shadow. Header geometry and locked logo ambience stay intact.
   ========================================================= */

/* =========================================================
   Object Sequence Composition Lock v1.0
   Preserve continuous camera pan; refine only landing frames
   and object-specific label anchors on mobile.
   ========================================================= */
@media (max-width:760px){
  /* Landing compositions — same zoom language, corrected object-safe framing. */
  .ncs3[data-camera-state="apple"]{
    --pan-x:52%;
    --pan-y:-42%;
    --zoom:2.35;
  }
  .ncs3[data-camera-state="rice"]{
    --pan-x:17%;
    --pan-y:-29%;
    --zoom:2.42;
  }
  .ncs3[data-camera-state="coffee"]{
    --pan-x:-25%;
    --pan-y:-47%;
    --zoom:2.50;
  }
  .ncs3[data-camera-state="egg"]{
    --pan-x:-22%;
    --pan-y:-27%;
    --zoom:2.42;
  }
  .ncs3[data-camera-state="water"]{
    --pan-x:-56%;
    --pan-y:-34%;
    --zoom:2.35;
  }

  /* Labels belong to their object composition, not one global corner. */
  .ncs3[data-camera-state="apple"] .ncs3__label[data-camera-label="apple"]{
    left:8%;
    right:auto;
    bottom:12%;
    text-align:left;
  }
  .ncs3[data-camera-state="rice"] .ncs3__label[data-camera-label="rice"]{
    left:46%;
    right:auto;
    bottom:12%;
    transform:translate3d(-50%,0,0);
    text-align:center;
  }
  .ncs3[data-camera-state="rice"] .ncs3__label[data-camera-label="rice"]:not(.is-active){
    transform:translate3d(-50%,14px,0);
  }
  .ncs3[data-camera-state="coffee"] .ncs3__label[data-camera-label="coffee"]{
    left:58%;
    right:auto;
    bottom:12%;
    text-align:left;
  }
  .ncs3[data-camera-state="egg"] .ncs3__label[data-camera-label="egg"]{
    right:10%;
    left:auto;
    bottom:18%;
    text-align:right;
  }
  .ncs3[data-camera-state="water"] .ncs3__label[data-camera-label="water"]{
    right:7%;
    left:auto;
    bottom:12%;
    text-align:right;
  }
}

/* =========================================================
   Object Sequence Landing Composition v2.0
   Widen each mobile landing so the full subject remains visible.
   Continuous camera pan, timing, easing, and state order are unchanged.
   ========================================================= */
@media (max-width:760px){
  .ncs3[data-camera-state="apple"]{
    --pan-x:55.5%;
    --pan-y:-47.5%;
    --zoom:1.82;
  }
  .ncs3[data-camera-state="rice"]{
    --pan-x:24.5%;
    --pan-y:-35%;
    --zoom:1.90;
  }
  .ncs3[data-camera-state="coffee"]{
    --pan-x:-28%;
    --pan-y:-53.5%;
    --zoom:1.90;
  }
  .ncs3[data-camera-state="egg"]{
    --pan-x:-23.8%;
    --pan-y:-33%;
    --zoom:1.90;
  }
  .ncs3[data-camera-state="water"]{
    --pan-x:-52.5%;
    --pan-y:-49.5%;
    --zoom:1.82;
  }

  .ncs3[data-camera-state="apple"] .ncs3__label[data-camera-label="apple"]{
    left:7%;right:auto;bottom:11%;text-align:left;
  }
  .ncs3[data-camera-state="rice"] .ncs3__label[data-camera-label="rice"]{
    left:42%;right:auto;bottom:11%;transform:translate3d(-50%,0,0);text-align:center;
  }
  .ncs3[data-camera-state="rice"] .ncs3__label[data-camera-label="rice"]:not(.is-active){
    transform:translate3d(-50%,14px,0);
  }
  .ncs3[data-camera-state="coffee"] .ncs3__label[data-camera-label="coffee"]{
    left:58%;right:auto;bottom:11%;text-align:left;
  }
  .ncs3[data-camera-state="egg"] .ncs3__label[data-camera-label="egg"]{
    right:13%;left:auto;bottom:15%;text-align:right;
  }
  .ncs3[data-camera-state="water"] .ncs3__label[data-camera-label="water"]{
    right:6%;left:auto;bottom:11%;text-align:right;
  }
}

/* =========================================================
   Object Sequence Edge Clamp v2.1
   Keep Landing v2.0 intact; prevent the 1.82x image from
   travelling beyond its own horizontal/vertical bounds.
   ========================================================= */
@media (max-width:760px){
  .ncs3[data-camera-state="apple"]{
    --pan-x:40%;
    --pan-y:-40%;
  }
  .ncs3[data-camera-state="water"]{
    --pan-x:-40%;
    --pan-y:-40%;
  }
}

/* =========================================================
   Object Text Position Only v2.1.1
   Baseline: Object Edge Clamp v2.1
   Scope: labels + Window statement only. Camera untouched.
   ========================================================= */
@media (max-width:760px){
  .ncs3[data-camera-state="apple"] .ncs3__label[data-camera-label="apple"]{
    left:7%!important;
    right:auto!important;
    top:auto!important;
    bottom:12%!important;
    max-width:34%!important;
    text-align:left!important;
  }
  .ncs3[data-camera-state="rice"] .ncs3__label[data-camera-label="rice"]{
    left:34%!important;
    right:auto!important;
    top:auto!important;
    bottom:29%!important;
    max-width:30%!important;
    text-align:center!important;
    transform:none!important;
  }
  .ncs3[data-camera-state="coffee"] .ncs3__label[data-camera-label="coffee"]{
    left:57%!important;
    right:auto!important;
    top:auto!important;
    bottom:13%!important;
    max-width:30%!important;
    text-align:left!important;
  }
  .ncs3[data-camera-state="egg"] .ncs3__label[data-camera-label="egg"]{
    left:auto!important;
    right:12%!important;
    top:auto!important;
    bottom:32%!important;
    max-width:28%!important;
    text-align:right!important;
  }
  .ncs3[data-camera-state="water"] .ncs3__label[data-camera-label="water"]{
    left:auto!important;
    right:6%!important;
    top:auto!important;
    bottom:22%!important;
    max-width:44%!important;
    text-align:right!important;
  }
  .ncs3[data-camera-state="window"] .ncs3__label--statement{
    left:50%!important;
    right:auto!important;
    top:10%!important;
    bottom:auto!important;
    width:88%!important;
    max-width:88%!important;
    text-align:center!important;
    transform:translate3d(-50%,14px,0)!important;
  }
  .ncs3[data-camera-state="window"] .ncs3__label--statement.is-active{
    transform:translate3d(-50%,0,0)!important;
  }
}

/* v2.1.2 — Window right-edge clamp
   Keep the existing window shot and motion; only prevent the home image's
   right edge from exposing the camera background on mobile. */
@media (max-width:760px){
  .ncs3[data-camera-state="window"]{
    --pan-x:-48%;
  }
}

/* =========================================================
   v3.4.14 — Unified History Renderer · Temporal Mastering
   One renderer · two buffers · city-01 → living forest.
   ========================================================= */
.ncs3[data-camera-state="city"],
.ncs3[data-camera-state="rewind"],
.ncs3[data-camera-state="forest"]{
  --city-o:0;
  --reverse-o:1;
}
.ncs3__shot--reverse{
  opacity:var(--reverse-o)!important;
  visibility:visible;
  display:block;
}
.ncs3__image--reverse{
  opacity:0!important;
  transform:none!important;
  filter:saturate(.96) contrast(1.02) brightness(.90)!important;
  transition:opacity 1.8s cubic-bezier(.42,0,.58,1)!important;
}
.ncs3__image--reverse.is-active{
  opacity:1!important;
  transform:none!important;
}
.ncs3.is-history-running .ncs3__opening,
.ncs3.is-history-running .ncs3__hint,
.ncs3.is-history-running .ncs3__journey,
.ncs3.is-history-running .ncs3__progress,
.ncs3.is-history-running .ncs3__labels,
.ncs3.is-history-running [data-scroll-hint]{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.ncs3.is-history-running .ncs3__shot--reverse::after{opacity:.08!important}
@media(max-width:720px){
  .ncs3__image--reverse,
  .ncs3__image--reverse.is-active{transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  .ncs3__image--reverse{transition:none!important}
}


/* v3.6.0 — Video-driven Chapter 01–02 cinematic engine */
.ncs3--video-engine{height:1200vh!important;background:#031b14!important;--ncs3-stage-height:100dvh}
.ncs3--video-engine .ncs3__stage{position:sticky!important;top:0!important;height:var(--ncs3-stage-height,100dvh)!important;min-height:var(--ncs3-stage-height,100dvh)!important;overflow:hidden!important;background:#031b14!important;display:block!important}
.ncs3--video-engine .ncs3__media{position:absolute;inset:0;overflow:hidden;background:#031b14}
.ncs3--video-engine .ncs3__video,
.ncs3--video-engine .ncs3__hold{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;visibility:hidden;transform:scale(1.001);transition:opacity .75s ease,visibility 0s linear .75s;will-change:opacity}
.ncs3--video-engine[data-story-state="opening-video"] .ncs3__video--opening,
.ncs3--video-engine[data-story-state="city-hold"] .ncs3__hold--city,
.ncs3--video-engine[data-story-state="history-video"] .ncs3__video--history,
.ncs3--video-engine[data-story-state="forest-hold"] .ncs3__hold--forest,
.ncs3--video-engine[data-story-state="exit"] .ncs3__hold--forest{opacity:1;visibility:visible;transition:opacity .75s ease,visibility 0s linear 0s}
.ncs3--video-engine[data-story-state="intro"] .ncs3__video--opening{opacity:.38;visibility:visible;transition:opacity .75s ease,visibility 0s linear 0s}
.ncs3--video-engine[data-story-state="intro"] .ncs3__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,12,9,.26),rgba(1,12,9,.56));pointer-events:none}
.ncs3--video-engine .ncs3__opening{z-index:8}
.ncs3--video-engine:not([data-story-state="intro"]) .ncs3__opening{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility 0s linear .45s}
.ncs3--video-engine .ncs3__labels{position:absolute;inset:0;z-index:7;pointer-events:none}
.ncs3--video-engine .ncs3__label{position:absolute;left:50%;bottom:clamp(86px,12vh,150px);width:min(88vw,980px);transform:translate(-50%,28px);text-align:center;opacity:0;visibility:hidden;filter:blur(6px);transition:opacity .7s ease,transform .7s ease,filter .7s ease,visibility 0s linear .7s}
.ncs3--video-engine .ncs3__label.is-active{opacity:1;visibility:visible;filter:none;transform:translate(-50%,0);transition-delay:0s}
.ncs3--video-engine .ncs3__label[data-story-label="city-hold"]:nth-child(2){bottom:clamp(42px,6vh,82px)}
.ncs3--video-engine .ncs3__buffer{position:absolute;z-index:12;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:7px;padding:12px 16px;border-radius:999px;background:rgba(2,20,15,.52);backdrop-filter:blur(12px)}
.ncs3--video-engine .ncs3__buffer[hidden]{display:none!important}
.ncs3--video-engine .ncs3__buffer span{width:6px;height:6px;border-radius:50%;background:#d8b86a;animation:ncs3-buffer 1s ease-in-out infinite}
.ncs3--video-engine .ncs3__buffer span:nth-child(2){animation-delay:.14s}.ncs3--video-engine .ncs3__buffer span:nth-child(3){animation-delay:.28s}
@keyframes ncs3-buffer{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}
.ncs3--video-engine .ncs3__timeline{position:relative;height:1200vh}
.ncs3--video-engine .ncs3__timeline>article{height:100vh;height:100dvh}
body.ncde-chapter-transition-active .ncs3--video-engine{pointer-events:none}
@media(max-width:760px){
  .ncs3--video-engine{height:1200svh!important}
  .ncs3--video-engine .ncs3__video,.ncs3--video-engine .ncs3__hold{object-position:center center}
  .ncs3--video-engine .ncs3__label{bottom:112px;width:calc(100vw - 34px)}
  .ncs3--video-engine .ncs3__label[data-story-label="city-hold"]:nth-child(2){bottom:64px}
}
@media(prefers-reduced-motion:reduce){
  .ncs3--video-engine .ncs3__video,.ncs3--video-engine .ncs3__hold,.ncs3--video-engine .ncs3__label{transition:none!important}
  .ncs3--video-engine .ncs3__buffer span{animation:none!important}
}

/* =========================================================
   Chapter 01–02 Mobile Media Geometry Lock v1.0
   Scope: media frame only. No typography, arrow, playback,
   state-machine, timing, or gesture changes.
   ========================================================= */
.ncs3--video-engine .ncs3__stage,
.ncs3--video-engine .ncs3__media{
  box-sizing:border-box;
}
.ncs3--video-engine .ncs3__media{
  z-index:1;
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
}
.ncs3--video-engine .ncs3__video,
.ncs3--video-engine .ncs3__hold{
  display:block;
  max-width:none;
  max-height:none;
  border:0;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform:translateZ(0) scale(1.004);
  transform-origin:center center;
}

/* Opening video and city-01 share one optical crop. */
.ncs3--video-engine .ncs3__video--opening,
.ncs3--video-engine .ncs3__hold--city{
  object-position:52% 50%;
}

/* History video and city-14 share one optical crop. */
.ncs3--video-engine .ncs3__video--history,
.ncs3--video-engine .ncs3__hold--forest{
  object-position:50% 48%;
}

@media(max-width:760px){
  /* Use the browser's live dynamic viewport for the visible stage.
     This overrides the shorter startup viewport that exposed the
     emerald page background after the browser chrome changed size. */
  .ncs3--video-engine .ncs3__stage{
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#031b14!important;
  }
  .ncs3--video-engine .ncs3__media{
    position:absolute!important;
    inset:-2px!important;
    width:calc(100% + 4px)!important;
    height:calc(100% + 4px)!important;
    min-height:calc(100% + 4px)!important;
    overflow:hidden!important;
    background:#031b14!important;
    contain:paint;
  }
  .ncs3--video-engine .ncs3__video,
  .ncs3--video-engine .ncs3__hold{
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    transform:translateZ(0) scale(1.012)!important;
  }
  .ncs3--video-engine .ncs3__video--opening,
  .ncs3--video-engine .ncs3__hold--city{
    object-position:52% 50%!important;
  }
  .ncs3--video-engine .ncs3__video--history,
  .ncs3--video-engine .ncs3__hold--forest{
    object-position:50% 48%!important;
  }
}

@media(max-width:430px) and (min-height:760px){
  /* Tall-phone refinement: preserve the central subjects while
     allowing a little more lower-frame coverage. */
  .ncs3--video-engine .ncs3__video--opening,
  .ncs3--video-engine .ncs3__hold--city{
    object-position:52% 49%!important;
  }
  .ncs3--video-engine .ncs3__video--history,
  .ncs3--video-engine .ncs3__hold--forest{
    object-position:50% 47%!important;
  }
}



/* Chapter 01 presentation moved to assets/css/chapters/chapter-01.css */



/* =========================================================
   Chapter 01 → Chapter 02 Pre-Cut Cinematic Break v1.4
   Fade begins before the embedded City-01 hard cut, then Living City fades in.
   Optical frame compensation is intentionally removed.
   ========================================================= */
.ncs3--video-engine .ncs3__video--city{object-position:52% 50%;z-index:2}
.ncs3--video-engine .ncs3__chapter-black{
  position:absolute;inset:0;z-index:11;background:#000;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .34s ease,visibility 0s linear .34s
}
.ncs3--video-engine.is-city-chapter-black .ncs3__chapter-black{
  opacity:1;visibility:visible;
  transition:opacity .34s ease,visibility 0s linear 0s
}
.ncs3--video-engine.ncs3--narrative-time[data-story-state="city-hold"] .ncs3__video--city{
  opacity:0!important;visibility:hidden!important;transform:scale(1.001)!important
}
.ncs3--video-engine.ncs3--narrative-time.is-city-living-ready[data-story-state="city-hold"] .ncs3__video--city{
  opacity:1!important;visibility:visible!important;transform:scale(1.001)!important;
  transition:opacity .92s cubic-bezier(.22,1,.36,1),visibility 0s linear 0s!important
}
.ncs3--video-engine.ncs3--narrative-time.is-city-living-ready[data-story-state="city-hold"] .ncs3__video--opening{
  opacity:0!important;visibility:hidden!important;transition:none!important
}
@media(max-width:760px){.ncs3--video-engine .ncs3__video--city{object-position:52% 50%!important}}
@media(max-width:430px) and (min-height:760px){.ncs3--video-engine .ncs3__video--city{object-position:52% 49%!important}}
@media(prefers-reduced-motion:reduce){
  .ncs3--video-engine .ncs3__chapter-black,
  .ncs3--video-engine.ncs3--narrative-time.is-city-living-ready[data-story-state="city-hold"] .ncs3__video--city{transition:none!important}
}


/* =========================================================
   Chapter 01 → Chapter 02 Contemplative Black Question v1.4
   The bridge question lives entirely in the black-screen pause.
   ========================================================= */
.ncs3--video-engine.is-contemplative-question .ncs3__narrative-stage{
  z-index:13!important;
  left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;
  width:min(86vw,900px)!important;
  transform:translate3d(-50%,-50%,0)!important;
  text-align:center!important;
}
.ncs3--video-engine.is-contemplative-question .ncs3__narrative-stage.is-visible{
  transform:translate3d(-50%,-50%,0)!important;
}
.ncs3--video-engine.is-contemplative-question .ncs3__narrative-text{
  font-size:clamp(2.25rem,5.4vw,5.7rem)!important;
  line-height:1.04!important;
  letter-spacing:-.038em!important;
  color:#fffaf0!important;
  text-shadow:0 3px 22px rgba(0,0,0,.35)!important;
}
.ncs3--video-engine.is-contemplative-question .ncs3__narrative-accent{
  margin-left:auto!important;margin-right:auto!important;
  background:linear-gradient(90deg,rgba(216,184,106,0),#d8b86a,rgba(216,184,106,0))!important;
}
@media(max-width:760px){
  .ncs3--video-engine.is-contemplative-question .ncs3__narrative-stage{
    left:50%!important;top:50%!important;width:calc(100vw - 44px)!important;
    transform:translate3d(-50%,-50%,0)!important;
  }
  .ncs3--video-engine.is-contemplative-question .ncs3__narrative-stage.is-visible{
    transform:translate3d(-50%,-50%,0)!important;
  }
  .ncs3--video-engine.is-contemplative-question .ncs3__narrative-text{
    font-size:clamp(2rem,9.4vw,3.3rem)!important;line-height:1.06!important;
  }
}


/* NCDE Contemplative Question v1.5 — strict narrative cleanup before Living City */
.ncs3--video-engine.ncs3--narrative-time[data-story-state="city-hold"] .ncs3__narrative-stage:not(.is-visible){
  opacity:0!important;
  visibility:hidden!important;
  transform:translate3d(0,14px,0)!important;
  filter:blur(4px)!important;
  pointer-events:none!important;
}
.ncs3--video-engine.ncs3--narrative-time[data-story-state="city-hold"] .ncs3__narrative-stage:not(.is-visible) .ncs3__narrative-text,
.ncs3--video-engine.ncs3--narrative-time[data-story-state="city-hold"] .ncs3__narrative-stage:not(.is-visible) .ncs3__narrative-accent{
  opacity:0!important;
}


/* Chapter 02 presentation moved to assets/css/chapters/chapter-02.css */

/* Chapter 03 presentation moved to assets/css/chapters/chapter-03.css */

/* ================================================================
   NCDE Canonical Story Header v3.6.3 — Unified Surface + 5s Idle
   One component, two states. Full visual follows the approved
   Chapter 03 form with stronger glass and is shared by Chapter 01.
   ================================================================ */
body.ncde-storytelling-page{
  --ncde-header-top:12px;
  --ncde-header-inline:12px;
  --ncde-header-full-height:72px;
  --ncde-header-compact-size:62px;
}
body.ncde-storytelling-page .site-header.gateway-header{
  position:fixed!important;inset:var(--ncde-header-top) 0 auto!important;
  width:100%!important;min-height:0!important;padding-inline:var(--ncde-header-inline)!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  pointer-events:none!important;z-index:9200!important;
}
body.ncde-storytelling-page .gateway-header::before,
body.ncde-storytelling-page .gateway-header::after{content:none!important;display:none!important}
body.ncde-storytelling-page .gateway-header .header-inner{
  position:relative!important;width:min(1180px,100%)!important;
  height:var(--ncde-header-full-height)!important;min-height:var(--ncde-header-full-height)!important;
  margin-inline:auto!important;padding:7px 9px 7px 10px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  border:1px solid rgba(224,194,112,.28)!important;border-radius:20px!important;
  background:linear-gradient(135deg,rgba(5,55,42,.88),rgba(3,39,30,.82))!important;
  box-shadow:0 14px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.08),0 0 22px rgba(207,166,69,.065)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  pointer-events:auto!important;transform:none!important;
  transition:width .62s cubic-bezier(.22,1,.36,1),height .62s cubic-bezier(.22,1,.36,1),min-height .62s cubic-bezier(.22,1,.36,1),padding .52s ease,border-color .42s ease,background .42s ease,box-shadow .48s ease,border-radius .52s ease!important;
}
body.ncde-storytelling-page .gateway-header .brand{position:relative!important;display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;z-index:2!important}
body.ncde-storytelling-page .gateway-header .brand::before{
  content:""!important;position:absolute!important;left:26px!important;top:50%!important;
  width:148px!important;height:112px!important;transform:translate(-50%,-50%)!important;border-radius:50%!important;
  background:radial-gradient(ellipse at center,rgba(4,57,42,.64) 0%,rgba(4,57,42,.44) 40%,rgba(4,57,42,.14) 76%,rgba(4,57,42,0) 100%)!important;
  filter:blur(26px)!important;opacity:.78!important;pointer-events:none!important;z-index:-1!important;
}
body.ncde-storytelling-page .gateway-header .brand-logo{
  width:52px!important;height:52px!important;object-fit:contain!important;opacity:1!important;transform:none!important;
  filter:saturate(1.16) contrast(1.10) drop-shadow(0 8px 14px rgba(0,0,0,.30)) drop-shadow(0 0 10px rgba(222,185,87,.18))!important;
  animation:none!important;transition:width .56s cubic-bezier(.22,1,.36,1),height .56s cubic-bezier(.22,1,.36,1),filter .42s ease!important;
}
body.ncde-storytelling-page .gateway-header .brand-text{
  display:block!important;overflow:hidden!important;max-width:430px!important;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;
  transition:max-width .48s cubic-bezier(.22,1,.36,1),opacity .28s ease,transform .48s cubic-bezier(.22,1,.36,1),visibility 0s linear 0s!important;
}
body.ncde-storytelling-page .gateway-header .brand-name{
  display:block!important;font-family:Georgia,'Times New Roman',serif!important;color:#e2c675!important;font-size:18px!important;line-height:1.05!important;letter-spacing:.045em!important;white-space:nowrap!important;
  text-shadow:0 3px 14px rgba(0,0,0,.34),0 0 16px rgba(216,182,91,.10)!important;
}
body.ncde-storytelling-page .gateway-header .gateway-menu-toggle{
  position:relative!important;display:inline-flex!important;width:50px!important;height:50px!important;flex:0 0 50px!important;align-items:center!important;justify-content:center!important;padding:0!important;
  opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;border-radius:16px!important;
  transition:opacity .26s ease,transform .44s cubic-bezier(.22,1,.36,1),visibility 0s linear 0s!important;
}
body.ncde-storytelling-page[data-story-header-state="compact"] .gateway-header .header-inner{
  width:var(--ncde-header-compact-size)!important;height:var(--ncde-header-compact-size)!important;min-height:var(--ncde-header-compact-size)!important;
  margin-left:0!important;margin-right:auto!important;padding:5px!important;border-color:transparent!important;border-radius:50%!important;
  background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;
}
body.ncde-storytelling-page[data-story-header-state="compact"] .gateway-header .brand{gap:0!important}
body.ncde-storytelling-page[data-story-header-state="compact"] .gateway-header .brand::before{
  left:34px!important;width:154px!important;height:116px!important;opacity:1!important;
  background:radial-gradient(ellipse at 50% 50%,rgba(4,45,35,.81) 0%,rgba(5,51,40,.68) 38%,rgba(6,57,44,.18) 68%,rgba(7,61,47,0) 100%)!important;filter:blur(13px)!important;
}
body.ncde-storytelling-page[data-story-header-state="compact"] .gateway-header .brand-logo{
  width:52px!important;height:52px!important;filter:saturate(1.20) contrast(1.14) drop-shadow(0 10px 18px rgba(0,0,0,.44)) drop-shadow(0 0 12px rgba(222,185,87,.40)) drop-shadow(0 0 28px rgba(222,185,87,.18))!important;
}
body.ncde-storytelling-page[data-story-header-state="compact"] .gateway-header .brand-text{
  max-width:0!important;opacity:0!important;visibility:hidden!important;transform:translateX(-14px)!important;pointer-events:none!important;
  transition:max-width .44s cubic-bezier(.22,1,.36,1),opacity .22s ease,transform .44s cubic-bezier(.22,1,.36,1),visibility 0s linear .44s!important;
}
body.ncde-storytelling-page[data-story-header-state="compact"] .gateway-header .gateway-menu-toggle{
  opacity:0!important;visibility:hidden!important;transform:translateX(16px) scale(.9)!important;pointer-events:none!important;
  transition:opacity .20s ease,transform .40s cubic-bezier(.22,1,.36,1),visibility 0s linear .40s!important;
}
body.ncde-storytelling-page .ncde-language-popover{
  top:calc(var(--ncde-header-top) + var(--ncde-header-full-height) + 10px)!important;left:50%!important;transform:translateX(-50%)!important;
}
body.ncde-storytelling-page[data-story-header-state="compact"] .ncde-language-popover{
  top:calc(var(--ncde-header-top) + ((var(--ncde-header-compact-size) - var(--ncde-lang-capsule-height)) / 2))!important;
  left:calc(100% - var(--ncde-header-inline) - (var(--ncde-lang-capsule-width) / 2))!important;transform:translateX(-50%)!important;
}
@media(min-width:681px){
  body.ncde-storytelling-page{--ncde-header-top:clamp(14px,2.1vw,26px);--ncde-header-inline:clamp(14px,3vw,34px);--ncde-header-full-height:86px;--ncde-header-compact-size:72px}
  body.ncde-storytelling-page .gateway-header .header-inner{padding:10px 14px 10px 16px!important;border-radius:24px!important}
  body.ncde-storytelling-page .gateway-header .brand{gap:14px!important}
  body.ncde-storytelling-page .gateway-header .brand-logo{width:58px!important;height:58px!important}
  body.ncde-storytelling-page .gateway-header .brand-name{font-size:clamp(20px,2vw,29px)!important;letter-spacing:.075em!important}
  body.ncde-storytelling-page[data-story-header-state="compact"] .gateway-header .brand-logo{width:58px!important;height:58px!important}
}
@media(prefers-reduced-motion:reduce){
  body.ncde-storytelling-page .gateway-header .header-inner,body.ncde-storytelling-page .gateway-header .brand-text,body.ncde-storytelling-page .gateway-header .gateway-menu-toggle,body.ncde-storytelling-page .gateway-header .brand-logo,body.ncde-storytelling-page .ncde-language-popover{transition:none!important}
}

