header,.mobile-menu{--border:rgba(255,255,255,.19);--text-1:#fffaf4;--text-2:#eee5f0;--ease:cubic-bezier(.2,.7,.2,1)}
header{width:max-content;max-width:calc(100% - 32px);min-height:0;margin:0;gap:0;flex-wrap:nowrap;justify-content:center}
header .nav{flex-wrap:nowrap}
header .nav a:last-child{border:0;border-radius:0;padding:.4rem 0}
/* ── header: floating island ── */
header{
  position:fixed;top:1rem;left:50%;transform:translateX(-50%);z-index:100;
  display:flex;align-items:center;
  height:54px;padding:0 2rem;
  background:rgba(10,6,18,.496);
  backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);
  border:1px solid var(--border);border-radius:14px;
  box-shadow:0 8px 32px rgba(4,2,10,.45);
  white-space:nowrap;overflow:hidden;
}
.nav{display:flex;align-items:center;gap:2.6rem}
.nav a{position:relative;font-size:.87rem;font-weight:450;color:var(--text-2);
  padding:.4rem 0;transition:color .2s var(--ease)}
.nav a:hover{color:var(--text-1)}
.nav a.active{color:var(--text-1)}
.nav-glow{position:absolute;bottom:0;left:0;height:14px;width:70px;pointer-events:none;opacity:0;
  background:linear-gradient(90deg,rgba(255,170,120,calc(.15 * var(--menu-glow-strength,1))),rgba(255,122,193,calc(.13 * var(--menu-glow-strength,1))) 50%,rgba(185,166,255,calc(.13 * var(--menu-glow-strength,1))));
  -webkit-mask-image:radial-gradient(70% 140% at 50% 105%,#000 15%,transparent 70%);
  mask-image:radial-gradient(70% 140% at 50% 105%,#000 15%,transparent 70%)}
.nav-glow::after{content:"";position:absolute;left:14%;right:14%;bottom:0;height:1px;border-radius:1px;
  background:linear-gradient(90deg,transparent,rgba(255,180,137,calc(.75 * var(--menu-glow-strength,1))) 20%,rgba(255,122,193,calc(.7 * var(--menu-glow-strength,1))) 52%,rgba(185,166,255,calc(.7 * var(--menu-glow-strength,1))) 80%,transparent);
  box-shadow:0 0 7px rgba(255,122,193,calc(.35 * var(--menu-glow-strength,1))),0 0 12px rgba(185,166,255,calc(.22 * var(--menu-glow-strength,1)))}

.burger{display:none;flex-direction:column;gap:5px;padding:.5rem}
.burger span{width:22px;height:1.5px;background:var(--text-1);border-radius:2px}
.mobile-menu{position:fixed;inset:0;z-index:99;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:1.9rem;background:rgba(10,6,18,.96);backdrop-filter:blur(18px);
  opacity:0;pointer-events:none;transition:opacity .35s}
.mobile-menu.open{opacity:1;pointer-events:auto}
.mobile-menu a{font-size:1.25rem;font-weight:500;color:var(--text-2)}
.mobile-menu a:hover{color:var(--text-1)}


.nav-glow{transition:transform .5s cubic-bezier(.2,.7,.2,1),width .5s ease,opacity .3s}
header .nav a:hover,header .nav a:focus-visible{text-shadow:0 0 12px #ffd3ca88}
.burger{background:none;border:0;color:inherit;cursor:pointer}
.hero{margin-top:80px}
@media(max-width:760px){header{height:54px;padding:0 1rem;min-height:0}header .nav>a{display:none}.burger{display:flex}.nav-glow{display:none}.hero{margin-top:80px}}
@media(prefers-reduced-motion:reduce){.nav-glow,.mobile-menu{transition:none}}

/* Reserve the intro's scroll space so the bio does not scroll away while hidden. */
.mobile-dust-runway{display:none}
@media(max-width:899px){
  .mobile-dust-runway{display:block;height:100svh;min-height:540px}
  .hero{margin-top:0;height:auto;min-height:100svh;max-height:none;padding:64px 0 90px}
}

header:has(.nav a:hover),header:has(.nav a:focus-visible){--menu-glow-strength:1.2}

/* Let the mobile bio fit its content instead of reserving a full screen. */
@media(max-width:899px){
  .hero{height:auto;min-height:0;max-height:none;padding:64px 0 40px}
  #beliefs{padding-top:20px}
  #beliefs.ruled>.wrap:before{margin-bottom:28px}
}

/* Halve the compact hero-to-purpose gap beneath the LinkedIn link. */
@media(max-width:899px){
  #hero.hero{padding-bottom:20px}
  #beliefs{padding-top:10px}
  #beliefs.ruled>.wrap:before{margin-bottom:14px}
}
