/* ============ MOBILE NAV: full-screen Brand Symmetry takeover ============ */
.nav-toggle { display: none; }
.mnav { display: none; }

@media (max-width: 1000px) {
  .main-nav { display: none; }

  /* burger: two bars that cross into an X */
  .nav-toggle {
    display: grid; place-items: center;
    position: relative; z-index: 2;
    width: 48px; height: 48px;
    border: 0; border-radius: 14px; cursor: pointer;
    background: linear-gradient(135deg, var(--magenta), var(--orange));
    box-shadow: 0 3px 8px -3px rgba(215,27,99,.35);
    transition: background .4s;
  }
  .nav-toggle span {
    position: absolute; left: 13px; right: 13px; height: 2.5px; border-radius: 2px; background: #fff;
    transition: transform .45s var(--ease-out), width .45s var(--ease-out);
  }
  .nav-toggle span:nth-child(1) { transform: translateY(-5px); }
  .nav-toggle span:nth-child(2) { transform: translateY(5px); right: 19px; }
  .mnav-open .nav-toggle { background: rgba(255,255,255,.12); box-shadow: none; }
  .mnav-open .nav-toggle span:nth-child(1) { transform: rotate(45deg); }
  .mnav-open .nav-toggle span:nth-child(2) { transform: rotate(-45deg); right: 13px; }

  /* header goes clear over the panel so the logo stays visible */
  .mnav-open .site-header { background: transparent; border-color: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .mnav-open .logo-lockup { background: #fff; border-radius: 14px; padding: 4px 10px 4px 4px; box-shadow: 0 3px 8px -3px rgba(0,0,0,.3); }
  .logo-lockup { transition: background .3s, padding .3s; }
  body.mnav-open { overflow: hidden; }

  .mnav {
    display: flex; flex-direction: column;
    position: fixed; inset: 0; z-index: 45;
    height: 100dvh; overflow-y: auto; overscroll-behavior: contain;
    padding: 112px 1.5rem max(1.6rem, env(safe-area-inset-bottom));
    background: linear-gradient(160deg, var(--magenta) 0%, var(--red) 55%, var(--orange) 110%);
    color: #fff;
    visibility: hidden;
    /* branded reveal: grows out of the burger as a diamond */
    clip-path: polygon(calc(100% - 48px) 46px, calc(100% - 48px) 46px, calc(100% - 48px) 46px, calc(100% - 48px) 46px);
    transition: clip-path .7s cubic-bezier(.7,0,.2,1), visibility 0s .7s;
  }
  .mnav.is-open {
    visibility: visible;
    clip-path: polygon(calc(100% - 48px) -260%, 360% 46px, calc(100% - 48px) 360%, -300% 46px);
    transition: clip-path .75s cubic-bezier(.7,0,.2,1), visibility 0s;
  }

  /* ghosted Doggett diamonds as texture */
  .mnav-mark { position: absolute; right: -28%; bottom: 6%; width: 105%; max-width: 560px; aspect-ratio: 1.6; pointer-events: none; opacity: .13; }
  .mnav-mark span { position: absolute; top: 0; width: 62.5%; height: 100%; border: 2px solid #fff; border-radius: 22%; transform: rotate(45deg) scale(.7); }
  .mnav-mark span:first-child { left: 0; }
  .mnav-mark span:last-child { right: 0; }

  .mnav-links { list-style: none; position: relative; margin: auto 0; padding: 1rem 0; }
  .mnav-links li { overflow: hidden; }
  .mnav-links a {
    display: flex; align-items: center; gap: 1rem;
    padding: .45rem 0;
    font-family: var(--display); font-weight: 600; font-size: clamp(2.3rem, 11vw, 3.4rem); line-height: 1.05;
    color: #fff; text-decoration: none;
    transform: translateY(105%); transition: transform .6s var(--ease-out);
  }
  /* index device: the two-diamond Doggett mark with the number */
  .mnav-i {
    flex: none; position: relative; display: grid; place-items: center;
    width: 2.3rem; height: 2.3rem;
    font-family: var(--body); font-size: .72rem; font-weight: 700; letter-spacing: .02em;
  }
  .mnav-i::before {
    content: ""; position: absolute; inset: .38rem; border-radius: 4px; transform: rotate(45deg);
    border: 1.5px solid rgba(255,255,255,.6);
  }
  .mnav-links a[aria-current] .mnav-i::before { background: #fff; border-color: #fff; }
  .mnav-links a[aria-current] .mnav-i { color: var(--red); }
  .mnav-i { z-index: 0; }
  .mnav-i::before { z-index: -1; }
  .mnav-links a:active, .mnav-links a:hover { opacity: .8; }
  .mnav.is-open .mnav-links a { transform: none; }
  .mnav.is-open .mnav-links li:nth-child(1) a { transition-delay: .28s; }
  .mnav.is-open .mnav-links li:nth-child(2) a { transition-delay: .34s; }
  .mnav.is-open .mnav-links li:nth-child(3) a { transition-delay: .40s; }
  .mnav.is-open .mnav-links li:nth-child(4) a { transition-delay: .46s; }

  .mnav-foot {
    position: relative; display: grid; gap: 1.3rem;
    padding-top: 1.6rem; border-top: 1px solid rgba(255,255,255,.28);
    opacity: 0; transform: translateY(14px); transition: opacity .5s, transform .5s var(--ease-out);
  }
  .mnav.is-open .mnav-foot { opacity: 1; transform: none; transition-delay: .55s; }
  .mnav-foot address { font-style: normal; line-height: 1.7; color: rgba(255,255,255,.88); }
  .mnav-foot a { color: #fff; }
  .mnav-cta { justify-content: center; background: #fff; color: var(--red) !important; box-shadow: 0 3px 8px -3px rgba(0,0,0,.3); }

  @media (prefers-reduced-motion: reduce) {
    .mnav, .mnav.is-open { transition: visibility 0s; clip-path: none; }
    .mnav-links a, .mnav-foot { transition: none; }
  }
}
