@media (max-width: 980px) {
  :root {
    --nav-height: 68px;
  }

  .nav__toggle {
    display: block;
    flex: 0 0 auto;
    margin-left: auto;
  }

  .nav__menu {
    position: fixed;
    top: var(--nav-height);
    left: var(--inner-pad);
    right: var(--inner-pad);
    display: grid;
    gap: 0;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(232, 232, 232, 0.82);
    box-shadow: 0 24px 70px rgba(17, 17, 17, 0.09);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 260ms var(--ease-soft), visibility 260ms var(--ease-soft), transform 260ms var(--ease-soft);
    backdrop-filter: blur(22px);
  }

  .nav__menu.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .nav__link {
    padding: 1.15rem 1.25rem;
    border-bottom: 1px solid var(--line-color);
  }

  .nav__link:last-child {
    border-bottom: 0;
  }

  .nav__link::after {
    left: 1.25rem;
    right: auto;
    width: 42px;
    bottom: 0.85rem;
  }

  .about__details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about__details span:nth-child(3) {
    border-left: 0;
  }

  .about__details span:nth-child(n + 3) {
    border-top: 1px solid var(--line-color);
  }

  .gallery {
    columns: 2 280px;
  }

  .lightbox {
    grid-template-columns: 52px minmax(0, 1fr) 52px;
  }
}

@media (max-width: 680px) {
  :root {
    --inner-pad: 1rem;
  }

  .nav__brand img {
    width: 60px;
  }

  .hero {
    min-height: 100svh;
    padding-bottom: 5rem;
  }

  .hero__logo {
    width: min(82vw, 330px);
  }

  h1 {
    font-size: clamp(3.2rem, 18vw, 4.6rem);
  }

  h2 {
    font-size: clamp(2.65rem, 14vw, 4rem);
  }

  .button,
  .booking__actions,
  .booking__actions .button {
    width: 100%;
  }

  .gallery {
    columns: 1;
  }

  .gallery__caption {
    left: 0.75rem;
    bottom: 0.75rem;
  }

  .featured__frame img {
    min-height: 420px;
  }

  .lightbox {
    grid-template-columns: 1fr;
    gap: 0.8rem;
    padding: 4.5rem 1rem 1rem;
  }

  .lightbox__nav {
    position: fixed;
    top: 50%;
    width: 46px;
    height: 46px;
    transform: translateY(-50%);
  }

  .lightbox__nav:hover {
    transform: translateY(-50%);
  }

  .lightbox__nav--prev {
    left: 0.75rem;
  }

  .lightbox__nav--next {
    right: 0.75rem;
  }

  .lightbox__figure img {
    max-height: 70vh;
  }

  .footer__contact {
    display: grid;
  }
}
