:root{
  --bg:#07080c;
  --panel:#0d0f16;
  --text:#f2efe7;
  --muted:#bdb7ab;
  --gold:#c6aa69;
  --stroke:rgba(198,170,105,.22);
  --shadow:0 18px 60px rgba(0,0,0,.55);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial;}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1160px;margin:0 auto;padding:0 22px}
.topbar{
  position:absolute; top:0; left:0; right:0; z-index:50;
  backdrop-filter:none;
  background: rgba(7,8,12,.025);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:12px}
.brand{display:inline-flex;align-items:center;line-height:1;gap:12px}
.brand-logo{
  height:88px;
  width:auto;
  max-width:360px;
  object-fit:contain;
  filter:
    brightness(1.22)
    saturate(1.18)
    drop-shadow(0 0 8px rgba(198,170,105,.28))
    drop-shadow(0 3px 14px rgba(0,0,0,.70));
  transform:translateX(-28px);
}
.brandlink:hover{text-decoration:none}
.topbar-right{margin-right:-40px;display:flex;align-items:center;gap:12px}
.marks{display:flex;align-items:center;gap:12px}
.marklink{display:inline-flex;align-items:center;text-decoration:none}
.marklink:hover{text-decoration:none;opacity:.96}
.mark{display:block}
.neurobios-mark{height:64px;width:auto;max-width:240px;object-fit:contain;filter:drop-shadow(0 3px 14px rgba(0,0,0,.70));transform:translateY(-4px)}
.nav{display:flex;gap:18px;align-items:center}
.nav a{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.nav a:hover{color:var(--text)}
.cta{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:14px;
  border:1px solid var(--stroke);
  background: linear-gradient(180deg, rgba(198,170,105,.18), rgba(198,170,105,.06));
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  font-size:13px; letter-spacing:.12em; text-transform:uppercase;
}
.hero{
  position:relative; min-height:calc(100vh);
  display:flex; align-items:flex-end;
  padding: 46px 0 56px; overflow:hidden;
}
.hero-media{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}

.hero-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.hero::after{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(1200px 520px at 18% 35%, rgba(198,170,105,.14), transparent 60%),
    radial-gradient(900px 460px at 80% 20%, rgba(255,255,255,.045), transparent 55%),
    linear-gradient(180deg, rgba(7,8,12,0), rgba(7,8,12,.14) 72%, rgba(7,8,12,.36));
}
.hero-content{
  position:relative;
  z-index:2;
  width:100%;
  transform:translateX(-9px);
}
.hero-grid{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.h1{font-size:44px;line-height:1.05;margin:0 0 10px;letter-spacing:-.01em;}
.sub{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
  max-width:500px;
  margin:0 auto 14px;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.hero-nav{
  margin-top:18px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:44px;
  width:100%;
}
.hero-nav a + a::before{
  content:"✦";
  position:absolute;
  left:-27px;
  top:50%;
  transform:translateY(-54%);
  color:var(--gold);
  font-size:9px;
  opacity:.92;
  text-shadow:0 0 9px rgba(198,170,105,.72);
  pointer-events:none;
}

.hero-nav a{
  position:relative;
  padding:8px 0 10px;
  color:var(--gold);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-decoration:none;
}

.hero-nav a::after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:0;
  height:1px;
  background:var(--gold);
  box-shadow:0 0 8px rgba(198,170,105,.45);
  transition:left .26s ease,right .26s ease,opacity .26s ease;
  opacity:.65;
}

.hero-nav a:hover::after{
  left:0;
  right:0;
  opacity:1;
}
.button{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 16px;border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  font-size:13px;letter-spacing:.12em;text-transform:uppercase;
}
.button.primary{
  border:1px solid var(--stroke);
  background: linear-gradient(180deg, rgba(198,170,105,.22), rgba(198,170,105,.08));
}
.hero-card{
  border:1px solid rgba(255,255,255,.08);
  background: rgba(13,15,22,.62);
  border-radius:22px;
  padding:16px 16px 14px;
  box-shadow: var(--shadow);
}
.hero-card .label{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.hero-card .value{font-size:14px;line-height:1.4;color:var(--text);margin:0 0 8px}
.hero-card .note{font-size:12px;line-height:1.5;color:var(--muted);margin:0}
.section{padding:54px 0}
.section{scroll-margin-top:110px}
.section h2{margin:0 0 14px;font-size:22px;letter-spacing:.10em;text-transform:uppercase;}
.section p.lead{margin:0 0 22px;color:var(--muted);max-width:78ch;line-height:1.65}
.grid{display:grid;grid-template-columns:repeat(12, 1fr);gap:16px;}
.card{
  cursor:pointer;
  grid-column: span 6;
  position:relative;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background: var(--panel);
  box-shadow: var(--shadow);
  min-height: 310px;
}
.card .poster{position:absolute; inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.02);filter: brightness(.78) saturate(1.03); transition: filter .18s ease;}
.card .overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(7,8,12,.85) 0%, rgba(7,8,12,.58) 45%, rgba(7,8,12,.35) 100%),
    radial-gradient(700px 420px at 90% 20%, rgba(198,170,105,.16), transparent 65%),
    linear-gradient(180deg, rgba(7,8,12,.06), rgba(7,8,12,.86));
  opacity:.84;
  transition: opacity .18s ease;
}
.card .content{position:relative;padding:18px;display:flex;flex-direction:column;gap:10px;min-height:310px;}
.badge{
  width:fit-content;
  border:1px solid rgba(198,170,105,.35);
  background: rgba(198,170,105,.10);
  padding:6px 10px;border-radius:999px;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
}
.title{font-size:22px;line-height:1.15;margin:0}
.titlelink{color:inherit;text-decoration:none}
.titlelink:hover{text-decoration:underline}
.meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13px;letter-spacing:.06em}
.meta span{border:1px solid rgba(255,255,255,.10);background: rgba(255,255,255,.05);padding:6px 10px;border-radius:999px}
.logline{margin:0;color:var(--muted);line-height:1.6;max-width:65ch}
.card .linkrow{margin-top:auto;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px}
.card .linkrow a{color:var(--text);letter-spacing:.10em;text-transform:uppercase;font-size:12px}
.card:hover{border-color: rgba(198,170,105,.28)}
.card:hover .poster{filter: brightness(.90) saturate(1.06);} 
.card:hover .overlay{opacity:.68;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.panel{
  border:1px solid rgba(255,255,255,.08);
  background: rgba(13,15,22,.72);
  border-radius:22px;
  padding:18px;
}
.panel h3{margin:0 0 10px;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.panel ul{margin:0;padding-left:18px;color:var(--text);line-height:1.7}
.panel li{margin:6px 0}
.small{color:var(--muted);font-size:13px;line-height:1.65;margin:0}
.footer{padding:44px 0 56px;border-top:1px solid rgba(255,255,255,.06);color:var(--muted);}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.footer a{color:var(--text)}
hr.sep{border:0;border-top:1px solid rgba(255,255,255,.08);margin:22px 0}

/* Title sub-pages */
.title-hero{
  position:relative;
  padding: 54px 0 64px;
  overflow:hidden;
}
.title-hero::before{
  content:""; position:absolute; inset:-30px;
  background: var(--page-poster, none) center/cover no-repeat;
  filter: blur(26px) brightness(.52) saturate(1.08);
  opacity:.82; transform: scale(1.06);
}
.title-hero::after{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(900px 520px at 18% 30%, rgba(198,170,105,.14), transparent 60%),
    radial-gradient(900px 520px at 84% 24%, rgba(255,255,255,.05), transparent 60%),
    linear-gradient(180deg, rgba(7,8,12,.20), rgba(7,8,12,1));
}
.title-grid{
  position:relative; z-index:2;
  display:grid; grid-template-columns: 420px 1fr;
  gap:28px; align-items:center;
}
.title-poster{
  width:100%; height:auto;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow);
}
.title-kicker{
  font-size:12px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--muted); margin:0 0 12px;
}
.title-h1{
  font-size:42px; line-height:1.05; margin:0 0 12px;
  letter-spacing:-.01em;
}
.title-sub{
  color:var(--muted);
  font-size:16px; line-height:1.65;
  margin:0 0 22px; max-width:78ch;
}
.breadcrumbs{color:var(--muted);font-size:13px;margin:0 0 10px}
.breadcrumbs a{color:var(--text)}
@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr}
  .card{grid-column: span 12}
  .split{grid-template-columns:1fr}
  .h1{font-size:40px}
}
@media (max-width: 520px){
  .h1{font-size:34px}
  .sub{font-size:15px}
  .nav{display:none}
  .brand-
  {height:64px}
  .neurobios-mark{height:44px}
  
}


/* Detail pages */
.detail-hero{
  position:relative;
  padding: 76px 0 54px;
  overflow:hidden;
}
.detail-hero::before{
  content:""; position:absolute; inset:-40px;
  background-image: var(--bg, var(--page-poster));
  background-size: cover;
  background-position: center;
  filter: blur(28px) brightness(var(--bg-brightness,.58)) saturate(1.12);
  transform: scale(1.10);
  opacity:.92;
  z-index:0;
  pointer-events:none;
}
.detail-hero::after{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(900px 520px at 18% 30%, rgba(198,170,105,.14), transparent 60%),
    linear-gradient(180deg, rgba(7,8,12,.28), rgba(7,8,12,.86));
  z-index:0;
  pointer-events:none;
}
.detail-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 34px;
  align-items: start;
}
.detail-copy .label{
  display:inline-block;
  padding:6px 10px;
  border:1px solid rgba(198,170,105,.25);
  border-radius:999px;
  color:var(--gold);
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:12px;
}
.detail-copy h1{
  margin: 14px 0 10px;
  font-size: 52px;
  line-height: 1.03;
  letter-spacing: -0.02em;
}
.detail-copy .meta{
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 14px;
}
.detail-copy .lead{
  margin: 0 0 22px;
  color: rgba(242,239,231,.92);
  font-size: 18px;
  line-height: 1.6;
  max-width: 62ch;
}
.detail-cover{
  position:relative;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(13,15,22,.35);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.detail-cover img{
  display:block;
  width:100%;
  height:auto;
}
.detail-actions{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
}
@media (max-width: 920px){
  .detail-grid{grid-template-columns:1fr}
  .detail-copy h1{font-size:44px}
}
@media (max-width: 520px){
  .detail-copy h1{font-size:36px}
  .detail-copy .lead{font-size:16px}
}


.card:focus-visible{outline:2px solid rgba(198,170,105,.55); outline-offset:3px;}

.detail-hero .container{position:relative; z-index:1;}
.detail-hero{z-index:0;}

/* === READABILITY PATCH (28/02/2026) ===========================
   Goal: make section ledes + small helper copy readable over
   bright/complex background imagery without changing layout.
   Safe to keep at end of file as an override.
=============================================================== */

/* Lede lines under section headings (e.g., “Request decks under NDA…”) */
.section p.lead{
  color: rgba(242,239,231,.88);
  text-shadow: 0 2px 18px rgba(0,0,0,.72);
}

/* Small helper copy used in panels/sections */
.section .small,
.section .logline{
  color: rgba(242,239,231,.78);
  text-shadow: 0 2px 18px rgba(0,0,0,.70);
}

/* Headings benefit from a subtle shadow on image-heavy sections */
.section h2{
  text-shadow: 0 2px 22px rgba(0,0,0,.70);
}

/* Contact panel: slightly stronger scrim so copy survives any hero image */
#contact .panel{
  background: rgba(13,15,22,.82);
  border-color: rgba(255,255,255,.10);
}
/* === Page load transition === */

body.page-enter {
  opacity: 0;
  transform: translateY(10px);
  animation: ovaPageEnter 680ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: 60ms;
}

@keyframes ovaPageEnter {
  from {
    opacity: 0;
    transform: translateY(10px);
    filter: brightness(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: brightness(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-enter {
    opacity: 1;
    transform: none;
    animation: none;
    filter: none;
  }
}


/* === CINEMATIC SLATE CAROUSEL =================================
   Layered independently from the locked hero copy/actions.
   Desktop first; collapses cleanly on narrower screens.
================================================================ */
.slate-carousel{
  position:absolute;
  top:58px;
  left:50%;
  z-index:3;
  width:min(920px, calc(100% - 180px));
  transform:translateX(-50%);
  pointer-events:none;
}

.slate-carousel-track{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  perspective:1200px;
}

.slate-slide{
  position:relative;
  flex:0 0 132px;
  aspect-ratio:2 / 3;
  overflow:visible;
  transform:scale(.90);
  opacity:.88;
  transition:
    transform .30s cubic-bezier(.22,1,.36,1),
    opacity .30s ease;
  pointer-events:auto;
}

.slate-poster-frame{
  position:absolute;
  inset:0;
  display:block;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  background:rgba(13,15,22,.42);
  box-shadow:
    0 12px 28px rgba(0,0,0,.40),
    inset 0 1px 0 rgba(255,255,255,.09);
  backdrop-filter:blur(16px) saturate(1.08);
  -webkit-backdrop-filter:blur(16px) saturate(1.08);
  transition:
    border-color .30s ease,
    box-shadow .30s ease;
}

.slate-poster-frame img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:brightness(.88) saturate(1.05);
  transition:filter .30s ease, transform .30s cubic-bezier(.22,1,.36,1);
}

.slate-poster-frame::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), transparent 26%),
    linear-gradient(180deg, transparent 62%, rgba(7,8,12,.48));
  pointer-events:none;
}

.slate-slide:hover,
.slate-slide:focus-visible{
  transform:translateY(-6px) scale(.96);
  opacity:1;
  outline:none;
}

.slate-slide:hover .slate-poster-frame,
.slate-slide:focus-visible .slate-poster-frame{
  border-color:rgba(198,170,105,.42);
  box-shadow:
    0 12px 28px rgba(0,0,0,.40),
    0 0 18px rgba(198,170,105,.10),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.slate-slide:hover .slate-poster-frame img,
.slate-slide:focus-visible .slate-poster-frame img{
  filter:brightness(.96) saturate(1.07);
  transform:scale(1.025);
}

.slate-slide.is-active{
  flex-basis:152px;
  transform:scale(1);
  opacity:1;
}

.slate-slide.is-active .slate-poster-frame{
  border-color:rgba(198,170,105,.42);
  box-shadow:
    0 12px 30px rgba(0,0,0,.42),
    0 0 20px rgba(198,170,105,.12),
    inset 0 1px 0 rgba(255,255,255,.10);
}



.slate-title{
  position:absolute;
  left:50%;
  bottom:calc(100% + 10px);
  z-index:5;
  max-width:190px;
  padding:7px 11px;
  border:1px solid rgba(198,170,105,.28);
  border-radius:999px;
  background:rgba(7,8,12,.74);
  color:var(--text);
  box-shadow:0 8px 24px rgba(0,0,0,.34);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  font-size:11px;
  line-height:1.2;
  letter-spacing:.11em;
  text-transform:uppercase;
  text-align:center;
  white-space:nowrap;
  opacity:0;
  transform:translate(-50%, 7px);
  pointer-events:none;
  transition:
    opacity .18s ease,
    transform .22s cubic-bezier(.22,1,.36,1);
}

.slate-slide:hover .slate-title,
.slate-slide:focus-visible .slate-title{
  opacity:1;
  transform:translate(-50%, 0);
}

.slate-carousel-controls{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.slate-carousel-button{
  position:absolute;
  top:50%;
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(198,170,105,.26);
  border-radius:999px;
  background:rgba(13,15,22,.46);
  color:var(--gold);
  font:inherit;
  cursor:pointer;
  pointer-events:auto;
  transform:translateY(-50%);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}


.slate-carousel-button:first-child{
  left:-52px;
}

.slate-carousel-button:last-child{
  right:-52px;
}

.slate-carousel-button:hover,
.slate-carousel-button:focus-visible{
  border-color:rgba(198,170,105,.52);
  background:rgba(198,170,105,.12);
  outline:none;
}

/* Preserve the existing title-page carousel response while the
   homepage carousel moves to the unified flow below. */
@media (max-width:1100px){
  .title-page .slate-carousel{
    top:40px;
    width:min(760px, calc(100% - 120px));
  }

  .title-page .slate-slide{
    flex-basis:118px;
    border-radius:16px;
  }

  .title-page .slate-slide.is-active{
    flex-basis:136px;
  }

  .title-page .slate-carousel-button:first-child{
    left:-42px;
  }

  .title-page .slate-carousel-button:last-child{
    right:-42px;
  }
}

@media (max-width:760px){
  .title-page .slate-carousel{
    top:80px;
    width:100%;
    padding:0 18px;
  }

  .title-page .slate-carousel-track{
    justify-content:flex-start;
    gap:12px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding:4px 20vw 12px;
  }

  .title-page .slate-carousel-track::-webkit-scrollbar{
    display:none;
  }

  .title-page .slate-slide,
  .title-page .slate-slide.is-active{
    flex:0 0 132px;
    transform:none;
    opacity:.88;
    scroll-snap-align:center;
  }

  .title-page .slate-slide:hover,
  .title-page .slate-slide:focus-visible{
    transform:translateY(-3px);
  }

  .title-page .slate-carousel-controls{
    display:block;
  }

  .title-page .slate-carousel-button:first-child{
    left:4px;
  }

  .title-page .slate-carousel-button:last-child{
    right:4px;
  }

  .title-page .slate-title{
    display:none;
  }
}

@media (max-height:760px) and (min-width:761px){
  .title-page .slate-carousel{
    top:30px;
  }

  .title-page .slate-slide{
    flex-basis:116px;
  }

  .title-page .slate-slide.is-active{
    flex-basis:136px;
  }
}

/* === HERO NAV GOLD CONTROL SYSTEM =============================
   Full five-item rollout based on the approved HOME prototype.
================================================================ */
.hero-nav a{
  --nav-line-rest:86px;
  --nav-line-hover:102px;
  padding:8px 8px 30px;
  min-width:92px;
  color:#d9bd78;
  text-shadow:
    0 0 9px rgba(198,170,105,.32),
    0 2px 14px rgba(0,0,0,.66);
}

.hero-nav a:nth-child(1){
  --nav-line-rest:76px;
  --nav-line-hover:94px;
  min-width:86px;
}

.hero-nav a:nth-child(2){
  --nav-line-rest:82px;
  --nav-line-hover:98px;
  min-width:90px;
}

.hero-nav a:nth-child(3){
  --nav-line-rest:118px;
  --nav-line-hover:138px;
  min-width:128px;
}

.hero-nav a:nth-child(4){
  --nav-line-rest:98px;
  --nav-line-hover:116px;
  min-width:106px;
}

.hero-nav a:nth-child(5){
  --nav-line-rest:92px;
  --nav-line-hover:110px;
  min-width:100px;
}

.hero-nav a::before{
  content:"✦";
  position:absolute;
  left:50%;
  bottom:8px;
  transform:translateX(-50%);
  color:#f2cf77;
  font-size:10px;
  line-height:1;
  opacity:.96;
  text-shadow:
    0 0 5px rgba(255,220,126,.95),
    0 0 12px rgba(198,170,105,.72),
    0 7px 10px rgba(198,170,105,.34);
  transition:
    transform .24s cubic-bezier(.22,1,.36,1),
    opacity .24s ease,
    text-shadow .24s ease;
  pointer-events:none;
}

.hero-nav a::after{
  left:50%;
  right:auto;
  bottom:0;
  width:var(--nav-line-rest);
  height:1px;
  transform:translateX(-50%);
  opacity:.92;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(198,170,105,.56) 18%,
    #f0cf7f 50%,
    rgba(198,170,105,.56) 82%,
    transparent 100%
  );
  box-shadow:
    0 0 8px rgba(198,170,105,.62),
    0 5px 9px rgba(198,170,105,.32),
    0 12px 16px rgba(198,170,105,.16);
  transition:
    width .26s cubic-bezier(.22,1,.36,1),
    opacity .24s ease,
    box-shadow .24s ease;
}

.hero-nav a:hover{
  color:#f3d88f;
  text-decoration:none;
}

.hero-nav a:hover::before{
  transform:translateX(-50%) scale(1.20);
  opacity:1;
  text-shadow:
    0 0 6px rgba(255,231,158,1),
    0 0 16px rgba(198,170,105,.92),
    0 8px 13px rgba(198,170,105,.46);
}

.hero-nav a:hover::after{
  left:50%;
  right:auto;
  width:var(--nav-line-hover);
  opacity:1;
  box-shadow:
    0 0 10px rgba(198,170,105,.82),
    0 6px 11px rgba(198,170,105,.42),
    0 14px 20px rgba(198,170,105,.22);
}

.hero-nav a:focus-visible{
  outline:1px solid rgba(198,170,105,.42);
  outline-offset:7px;
  border-radius:8px;
}

/* === HERO NAV HOVER ANOMALY FIX ================================
   The legacy inter-item separator also used ::before, conflicting
   with the new under-label star on items 2–5.
================================================================ */
.hero-nav a + a::before{
  left:50%;
  top:auto;
  bottom:8px;
  transform:translateX(-50%);
}

/* === SEPARATE HERO WORDMARK ================================== */
.hero-wordmark-wrap{
  position:absolute;
  left:50%;
  top:52%;
  z-index:2;
  width:min(620px, 49vw);
  transform:translate(-50%, -50%);
  pointer-events:none;
}

.hero-wordmark{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 8px 24px rgba(0,0,0,.38));
}

/* === DESKTOP HERO REALIGNMENT — NEW CANONICAL ASSETS ========== */

@media (min-width: 1101px){

  /* Lower the slate so posters and hover titles have breathing room */
  .slate-carousel{
    top:70px;
  }

  /* Match the previously locked -9px hero-content alignment */
  .hero-wordmark-wrap{
    left:calc(50% - 23px);
  }
}

@media (min-width: 1101px){

  .sub{
    transform:translateX(-4px);
  }

  .hero-nav{
    transform:translateX(-7px);
  }
}

/* === STUDIOS HOMEPAGE — RESPONSIVE HERO FLOW ==================
   Below the locked desktop layout, the slate, wordmark, copy,
   actions and navigation share one width-driven grid. The final
   row grows when space is available and expands the hero when it
   is not, so vertical scrolling replaces viewport collisions.
================================================================ */

@media (max-width:1100px){
  .studios-homepage .topbar{
    border-bottom-color:transparent;
  }

  .studios-homepage .hero{
    --hero-inline:max(22px, env(safe-area-inset-left));
    min-height:100vh;
    min-height:100svh;
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    grid-template-rows:auto auto minmax(min-content, 1fr);
    align-items:start;
    align-content:start;
    row-gap:clamp(24px, 3.4vw, 38px);
    padding:
      max(88px, calc(72px + env(safe-area-inset-top)))
      var(--hero-inline)
      max(34px, calc(24px + env(safe-area-inset-bottom)));
  }

  .studios-homepage .hero-media img{
    object-fit:cover;
    object-position:center;
  }

  .studios-homepage .slate-carousel{
    position:relative;
    top:auto;
    left:auto;
    grid-row:1;
    width:min(820px, calc(100% - 64px));
    margin:0 auto;
    padding:0;
    transform:none;
  }

  .studios-homepage .slate-carousel-track{
    gap:clamp(10px, 1.5vw, 16px);
  }

  .studios-homepage .slate-slide{
    flex-basis:clamp(88px, 11vw, 118px);
  }

  .studios-homepage .slate-slide.is-active{
    flex-basis:clamp(104px, 13vw, 136px);
  }

  .studios-homepage .slate-carousel-button:first-child{
    left:-36px;
  }

  .studios-homepage .slate-carousel-button:last-child{
    right:-36px;
  }

  .studios-homepage .hero-wordmark-wrap{
    position:relative;
    top:auto;
    left:auto;
    grid-row:2;
    width:clamp(420px, 64vw, 600px);
    margin:0 auto;
    transform:none;
    scale:none;
    translate:none;
  }

  .studios-homepage .hero-content{
    position:relative;
    top:auto;
    left:auto;
    right:auto;
    grid-row:3;
    align-self:stretch;
    width:min(760px, 100%);
    height:100%;
    margin:0 auto;
    padding-left:0;
    padding-right:0;
    transform:none;
  }

  .studios-homepage .hero-grid,
  .studios-homepage .hero-grid > div{
    width:100%;
    height:100%;
  }

  .studios-homepage .hero-grid > div{
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  .studios-homepage .sub{
    width:min(660px, 100%);
    max-width:none;
    margin:0 auto 16px;
    font-size:clamp(13px, 1.6vw, 15px);
    line-height:1.5;
    transform:none;
  }

  .studios-homepage .hero-actions{
    gap:12px;
    flex-wrap:nowrap;
  }

  .studios-homepage .button{
    padding:13px 18px;
    border-radius:17px;
    font-size:clamp(12px, 1.4vw, 14px);
    white-space:nowrap;
  }

  .studios-homepage .hero-nav{
    position:relative;
    top:auto;
    left:auto;
    right:auto;
    margin-top:auto;
    padding-top:clamp(22px, 3.2vw, 36px);
    gap:clamp(18px, 3vw, 30px);
    flex-wrap:nowrap;
    transform:none;
    scale:none;
  }

  .studios-homepage .hero-nav a{
    min-width:auto;
  }
}

@media (max-width:760px){
  .studios-homepage .hero{
    --hero-inline:max(22px, env(safe-area-inset-left));
    row-gap:clamp(18px, 5vw, 24px);
    padding-top:max(82px, calc(68px + env(safe-area-inset-top)));
    padding-right:max(22px, env(safe-area-inset-right));
    padding-bottom:max(32px, calc(22px + env(safe-area-inset-bottom)));
    padding-left:var(--hero-inline);
  }

  .studios-homepage .slate-carousel{
    left:50%;
    width:100vw;
    margin:0;
    padding:0;
    transform:translateX(-50%);
  }

  .studios-homepage .slate-carousel-track{
    justify-content:flex-start;
    gap:12px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    padding:4px calc(50% - 66px) 12px;
    pointer-events:auto;
    -webkit-overflow-scrolling:touch;
  }

  .studios-homepage .slate-carousel-track::-webkit-scrollbar{
    display:none;
  }

  .studios-homepage .slate-slide,
  .studios-homepage .slate-slide.is-active{
    flex:0 0 132px;
    transform:none;
    opacity:.88;
    scroll-snap-align:center;
  }

  .studios-homepage .slate-slide:hover,
  .studios-homepage .slate-slide:focus-visible{
    transform:translateY(-3px);
  }

  .studios-homepage .slate-carousel-controls{
    display:block;
  }

  .studios-homepage .slate-carousel-button:first-child{
    left:4px;
  }

  .studios-homepage .slate-carousel-button:last-child{
    right:4px;
  }

  .studios-homepage .slate-title{
    display:none;
  }

  .studios-homepage .hero-wordmark-wrap{
    width:clamp(178px, 55vw, 240px);
  }

  .studios-homepage .hero-content{
    width:100%;
  }

  .studios-homepage .sub{
    width:min(34ch, 100%);
    margin-bottom:14px;
    font-size:clamp(12.5px, 3.5vw, 14px);
    line-height:1.45;
  }

  .studios-homepage .hero-actions{
    width:100%;
    gap:8px;
    justify-content:center;
  }

  .studios-homepage .button{
    min-width:0;
    padding:11px 10px;
    border-radius:15px;
    font-size:clamp(10px, 3vw, 12px);
  }

  .studios-homepage .hero-nav{
    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:8px 6px;
    width:min(350px, 100%);
    padding-top:18px;
  }

  .studios-homepage .hero-nav a{
    --nav-line-rest:min(72px, 88%);
    --nav-line-hover:min(82px, 96%);
    min-width:0;
    padding:6px 2px 24px;
    font-size:clamp(8px, 2.5vw, 10px);
    letter-spacing:.11em;
  }

  .studios-homepage .hero-nav a:nth-child(1){grid-column:1 / 3}
  .studios-homepage .hero-nav a:nth-child(2){grid-column:3 / 5}
  .studios-homepage .hero-nav a:nth-child(3){grid-column:5 / 7}
  .studios-homepage .hero-nav a:nth-child(4){grid-column:2 / 4}
  .studios-homepage .hero-nav a:nth-child(5){grid-column:4 / 6}
}


/* === STUDIOS HOMEPAGE — CANONICAL HEADER GEOMETRY v1 ==========
   Locks both corner marks to equal viewport insets and aligns them
   optically without altering title-page layouts.
================================================================ */

.studios-homepage .topbar .container{
  max-width:none;
  padding:0;
}

.studios-homepage .topbar-inner{
  position:relative;
  min-height:106px;
  padding:0;
}

.studios-homepage .brandlink{
  position:absolute;
  top:18px;
  left:28px;
  margin:0;
}

.studios-homepage .brand-logo{
  height:88px;
  width:auto;
  max-width:none;
  transform:none;
  filter:
    brightness(1.26)
    saturate(1.12)
    drop-shadow(0 0 8px rgba(198,170,105,.24))
    drop-shadow(0 3px 14px rgba(0,0,0,.72));
}

.studios-homepage .topbar-right{
  position:absolute;
  top:18px;
  right:28px;
  margin:0;
}

.studios-homepage .neurobios-mark{
  height:70px;
  width:auto;
  max-width:none;
  transform:none;
}

/* Keep both marks vertically centred within the same 80px optical zone. */
.studios-homepage .marklink{
  min-height:80px;
  display:inline-flex;
  align-items:center;
}

@media (max-width:760px){
  .studios-homepage .brandlink{
    top:12px;
    left:16px;
  }

  .studios-homepage .brand-logo{
    height:64px;
  }

  .studios-homepage .topbar-right{
    top:12px;
    right:16px;
  }

  .studios-homepage .neurobios-mark{
    height:54px;
  }

  .studios-homepage .marklink{
    min-height:64px;
  }
}

/* === TITLE-PAGE FOOTER ALIGNMENT ============================== */

.universal-partners-page .artwork-showcase-section{
  padding-bottom:10px;
}

.universal-partners-page .footer{
  padding:20px 0 34px;
  text-align:center;
}

.universal-partners-page .footer-grid{
  grid-template-columns:1fr;
  justify-items:center;
  text-align:center;
}

.universal-partners-page .footer-grid > div{
  width:100%;
}

/* === EXPLORE MORE — OPTICAL WIDTH REFINEMENT ================= */

.universal-partners-page .more-productions-section .container{
  max-width:1124px;
}

.universal-partners-page .more-productions-panel{
  width:100%;
  max-width:1080px;
  margin:0 auto;
  padding-left:56px;
  padding-right:56px;
}


/* === STUDIOS HOMEPAGE — SCROLLING SECTION REFINEMENT ========== */

/* Keep the Studios emblem fixed with the menu/orb cluster. */
.studios-homepage .brandlink{
  position:fixed !important;
  top:18px !important;
  left:28px !important;
  z-index:120 !important;
  overflow:visible !important;
  isolation:isolate;
}

.studios-homepage .brandlink .brand-logo{
  position:relative;
  z-index:3;
  transform-origin:center center;
  transition:
    transform .24s cubic-bezier(.22,1,.36,1),
    filter .24s ease;
}

.studios-homepage .brandlink:hover .brand-logo,
.studios-homepage .brandlink:focus-visible .brand-logo,
.studios-homepage .brandlink:focus-within .brand-logo{
  transform:scale(1.035);
  filter:
    brightness(1.29)
    saturate(1.12)
    drop-shadow(0 0 10px rgba(198,170,105,.30))
    drop-shadow(0 3px 16px rgba(0,0,0,.74));
}

/* Studios lockup hover reveal — mirrors the NeuroBios orb reveal geometry. */
.studios-homepage .studios-lockup-reveal{
  position:absolute;
  z-index:2;
  top:62px;
  left:50%;
  right:auto;
  width:204px;
  min-height:58px;
  padding:8px 16px 9px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  border-radius:8px 18px 18px 8px;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  opacity:0;
  transform:translate(-50%,-10px) scale(.94);
  transform-origin:top center;
  pointer-events:none;
  transition:
    opacity .20s ease,
    transform .26s cubic-bezier(.22,1,.36,1);
}

.studios-homepage .studios-lockup-reveal-wordmark{
  display:block;
  width:120px;
  height:auto;
  object-fit:contain;
  filter:
    brightness(1.18)
    saturate(1.08)
    drop-shadow(0 4px 12px rgba(0,0,0,.48))
    drop-shadow(0 0 10px rgba(198,170,105,.18));
}

.studios-homepage .studios-lockup-reveal-subtitle{
  margin-top:6px;
  color:rgba(223,232,255,.82);
  font-size:8px;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  width:100%;
  text-align:center;
  transform:translateX(4px);
  text-shadow:0 1px 8px rgba(0,0,0,.78);
}

.studios-homepage .brandlink:hover .studios-lockup-reveal,
.studios-homepage .brandlink:focus-visible .studios-lockup-reveal,
.studios-homepage .brandlink:focus-within .studios-lockup-reveal{
  opacity:1;
  transform:translate(-50%,0) scale(1);
}

/* Reduce the Featured Slate cards by roughly one quarter. */
.studios-homepage #slate .grid{
  max-width:900px;
  margin:0 auto;
  gap:14px;
}

.studios-homepage #slate .card{
  min-height:240px;
  border:1px solid rgba(198,170,105,.24);
  border-radius:20px;
  background:rgba(13,15,22,.52);
  box-shadow:
    0 18px 48px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter:blur(12px) saturate(1.04);
  -webkit-backdrop-filter:blur(12px) saturate(1.04);
}

.studios-homepage #slate .card .content{
  min-height:240px;
  padding:15px;
  gap:8px;
}

.studios-homepage #slate .card .title{
  font-size:19px;
}

.studios-homepage #slate .card .logline{
  line-height:1.48;
}

.studios-homepage #slate .card:hover{
  border-color:rgba(198,170,105,.42);
  box-shadow:
    0 20px 54px rgba(0,0,0,.42),
    0 0 18px rgba(198,170,105,.08),
    inset 0 1px 0 rgba(255,255,255,.09);
}

@media (max-width:980px){
  .studios-homepage #slate .grid{
    max-width:680px;
  }

  .studios-homepage #slate .card{
    min-height:260px;
  }

  .studios-homepage #slate .card .content{
    min-height:260px;
  }
}

@media (max-width:760px){
  .studios-homepage .brandlink{
    top:max(12px, env(safe-area-inset-top)) !important;
    left:max(16px, env(safe-area-inset-left)) !important;
  }
}


/* === STUDIOS HOMEPAGE — SURGICAL RECOVERY + COMPRESSION ======== */
/* Restores the stronger slate hover and only compresses the lower
   Positioning / Pipeline / Contact sections. */

.studios-homepage #slate .card:hover .poster{
  filter:brightness(1.02) saturate(1.08) !important;
}

.studios-homepage #slate .card:hover .overlay{
  opacity:.54 !important;
}

.studios-homepage #positioning,
.studios-homepage #pipeline,
.studios-homepage #contact{
  padding-top:24px !important;
  padding-bottom:24px !important;
}

.studios-homepage #positioning .lead,
.studios-homepage #pipeline .lead,
.studios-homepage #contact .lead{
  margin-bottom:14px !important;
}

.studios-homepage #positioning .panel,
.studios-homepage #pipeline .panel,
.studios-homepage #contact .panel{
  padding:15px 18px !important;
}

.studios-homepage #positioning .split,
.studios-homepage #pipeline .split{
  gap:14px !important;
}

.studios-homepage #positioning .panel ul,
.studios-homepage #pipeline .panel ul{
  line-height:1.48 !important;
}

.studios-homepage #positioning .panel li,
.studios-homepage #pipeline .panel li{
  margin:2px 0 !important;
}

.studios-homepage #contact hr.sep{
  margin:12px 0 !important;
}

.studios-homepage .footer{
  padding:18px 0 22px !important;
}


/* === STUDIOS HOMEPAGE — FINAL LOWER-PAGE POLISH ===============
   Centred repeated artwork, compact two-column lower content,
   stronger footer legibility, and title-page-style lower carousel.
================================================================ */

/* Use a single centred artwork lane. It may repeat vertically, never
   horizontally. The uncovered sides remain intentionally near-black. */
.studios-homepage main{
  background-color:#07080c !important;
  background-image:url("assets/posters/universal-partners.webp") !important;
  background-position:center top !important;
  background-size:min(100%, 1220px) auto !important;
  background-repeat:repeat-y !important;
}

/* Keep lower sections transparent so the centred artwork remains visible. */
.studios-homepage main > .section{
  background:transparent !important;
}

/* Positioning remains the first two-column row. */
.studios-homepage #positioning{
  padding:34px 0 18px !important;
}

/* Pipeline and Contact now form the matching second two-column row. */
.studios-homepage .homepage-lower-section{
  padding:18px 0 24px !important;
}

.studios-homepage .homepage-lower-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-items:start;
}

.studios-homepage .homepage-lower-block{
  min-width:0;
  scroll-margin-top:110px;
}

.studios-homepage .homepage-lower-block h2{
  margin:0 0 10px;
}

.studios-homepage .homepage-lower-block .lead{
  min-height:42px;
  margin:0 0 14px !important;
}

.studios-homepage .homepage-lower-block .panel{
  height:100%;
  min-height:164px;
  padding:16px 18px !important;
  background:rgba(8,10,16,.66) !important;
  border-color:rgba(255,255,255,.12) !important;
  box-shadow:
    0 18px 50px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(14px) saturate(1.03);
  -webkit-backdrop-filter:blur(14px) saturate(1.03);
}

/* Canonical lower carousel, adapted from the title pages. */
.studios-homepage .homepage-more-productions-section{
  padding:24px 0 18px !important;
  scroll-margin-top:110px;
}

.studios-homepage .homepage-more-productions-section .container{
  max-width:1220px;
}

.studios-homepage .homepage-more-productions-panel{
  width:100%;
  max-width:1160px;
  margin:0 auto;
  padding:24px 46px 30px;
  border:1px solid rgba(198,170,105,.24);
  border-radius:28px;
  background:rgba(7,8,12,.60);
  box-shadow:
    0 26px 76px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(14px) saturate(1.03);
  -webkit-backdrop-filter:blur(14px) saturate(1.03);
}

.studios-homepage .homepage-more-productions-heading{
  margin-bottom:20px;
  text-align:center;
}

.studios-homepage .homepage-more-productions-kicker{
  margin:0 0 7px;
  color:var(--gold);
  font-size:10px;
  letter-spacing:.20em;
  text-transform:uppercase;
}

.studios-homepage .homepage-more-productions-heading h2{
  margin:0;
  font-size:20px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.studios-homepage .homepage-more-productions-track{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:14px;
  width:100%;
  padding:8px 0 18px;
}

.studios-homepage .homepage-more-production-card{
  position:relative;
  flex:0 0 132px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:11px;
  text-decoration:none;
}

.studios-homepage .homepage-more-production-poster{
  position:relative;
  width:132px;
  aspect-ratio:2 / 3;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:17px;
  background:rgba(13,15,22,.34);
  box-shadow:
    0 13px 30px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.07);
  transition:
    transform .25s cubic-bezier(.22,1,.36,1),
    border-color .25s ease,
    box-shadow .25s ease;
}

.studios-homepage .homepage-more-production-poster img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:brightness(.82) saturate(1.02);
  transition:filter .25s ease, transform .25s cubic-bezier(.22,1,.36,1);
}

.studios-homepage .homepage-more-production-name{
  max-width:138px;
  color:rgba(242,239,231,.82);
  font-size:10px;
  line-height:1.35;
  letter-spacing:.10em;
  text-transform:uppercase;
  text-align:center;
}

.studios-homepage .homepage-more-production-card:hover,
.studios-homepage .homepage-more-production-card:focus-visible{
  text-decoration:none;
  outline:none;
}

.studios-homepage .homepage-more-production-card:hover .homepage-more-production-poster,
.studios-homepage .homepage-more-production-card:focus-visible .homepage-more-production-poster{
  transform:translateY(-5px);
  border-color:rgba(198,170,105,.46);
  box-shadow:
    0 17px 38px rgba(0,0,0,.44),
    0 0 20px rgba(198,170,105,.12),
    inset 0 1px 0 rgba(255,255,255,.09);
}

.studios-homepage .homepage-more-production-card:hover .homepage-more-production-poster img,
.studios-homepage .homepage-more-production-card:focus-visible .homepage-more-production-poster img{
  filter:brightness(.96) saturate(1.06);
  transform:scale(1.025);
}

/* Footer contrast and compact centred finish. */
.studios-homepage .footer{
  position:relative;
  padding:20px 0 26px !important;
  border-top:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(7,8,12,.48), rgba(7,8,12,.88));
  text-align:center;
  text-shadow:
    0 2px 14px rgba(0,0,0,.95),
    0 0 18px rgba(0,0,0,.72);
}

.studios-homepage .footer-grid{
  grid-template-columns:1fr !important;
  justify-items:center;
  gap:4px !important;
}

.studios-homepage .footer-grid > div{
  width:100%;
}

.studios-homepage .footer-grid > div > div:first-child{
  color:rgba(242,239,231,.76) !important;
}

.studios-homepage .footer-grid > div > div:last-child{
  color:rgba(242,239,231,.92);
  font-weight:500;
}

@media (max-width:980px){
  .studios-homepage .homepage-lower-grid{
    grid-template-columns:1fr;
  }

  .studios-homepage .homepage-lower-block .lead{
    min-height:0;
  }

  .studios-homepage .homepage-more-productions-track{
    justify-content:flex-start;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    padding-left:8px;
    padding-right:8px;
  }

  .studios-homepage .homepage-more-productions-track::-webkit-scrollbar{
    display:none;
  }

  .studios-homepage .homepage-more-production-card{
    scroll-snap-align:center;
  }
}

@media (max-width:700px){
  .studios-homepage main{
    background-size:100% auto !important;
  }

  .studios-homepage .homepage-more-productions-panel{
    padding:20px 16px 24px;
    border-radius:22px;
  }

  .studios-homepage .homepage-more-production-card{
    flex-basis:116px;
  }

  .studios-homepage .homepage-more-production-poster{
    width:116px;
    border-radius:15px;
  }
}
/* ==============================================================
   STUDIOS HOMEPAGE — FLOATING LEAD STRIPS
   Shared readability treatment for Featured Slate, Studio
   Positioning, Pipeline and Contact.
================================================================ */

.studios-homepage #slate .lead,
.studios-homepage #positioning .lead,
.studios-homepage #pipeline .lead,
.studios-homepage #contact .lead{
  display:table;
  width:auto;
  max-width:100%;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  background:rgba(255,255,255,.075);
  box-shadow:
    0 8px 24px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(5px) saturate(1.02) brightness(1.05);
  -webkit-backdrop-filter:blur(5px) saturate(1.02) brightness(1.05);
  color:rgba(242,239,231,.96);
  text-shadow:0 2px 14px rgba(0,0,0,.90);
}

/* Preserve the compact spacing already approved for the lower sections. */
.studios-homepage #positioning .lead,
.studios-homepage #pipeline .lead,
.studios-homepage #contact .lead{
  margin-bottom:14px !important;
}

@media (max-width:760px){
  .studios-homepage #slate .lead,
  .studios-homepage #positioning .lead,
  .studios-homepage #pipeline .lead,
  .studios-homepage #contact .lead{
    display:block;
    width:fit-content;
  }
}
/* ==============================================================
   NEUROBIOS ORB HOVER REVEAL
   Desktop/focus reveal expands left from the fixed orb.
================================================================ */

.studios-homepage .title-corner-orb{
  overflow:visible !important;
  isolation:isolate;
}

.studios-homepage .title-corner-orb .neurobios-mark{
  position:relative;
  z-index:3;
  transition:
    transform .24s cubic-bezier(.22,1,.36,1),
    filter .24s ease;
}

.studios-homepage .neurobios-orb-reveal{
  position:absolute;
  z-index:130;
  top:38px;
  left:50%;
  right:auto;
  width:204px;
  min-height:58px;
  padding:8px 16px 9px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  border-radius:18px 8px 8px 18px;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  opacity:0;
  transform:translate(-50%,-10px) scale(.94);
  transform-origin:top center;
  pointer-events:none;
  transition:
    opacity .20s ease,
    transform .26s cubic-bezier(.22,1,.36,1);
}

.studios-homepage .neurobios-orb-wordmark{
  display:block;
  width:168px;
  height:auto;
  object-fit:contain;
  filter:
    brightness(1.22)
    saturate(1.10)
    drop-shadow(0 4px 12px rgba(0,0,0,.48))
    drop-shadow(0 0 10px rgba(76,146,255,.22));
}

.studios-homepage .neurobios-orb-subtitle{
  margin-top:-30px;
  color:rgba(223,232,255,.82);
  font-size:8px;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  text-shadow:0 1px 8px rgba(0,0,0,.78);
}

.studios-homepage .title-corner-orb:hover .neurobios-orb-reveal,
.studios-homepage .title-corner-orb:focus-visible .neurobios-orb-reveal,
.studios-homepage .title-corner-orb:focus-within .neurobios-orb-reveal{
  opacity:1;
  transform:translate(-50%,0) scale(1);
}

.studios-homepage .title-corner-orb:hover .neurobios-mark,
.studios-homepage .title-corner-orb:focus-visible .neurobios-mark{
  transform:scale(1.035) !important;
  filter:
    drop-shadow(0 3px 14px rgba(0,0,0,.72))
    drop-shadow(0 0 12px rgba(70,120,255,.22));
}

/* Keep the reveal clear of the Menu control on narrower desktop widths. */
@media (max-width:980px){
  .studios-homepage .neurobios-orb-reveal{
    width:166px;
    left:50%;
    right:auto;
  }

  .studios-homepage .neurobios-orb-wordmark{
    width:136px;
  }
}

/* Hover reveal is intentionally disabled on touch-sized layouts. */
@media (max-width:700px){
  .studios-homepage .neurobios-orb-reveal{
    display:none;
  }
}

@media (prefers-reduced-motion:reduce){
  .studios-homepage .neurobios-orb-reveal,
  .studios-homepage .title-corner-orb .neurobios-mark{
    transition:none;
  }
}

/* ==============================================================
   STUDIOS — SHARED CANONICAL FOOTER LOCK v2
   Approved homepage footer shared by all live Studios pages.
================================================================ */

.studios-footer{
  position:relative;
  overflow:hidden;
  padding:34px 0 30px !important;
  border-top:1px solid rgba(198,170,105,.16);
  background:
    linear-gradient(
      180deg,
      rgba(7,8,12,.34) 0%,
      rgba(7,8,12,.86) 28%,
      #07080c 100%
    );
  color:rgba(242,239,231,.78);
  text-align:center;
}

.studios-footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(560px 170px at 50% 0%, rgba(198,170,105,.075), transparent 68%);
}

.studios-footer .container{
  position:relative;
  z-index:1;
}

.studios-footer-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.studios-footer-brand{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.studios-footer-lockup{
  display:block;
  width:min(250px, 66vw);
  height:auto;
  filter:
    drop-shadow(0 5px 14px rgba(0,0,0,.52));
}

.studios-footer-tagline{
  margin:10px 0 0;
  color:rgba(242,239,231,.88);
  font-size:13px;
  line-height:1.5;
  letter-spacing:.02em;
  text-shadow:0 2px 12px rgba(0,0,0,.78);
}

.studios-footer-nav{
  display:flex;
  flex-wrap:nowrap;
  justify-content:center;
  gap:10px 20px;
  width:max-content;
  max-width:none;
  margin:18px auto 0;
  white-space:nowrap;
}

.studios-footer-nav a{
  position:relative;
  padding:4px 0 7px;
  color:rgba(223,216,200,.78);
  font-size:10px;
  letter-spacing:.17em;
  text-transform:uppercase;
  text-decoration:none;
  transition:color .20s ease;
}

.studios-footer-nav a::after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:0;
  height:1px;
  background:var(--gold);
  box-shadow:0 0 7px rgba(198,170,105,.42);
  transition:left .22s ease, right .22s ease;
}

.studios-footer-nav a:hover,
.studios-footer-nav a:focus-visible{
  color:#f1d58a;
  outline:none;
}

.studios-footer-nav a:hover::after,
.studios-footer-nav a:focus-visible::after{
  left:0;
  right:0;
}

.studios-footer-rule{
  width:min(420px, 72vw);
  height:1px;
  margin-top:18px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(198,170,105,.34),
    transparent
  );
}

.studios-footer-legal{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
  margin:12px 0 0;
  color:rgba(189,183,171,.66);
  font-size:10px;
  line-height:1.5;
  letter-spacing:.09em;
}

.studios-footer-legal a{
  color:rgba(214,198,158,.78);
  text-decoration:none;
}

.studios-footer-legal a:hover,
.studios-footer-legal a:focus-visible{
  color:#f1d58a;
  outline:none;
}

@media (max-width:700px){
  .studios-footer{
    padding:28px 0 26px !important;
  }

  .studios-footer-lockup{
    width:min(270px, 78vw);
  }

  .studios-footer-nav{
    gap:8px 16px;
    max-width:320px;
  }

  .title-page .studios-footer-nav{
    width:100%;
    max-width:none;
    flex-wrap:wrap;
    white-space:normal;
  }

  .studios-footer-legal{
    flex-direction:column;
    gap:2px;
  }

  .studios-footer-legal > span[aria-hidden="true"]{
    display:none;
  }
}

/* ==============================================================
   STUDIOS TITLE PAGES — UPPER CURRENT-PAGE RIBBON
   Reuses the lower carousel's currentTitleShimmer animation.
================================================================ */

.title-page .slate-carousel .slate-slide[aria-current="page"] .slate-title{
  opacity:1;
  transform:translate(-50%,0);
  color:var(--gold);
}

.title-page .slate-carousel .slate-slide[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:50%;
  top:-5px;
  width:78.7879%;
  transform:translateX(-50%);
  height:2px;
  border-radius:999px;
  background:
    linear-gradient(
      90deg,
      rgba(198,170,105,.18) 0%,
      rgba(244,211,126,.96) 38%,
      rgba(255,243,188,1) 50%,
      rgba(244,211,126,.96) 62%,
      rgba(198,170,105,.18) 100%
    );
  background-size:220% 100%;
  box-shadow:
    0 0 8px rgba(198,170,105,.72),
    0 0 16px rgba(198,170,105,.30);
  animation:currentTitleShimmer 2.8s linear infinite;
}

@media (max-width:1100px){
  .title-page .slate-carousel .slate-slide[aria-current="page"] .slate-title{
    display:block;
    bottom:12px;
    width:calc(100% - 16px);
    max-width:none;
    white-space:normal;
    text-align:center;
  }

  .title-page .slate-carousel .slate-slide[aria-current="page"]::after{
    top:auto;
    bottom:5px;
  }
}

@media (prefers-reduced-motion:reduce){
  .title-page .slate-carousel .slate-slide[aria-current="page"]::after{
    animation:none;
  }
}

@media (max-width:980px){
  .title-page .more-productions-carousel .more-productions-track{
    padding-left:calc(50% - 66px) !important;
    padding-right:calc(50% - 66px) !important;
  }
}

@media (max-width:700px){
  .title-page .more-productions-carousel .more-production-card{
    flex:0 0 116px !important;
  }

  .title-page .more-productions-carousel .more-productions-track{
    padding-left:calc(50% - 58px) !important;
    padding-right:calc(50% - 58px) !important;
  }
}
