/* BIFROST | Static landing page — no JavaScript or third-party resources. */
:root { color-scheme: dark; --night:#030b16; --blue:#70cfff; --gold:#e6ba75; }
*,*::before,*::after { box-sizing: border-box; }
html { background:var(--night); min-height:100%; }
body { margin:0; min-height:100vh; min-height:100svh; background:radial-gradient(ellipse 80% 58% at 48% 52%, #09182a 0%, #030b16 75%); color:#f4f7fb; font-family:Arial,Helvetica,sans-serif; }
.stage { min-height:100vh; min-height:100svh; padding:16px; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; }
.artwork { width:min(100%, 1470px, calc((100svh - 32px)*1.5)); flex:0 1 auto; }
.artwork picture { display:block; }
.artwork img { width:100%; height:auto; display:block; object-fit:contain; }
.mobile-brand { display:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:700px) {
  .stage { padding:24px 0 35px; gap:clamp(4px,2.5svh,20px); }
  .artwork { width:100%; max-width:700px; }
  .mobile-brand { display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 16px; }
  .mobile-brand h1 { margin:0; color:#f2f5fa; font-size:clamp(30px,9.5vw,58px); font-weight:400; letter-spacing:.25em; text-indent:.25em; line-height:1.15; }
  .mobile-brand p { margin:12px 0 0; color:var(--gold); font-size:clamp(10px,2.85vw,15px); font-weight:400; letter-spacing:.16em; line-height:1.65; }
  .desktop-brand { display:none; }
}
@media (max-height:520px) and (orientation:landscape) {
  .stage { padding:8px; }
  .artwork { width:min(100%, calc((100svh - 16px)*1.5)); }
}
