:root{--bg:#08090b;--fg:#e8ebf0;--muted:#8a909c;--faint:#4a4f59;--line:rgba(232,235,240,0.1);--pad:clamp(1.25rem,4vw,3rem);--ease:cubic-bezier(0.22,1,0.36,1);--font-sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--font-mono:ui-monospace,"SF Mono","JetBrains Mono","Menlo","Consolas",monospace}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;width:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#field{width:100%;height:100%;display:block;z-index:0}#field,.overlay{position:fixed;inset:0}.overlay{z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,transparent 30%,rgba(8,9,11,.6) 100%),linear-gradient(180deg,rgba(8,9,11,.35),transparent 18%,transparent 82%,rgba(8,9,11,.55))}.stage{position:relative;z-index:2;height:100%;width:100%;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:1fr 1fr;padding:var(--pad);grid-gap:1rem;gap:1rem}.meta{font-family:var(--font-mono);font-size:clamp(.6rem,1.4vw,.72rem);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:.5rem;align-self:start}.meta--tl{grid-row:1;grid-column:1;justify-self:start}.meta--tr{grid-row:1;grid-column:2;justify-self:end}.meta--bl{grid-column:1;justify-self:start}.meta--bl,.meta--br{grid-row:3;align-self:end}.meta--br{grid-column:2;justify-self:end}.mark-text{color:var(--muted)}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 0 rgba(138,144,156,.5);animation:pulse 3.4s var(--ease) infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(138,144,156,.45);opacity:.9}70%{box-shadow:0 0 0 6px rgba(138,144,156,0);opacity:.5}to{box-shadow:0 0 0 0 rgba(138,144,156,0);opacity:.9}}.hero{grid-row:2;grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:clamp(1.4rem,3vw,2rem)}.glyph{width:clamp(46px,7vw,68px);height:auto;color:var(--fg);filter:drop-shadow(0 0 18px rgba(232,235,240,.18));animation:float 7s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0);opacity:.92}50%{transform:translateY(-7px);opacity:1}}.lede{font-size:clamp(.95rem,2vw,1.15rem);line-height:1.5;color:var(--muted);font-weight:350;letter-spacing:.01em;max-width:32ch}.contact{display:inline-flex;align-items:center;gap:.5rem;color:var(--fg);text-decoration:none;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85;transition:opacity .4s var(--ease)}.contact:after{content:"";position:absolute}.contact span{position:relative}.contact span:after{content:"";position:absolute;left:0;bottom:-3px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}.contact svg{transition:transform .4s var(--ease)}.contact:hover{opacity:1}.contact:hover span:after{transform:scaleX(1)}.contact:hover svg{transform:translateX(3px)}.coords{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.contact,.glyph,.lede,.meta{opacity:0;transform:translateY(12px);filter:blur(7px)}.glyph{filter:blur(7px) drop-shadow(0 0 18px rgba(232,235,240,0))}body.ready .contact,body.ready .lede,body.ready .meta{filter:blur(0)}body.ready .contact,body.ready .glyph,body.ready .lede,body.ready .meta{opacity:1;transform:translateY(0);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease),filter 1.1s var(--ease)}body.ready .glyph{filter:blur(0) drop-shadow(0 0 18px rgba(232,235,240,.18));transition-delay:.2s;animation:float 7s ease-in-out infinite;animation-delay:1.3s}body.ready .lede{transition-delay:.5s}body.ready .contact{transition-delay:.7s}body.ready .meta--tl{transition-delay:.9s}body.ready .meta--tr{transition-delay:1s}body.ready .meta--bl{transition-delay:1.1s}body.ready .meta--br{transition-delay:1.2s}@media (max-width:560px){.coords{display:none}}@media (prefers-reduced-motion:reduce){.glyph,.status-dot{animation:none}.contact,.glyph,.lede,.meta{opacity:1;transform:none;filter:none;transition:none}}