/* V71 — Archive Integrity / publish-directory synchronization
   Mobile-first repair after the V69/V70 public-index mismatch.
   No phantom columns, no pseudo counters, no vertical word breaking. */

body.cinematic-v71{
  overflow-x:hidden!important;
}

/* Keep all archive geometry inside the viewport. */
body.cinematic-v71 #archives,
body.cinematic-v71 #archives *{
  box-sizing:border-box;
}
body.cinematic-v71 #archives .archive-shell{
  width:min(1240px,calc(100% - 40px))!important;
  max-width:1240px!important;
  margin-inline:auto!important;
  min-width:0!important;
}
body.cinematic-v71 #archives .archive-toolbar{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
body.cinematic-v71 #archives #archiveList{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
}

/* Destroy every legacy counter/grid side effect. */
body.cinematic-v71 #archives .archive-list{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:18px 0 0!important;
  padding:0!important;
  list-style:none!important;
  counter-reset:none!important;
}
body.cinematic-v71 #archives .archive-item{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  counter-increment:none!important;
  content-visibility:visible!important;
  contain:none!important;
  contain-intrinsic-size:auto!important;
  border-bottom:1px solid rgba(153,202,215,.09)!important;
}
body.cinematic-v71 #archives .archive-link,
body.cinematic-v71 #archives.archive-master-interviews .archive-link{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:16px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:20px 8px!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  overflow:visible!important;
  text-decoration:none!important;
  background:transparent!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
}
body.cinematic-v71 #archives .archive-link::before,
body.cinematic-v71 #archives.archive-master-interviews .archive-link::before{
  content:none!important;
  display:none!important;
  width:0!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
}

/* Explicit index exists only in Interviews. */
body.cinematic-v71 #archives .archive-index{
  flex:0 0 42px!important;
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  padding-top:5px!important;
  color:#6d98a4!important;
  font:600 11px/1.2 var(--v68-sans,system-ui,sans-serif)!important;
  font-variant-numeric:tabular-nums!important;
  letter-spacing:.05em!important;
  text-align:left!important;
  writing-mode:horizontal-tb!important;
}
body.cinematic-v71 #archives .archive-main{
  display:block!important;
  position:static!important;
  inset:auto!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
}
body.cinematic-v71 #archives .archive-title{
  display:block!important;
  position:static!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  font-family:var(--v68-serif,Georgia,serif)!important;
  font-size:clamp(18px,1.55vw,22px)!important;
  font-weight:500!important;
  line-height:1.28!important;
  letter-spacing:-.018em!important;
  color:#e7ecee!important;
}
body.cinematic-v71 #archives .archive-meta{
  display:flex!important;
  flex-flow:row wrap!important;
  align-items:center!important;
  gap:6px 12px!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:9px 0 0!important;
  position:static!important;
  transform:none!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  color:#748991!important;
  font-family:var(--v68-sans,system-ui,sans-serif)!important;
  font-size:10px!important;
  line-height:1.4!important;
  letter-spacing:.08em!important;
  text-transform:none!important;
}
body.cinematic-v71 #archives .archive-source,
body.cinematic-v71 #archives .archive-date{
  display:inline!important;
  position:static!important;
  width:auto!important;
  max-width:100%!important;
  white-space:normal!important;
  word-break:normal!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
}
body.cinematic-v71 #archives .archive-arrow{
  flex:0 0 24px!important;
  width:24px!important;
  min-width:24px!important;
  max-width:24px!important;
  margin:2px 0 0 auto!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  text-align:center!important;
  writing-mode:horizontal-tb!important;
  color:#6e9aa5!important;
  font:400 19px/1 system-ui,sans-serif!important;
}

/* Compact archive heading and controls on phones. */
@media(max-width:720px){
  body.cinematic-v71 #archives{
    padding:84px 0 110px!important;
  }
  body.cinematic-v71 #archives .archive-shell{
    width:calc(100% - 28px)!important;
  }
  body.cinematic-v71 #archives .archive-head h2{
    font-size:clamp(58px,18vw,88px)!important;
    line-height:.86!important;
  }
  body.cinematic-v71 #archives .archive-tabs{
    display:flex!important;
    gap:7px!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain!important;
    scrollbar-width:none!important;
    padding:18px 0 4px!important;
  }
  body.cinematic-v71 #archives .archive-tabs::-webkit-scrollbar{display:none!important;}
  body.cinematic-v71 #archives .archive-tabs button{
    flex:0 0 auto!important;
    min-width:max-content!important;
    white-space:nowrap!important;
    text-transform:none!important;
    letter-spacing:.02em!important;
    font-size:12px!important;
  }
  body.cinematic-v71 #archives .archive-toolbar{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:12px!important;
    align-items:end!important;
    padding:14px!important;
  }
  body.cinematic-v71 #archives .archive-toolbar label{
    min-width:0!important;
  }
  body.cinematic-v71 #archives .archive-toolbar input{
    width:100%!important;
    min-width:0!important;
  }
  body.cinematic-v71 #archives .archive-counter{
    min-width:74px!important;
    text-align:right!important;
  }
  body.cinematic-v71 #archives .archive-counter b{
    font-size:36px!important;
    line-height:.9!important;
  }
  body.cinematic-v71 #archives .archive-counter span{
    display:block!important;
    margin-top:6px!important;
    font-size:8px!important;
    letter-spacing:.10em!important;
    text-transform:none!important;
  }
  body.cinematic-v71 #archives .archive-link,
  body.cinematic-v71 #archives.archive-master-interviews .archive-link{
    gap:11px!important;
    padding:17px 2px!important;
  }
  body.cinematic-v71 #archives .archive-index{
    flex-basis:31px!important;
    width:31px!important;
    min-width:31px!important;
    max-width:31px!important;
    padding-top:4px!important;
    font-size:9px!important;
  }
  body.cinematic-v71 #archives .archive-title{
    font-size:18px!important;
    line-height:1.3!important;
    letter-spacing:-.014em!important;
  }
  body.cinematic-v71 #archives .archive-meta{
    margin-top:7px!important;
    font-size:9px!important;
    gap:5px 9px!important;
  }
  body.cinematic-v71 #archives .archive-arrow{
    flex-basis:20px!important;
    width:20px!important;
    min-width:20px!important;
    max-width:20px!important;
    font-size:17px!important;
  }
}

@media(max-width:390px){
  body.cinematic-v71 #archives .archive-toolbar{
    grid-template-columns:1fr!important;
  }
  body.cinematic-v71 #archives .archive-counter{
    display:flex!important;
    align-items:baseline!important;
    gap:8px!important;
    min-width:0!important;
    text-align:left!important;
  }
  body.cinematic-v71 #archives .archive-counter b{font-size:32px!important;}
  body.cinematic-v71 #archives .archive-title{font-size:17px!important;}
}
