:root { color-scheme: dark; --ink: #090710; --paper: #f5f0ff; --muted: #a8a1b9; }
* { box-sizing: border-box; }
html { min-height: 100%; background: var(--ink); }
body { margin: 0; color: var(--paper); font-family: Arial, Helvetica, sans-serif; -webkit-font-smoothing: antialiased; }
.landing { position: relative; isolation: isolate; min-height: 100svh; overflow: hidden; display: grid; grid-template-rows: auto 1fr auto; padding: 30px 44px 24px; }
.atmosphere { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: -2; background: radial-gradient(ellipse at 50% 32%, #1a112b 0, #090710 68%); }
.atmosphere i { position: absolute; width: 62vw; height: 62vw; border-radius: 50%; filter: blur(90px); opacity: .16; animation: drift 18s ease-in-out infinite alternate; animation-play-state: paused; }
.atmosphere i:nth-child(1) { background: #7430ff; top: -35vw; left: -8vw; }
.atmosphere i:nth-child(2) { background: #ff4f5e; bottom: -53vw; left: 8vw; animation-delay: -7s; }
.atmosphere i:nth-child(3) { background: #00c9ad; right: -45vw; top: 7vw; animation-delay: -12s; }
.site-header, .site-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; position: relative; z-index: 2; }
.site-header { padding-bottom: 25px; border-bottom: 1px solid #ffffff1c; }
.wordmark { width: 142px; height: auto; filter: invert(1); mix-blend-mode: screen; }
.edition, .site-footer, .side-note, .eyebrow { font-size: 10px; letter-spacing: .17em; text-transform: uppercase; }
.edition { color: #d0cadb; }
.edition-year { color: var(--muted); margin-left: 30px; }
.hero { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0 0 42px; }
.sculpture { mix-blend-mode: screen; position: relative; width: min(64vh, 680px, 76vw); aspect-ratio: 1; flex-shrink: 0; margin: -12px 0 -38px; transform: translate3d(var(--mx, 0px), var(--my, 0px), 0); transition: transform 1.2s cubic-bezier(.16,1,.3,1); }
.poster, .film { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
.film { opacity: 0; transition: opacity .7s; }
.film.ready { opacity: 1; }
.halo { position: absolute; inset: 24%; border-radius: 50%; background: #762df0; filter: blur(80px); opacity: .25; }
.hero-copy { position: relative; z-index: 1; text-align: center; }
.eyebrow { display: flex; align-items: center; justify-content: center; gap: 10px; color: #c4b3e6; font-size: 9px; letter-spacing: .24em; margin: 0 0 17px; }
.signal { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #a6f4dc; box-shadow: 0 0 12px #74ffbe55; flex: 0 0 auto; }
h1 { font-size: clamp(35px, 4.8vw, 68px); line-height: 1.05; font-weight: 400; letter-spacing: -.065em; margin: 0; }
h1 em { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.065em; color: #d8b6ef; }
.subtitle { font-size: 12px; letter-spacing: .025em; color: var(--muted); margin: 20px 0 0; }
.mobile-break { display: none; }
.side-note { position: absolute; left: 0; top: 46%; writing-mode: vertical-rl; transform: rotate(180deg); font-size: 9px; letter-spacing: .16em; color: #9d91b4; }
.right-note { left: auto; right: 0; transform: none; }
.site-footer { border-top: 1px solid #ffffff1c; padding-top: 21px; color: var(--muted); font-size: 9px; letter-spacing: .1em; }
.launch { display: flex; align-items: center; gap: 10px; color: #e1d8ef; }
.footer-signature span { color: #eee4fc; }
.motion-on .atmosphere i { animation-play-state: running; }
@keyframes drift { to { transform: translate3d(9vw, 7vw, 0) scale(1.2); } }
@media (min-width: 1500px) { .landing { padding: 36px 60px 28px; } .sculpture { width: min(64vh, 800px); } }
@media (max-width: 680px) {
  .landing { padding: 24px 22px 20px; }
  .site-header { padding-bottom: 21px; }
  .wordmark { width: 113px; }
  .edition { font-size: 8px; letter-spacing: .09em; }
  .edition-year, .side-note { display: none; }
  .hero { padding: 20px 0 34px; }
  .sculpture { width: min(108vw, 58vh); margin: -18px -30px -15px; }
  .eyebrow { font-size: 8px; letter-spacing: .19em; margin-bottom: 18px; }
  h1 { font-size: clamp(38px, 9vw, 57px); }
  .subtitle { font-size: 11px; margin-top: 18px; }
  .site-footer { flex-wrap: wrap; gap: 18px; padding-top: 18px; }
  .footer-signature { flex-basis: 100%; text-align: center; font-size: 8px; letter-spacing: .08em; }
  .atmosphere i { width: 110vw; height: 110vw; filter: blur(60px); }
  .atmosphere i:nth-child(2) { bottom: -75vw; }
}
@media (max-width: 380px) { .mobile-break { display: block; } .edition { max-width: 90px; text-align: right; line-height: 1.7; } }
@media (prefers-reduced-motion: reduce) { .sculpture, .film { transition: none; } }
