.luminosana-page {
  --lumino-gold: #d9bd77;
  --lumino-gold-bright: #f4e2a9;
  --lumino-cyan: #76d9e4;
  background:
    radial-gradient(circle at 16% 12%, rgba(32, 150, 177, .19), transparent 28rem),
    radial-gradient(circle at 84% 31%, rgba(217, 189, 119, .15), transparent 25rem),
    radial-gradient(circle at 52% 72%, rgba(64, 78, 163, .16), transparent 32rem),
    #080f20;
}

.luminosana-page main,
.luminosana-page .footer { position: relative; z-index: 2; }

.luminosana-reset {
  display: grid;
  min-height: 88svh;
  width: min(1100px, calc(100% - 3rem));
  margin: 0 auto;
  padding: 10rem 0 7rem;
  place-content: center;
  place-items: center;
  text-align: center;
}

.luminosana-reset-logo {
  width: min(760px, 82vw);
  margin: 0 0 2.5rem;
  line-height: 1;
}

.luminosana-reset-logo img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 0 34px rgba(219, 190, 115, .28));
}

.lumino-orbits {
  position: fixed;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
  contain: layout paint;
}

.lumino-float {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: clamp(42px, 5vw, 72px);
  height: auto;
  opacity: 0;
  object-fit: contain;
  filter: drop-shadow(0 0 15px rgba(224, 201, 137, .4));
  user-select: none;
  will-change: transform, opacity;
}

.lumino-float-logo {
  width: clamp(78px, 9vw, 132px);
  animation: lumino-logo-flight 176s ease-in-out -41s infinite both;
}

.lumino-float-cube {
  width: clamp(58px, 6.5vw, 96px);
  animation: lumino-cube-flight 154s ease-in-out -86s infinite both;
}

.lumino-float-spirit {
  width: clamp(34px, 3.4vw, 50px);
  animation: lumino-spirit-flight 167s ease-in-out -119s infinite both;
}

.professor-q-float {
  width: clamp(42px, 4.2vw, 62px);
  animation: professor-q-flight 193s ease-in-out -73s infinite both;
  filter: drop-shadow(0 0 11px rgba(118, 217, 228, .32)) drop-shadow(0 9px 16px rgba(0,0,0,.3));
}

@keyframes lumino-logo-flight {
  0%, 100% { opacity: 0; transform: translate3d(-20vw, 72vh, 0) rotate(-4deg) scale(.84); }
  9% { opacity: .66; }
  28% { transform: translate3d(24vw, 47vh, 0) rotate(3deg) scale(.96); }
  48% { transform: translate3d(53vw, 22vh, 0) rotate(-2deg) scale(1); }
  69% { transform: translate3d(76vw, 58vh, 0) rotate(4deg) scale(.9); }
  91% { opacity: .66; }
  100% { opacity: 0; transform: translate3d(115vw, 33vh, 0) rotate(-3deg) scale(.8); }
}

@keyframes lumino-cube-flight {
  0%, 100% { opacity: 0; transform: translate3d(108vw, 14vh, 0) rotate(4deg) scale(.75); }
  8% { opacity: .7; }
  27% { transform: translate3d(73vw, 37vh, 0) rotate(-5deg) scale(.94); }
  43% { transform: translate3d(52vw, 55vh, 0) rotate(4deg) scale(1); }
  50% { transform: translate3d(46vw, 48vh, 0) rotate(-2deg) scale(.96); }
  58% { transform: translate3d(39vw, 57vh, 0) rotate(3deg) scale(1.02); }
  79% { opacity: .7; transform: translate3d(13vw, 30vh, 0) rotate(-4deg) scale(.88); }
  94% { opacity: 0; transform: translate3d(-14vw, 69vh, 0) rotate(3deg) scale(.76); }
}

@keyframes lumino-spirit-flight {
  0%, 100% { opacity: 0; transform: translate3d(-10vw, 19vh, 0) rotate(-7deg) scale(.78); }
  9% { opacity: .78; }
  25% { transform: translate3d(23vw, 35vh, 0) rotate(6deg) scale(.92); }
  38% { transform: translate3d(40vw, 28vh, 0) rotate(-4deg) translateY(-16px) scale(.98); }
  43% { transform: translate3d(46vw, 33vh, 0) rotate(4deg) translateY(10px) scale(1); }
  48% { transform: translate3d(52vw, 27vh, 0) rotate(-3deg) translateY(-13px) scale(.97); }
  66% { transform: translate3d(71vw, 52vh, 0) rotate(5deg) scale(.9); }
  89% { opacity: .78; transform: translate3d(96vw, 39vh, 0) rotate(-5deg) scale(.84); }
  100% { opacity: 0; transform: translate3d(112vw, 70vh, 0) rotate(3deg) scale(.76); }
}

@keyframes professor-q-flight {
  0%, 100% { opacity: 0; transform: translate3d(112vw, 74vh, 0) rotate(2deg) scale(.78); }
  8% { opacity: .78; }
  26% { transform: translate3d(76vw, 54vh, 0) rotate(-3deg) translateY(-10px) scale(.9); }
  43% { transform: translate3d(54vw, 27vh, 0) rotate(2deg) translateY(8px) scale(.96); }
  50% { transform: translate3d(47vw, 32vh, 0) rotate(-2deg) translateY(-9px) scale(1); }
  57% { transform: translate3d(39vw, 25vh, 0) rotate(2deg) translateY(7px) scale(.97); }
  76% { opacity: .78; transform: translate3d(15vw, 49vh, 0) rotate(-3deg) scale(.88); }
  94% { opacity: 0; transform: translate3d(-12vw, 19vh, 0) rotate(2deg) scale(.76); }
}

.lumino-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
  width: min(1180px, calc(100% - 3rem));
  min-height: 92svh;
  margin: 0 auto;
  padding: 9rem 0 5rem;
}

.lumino-hero::before {
  position: absolute;
  top: 8%;
  right: -10%;
  width: 61%;
  aspect-ratio: 1;
  content: "";
  pointer-events: none;
  background: radial-gradient(circle, rgba(97, 210, 221, .17), rgba(224, 197, 122, .09) 39%, transparent 70%);
  filter: blur(18px);
}

.lumino-hero-copy,
.lumino-logo-card { position: relative; z-index: 1; min-width: 0; }
.sana-light-hero h1 { font-size: clamp(3rem, 5.9vw, 6.35rem); }
.sana-light-hero h1 em { display: block; color: var(--lumino-gold-bright); }
.lumino-hero-intro { max-width: 43rem; color: #cbd8df; font-size: 1.03rem; }
.sana-light-stage {
  position: relative;
  display: grid;
  min-height: 520px;
  padding: 2.5rem;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(239, 218, 163, .27);
  border-radius: 2.5rem;
  background: radial-gradient(circle at 50% 44%, rgba(97, 210, 221, .2), transparent 48%), linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.025));
  box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.08);
}
.sana-light-stage > img { position: relative; z-index: 2; width: min(88%, 430px); filter: drop-shadow(0 28px 38px rgba(0,0,0,.34)) drop-shadow(0 0 22px rgba(111, 221, 230, .2)); }
.sana-light-ring { position: absolute; z-index: 1; width: 72%; aspect-ratio: 1; border: 1px solid rgba(118, 217, 228, .3); border-radius: 50%; box-shadow: 0 0 28px rgba(118, 217, 228, .13), inset 0 0 28px rgba(217, 189, 119, .08); }
.sana-light-ring-two { width: 54%; border-color: rgba(239, 218, 163, .28); }
.sana-stage-caption { position: absolute; right: 1.5rem; bottom: 1.2rem; left: 1.5rem; z-index: 3; color: #dbe8e9; font-size: .78rem; font-weight: 750; letter-spacing: .12em; text-align: center; text-transform: uppercase; }
.lumino-title-logo { margin: 1rem 0 1.8rem; line-height: 1; }
.lumino-title-logo img { width: min(100%, 610px); height: auto; filter: drop-shadow(0 0 25px rgba(219, 190, 115, .24)); }
.lumino-hero-statement { max-width: 44rem; margin: 0 0 1.25rem; color: #fff9e9; font-family: var(--serif); font-size: clamp(1.85rem, 3.5vw, 3.3rem); line-height: 1.16; }
.lumino-hero-statement em { display: block; color: var(--lumino-gold-bright); }
.lumino-lead { max-width: 43rem; color: #edf4f2; font-family: var(--serif); font-size: clamp(1.25rem, 2.2vw, 1.78rem); line-height: 1.45; }

.lumino-logo-card {
  display: grid;
  min-height: 390px;
  padding: clamp(2rem, 5vw, 4rem);
  place-items: center;
  border: 1px solid rgba(239, 218, 163, .27);
  border-radius: 2.5rem;
  background:
    radial-gradient(circle at 50% 40%, rgba(47, 166, 186, .19), transparent 55%),
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.025));
  box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.08);
  text-align: center;
}
.lumino-logo-card img { width: min(100%, 390px); filter: drop-shadow(0 0 28px rgba(219, 190, 115, .22)); }
.lumino-logo-card span { align-self: end; color: #c5d9dc; font-size: .78rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.lumino-object-stage { position: relative; display: block; }
.lumino-object-stage .stage-cube { position: absolute; inset: 2rem auto auto 50%; width: min(90%, 430px); height: calc(100% - 5.5rem); transform: translateX(-55%); object-fit: contain; }
.lumino-object-stage .stage-spirit { position: absolute; right: 7%; bottom: 3.8rem; width: min(26%, 112px); height: 60%; object-fit: contain; filter: drop-shadow(0 18px 25px rgba(0,0,0,.32)); }
.lumino-object-stage span { position: absolute; right: 1.5rem; bottom: 1.2rem; left: 1.5rem; }

.lumino-intro { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 8vw, 8rem); align-items: start; padding: 8rem 0; }
.lumino-intro-copy { padding-top: 2.5rem; color: #cbd8df; font-size: 1.08rem; }
.lumino-brand-section { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; padding: 8rem 0; }
.lumino-brand-copy { min-width: 0; }
.lumino-brand-text { max-width: 43rem; margin-bottom: 1.75rem; color: #cbd8df; font-size: 1.05rem; }

.worlds-section { padding: 7rem 0; }
.worlds-heading { max-width: 760px; margin-bottom: 3rem; }
.worlds-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.world-card { min-height: 320px; padding: clamp(2rem, 5vw, 4rem); border: 1px solid rgba(125, 217, 228, .18); border-radius: 2rem; background: linear-gradient(145deg, rgba(25, 86, 105, .42), rgba(255,255,255,.025)); box-shadow: 0 28px 72px rgba(1, 8, 20, .32); }
.world-card-gold { border-color: rgba(224, 197, 122, .25); background: linear-gradient(145deg, rgba(128, 99, 43, .31), rgba(255,255,255,.025)); }
.world-number { display: block; margin-bottom: 2.5rem; color: var(--lumino-cyan); font-size: .78rem; font-weight: 800; letter-spacing: .18em; }
.world-card-gold .world-number { color: var(--lumino-gold-bright); }
.world-card h3 { color: #fff9e9; font-family: var(--serif); font-size: clamp(1.7rem, 3vw, 2.45rem); font-weight: 400; }
.world-card p { max-width: 31rem; color: #cbd8df; }

.object-section { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 8vw, 8rem); align-items: center; padding: 7rem 0; }
.object-visual { position: relative; display: grid; min-height: 520px; place-items: center; border: 1px solid rgba(255,255,255,.09); border-radius: 2.5rem; background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018)); overflow: hidden; }
.object-halo { position: absolute; width: 76%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(93, 206, 220, .2), rgba(219, 190, 115, .09) 43%, transparent 70%); filter: blur(10px); }
.object-visual img { position: relative; z-index: 1; width: min(90%, 540px); height: 470px; object-fit: contain; filter: drop-shadow(0 25px 34px rgba(0,0,0,.3)); }
.spirit-visual img { width: min(62%, 330px); height: 460px; }
.object-copy > p:not(.eyebrow, .object-note) { color: #cbd8df; font-size: 1.06rem; }
.object-note { margin: 1.5rem 0; padding: 1rem 1.1rem; color: #e7ddc4; border-left: 2px solid var(--lumino-gold); background: rgba(255,255,255,.035); font-size: .9rem; }
.object-copy .text-link { margin-top: 1rem; }

.lumino-closing { padding: 7rem 0 10rem; }
.closing-card { max-width: 980px; margin: 0 auto; padding: clamp(2.5rem, 7vw, 6rem); border: 1px solid rgba(231, 207, 145, .23); border-radius: 2.5rem; background: radial-gradient(circle at 84% 18%, rgba(99, 213, 224, .15), transparent 18rem), linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); text-align: center; box-shadow: var(--shadow); }
.closing-card > img { width: min(260px, 70%); margin: 0 auto 2.5rem; }
.closing-card .eyebrow::before { display: none; }
.closing-card p:not(.eyebrow) { max-width: 760px; margin-right: auto; margin-left: auto; color: #cbd8df; font-size: 1.03rem; }
.closing-card .button { margin-top: 1.5rem; }
.luminosana-page .footer > small a { color: #aebdc5; }

@media (max-width: 900px) {
  .lumino-hero,
  .lumino-intro,
  .lumino-brand-section,
  .object-section { grid-template-columns: 1fr; }
  .lumino-hero { min-height: auto; padding-top: 8.5rem; }
  .lumino-hero-copy { text-align: center; }
  .lumino-hero-copy .eyebrow::before { display: none; }
  .lumino-hero-copy > p { margin-right: auto; margin-left: auto; }
  .lumino-title-logo img { margin: 0 auto; }
  .lumino-hero .hero-actions { justify-content: center; }
  .lumino-logo-card { width: min(100%, 620px); min-height: 330px; margin: 0 auto; }
  .sana-light-stage { width: min(100%, 620px); min-height: 430px; margin: 0 auto; }
  .lumino-intro-copy { padding-top: 0; }
  .object-section-reverse .object-copy { order: 2; }
  .object-section-reverse .object-visual { order: 1; }
}

@media (max-width: 680px) {
  .worlds-grid { grid-template-columns: 1fr; }
  .world-card { min-height: 0; }
  .object-visual { min-height: 390px; }
  .sana-light-stage { min-height: 390px; }
  .object-visual img { height: 350px; }
  .spirit-visual img { height: 340px; }
  .lumino-float-logo { width: 82px; }
  .lumino-float-cube { width: 58px; }
  .lumino-float-spirit { width: 34px; }
  .professor-q-float { width: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  .lumino-float { display: none; animation: none; }
}

.motion-reset .lumino-float { animation: none !important; }
