/* Shared editorial atmosphere for the research and tutoring detail pages. */
body.detail-editorial { background:#000 !important; }

body.detail-editorial section:not(.hero),
body.detail-editorial .hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
body.detail-editorial section:not(.hero),body.detail-editorial .hero { background:transparent !important; }
body.detail-editorial .detail-master-film {
  position:fixed;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
  opacity:0;
  filter:saturate(.9) contrast(1.06) brightness(.72);
  transition:opacity .8s ease;
}
body.detail-editorial .detail-master-film.is-ready { opacity:.42; }
body.detail-editorial > :not(.detail-master-film):not(script) { position:relative; z-index:1; }
body.detail-editorial .hero>.hero-inner,
body.detail-editorial .hero>.scrollcue { position:relative; z-index:2; }
body.detail-editorial section:not(.hero)::before {
  content:none !important;
}
body.detail-editorial section:not(.hero)::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.5) 52%,rgba(0,0,0,.78));
  pointer-events:none;
}
body.detail-editorial section>.wrap { position:relative; z-index:1; }
.firefly-research-visual {
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border:1px solid rgba(126,241,223,.18);
}
.genome-visual { min-height:260px; object-position:center; }

.detail-section-word {
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 14px;
  color:var(--bio-cyan,var(--amber,#7ef1df));
  font-size:clamp(.67rem,.92vw,.85rem);
  font-weight:760;
  letter-spacing:.2em;
  line-height:1.4;
  text-transform:uppercase;
}
.detail-font-serif { font-family:"Cormorant Garamond","Times New Roman",serif !important; font-style:italic; font-weight:500 !important; letter-spacing:.16em !important; }
.detail-font-sans { font-family:"Noto Sans JP","Helvetica Neue",sans-serif !important; font-style:normal; font-weight:800 !important; letter-spacing:.2em !important; }
.detail-font-display { font-family:Impact,"Arial Black",sans-serif !important; font-style:normal; font-weight:900 !important; letter-spacing:.08em !important; }
.detail-font-script { font-family:"Snell Roundhand","Brush Script MT",cursive !important; font-style:normal; font-weight:500 !important; letter-spacing:.08em !important; text-transform:none; }

.detail-dropcap::first-letter {
  float:left;
  margin:.08em .14em 0 0;
  color:var(--bio-cyan,var(--amber,#7ef1df));
  font-family:"Cormorant Garamond","Times New Roman",serif;
  font-size:3.4em;
  font-weight:500;
  line-height:.72;
}

body.detail-motion-ready .detail-reveal {
  opacity:0;
  transform:translateY(42px);
  transition:opacity .9s cubic-bezier(.2,.75,.2,1),transform .9s cubic-bezier(.2,.75,.2,1);
  transition-delay:var(--detail-delay,0ms);
}
body.detail-motion-ready .detail-reveal.detail-visible { opacity:1; transform:none; }

body.detail-editorial h2.title,
body.detail-editorial .reelhead { text-wrap:balance; }
body.detail-editorial h2.title .accent,
body.detail-editorial .reelhead .accent { font-family:"Cormorant Garamond","Noto Serif JP",serif; font-style:italic; }

@media (max-width:700px) {
  body.detail-editorial .detail-master-film { object-position:center; }
  body.detail-editorial .detail-master-film.is-ready { opacity:.27; }
  body.detail-editorial section:not(.hero)::after { background:linear-gradient(180deg,rgba(0,0,0,.58),rgba(0,0,0,.86)); }
  .detail-section-word { margin-bottom:10px; font-size:.61rem; letter-spacing:.16em; }
}

@media (prefers-reduced-motion:reduce) {
  body.detail-editorial .detail-master-film { display:none; }
  body.detail-motion-ready .detail-reveal { opacity:1 !important; filter:none !important; transform:none !important; transition:none !important; }
}
