@media (max-width: 680px) {
  main,
  main > section,
  main > section > *,
  .story-location,
  .story-location > *,
  .story-reviews,
  .managed-price,
  .w-book,
  .w-book > *,
  .f-custom,
  .f-custom > *,
  .b-kitchen,
  .b-kitchen > * {
    min-width: 0;
    max-width: 100%;
  }

  main h1,
  main h2,
  main h3,
  .contact-card h2 {
    max-width: 100%;
    overflow-wrap: break-word;
    text-wrap: balance;
  }

  main p,
  main span,
  main a,
  main dd,
  main blockquote {
    overflow-wrap: anywhere;
  }

  [data-reveal] {
    transform: none !important;
  }

  .story-location,
  .story-reviews,
  .reviews-flowers,
  .reviews-bistro,
  .reviews-bakery,
  .reviews-studio,
  .reviews-workshop,
  .location-flowers,
  .location-bistro,
  .location-bakery,
  .location-studio,
  .location-workshop {
    width: 100% !important;
    margin-inline: 0 !important;
    padding-inline: 14px !important;
  }

  .story-location,
  .w-book,
  .w-price,
  .b-menu,
  .b-contact,
  .f-section-title {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .location-contact-actions {
    width: 100%;
  }

  .location-contact-actions a {
    min-width: 0;
    max-width: 100%;
  }

  .theme-flowers .f-manifest,
  .theme-flowers .f-catalog,
  .theme-flowers .f-process,
  .theme-flowers .f-gallery,
  .theme-flowers .f-contact {
    width: calc(100vw - 28px) !important;
    margin-inline: auto !important;
  }

  .theme-flowers .f-section-title h2 {
    font-size: clamp(48px, 17vw, 68px);
    line-height: .88;
  }

  .theme-bakery .k-hero {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }

  .theme-bakery .k-hero-copy {
    width: 100%;
    min-height: 620px;
  }

  .theme-bakery .k-hero h1 {
    font-size: clamp(40px, 13vw, 54px);
    line-height: .86;
  }

  .theme-bakery .k-window {
    position: relative;
    inset: auto;
    width: 100%;
    padding: 14px;
    opacity: 1;
    transform: none;
  }

  .theme-bakery .k-window figure {
    height: 62svh;
    min-height: 430px;
    transform: none;
  }

  .theme-bakery .k-window p {
    width: 100%;
    margin-top: 18px;
  }

  .theme-bakery .k-dough {
    top: 470px;
    right: 14px;
  }

  .theme-workshop .w-book > div,
  .theme-workshop .w-book-card,
  .theme-workshop .w-book-card > * {
    min-width: 0;
    max-width: 100%;
  }

  .theme-workshop .w-book h2 {
    font-size: clamp(42px, 13vw, 52px);
  }

  .theme-bistro .bistro-timeline {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    overflow: visible;
    scroll-snap-type: none;
  }

  .theme-bistro .bistro-timeline article {
    width: 100%;
    min-width: 0;
    flex: none;
  }
}

@media (max-width: 360px) {
  .theme-bistro .b-hero h1,
  .theme-karaoke .q-hero h1 {
    font-size: 54px;
  }

  .theme-studio .s-hero h1,
  .theme-workshop .w-hero h1 {
    font-size: 46px;
  }

  .contact-card nav > a,
  .contact-card nav > span {
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 10px;
  }
}
