/*
 * NCDE Chapter 01 — Life We Enjoy
 * Chapter-owned presentation rules extracted from the shared storytelling stylesheet.
 * Source-preserving modular isolation: declarations are unchanged.
 */
[data-story-chapter="01"]{--ncde-chapter-module:"01-life-we-enjoy";}

/* =========================================================
   NCDE Narrative Time Engine v1.0 — Chapter 01 Pilot
   Video remains the visual canvas. city-01 is fallback only.
   ========================================================= */
.ncs3--video-engine.ncs3--narrative-time[data-story-state="intro"] .ncs3__video--opening,
.ncs3--video-engine.ncs3--narrative-time[data-story-state="opening-video"] .ncs3__video--opening,
.ncs3--video-engine.ncs3--narrative-time[data-story-state="city-hold"] .ncs3__video--opening{
  opacity:1!important;
  visibility:visible!important;
  transition:opacity .45s ease,visibility 0s linear 0s!important;
}
.ncs3--video-engine.ncs3--narrative-time[data-story-state="city-hold"] .ncs3__hold--city{
  opacity:0!important;
  visibility:hidden!important;
}
.ncs3--video-engine.ncs3--narrative-time.is-opening-fallback[data-story-state="city-hold"] .ncs3__video--opening{
  opacity:0!important;
  visibility:hidden!important;
}
.ncs3--video-engine.ncs3--narrative-time.is-opening-fallback[data-story-state="city-hold"] .ncs3__hold--city{
  opacity:1!important;
  visibility:visible!important;
}
.ncs3--video-engine.ncs3--narrative-time[data-story-state="intro"] .ncs3__media:after{
  background:linear-gradient(180deg,rgba(1,12,9,.20),rgba(1,12,9,.48))!important;
  transition:opacity .8s ease;
}
.ncs3--video-engine.ncs3--narrative-time.is-opening-main-run .ncs3__media:after{opacity:0}
.ncs3--video-engine.ncs3--narrative-time .ncs3__opening{
  opacity:1;
  visibility:visible;
  transition:opacity .72s ease,transform .72s cubic-bezier(.22,.7,.18,1),filter .72s ease,visibility 0s linear 0s!important;
}
.ncs3--video-engine.ncs3--narrative-time .ncs3__opening.is-narrative-exiting{
  opacity:0!important;
  transform:translate3d(0,-12px,0)!important;
  filter:blur(5px)!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .72s ease,transform .72s cubic-bezier(.22,.7,.18,1),filter .72s ease,visibility 0s linear .72s!important;
}
.ncs3--video-engine.ncs3--narrative-time[data-story-state="city-hold"] .ncs3__opening{opacity:0!important;visibility:hidden!important}
.ncs3--video-engine.ncs3--narrative-time .ncs3__video--opening{
  will-change:opacity,transform;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
@media(prefers-reduced-motion:reduce){
  .ncs3--video-engine.ncs3--narrative-time .ncs3__opening{transition:none!important}
}


/* =========================================================
   NCDE Narrative Time Engine v1.2 — production presentation
   Narrative scrim is removed completely.
   ========================================================= */
.ncs3--video-engine.ncs3--narrative-time .ncs3__media:after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  background:none!important;
}

/* =========================================================
   NCDE Narrative Experience Mastering v1.0 — Chapter 01
   Adaptive playback + editorial narrative typography.
   No scrim. No city hold image in the normal flow.
   ========================================================= */
.ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage{
  position:absolute!important;
  z-index:10!important;
  width:min(78vw,660px)!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translate3d(0,14px,0)!important;
  filter:blur(4px)!important;
  transition:opacity .42s ease,transform .58s cubic-bezier(.2,.78,.18,1),filter .48s ease,visibility 0s linear .58s!important;
  pointer-events:none!important;
}
.ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage.is-visible{
  opacity:1!important;
  visibility:visible!important;
  transform:translate3d(0,0,0)!important;
  filter:none!important;
  transition-delay:0s!important;
}
.ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-text{
  margin:0!important;
  white-space:pre-line!important;
  color:#fffaf0!important;
  font-family:"Iowan Old Style","Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif!important;
  font-size:clamp(2rem,5.1vw,5.35rem)!important;
  font-weight:600!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  text-wrap:balance;
  text-shadow:0 2px 5px rgba(0,0,0,.88),0 8px 28px rgba(0,0,0,.7)!important;
}
.ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-text.is-typing::after{
  content:"";
  display:inline-block;
  width:.045em;height:.76em;margin-left:.09em;vertical-align:-.02em;
  background:#d8b86a;
  animation:ncs3cursor .9s steps(1,end) infinite;
}
.ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-accent{
  width:clamp(52px,7vw,104px);height:2px;margin-top:clamp(14px,2vh,24px);
  background:linear-gradient(90deg,#d8b86a,rgba(216,184,106,0));
}
.ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage[data-tone="object"] .ncs3__narrative-text{
  color:#f0d58c!important;font-style:italic!important;font-size:clamp(2.55rem,7vw,6.5rem)!important;font-weight:500!important;
}
.ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage[data-tone="warning"] .ncs3__narrative-text{
  color:#f2d18a!important;
}
.ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage[data-tone="final"] .ncs3__narrative-text{
  font-size:clamp(2.15rem,5.6vw,5.7rem)!important;color:#fff8e9!important;
}
.ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage[data-position="left-mid"]{left:clamp(24px,6vw,96px)!important;top:31%!important;bottom:auto!important}
.ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage[data-position="left-upper"]{left:clamp(24px,6vw,96px)!important;top:23%!important;bottom:auto!important}
.ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage[data-position="left-lower"]{left:clamp(24px,6vw,96px)!important;top:auto!important;bottom:clamp(92px,13vh,170px)!important}
.ncs3--video-engine.ncs3--narrative-time[data-story-state="city-hold"] .ncs3__narrative-stage{opacity:1!important;visibility:visible!important}
.ncs3--video-engine.ncs3--narrative-time[data-story-state="city-hold"] .ncs3__video--opening{opacity:1!important;visibility:visible!important}
.ncs3--video-engine.ncs3--narrative-time[data-story-state="city-hold"] .ncs3__hold--city{opacity:0!important;visibility:hidden!important}
.ncs3--video-engine.ncs3--narrative-time .ncs3__camera-shade,
.ncs3--video-engine.ncs3--narrative-time .ncs3__bloom{opacity:0!important;visibility:hidden!important}
@media(max-width:760px){
  .ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage{width:calc(100vw - 44px)!important;left:22px!important;right:auto!important}
  .ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-text{font-size:clamp(2rem,9.4vw,3.15rem)!important;line-height:1.01!important;letter-spacing:-.04em!important}
  .ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage[data-tone="object"] .ncs3__narrative-text{font-size:clamp(2.65rem,13vw,4.25rem)!important}
  .ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage[data-tone="final"] .ncs3__narrative-text{font-size:clamp(2rem,9.2vw,3.05rem)!important}
  .ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage[data-position="left-mid"]{top:27%!important}
  .ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage[data-position="left-upper"]{top:20%!important}
  .ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage[data-position="left-lower"]{bottom:max(96px,calc(env(safe-area-inset-bottom) + 78px))!important}
}
@media(prefers-reduced-motion:reduce){
  .ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage{transition:none!important;filter:none!important}
  .ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-text.is-typing::after{display:none!important}
}


/* =========================================================
   Chapter 01 Cinematic Opening — Lock Candidate v1.1
   - Collapse the reserved full-header canvas when narration begins.
   - Raise only the city and pollution cues; typography remains unchanged.
   ========================================================= */
body.ncde-storytelling-page #main-content{
  padding-top:0!important;
  transition:none!important;
}
body.ncde-storytelling-page[data-story-header-state="compact"] .site-after-gateway{
  background:transparent!important;
}

.ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage[data-tone="city"],
.ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage[data-tone="warning"]{
  bottom:calc(clamp(92px,13vh,170px) + 2em)!important;
}
@media(max-width:760px){
  .ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage[data-tone="city"],
  .ncs3--video-engine.ncs3--narrative-time .ncs3__narrative-stage[data-tone="warning"]{
    bottom:calc(max(96px,calc(env(safe-area-inset-bottom) + 78px)) + 2em)!important;
  }
}
