/* PG Nav — scoped to .pg-nav / .pg-nav-modal. Ported from the DRobb atlas-pill
   (home) and atlas bar (inner) navs + the mobile hamburger/overlay. */

.pg-nav{
  position:fixed; top:28px; left:50%; transform:translate3d(-50%,0,0); z-index:60;
  transition:transform 800ms var(--pg-ease), opacity 600ms var(--pg-ease);
}
.pg-nav.pg-nav--hide{ transform:translate3d(-50%,-130%,0); opacity:0; }
.pg-nav__box{ display:flex; align-items:center; }

/* logo */
.pg-nav__logo{ display:block; line-height:0; }
.pg-nav__logo img{ display:block; height:auto; }

/* ---------- PILL (home) ---------- */
.pg-nav--pill .pg-nav__box{
  background:var(--pg-bone); border:1px solid var(--pg-ink-hair); border-radius:999px;
  padding:6px 6px 6px 24px;
  box-shadow:0 1px 0 rgba(255,255,255,.5) inset, 0 24px 48px -32px rgba(26,21,18,.18), 0 2px 8px -4px rgba(26,21,18,.06);
}
.pg-nav--pill .pg-nav__brand{
  font-family:var(--pg-font-display); font-weight:300; text-transform:uppercase;
  letter-spacing:.28em; font-size:11px; color:var(--pg-ink);
  padding-right:18px; border-right:1px solid var(--pg-ink-hair); white-space:nowrap; text-decoration:none;
}
.pg-nav--pill .pg-nav__links{ display:flex; align-items:center; gap:4px; padding:0 6px 0 14px; }
.pg-nav--pill .pg-nav__links a{
  font-family:var(--pg-font-sans); font-weight:400; text-transform:uppercase;
  letter-spacing:.18em; font-size:10.5px; color:var(--pg-ink-soft); text-decoration:none;
  padding:8px 12px; border-radius:999px; white-space:nowrap;
  transition:color 500ms var(--pg-ease), background 500ms var(--pg-ease);
}
.pg-nav--pill .pg-nav__links a:hover{ color:var(--pg-ink); background:var(--pg-ink-mist); }
.pg-nav__cta{
  display:inline-flex; align-items:center; gap:10px; background:var(--pg-ink); color:var(--pg-bone);
  padding:9px 8px 9px 16px; border-radius:999px; text-decoration:none; white-space:nowrap;
  font-family:var(--pg-font-sans); font-weight:400; text-transform:uppercase; letter-spacing:.18em; font-size:10.5px;
  transition:transform 600ms var(--pg-ease);
}
.pg-nav__cta:hover{ transform:translate3d(0,-1px,0); }
.pg-nav__cta .dot{
  width:22px; height:22px; border-radius:999px; background:var(--pg-terracotta);
  display:inline-flex; align-items:center; justify-content:center; transition:transform 600ms var(--pg-ease);
}
.pg-nav__cta:hover .dot{ transform:rotate(45deg); }
.pg-nav__cta .dot svg{ width:10px; height:10px; stroke:var(--pg-bone); fill:none; stroke-width:1.4; }

/* ---------- BAR (inner) ---------- */
.pg-nav--bar .pg-nav__box{
  background:rgba(244,239,230,.78);
  -webkit-backdrop-filter:blur(20px) saturate(140%); backdrop-filter:blur(20px) saturate(140%);
  border:1px solid var(--pg-ink-hair); border-radius:999px; padding:10px 14px 10px 22px; gap:6px;
  box-shadow:0 1px 0 rgba(255,255,255,.4) inset, 0 24px 48px -28px rgba(26,24,22,.18);
}
.pg-nav--bar .pg-nav__mast{
  font-family:var(--pg-font-display); font-weight:400; font-variation-settings:"opsz" 72;
  font-size:14px; letter-spacing:-.005em; color:var(--pg-ink);
  padding-right:14px; border-right:1px solid var(--pg-ink-hair); margin-right:8px; text-decoration:none; white-space:nowrap;
}
.pg-nav--bar .pg-nav__mast em{ font-style:italic; color:var(--pg-terracotta); }
.pg-nav--bar .pg-nav__links{ display:flex; align-items:center; }
.pg-nav--bar .pg-nav__links a{
  font-family:var(--pg-font-sans); font-weight:300; text-transform:uppercase;
  letter-spacing:.18em; font-size:10.5px; color:var(--pg-ink-soft); text-decoration:none;
  padding:8px 14px; border-radius:999px; white-space:nowrap;
  transition:color 600ms var(--pg-ease), background 600ms var(--pg-ease);
}
.pg-nav--bar .pg-nav__links a:hover{ color:var(--pg-ink); background:rgba(26,24,22,.05); }
.pg-nav--bar .pg-nav__links a.current{ color:var(--pg-bone); background:var(--pg-ink); }

/* ---------- hamburger (shared, < 1100px) ---------- */
.pg-nav__toggle{ display:none; }
@media (max-width:1100px){
  .pg-nav--pill .pg-nav__links, .pg-nav__cta{ display:none; }
  .pg-nav--bar .pg-nav__links{ display:none; }
  .pg-nav--pill .pg-nav__box{ padding:6px 6px 6px 20px; }
  .pg-nav--pill .pg-nav__brand{ padding-right:14px; font-size:10px; letter-spacing:.24em; }
  .pg-nav--bar .pg-nav__mast{ border-right:none; margin-right:0; }
  .pg-nav__toggle{
    display:flex; align-items:center; justify-content:center; width:36px; height:36px; margin-left:12px;
    background:var(--pg-ink); border:none; border-radius:999px; cursor:pointer; position:relative;
  }
  .pg-nav__toggle .bar{ position:absolute; left:10px; width:16px; height:1px; background:var(--pg-bone); transition:transform 500ms var(--pg-ease); }
  .pg-nav__toggle .bar-1{ top:15px; }
  .pg-nav__toggle .bar-2{ top:21px; }
  body.pg-nav-open .pg-nav__toggle .bar-1{ transform:translateY(3px) rotate(45deg); }
  body.pg-nav-open .pg-nav__toggle .bar-2{ transform:translateY(-3px) rotate(-45deg); }
}

/* ---------- mobile overlay (shared) ---------- */
.pg-nav-modal{
  position:fixed; inset:0; z-index:55; background:var(--pg-bone);
  opacity:0; pointer-events:none; transition:opacity 700ms var(--pg-ease);
  display:flex; flex-direction:column; align-items:center; justify-content:center; padding:0 24px;
}
body.pg-nav-open .pg-nav-modal{ opacity:1; pointer-events:auto; }
.pg-nav-modal a{
  display:block; padding:14px 0; font-family:var(--pg-font-display); font-weight:300;
  font-size:clamp(34px,7vw,56px); color:var(--pg-ink); text-decoration:none; text-align:center; line-height:1;
  opacity:0; transform:translate3d(0,36px,0);
  transition:opacity 700ms cubic-bezier(.16,1,.3,1), transform 700ms cubic-bezier(.16,1,.3,1);
  font-variation-settings:"opsz" 144;
}
body.pg-nav-open .pg-nav-modal a{ opacity:1; transform:none; }
body.pg-nav-open .pg-nav-modal a:nth-child(1){ transition-delay:120ms; }
body.pg-nav-open .pg-nav-modal a:nth-child(2){ transition-delay:180ms; }
body.pg-nav-open .pg-nav-modal a:nth-child(3){ transition-delay:240ms; }
body.pg-nav-open .pg-nav-modal a:nth-child(4){ transition-delay:300ms; }
body.pg-nav-open .pg-nav-modal a:nth-child(5){ transition-delay:360ms; }
body.pg-nav-open .pg-nav-modal a:nth-child(6){ transition-delay:420ms; }
.pg-nav-modal .pg-nav__coord{
  position:absolute; bottom:32px; left:50%; transform:translateX(-50%);
  font-family:var(--pg-font-sans); text-transform:uppercase; letter-spacing:.24em;
  font-size:10px; color:var(--pg-ink-pale);
}

@media (prefers-reduced-motion: reduce){
  .pg-nav{ transition:none; }
  .pg-nav-modal a, .pg-nav-modal.is-open a{ opacity:1; transform:none; transition:none; }
}
