@media (max-width: 560px) {
  :root {
    --gutter: 1.15rem;
    --section: 4.5rem;
  }

  h2 {
    font-size: clamp(2.9rem, 15vw, 4.6rem);
  }

  .topline {
    font-size: 0.7rem;
    letter-spacing: 0.06em;
  }

  .brand__type strong {
    font-size: 1.08rem;
  }

  .brand__type small {
    font-size: 0.62rem;
  }

  .hero h1 {
    font-size: clamp(3.7rem, 19vw, 5.2rem);
  }

  .hero h1 em {
    font-size: 0.56em;
  }

  .hero__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .hero__occasions {
    gap: 0.4rem;
  }

  .hero__visual {
    width: calc(100% - 1.5rem);
    margin-right: 1.5rem;
  }

  .hero__frame img {
    height: auto;
  }

  .hero__stamp {
    right: -1.5rem;
    bottom: -2.4rem;
    width: 108px;
    height: 108px;
  }

  .hero__stamp span {
    font-size: 1.7rem;
  }

  .hero__note {
    top: 1.5rem;
    left: -0.75rem;
    font-size: 0.95rem;
  }

  .intro__facts strong {
    font-size: 1.6rem;
  }

  .events__hero {
    min-height: 620px;
  }

  .events__hero::after {
    background: linear-gradient(0deg, rgba(12, 27, 42, 0.95) 0%, rgba(12, 27, 42, 0.7) 60%, rgba(12, 27, 42, 0.15) 100%);
  }

  .events__hero > img {
    object-position: 58% center;
  }

  .events__overlay {
    display: flex;
    position: absolute;
    inset: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 2rem 1.35rem;
  }

  .events__overlay h2 {
    font-size: 3.5rem;
  }

  .events__vertical {
    display: none;
  }

  .story__image {
    width: calc(100% - 1.5rem);
    margin-left: 0;
  }

  .story__image > p {
    right: -1.5rem;
  }

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

  .story__credentials span + span {
    padding: 1rem;
    border: 1px solid rgba(12, 27, 42, 0.35);
  }

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

  .gallery__grid figure {
    aspect-ratio: 4 / 5;
  }

  .gallery__action img {
    object-position: center 30%;
  }

  .contact__links a {
    grid-template-columns: 1fr auto;
    gap: 0.2rem;
  }

  .contact__links a > small,
  .contact__links a > strong {
    grid-column: 1;
  }

  .contact__links a > span {
    grid-column: 2;
    grid-row: 1 / 3;
  }

  .lightbox {
    width: calc(100vw - 1.5rem);
    border-radius: var(--radius-m);
  }

  .footer__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .footer__contact {
    grid-column: auto;
  }

  .footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}
