/* Refined responsive navigation */
.cursor {
  display: none !important;
}
.logo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.logo .brand-icon {
  width: 25px;
  height: 25px;
  object-fit: contain;
  flex: none;
}
.footer-brand-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
  vertical-align: -3px;
  margin-right: 3px;
}
.btn.dark {
  box-shadow: none !important;
}
.btn.dark:hover {
  box-shadow: 0 7px 0 #8f8d87 !important;
}
.v4-main-action {
  box-shadow: none;
}
.v4-main-action:hover {
  box-shadow: 0 7px 0 #8f8d87;
}
.menu-btn {
  position: relative;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 92px;
  height: 44px;
  padding: 0 15px;
  border: 1px solid rgba(21, 21, 21, 0.25);
  background: rgba(255, 255, 255, 0.55);
  color: var(--ink);
  border-radius: 13px;
  font-size: 12px;
  font-weight: 700;
  transition:
    background 0.25s,
    color 0.25s,
    border-color 0.25s;
}
.menu-btn::before {
  content: '';
  width: 14px;
  height: 1.5px;
  background: currentColor;
  box-shadow: 0 5px 0 currentColor;
  transform: translateY(-2.5px);
  transition:
    transform 0.3s,
    box-shadow 0.3s;
}
.menu-btn:hover {
  background: var(--acid);
  border-color: var(--ink);
}
.menu-btn.open {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}
.menu-btn.open::before {
  transform: rotate(45deg);
  box-shadow: 0 0 0 currentColor;
}
.menu-btn.open::after {
  content: '';
  position: absolute;
  left: 16px;
  width: 14px;
  height: 1.5px;
  background: currentColor;
  transform: rotate(-45deg);
}
@media (max-width: 1100px) {
  body.menu-open {
    overflow: hidden;
  }
  .topbar {
    top: 9px;
    left: 12px;
    right: 12px;
    height: 60px;
    border-radius: 17px;
    padding-left: 17px;
    background: rgba(246, 244, 237, 0.94);
  }
  .topbar::before {
    content: '';
    position: absolute;
    z-index: -1;
    left: -14px;
    right: -14px;
    top: -12px;
    height: 22px;
    background: var(--paper);
  }
  .logo {
    font-size: 22px;
  }
  .menu-btn {
    display: flex;
  }
  .desktop-nav {
    display: none;
  }
  .mobile-panel {
    display: flex;
    position: fixed;
    z-index: 75;
    inset: 7px;
    background: var(--ink);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 27px;
    padding: 105px clamp(22px, 6vw, 75px) 30px;
    flex-direction: column;
    justify-content: center;
    transform: translateY(-105%);
    opacity: 0;
    transition:
      transform 0.55s cubic-bezier(0.76, 0, 0.24, 1),
      opacity 0.35s;
    overflow: hidden;
  }
  .mobile-panel::before {
    content: 'NANOTOM / MENU';
    position: absolute;
    left: clamp(22px, 6vw, 75px);
    top: 88px;
    font-size: 9px;
    letter-spacing: 1.5px;
    color: #888;
  }
  .mobile-panel::after {
    content: 'CHENNAI · INDIA';
    position: absolute;
    right: clamp(22px, 6vw, 75px);
    bottom: 25px;
    font-size: 9px;
    letter-spacing: 1.5px;
    color: #888;
  }
  .mobile-panel.open {
    transform: none;
    opacity: 1;
  }
  .mobile-panel a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
    padding: 7px 0;
    font: 600 clamp(39px, 8.5vw, 82px)/0.95 'Space Grotesk';
    letter-spacing: -0.065em;
    color: #fff;
    transition:
      color 0.2s,
      padding 0.25s;
  }
  .mobile-panel a::after {
    content: '↗';
    font: 400 clamp(18px, 2.5vw, 28px) 'DM Sans';
    letter-spacing: 0;
    opacity: 0;
    transform: translate(-10px, 10px);
    transition: 0.25s;
  }
  .mobile-panel a:hover {
    color: var(--acid);
    padding-left: 12px;
  }
  .mobile-panel a:hover::after {
    opacity: 1;
    transform: none;
  }
  .mobile-panel a:last-child {
    color: var(--orange);
  }
  .menu-open .topbar {
    background: rgba(21, 21, 21, 0.92);
    border-color: rgba(255, 255, 255, 0.2);
    color: #fff;
  }
  .menu-open .logo i {
    background: var(--acid);
  }
  .menu-open .topbar::before {
    background: var(--ink);
  }
}
@media (max-width: 1100px) {
  .mobile-panel {
    inset: 0;
    border: 0;
    border-radius: 0;
  }
  .menu-open .topbar {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }
  .menu-open .topbar::before {
    background: transparent;
  }
  .menu-open .menu-btn {
    background: #fff;
    color: var(--ink);
    border-color: #fff;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
  }
  .menu-open .logo {
    color: #fff;
  }
}
@media (max-width: 600px) {
  .topbar {
    height: 56px;
  }
  .menu-btn {
    min-width: 48px;
    width: 48px;
    height: 40px;
    padding: 0;
    font-size: 0;
  }
  .menu-btn::before {
    width: 16px;
  }
  .menu-btn.open::after {
    left: 15px;
    width: 16px;
  }
  .mobile-panel {
    inset: 5px;
    border-radius: 22px;
    padding: 95px 22px 35px;
    justify-content: flex-start;
  }
  .mobile-panel::before {
    left: 22px;
    top: 78px;
  }
  .mobile-panel::after {
    right: 22px;
  }
  .mobile-panel a {
    font-size: 13.5vw;
    padding: 10px 0;
  }
}
