/* nav */
/* padding-top adds env(safe-area-inset-top) so the header clears the iPhone notch / Dynamic Island;
   env() is 0 on desktop & non-notched screens, so this is a no-op there */
nav{position:fixed;top:0;left:0;width:100%;z-index:500;display:flex;justify-content:space-between;align-items:center;padding:calc(22px + env(safe-area-inset-top)) 5vw 22px;transition:padding .4s}
/* soft frosted strip under the header: content scrolling beneath it blurs slightly,
   fading out at the bottom so there is no hard edge */
nav::before{content:'';position:absolute;inset:0 0 -16px 0;z-index:-1;pointer-events:none;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
nav.scrolled{padding:calc(14px + env(safe-area-inset-top)) 5vw 14px}
nav .brand{display:flex;align-items:center;gap:12px}
nav .brand img{width:30px;height:30px;border-radius:50%}
nav .brand b{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:15px;letter-spacing:2px}
.nav-right{display:flex;align-items:center;gap:26px}
.nav-menu{display:flex;gap:30px}
.nav-menu a{font-family:'Inter Tight',sans-serif;font-size:11px;letter-spacing:1px;text-transform:uppercase;opacity:.75;transition:opacity .3s}
.nav-menu a:hover{opacity:1;color:var(--gold)}

/* ---- mobile hamburger + full-screen menu (desktop untouched: both hidden >820px) ---- */
.nav-burger{display:none}
.nav-mobile{display:none}
@media(max-width:820px){
  .nav-menu{display:none}
  .nav-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:46px;height:40px;padding:0 10px;background:rgba(10,10,12,.35);border:1px solid var(--line);border-radius:12px;cursor:pointer;position:relative;z-index:520;-webkit-tap-highlight-color:transparent}
  .nav-burger span{display:block;height:1.6px;width:100%;background:var(--ink);border-radius:2px;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .2s}
  .nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
  .nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}

  /* dim scrim behind the drawer — tapping it (anywhere off the panel) closes the menu */
  .nav-scrim{position:fixed;inset:0;z-index:440;background:rgba(6,6,9,.5);opacity:0;visibility:hidden;
    transition:opacity .45s ease,visibility 0s linear .45s;-webkit-tap-highlight-color:transparent}
  .nav-scrim.open{opacity:1;visibility:visible;transition:opacity .45s ease}

  /* liquid-glass SIDEBAR: a narrow panel that slides in from the right (was a full-screen overlay whose
     giant centred links let the hero grid bleed through and read as cluttered). Smaller left-aligned
     links on a strong frosted-glass pane — same glassy language as the cursor — look cleaner and calmer. */
  .nav-mobile{display:flex;position:fixed;top:0;right:0;bottom:0;left:auto;z-index:450;
    flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;
    width:min(74vw,286px);
    padding:calc(env(safe-area-inset-top) + 40px) 30px calc(env(safe-area-inset-bottom) + 40px);
    background:rgba(12,12,16,.55);
    backdrop-filter:blur(30px) saturate(1.7) brightness(1.03);-webkit-backdrop-filter:blur(30px) saturate(1.7) brightness(1.03);
    box-shadow:inset 1px 0 0 rgba(255,255,255,.08),-26px 0 70px rgba(0,0,0,.5);
    transform:translateX(100%);visibility:hidden;
    transition:transform .5s cubic-bezier(.16,1,.3,1),visibility 0s linear .5s}
  .nav-mobile.open{transform:none;visibility:visible;transition:transform .5s cubic-bezier(.16,1,.3,1)}
  .nav-mobile a{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:1.5rem;letter-spacing:-.01em;color:var(--ink);
    width:100%;padding:13px 2px;border-bottom:1px solid rgba(255,255,255,.07);text-shadow:0 2px 18px rgba(0,0,0,.5);
    opacity:0;transform:translateX(20px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),color .3s}
  .nav-mobile a:last-child{border-bottom:0}
  .nav-mobile.open a{opacity:1;transform:none}
  .nav-mobile.open a:nth-child(1){transition-delay:.10s}
  .nav-mobile.open a:nth-child(2){transition-delay:.16s}
  .nav-mobile.open a:nth-child(3){transition-delay:.22s}
  .nav-mobile.open a:nth-child(4){transition-delay:.28s}
  .nav-mobile.open a:nth-child(5){transition-delay:.34s}
  .nav-mobile a:active{color:var(--gold)}
  body.menu-open{overflow:hidden}
}
