:root{--bg:#050505;--text:#fafafa;--text-muted:#a1a1aa;--slofi-glow:#c4a574;--slofi-glow-soft:#e8d4b0;--travyen-glow:#3d7a66;--travyen-ember:#db8856;--ease:cubic-bezier(.16, 1, .3, 1);--pad:clamp(1rem, 3.5vw, 2.75rem);--font-display:"Syne", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;height:100%;margin:0}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-display);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow:hidden auto}.grain,.vignette{pointer-events:none;z-index:0;position:fixed;inset:0}.grain{opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.vignette{background:radial-gradient(70% 50% at 50% 40%,#ffffff08,#0000 60%),radial-gradient(100% 100%,#0000 40%,#0009 100%)}.shell{z-index:1;min-height:100dvh;padding:max(var(--pad), env(safe-area-inset-top)) max(var(--pad), env(safe-area-inset-right)) max(var(--pad), env(safe-area-inset-bottom)) max(var(--pad), env(safe-area-inset-left));flex-direction:column;display:flex;position:relative}.stage{flex:1;align-content:center;gap:clamp(1.35rem,3.5vh,2.75rem);width:min(100%,68rem);min-height:0;margin-inline:auto;display:grid}.brand{text-align:center}.wordmark{letter-spacing:-.045em;margin:0;font-size:clamp(3rem,11vw,6.5rem);font-weight:600;line-height:.95}.credit{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);margin:clamp(.55rem,1.4vh,.85rem) 0 0;font-size:clamp(.7rem,1.5vw,.8rem);font-weight:500}.credit__name{color:color-mix(in oklab, var(--text) 82%, var(--text-muted));font-weight:600}.tagline{letter-spacing:-.01em;max-width:28rem;color:var(--text-muted);margin:clamp(.55rem,1.5vh,.9rem) auto 0;font-size:clamp(.95rem,2.1vw,1.15rem);font-weight:500;line-height:1.45}.portals{grid-template-columns:1fr;gap:.85rem;display:grid}.portal{--portal-base:#0a0908;background:var(--portal-base);min-height:clamp(220px,34vh,340px);color:var(--text);isolation:isolate;transition:transform .35s var(--ease), border-color .35s var(--ease);border:1px solid #ffffff14;border-radius:14px;align-content:space-between;justify-items:start;gap:.65rem;padding:clamp(1.25rem,3vh,1.85rem);text-decoration:none;display:grid;position:relative;overflow:hidden}.portal:before{content:"";z-index:0;pointer-events:none;filter:blur(28px);opacity:.9;position:absolute;inset:-28%;transform:translateZ(0)}.portal:after{content:"";z-index:0;pointer-events:none;opacity:.3;background:repeating-linear-gradient(-18deg,#0000 0 10px,#ffffff07 10px 11px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 88%);mask-image:linear-gradient(#000 0%,#0000 88%)}.portal>*{z-index:1;position:relative}.portal--slofi{--portal-base:#0c0a08;border-color:color-mix(in oklab, var(--slofi-glow) 22%, #ffffff0f)}.portal--slofi:before{background:radial-gradient(circle at 50% 88%, color-mix(in oklab, var(--slofi-glow) 70%, transparent) 0%, transparent 55%), radial-gradient(circle at 18% 8%, color-mix(in oklab, var(--slofi-glow-soft) 55%, transparent) 0%, transparent 48%)}.portal--travyen{--portal-base:#070a09;border-color:color-mix(in oklab, var(--travyen-glow) 28%, #ffffff0f)}.portal--travyen:before{background:radial-gradient(circle at 50% 88%, color-mix(in oklab, var(--travyen-ember) 62%, transparent) 0%, color-mix(in oklab, var(--travyen-glow) 40%, transparent) 28%, transparent 55%), radial-gradient(circle at 18% 8%, color-mix(in oklab, var(--travyen-glow) 50%, transparent) 0%, transparent 48%)}.portal:hover,.portal:focus-visible{transform:translateY(-4px)}.portal--slofi:hover,.portal--slofi:focus-visible{border-color:color-mix(in oklab, var(--slofi-glow) 40%, #ffffff1a)}.portal--travyen:hover,.portal--travyen:focus-visible{border-color:color-mix(in oklab, var(--travyen-ember) 38%, #ffffff1a)}.portal:focus-visible{outline:2px solid var(--text);outline-offset:3px}.portal__logo{object-fit:contain;image-rendering:auto;filter:drop-shadow(0 12px 28px #00000059);background:0 0;width:clamp(5.5rem,12vw,7.5rem);height:clamp(5.5rem,12vw,7.5rem)}.portal__name{letter-spacing:-.03em;color:var(--text);margin-top:auto;padding-top:.75rem;font-size:clamp(1.45rem,3vw,2rem);font-weight:600;line-height:1.05}.portal__line{color:oklab(100% 0 5.96046e-8/.68);max-width:18rem;font-size:clamp(.85rem,1.8vw,.98rem);font-weight:500;line-height:1.45}.portal__go{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:oklab(100% 0 5.96046e-8/.58);transition:color .3s var(--ease), transform .3s var(--ease);margin-top:.15rem;font-size:.72rem;font-weight:600}.portal:hover .portal__go,.portal:focus-visible .portal__go{color:var(--text);transform:translate(3px)}html.js .reveal{opacity:0;transform:translateY(14px)}html.js body.is-ready .reveal{animation:rise .7s var(--ease) both}html.js body.is-ready .reveal[data-reveal="0"]{animation-delay:40ms}html.js body.is-ready .reveal[data-reveal="1"]{animation-delay:.12s}html.js body.is-ready .reveal[data-reveal="2"]{animation-delay:.2s}html.js body.is-ready .reveal[data-reveal="3"]{animation-delay:.3s}html.js body.is-ready .reveal[data-reveal="4"]{animation-delay:.4s}@keyframes rise{to{opacity:1;transform:translateY(0)}}@media (width>=900px){.stage{gap:clamp(1.75rem,4vh,3rem)}.portals{grid-template-columns:1fr 1fr;gap:1rem}.portal{min-height:clamp(260px,38vh,360px)}}@media (height<=720px){.wordmark{font-size:clamp(2.5rem,9vw,4.75rem)}.portal{min-height:clamp(180px,30vh,240px);padding:1.1rem 1.25rem}.portal__logo{width:4.5rem;height:4.5rem}}@media (height<=600px){.tagline{display:none}.stage{gap:1rem}.portal{grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-content:center;column-gap:1rem;min-height:9.5rem}.portal__logo{grid-row:1/span 2;width:3.75rem;height:3.75rem}.portal__name{margin-top:0;padding-top:0}.portal__go{grid-column:2}}@media (prefers-reduced-motion:reduce){html.js .reveal{opacity:1;transform:none}html.js body.is-ready .reveal{animation:none}.portal,.portal__go{transition:none}.portal:hover,.portal:focus-visible{transform:none}.portal:before{filter:blur(22px)}}
