@media (max-width: 980px) {
  :root {
    --shell: min(100% - 32px, 760px);
  }

  .site-header {
    grid-template-columns: 1fr auto;
    gap: 18px;
  }

  .site-nav {
    display: none;
  }

  .opening__grid,
  .section-intro,
  .craft__story,
  .ritual__grid,
  .reservation__grid,
  .visit__grid {
    grid-template-columns: 1fr;
  }

  .opening__details {
    grid-column: auto;
  }

  .parallax-card {
    position: relative;
    top: auto;
  }

  .craft__steps {
    padding-top: 0;
  }

  .reservation__copy {
    position: static;
  }

  .ritual__image {
    order: -1;
    min-height: 460px;
  }

  .atmosphere {
    background-attachment: scroll;
  }

  .site-footer__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  body {
    font-size: 15px;
  }

  .section-pad {
    padding: 72px 0;
  }

  .site-header {
    padding: 16px;
  }

  .brand__mark {
    width: 38px;
    height: 38px;
  }

  .brand__name {
    font-size: 21px;
  }

  .header-action {
    padding: 9px 13px;
    font-size: 11px;
  }

  .hero {
    min-height: 94svh;
  }

  .hero__shade {
    background:
      linear-gradient(90deg, rgba(13, 12, 10, 0.82), rgba(13, 12, 10, 0.24)),
      linear-gradient(0deg, rgba(13, 12, 10, 0.78) 0%, rgba(13, 12, 10, 0.12) 50%, rgba(13, 12, 10, 0.58) 100%);
  }

  .hero__content {
    padding: 128px 0 96px;
  }

  .hero__title {
    font-size: clamp(58px, 18vw, 86px);
  }

  .hero__actions {
    align-items: stretch;
    flex-direction: column;
    max-width: 310px;
  }

  .button {
    width: 100%;
  }

  .scroll-cue {
    right: 16px;
    bottom: 20px;
  }

  .opening__details {
    grid-template-columns: 1fr;
  }

  .opening__details div {
    padding: 22px;
  }

  .craft-step,
  .menu-notes article,
  .reservation-form__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .reservation-form {
    padding: 22px;
  }

  .reservation-table-option__body {
    align-items: flex-start;
    flex-direction: column;
  }

  .parallax-card,
  .ritual__image {
    min-height: 390px;
  }

  .site-footer__links {
    flex-wrap: wrap;
  }
}

@media (max-width: 430px) {
  :root {
    --shell: min(100% - 28px, 390px);
  }

  .hero__title,
  .section-title,
  .opening__statement h2,
  .atmosphere blockquote {
    line-height: 0.98;
  }

  .hero__title {
    font-size: clamp(52px, 17vw, 72px);
  }

  .section-title,
  .opening__statement h2,
  .atmosphere blockquote {
    font-size: clamp(40px, 13vw, 58px);
  }

  .brand__name {
    display: none;
  }

  .parallax-card,
  .ritual__image {
    min-height: 330px;
  }

  .visit-card__hours {
    font-size: 40px;
  }
}
