/* V70 — Mobile Integrity / image discipline / archive repair
   Priorities: one photograph per chapter, no destructive crop, no overflow,
   archive rows always readable on iPhone, cinematic rhythm without duplicated media. */

body.cinematic-v70{
  --v70-max:1240px;
  --v70-gutter:clamp(16px,4vw,54px);
  --v70-reading:760px;
  overflow-x:hidden!important;
}

/* ---------- ACT INTERTITLES: TEXT ONLY ----------
   V68 reused chapter photographs in act cards. V70 removes that duplication completely. */
body.cinematic-v70 .v68-act{
  padding:clamp(72px,9vw,120px) 0!important;
}
body.cinematic-v70 .v68-act-shell{
  width:min(920px,calc(100% - (2 * var(--v70-gutter))))!important;
  min-height:0!important;
  display:block!important;
  grid-template-columns:1fr!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.cinematic-v70 .v68-act-visual{
  display:none!important;
}
body.cinematic-v70 .v68-act-copy{
  min-height:0!important;
  padding:clamp(30px,5vw,62px)!important;
  border:1px solid rgba(153,201,214,.12)!important;
  background:
    radial-gradient(640px 280px at 88% 4%,rgba(69,117,129,.10),transparent 72%),
    linear-gradient(145deg,#061014,#020608)!important;
  box-shadow:0 32px 88px rgba(0,0,0,.24)!important;
}
body.cinematic-v70 .v68-act-copy::after{display:none!important;}
body.cinematic-v70 .v68-act-top{margin-bottom:clamp(38px,7vw,72px)!important;padding-bottom:0!important;}
body.cinematic-v70 .v68-act-copy h2{
  max-width:100%!important;
  font-size:clamp(48px,8vw,86px)!important;
  line-height:.92!important;
}
body.cinematic-v70 .v68-act-copy p{
  max-width:54ch!important;
  font-size:clamp(18px,1.8vw,23px)!important;
}

/* ---------- ONE IMAGE, NATURAL RATIO, NO CROP ---------- */
body.cinematic-v70 .chapter-visual,
body.cinematic-v70 .chapter-visual.square,
body.cinematic-v70 .chapter-visual.portrait,
body.cinematic-v70 .achievement-media,
body.cinematic-v70 .writing-cover,
body.cinematic-v70 .music-artwork{
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
}
body.cinematic-v70 .chapter-visual img,
body.cinematic-v70 .achievement-media img,
body.cinematic-v70 .achievement-gallery img,
body.cinematic-v70 .achievement-gallery-4 img,
body.cinematic-v70 .achievement-gallery-v65 img,
body.cinematic-v70 .achievement-report-gallery img,
body.cinematic-v70 .writing-cover img,
body.cinematic-v70 .music-artwork img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
body.cinematic-v70 .chapter-visual{
  background:#020608!important;
  box-shadow:0 24px 72px rgba(0,0,0,.28)!important;
}

/* ---------- START CHAPTER CTA: NEVER OVERFLOWS ---------- */
body.cinematic-v70 .index-guidance{
  min-width:0!important;
}
body.cinematic-v70 .index-guidance a{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  white-space:normal!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  text-transform:none!important;
  letter-spacing:.025em!important;
  font-family:var(--v68-sans)!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.25!important;
}
body.cinematic-v70 .index-guidance a span{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance!important;
}
body.cinematic-v70 .index-guidance a b,
body.cinematic-v70 .index-guidance a i{flex:0 0 auto!important;}

/* ---------- ARCHIVES: FIX COLLAPSED TITLE COLUMN ----------
   Legacy V51 ::before counter occupied a hidden grid column in non-interview tabs.
   V70 explicitly disables it everywhere except the master interview inventory. */
body.cinematic-v70 #archives .archive-list{
  width:100%!important;
  max-width:100%!important;
  margin:18px 0 0!important;
  padding:0!important;
}
body.cinematic-v70 #archives .archive-item{
  width:100%!important;
  min-width:0!important;
  display:block!important;
  box-sizing:border-box!important;
}
body.cinematic-v70 #archives .archive-link{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 26px!important;
  gap:14px!important;
  align-items:start!important;
  box-sizing:border-box!important;
  padding:18px 8px!important;
}
body.cinematic-v70 #archives:not(.archive-master-interviews) .archive-link::before{
  content:none!important;
  display:none!important;
}
body.cinematic-v70 #archives .archive-main{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  grid-column:auto!important;
}
body.cinematic-v70 #archives .archive-title{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:auto!important;
  white-space:normal!important;
  text-wrap:pretty!important;
  font-size:clamp(18px,1.65vw,23px)!important;
  line-height:1.34!important;
}
body.cinematic-v70 #archives .archive-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px 12px!important;
  min-width:0!important;
  max-width:100%!important;
}
body.cinematic-v70 #archives .archive-arrow{
  width:26px!important;
  min-width:26px!important;
  text-align:center!important;
  align-self:start!important;
}
body.cinematic-v70 #archives.archive-master-interviews .archive-list{counter-reset:archive!important;}
body.cinematic-v70 #archives.archive-master-interviews .archive-link{
  grid-template-columns:48px minmax(0,1fr) 26px!important;
}
body.cinematic-v70 #archives.archive-master-interviews .archive-link::before{
  content:counter(archive)!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  align-self:stretch!important;
  border-right:1px solid rgba(153,202,215,.11)!important;
  padding:6px 12px 0 0!important;
  font:600 10px/1 var(--v68-sans)!important;
  letter-spacing:.06em!important;
  color:#668f9b!important;
  font-variant-numeric:tabular-nums!important;
}

/* ---------- GENERAL MOBILE GEOMETRY ---------- */
@media(max-width:720px){
  body.cinematic-v70 .v68-act{padding:56px 0!important;}
  body.cinematic-v70 .v68-act-shell{width:calc(100% - 28px)!important;}
  body.cinematic-v70 .v68-act-copy{padding:26px 22px 30px!important;}
  body.cinematic-v70 .v68-act-top{margin-bottom:34px!important;gap:14px!important;}
  body.cinematic-v70 .v68-act-top span,
  body.cinematic-v70 .v68-act-top b{font-size:8px!important;letter-spacing:.14em!important;}
  body.cinematic-v70 .v68-act-copy h2{font-size:clamp(42px,12vw,58px)!important;}
  body.cinematic-v70 .v68-act-copy p{font-size:18px!important;line-height:1.58!important;}
  body.cinematic-v70 .v68-act-link{text-transform:none!important;letter-spacing:.03em!important;font-size:13px!important;}

  body.cinematic-v70 .index-guidance a{
    min-height:58px!important;
    padding:14px 14px!important;
    font-size:14px!important;
    gap:10px!important;
  }
  body.cinematic-v70 .index-guidance a b{font-size:18px!important;}
  body.cinematic-v70 .index-guidance a i{font-size:15px!important;}

  body.cinematic-v70 .archive-shell{width:calc(100% - 28px)!important;}
  body.cinematic-v70 #archives .archive-link{
    grid-template-columns:minmax(0,1fr) 22px!important;
    gap:10px!important;
    padding:16px 2px!important;
  }
  body.cinematic-v70 #archives.archive-master-interviews .archive-link{
    grid-template-columns:38px minmax(0,1fr) 22px!important;
  }
  body.cinematic-v70 #archives.archive-master-interviews .archive-link::before{
    padding:5px 8px 0 0!important;
    font-size:9px!important;
  }
  body.cinematic-v70 #archives .archive-title{
    font-size:18px!important;
    line-height:1.36!important;
  }
  body.cinematic-v70 #archives .archive-meta{
    margin-top:8px!important;
    font-size:9px!important;
    line-height:1.45!important;
  }
  body.cinematic-v70 #archives .archive-arrow{width:22px!important;min-width:22px!important;font-size:17px!important;}
}

@media(max-width:390px){
  body.cinematic-v70 .index-guidance a{font-size:13px!important;padding-inline:12px!important;}
  body.cinematic-v70 #archives .archive-title{font-size:17px!important;}
}
