/* V47 — mobile-first stability and true cover restoration */
body.cinematic-v47{overflow-x:clip;max-width:100%;}
body.cinematic-v47 main{overflow:visible;}
body.cinematic-v47 section[id],body.cinematic-v47 .chapter{scroll-margin-top:76px;}

/* COVER: one predictable geometry. No inherited cinematic crop is allowed. */
body.cinematic-v47 .cover{
  min-height:100svh!important;
  width:100%!important;
  padding:96px max(22px,env(safe-area-inset-right)) 66px max(22px,env(safe-area-inset-left))!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  overflow:hidden!important;
}
body.cinematic-v47 .cover-signature{
  position:relative!important;
  width:min(600px,calc(100vw - 56px))!important;
  max-width:100%!important;
  margin:0 auto 30px!important;
  transform:none!important;
  left:auto!important;right:auto!important;
}
body.cinematic-v47 .cover-signature-frame{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
  padding:1px!important;
}
body.cinematic-v47 .cover-signature img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:none!important;
  aspect-ratio:4/3!important;
  object-fit:contain!important;
  object-position:50% 50%!important;
  margin:0!important;
  transform:none!important;
}
body.cinematic-v47 .cover-copy{
  position:relative!important;
  z-index:5!important;
  width:min(980px,100%)!important;
  max-width:100%!important;
  margin:0 auto!important;
  text-align:center!important;
}
body.cinematic-v47 .cover-copy .kicker{font-size:8px;line-height:1.35;text-align:center!important;margin-bottom:13px;}
body.cinematic-v47 .cover h1{
  width:100%!important;
  max-width:980px!important;
  margin:0 auto!important;
  font-size:clamp(50px,7vw,96px)!important;
  line-height:.91!important;
  letter-spacing:-.045em!important;
  text-wrap:balance;
}
body.cinematic-v47 .cover h2{margin:15px auto 0!important;max-width:720px!important;}
body.cinematic-v47 .cover-copy p{margin:19px auto 0!important;max-width:690px!important;}
body.cinematic-v47 .cover-nine{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;width:min(720px,100%)!important;margin:28px auto 0!important;}
body.cinematic-v47 .scroll-cue{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;margin:21px auto 0!important;transform:none!important;}

/* CHAPTERS: stable image dimensions and safe anchors. */
body.cinematic-v47 .chapter-shell,body.cinematic-v47 .pub-shell,body.cinematic-v47 .book-index-shell{max-width:100%;}
body.cinematic-v47 .chapter-visual{width:100%;max-width:100%;}
body.cinematic-v47 .chapter-visual img{display:block;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;}
body.cinematic-v47 .scene-slate{max-width:100vw;overflow:hidden;}
body.cinematic-v47 .scene-slate-content{max-width:100%;}

/* Fixed interfaces may never intercept the reading surface. */
body.cinematic-v47 .chapter-guide{pointer-events:none!important;}
body.cinematic-v47 .chapter-guide a{pointer-events:auto!important;}
body.cinematic-v47 .v30-director{pointer-events:none!important;}
body.cinematic-v47 .v30-director button{pointer-events:auto!important;}

/* RNBO and long-form text: never create horizontal overflow. */
body.cinematic-v47 .publications-center,body.cinematic-v47 .pub-shell,body.cinematic-v47 #rnboArticles{min-width:0;max-width:100%;overflow-wrap:anywhere;}
body.cinematic-v47 .rnbo-title,body.cinematic-v47 .rnbo-item a{overflow-wrap:anywhere;word-break:normal;}

@media(max-width:820px){
  html{scroll-behavior:auto!important;scroll-snap-type:none!important;}
  body.cinematic-v47{overflow-x:hidden!important;overscroll-behavior-y:auto!important;}
  body.cinematic-v47 .topbar{
    height:60px!important;
    padding-left:max(12px,env(safe-area-inset-left))!important;
    padding-right:max(12px,env(safe-area-inset-right))!important;
    background:rgba(3,5,7,.985)!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }
  body.cinematic-v47 .cover{
    min-height:100svh!important;
    padding:78px 18px 44px!important;
    justify-content:center!important;
  }
  body.cinematic-v47 .cover-signature{
    width:min(330px,calc(100vw - 36px))!important;
    margin:0 auto 22px!important;
  }
  body.cinematic-v47 .cover-signature:before{inset:-7px!important;}
  body.cinematic-v47 .cover-signature:after{bottom:-15px!important;width:5px!important;height:5px!important;}
  body.cinematic-v47 .cover-signature-frame{aspect-ratio:4/3!important;}
  body.cinematic-v47 .cover h1{font-size:clamp(41px,11.4vw,56px)!important;line-height:.93!important;}
  body.cinematic-v47 .cover h2{font-size:clamp(20px,5.8vw,27px)!important;line-height:1.02!important;margin-top:12px!important;}
  body.cinematic-v47 .cover-copy p{font-size:8px!important;line-height:1.58!important;letter-spacing:.13em!important;margin-top:14px!important;}
  body.cinematic-v47 .cover-nine{margin-top:20px!important;gap:3px!important;}
  body.cinematic-v47 .scroll-cue{margin-top:16px!important;min-height:38px!important;}

  /* On phones, the film must never sit on top of the content. Navigation lives in the top menu. */
  body.cinematic-v47 .v30-controls,
  body.cinematic-v47 .v30-director,
  body.cinematic-v47 .chapter-guide,
  body.cinematic-v47 .chapter-spine,
  body.cinematic-v47 .cinema-hud,
  body.cinematic-v47 .v36-master-hud,
  body.cinematic-v47 .v42-film-rail,
  body.cinematic-v47 .v42-matte,
  body.cinematic-v47 .cinema-frame,
  body.cinematic-v47 .v30-letterbox,
  body.cinematic-v47 .v43-safe-frame,
  body.cinematic-v47 .v36-optics{display:none!important;}

  body.cinematic-v47 .v42-aperture{display:none!important;}
  body.cinematic-v47 .v36-atmosphere,body.cinematic-v47 .cinema-ambient{display:none!important;}
  body.cinematic-v47 .scene-slate-image,body.cinematic-v47 .chapter-visual img{transition:none!important;}
  body.cinematic-v47 .scene-slate-image{transform:none!important;}

  body.cinematic-v47 .chapter{padding-left:16px!important;padding-right:16px!important;}
  body.cinematic-v47 .chapter-number{font-size:52px!important;}
  body.cinematic-v47 .chapter-label{font-size:8px!important;line-height:1.35!important;letter-spacing:.18em!important;}
  body.cinematic-v47 .chapter-heading h2{font-size:clamp(38px,10.4vw,52px)!important;line-height:.98!important;}
  body.cinematic-v47 .chapter-deck{font-size:8px!important;line-height:1.62!important;}
  body.cinematic-v47 .chapter-copy{font-size:16.5px!important;line-height:1.74!important;}
  body.cinematic-v47 .chapter-copy .lead{font-size:18.5px!important;line-height:1.65!important;}
  body.cinematic-v47 .book-index{padding-left:16px!important;padding-right:16px!important;}
  body.cinematic-v47 .pub-shell{padding-left:16px!important;padding-right:16px!important;}
  body.cinematic-v47 .rnbo-toolbar input{font-size:16px!important;}
}

@media(max-width:430px){
  body.cinematic-v47 .cover{padding-left:16px!important;padding-right:16px!important;}
  body.cinematic-v47 .cover-signature{width:min(320px,calc(100vw - 32px))!important;}
  body.cinematic-v47 .cover h1{font-size:clamp(39px,11vw,50px)!important;}
  body.cinematic-v47 .cover-copy .kicker{font-size:7px!important;letter-spacing:.20em!important;}
  body.cinematic-v47 .cover-nine b{font-size:5px!important;}
}
@media(max-width:820px){
  body.cinematic-v47 .v42-cover-still{display:none!important;}
}
