/* Vesper-inspired direction, implemented for ARCHon's existing public shell. */
.cinematic-lobby .scene-deck,
.cinematic-lobby .scene { overflow: clip !important; }
.cinematic-lobby .portal-hero {
  background:
    radial-gradient(ellipse at 50% 81%, rgba(77, 211, 190, .11), transparent 38%),
    radial-gradient(ellipse at 57% 64%, rgba(124, 87, 220, .11), transparent 43%),
    #040711;
}
.cinematic-lobby .portal-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(4,7,17,.18) 0 24%, transparent 45%, rgba(4,7,17,.46) 100%);
}
.cinematic-lobby .portal-hero .star-field {
  opacity: .26;
  mask-image: linear-gradient(transparent, black 24%, black 78%, transparent);
  animation: none;
}
.cinematic-lobby .portal-hero .portal-wrap {
  z-index: 0;
  top: 52%;
  width: min(94vw, 1020px);
  height: min(88svh, 650px);
  aspect-ratio: auto;
  opacity: 1;
  pointer-events: none;
  filter: none;
}
.cinematic-lobby .portal-hero .portal-wrap::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 50%;
  width: min(30vw, 280px);
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(225,255,255,.7), rgba(115,235,242,.28) 14%, rgba(115,89,230,.16) 42%, transparent 71%);
  animation: vesper-burst 4.8s ease-out both;
}
@keyframes vesper-burst {
  0% { opacity: 0; transform: translate(-50%,-50%) scale(.08); }
  5% { opacity: .86; transform: translate(-50%,-50%) scale(.25); }
  17% { opacity: .68; transform: translate(-50%,-50%) scale(1.25); }
  34%, 100% { opacity: 0; transform: translate(-50%,-50%) scale(2); }
}
.cinematic-lobby .portal-hero #vesper-field { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.cinematic-lobby .portal-hero #vesper-ambient { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity 1.2s ease; }
.cinematic-lobby .portal-hero.is-active .portal-wrap.is-alive #vesper-field { animation: vesper-breathe 7s ease-in-out infinite; }
.cinematic-lobby .portal-hero.is-active .portal-wrap.is-alive #vesper-ambient { opacity: 1; }
@keyframes vesper-breathe { 0%,100% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(7px,-5px,0) scale(1.01); } }
.cinematic-lobby .portal-hero .vesper-brain {
  display: none;
}
.cinematic-lobby .portal-hero .hero-copy {
  position: relative;
  z-index: 4;
  isolation: isolate;
  align-self: center;
  width: min(100%, 900px);
  margin: 0 auto;
  text-align: center;
}
.cinematic-lobby .portal-hero .hero-copy::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -28px -54px -48px;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 43%, rgba(3,7,18,.74), rgba(3,7,18,.48) 48%, transparent 76%);
}
.cinematic-lobby .portal-hero .hero-signal { top: 73px; }
.cinematic-lobby .portal-hero .hero-copy h1 {
  max-width: 900px;
  color: #f0f4f8;
  font-family: "Segoe UI Variable Display", "Segoe UI", sans-serif;
  font-size: clamp(3.1rem, 5.6vw, 6.4rem);
  font-weight: 300;
  letter-spacing: -.065em;
  line-height: .99;
  text-transform: none;
  text-shadow: 0 10px 45px rgba(0,0,0,.66);
}
.cinematic-lobby .portal-hero .hero-copy h1 em {
  display: inline-block;
  color: #a9d8d8;
  font-size: .82em;
  font-style: normal;
  font-weight: 300;
  letter-spacing: -.055em;
  text-shadow: 0 0 34px rgba(91,222,209,.17);
}
.cinematic-lobby .portal-hero .hero-copy > p:not(.kicker) {
  max-width: 590px;
  margin: 1rem auto 0;
  color: #e4edf2;
  font-size: clamp(.84rem, 1.1vw, 1.02rem);
  line-height: 1.65;
  text-shadow: 0 2px 8px #02050f, 0 0 18px #02050f;
}
.cinematic-lobby .portal-hero .hero-actions { margin-top: 1.35rem; gap: 1rem; }
.cinematic-lobby .portal-hero .hero-actions .cta {
  min-height: 46px;
  border-radius: 999px;
  border-color: rgba(143,255,234,.35);
  color: #07181f;
  background: linear-gradient(115deg,#81e8de,#a9c0f6);
  box-shadow: 0 10px 35px rgba(67,213,198,.18);
}
.cinematic-lobby .portal-hero .hero-actions .text-link { color: #eef5f7; text-shadow: 0 2px 10px #02050f, 0 0 18px #02050f; }
.cinematic-lobby .portal-hero .hero-readout { z-index: 4; bottom: 66px; }
.cinematic-lobby .portal-hero .hero-readout b { color: #a7ddd5; }
.cinematic-lobby .portal-hero .hero-signal { color: #a1b3c2; }
.cinematic-lobby .continuity,
.cinematic-lobby .constellation,
.cinematic-lobby .possibilities,
.cinematic-lobby .vault-boundary,
.cinematic-lobby .channel { background-color: #050915; }
.cinematic-lobby .continuity {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(44px, 8vh, 86px);
  padding: 92px clamp(28px, 6vw, 92px) 85px;
  background:
    radial-gradient(ellipse at 50% 28%, rgba(106, 75, 192, .16), transparent 46%),
    radial-gradient(ellipse at 50% 88%, rgba(45, 188, 177, .085), transparent 42%),
    #050915;
}
.cinematic-lobby .continuity .section-intro {
  width: min(100%, 1120px);
  text-align: center;
}
.cinematic-lobby .continuity .section-intro h2 {
  max-width: 1120px;
  margin: auto;
  font-size: clamp(3.1rem, 5.7vw, 6.6rem);
}
.cinematic-lobby .continuity .section-intro h2 em { color: #a7e6dd; }
.cinematic-lobby .continuity .memory-stream {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 2.4vw, 38px);
  width: min(100%, 1220px);
  max-width: none;
  margin: 0 auto;
  background: transparent;
}
.cinematic-lobby .continuity .stream-line {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
  width: 100%;
  height: 2px;
  transform: scaleX(0);
  transform-origin: left;
  background: linear-gradient(90deg,#6be8d7,#9ad5ef 38%,#ac97e4 70%,#b9e8df);
  box-shadow: 0 0 20px rgba(115, 218, 214, .3);
}
.cinematic-lobby .continuity.is-active .stream-line { animation: continuity-line 1.1s .12s ease-out both; }
.cinematic-lobby .continuity .stream-moment,
.cinematic-lobby .continuity .stream-moment.left,
.cinematic-lobby .continuity .stream-moment.right {
  display: block;
  min-height: 0;
  padding: 40px 4px 0;
  border: 0;
  background: transparent;
  text-align: left;
}
.cinematic-lobby .continuity .stream-moment:nth-of-type(2) { transition-delay: .12s; }
.cinematic-lobby .continuity .stream-moment:nth-of-type(3) { transition-delay: .24s; }
.cinematic-lobby .continuity .stream-moment:nth-of-type(4) { transition-delay: .36s; }
.cinematic-lobby .continuity .stream-moment .stream-orb {
  position: absolute;
  top: -6px;
  left: 4px;
  width: 13px;
  height: 13px;
  margin: 0;
  border-color: #9feee6;
  background: #64dccc;
  box-shadow: 0 0 0 7px rgba(105, 223, 212, .07), 0 0 22px #77f0d7;
}
.cinematic-lobby .continuity .stream-index {
  top: 15px;
  right: 0 !important;
  left: auto !important;
  color: rgba(157, 196, 216, .11);
  font-family: "Segoe UI Variable Display", "Segoe UI", sans-serif;
  font-size: clamp(3.8rem, 6vw, 6rem);
  font-weight: 200;
}
.cinematic-lobby .continuity .stream-moment h3 {
  max-width: 250px;
  margin: .6rem 0 .85rem;
  color: #e4edf0;
  font-size: clamp(1.35rem, 1.65vw, 1.85rem);
  line-height: 1.04;
}
.cinematic-lobby .continuity .stream-moment p:last-child {
  max-width: 270px;
  margin: 0;
  color: #a4b6c2;
  font-size: clamp(.72rem, .82vw, .86rem);
  line-height: 1.55;
}
@keyframes continuity-line { to { transform: scaleX(1); } }
.cinematic-lobby .stream-moment,
.cinematic-lobby .node-inspector,
.cinematic-lobby .transmission,
.cinematic-lobby .privacy-brief,
.cinematic-lobby .capability { color-scheme: dark; }
.cinematic-lobby .stream-moment,
.cinematic-lobby .node-inspector,
.cinematic-lobby .transmission { border-color: rgba(111,210,203,.19); background-color: rgba(7,14,27,.84); }
.cinematic-lobby .stream-moment:hover,
.cinematic-lobby .node-inspector:focus-within { border-color: rgba(128,231,218,.37); }
.cinematic-lobby .neural-chamber { border-color: rgba(111,210,203,.19); background: radial-gradient(circle at 51% 44%,rgba(92,73,181,.17),transparent 42%),#060b18; }
@media(max-width:760px) {
  .cinematic-lobby .scene-dots { gap: 0; }
  .cinematic-lobby .scene-dots button { width: 28px; height: 36px; }
  .cinematic-lobby .vault-boundary .vault-visual { display: none; }
  .cinematic-lobby .inquiry-panel { max-height: calc(100dvh - 28px); overflow-y: auto; }
  .cinematic-lobby .inquiry-panel legend { font-size: 1.3rem; }
  .cinematic-lobby .inquiry-panel .field-grid label > span { font-size: .65rem; }
  .cinematic-lobby .inquiry-panel input:not([type="checkbox"]),
  .cinematic-lobby .inquiry-panel select,
  .cinematic-lobby .inquiry-panel textarea { min-height: 40px; font-size: .82rem; }
  .cinematic-lobby .inquiry-panel .consent { grid-template-columns: 20px 1fr; gap: .65rem; padding: .7rem; }
  .cinematic-lobby .inquiry-panel .consent b { color: #eef4f6; font-size: .78rem; line-height: 1.3; }
  .cinematic-lobby .inquiry-panel .consent span { color: #b6bed0; font-size: .75rem; line-height: 1.45; }
  .cinematic-lobby .inquiry-panel .privacy-brief { padding: .7rem; }
  .cinematic-lobby .inquiry-panel .privacy-brief b { color: #d0c3f4; font-size: .63rem; }
  .cinematic-lobby .inquiry-panel .privacy-brief p { display: block; color: #b6bed0; font-size: .7rem; line-height: 1.45; }
  .cinematic-lobby .inquiry-panel .form-controls .cta,
  .cinematic-lobby .inquiry-panel .form-controls .ghost { min-height: 40px; }
  .cinematic-lobby .portal-hero .hero-copy::before { background: radial-gradient(ellipse at 50% 43%, rgba(3,7,18,.48), rgba(3,7,18,.28) 48%, transparent 76%); }
  .cinematic-lobby .portal-hero .hero-copy { margin-top: 0; }
  .cinematic-lobby .portal-hero .hero-copy h1 { font-size: clamp(2.6rem, 11vw, 4.5rem); }
  .cinematic-lobby .portal-hero .hero-copy > p:not(.kicker) { max-width: 340px; font-size: .82rem; }
  .cinematic-lobby .portal-hero .portal-wrap { top: 42%; width: min(135vw, 560px); height: 70svh; opacity: .94; }
  .cinematic-lobby .portal-hero .hero-actions { margin-top: .8rem; }
  .cinematic-lobby .portal-hero .hero-actions .cta { min-height: 42px; }
  .cinematic-lobby .continuity { justify-content: flex-start; gap: 28px; padding: 100px 22px 78px; }
  .cinematic-lobby .continuity .section-intro { text-align: left; }
  .cinematic-lobby .continuity .section-intro h2 { font-size: clamp(2.55rem, 10vw, 3.8rem); }
  .cinematic-lobby .continuity .memory-stream { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 17px; }
  .cinematic-lobby .continuity .stream-line { display: none; }
  .cinematic-lobby .continuity .stream-moment,
  .cinematic-lobby .continuity .stream-moment.left,
  .cinematic-lobby .continuity .stream-moment.right { padding: 15px 0 0; border-top: 1px solid rgba(120,220,211,.36); }
  .cinematic-lobby .continuity .stream-moment .stream-orb { top: -5px; left: 0; width: 9px; height: 9px; }
  .cinematic-lobby .continuity .stream-index { display: none; }
  .cinematic-lobby .continuity .stream-moment h3 { font-size: 1.08rem; }
  .cinematic-lobby .continuity .stream-moment p:last-child { font-size: .7rem; line-height: 1.46; }
}
@media(max-width:390px) and (max-height:720px) {
  .cinematic-lobby .portal-hero .hero-signal { display: none; }
  .cinematic-lobby .portal-hero .hero-copy { margin-top: 0; }
  .cinematic-lobby .portal-hero .hero-copy h1 { font-size: 2.45rem; }
  .cinematic-lobby .portal-hero .portal-wrap { top: 45%; height: 65svh; }
}
@media(prefers-reduced-motion:reduce) {
  .cinematic-lobby .portal-hero .portal-wrap { filter: none; }
  .cinematic-lobby .portal-hero .portal-wrap::before { display: none; animation: none; }
  .cinematic-lobby .portal-hero.is-active .portal-wrap.is-alive #vesper-field { animation: none; }
  .cinematic-lobby .portal-hero #vesper-ambient { display: none; }
  .cinematic-lobby .continuity .stream-line { transform: none; animation: none; }
}
