:root { --lobby-ink: #f6f5f2; --lobby-dark: #101112; --lobby-line: rgba(255,255,255,.36); --lobby-ease: cubic-bezier(.2,.65,.3,1); }
* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; background: var(--lobby-dark); color: var(--lobby-ink); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
:focus-visible { outline: 2px solid #fff; outline-offset: -6px; }
.lobby { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 100svh; overflow: hidden; }
.lobby-panel { position: relative; display: flex; align-items: flex-end; min-width: 0; min-height: 100svh; overflow: hidden; color: inherit; text-decoration: none; isolation: isolate; transition: filter .7s var(--lobby-ease); }
.lobby-panel::before { position: absolute; z-index: -2; inset: 0; background-position: center; background-size: cover; content: ""; transition: transform 1s var(--lobby-ease); }
.lobby-panel--xavier::before { background-image: url("images/archive-header.jpg"); background-position: left 58%; filter: grayscale(1) contrast(1.1); }
.lobby-panel--community::before { background-image:url("images/southland-background.jpg"); background-position:center 48%; }
.lobby-panel--community { color:#f4ecd9; }
.lobby-panel--community .lobby-panel__veil { background:linear-gradient(0deg,rgba(8,7,6,.94) 0%,rgba(8,7,6,.66) 16%,rgba(8,7,6,0) 50%); }
.lobby-panel__veil { position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.79)); transition: background .5s var(--lobby-ease); }
.lobby-panel + .lobby-panel { border-left: 1px solid var(--lobby-line); }
.lobby-panel__content { position:relative; z-index:1; width:min(100%,620px); padding:clamp(30px,5vw,84px); transform:translateY(0); transition:transform .55s var(--lobby-ease); }
.lobby-panel h1 { min-height:clamp(154px,15vw,210px); max-width:8ch; margin:0; font-size:clamp(3.1rem,6vw,7rem); font-weight:400; letter-spacing:-.075em; line-height:.88; }
.lobby-panel h1.lobby-wordmark { width: min(100%, 500px); max-width: none; height: clamp(154px, 15vw, 210px); min-height: 0; overflow: hidden; }
.lobby-wordmark img { width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.lobby-panel h1.lobby-wordmark--southland { display:flex; align-items:center; width:min(100%,239.734375px); height:auto; min-height:0; overflow:visible; }
.lobby-panel h1.lobby-wordmark--southland img { width:100%; height:auto; object-fit:contain; object-position:left center; filter:sepia(.55) saturate(.75) brightness(.36); }
.lobby-panel--xavier h1 { transform:translateY(clamp(24px,4.2vw,60px)); }
.lobby-panel--xavier p { transform:translateY(clamp(-60px,-4.2vw,-24px)); }
.lobby-panel--community p.lobby-panel__subtitle { margin:8px 0 0; font-size:.7rem; font-weight:700; letter-spacing:.16em; line-height:1; text-transform:uppercase; }
.lobby-panel--community p.lobby-panel__subtitle + p { margin-top:12px; }
.lobby-panel p:not(.lobby-panel__eyebrow) { max-width:28ch; margin:24px 0 0; font-size:clamp(.95rem,1.3vw,1.15rem); line-height:1.45; }
@media (hover: hover) {
  .lobby:hover .lobby-panel { filter: brightness(.72); }
  .lobby:hover .lobby-panel:hover { filter: brightness(1); }
  .lobby-panel:hover::before { transform: scale(1.04); }
  .lobby-panel:hover .lobby-panel__veil { background: linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.7)); }
  .lobby-panel--community:hover .lobby-panel__veil { background:linear-gradient(0deg,rgba(8,7,6,.9) 0%,rgba(8,7,6,.58) 16%,rgba(8,7,6,0) 50%); }
  .lobby-panel:hover .lobby-panel__content { transform: translateY(-8px); }
}
@media (max-width:700px) { .lobby { display:block; } .lobby-panel { min-height:50svh; min-height:50dvh; } .lobby-panel + .lobby-panel { border-top:1px solid var(--lobby-line); border-left:0; } .lobby-panel__content { width:100%; padding:clamp(20px,6vw,28px) 24px; } .lobby-panel h1 { min-height:clamp(84px,25vw,108px); font-size:clamp(2.7rem,13vw,4.5rem); } .lobby-panel h1.lobby-wordmark { width:min(100%,360px); height:clamp(84px,25vw,108px); } .lobby-panel h1.lobby-wordmark--southland { width:min(100%,218.992188px); height:auto; min-height:0; transform:translate(-4px,20px); } .lobby-panel--xavier h1 { transform:translateY(calc(clamp(24px,4.2vw,60px) + 23px)); } .lobby-panel p { margin:15px 0 0; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: .01ms !important; } }
