/* Page frame: top bar, hero and the tools marquee. */
/* ---------- top bar ---------- */
.bar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:calc(env(safe-area-inset-top,0px) + 18px) var(--gutter) 18px;mix-blend-mode:difference;color:#fff}
.nav{display:flex;gap:28px}
.nav a{font-family:var(--f-mono);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.14em;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:currentColor;transition:right .4s var(--ease)}
.nav a:hover::after{right:0}
.lang{margin-left:auto;display:flex;border:1px solid currentColor;border-radius:999px;padding:3px}
.lang button{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;padding:6px 10px;border-radius:999px;color:inherit}
.lang button[aria-pressed="true"]{background:#fff;color:#000}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:grid;grid-template-rows:1fr auto;overflow:hidden;isolation:isolate}
#gl{position:absolute;inset:0;width:100%;height:100%;z-index:-1;display:block}
.hero .glow{position:absolute;inset:0;z-index:-2;background:radial-gradient(40% 45% at 55% 45%,var(--accent-soft),transparent 70%)}
.hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-top:calc(env(safe-area-inset-top,0px) + 110px)}
.hero-role{max-width:30ch}
.hero-role p{margin:10px 0 0;font-size:var(--t-lg);line-height:1.2;font-weight:500;text-wrap:balance}

.hero-name{margin:0;font-size:var(--t-xxl);padding-block:24px 8px;pointer-events:none}
.hero-name .ln{display:block;overflow:hidden;padding-bottom:.04em}
.hero-name .ch{display:inline-block;transform:translateY(0);transition:transform .95s var(--ease);transition-delay:calc(var(--i) * 55ms)}
.hero-name .ln.r{text-align:right}
.pre .hero-name .ch{transform:translateY(110%)}

.hero-foot{display:flex;justify-content:center;padding-bottom:32px}
.scroll-cue{display:inline-flex;white-space:nowrap;align-items:center;gap:10px;font-family:var(--f-mono);font-size:var(--t-xs);
  text-transform:uppercase;letter-spacing:.14em;border:1px solid var(--line);padding:12px 16px;border-radius:999px;transition:border-color .3s,background .3s,transform .35s var(--ease)}
.scroll-cue:hover{border-color:var(--accent);background:var(--accent-soft)}
.scroll-cue svg{animation:bob 1.8s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(3px)}}

/* ---------- marquee ---------- */
.marquee{border-block:1px solid var(--line);overflow:hidden;padding-block:18px;user-select:none}
.marquee .track{display:flex;width:max-content;will-change:transform}
.marquee span{font-family:var(--f-display);font-variation-settings:"wdth" 125;font-weight:700;text-transform:uppercase;
  font-size:clamp(1.4rem,3.4vw,2.6rem);letter-spacing:-.01em;padding-right:.9em;white-space:nowrap;color:var(--paper)}
.marquee span:nth-child(even){color:transparent;-webkit-text-stroke:1px var(--mute)}

@media (max-width:900px){
  .nav{display:none}
}
