.home-hero {
  position: relative;
  padding-block: var(--space-3xl) var(--space-2xl);
  overflow: hidden;
}

.home-hero__ribbon {
  position: absolute;
  top: 0;
  left: 2rem;
  width: 2px;
  height: 100%;
  background: linear-gradient(to bottom, var(--color-petrol) 0%, var(--color-petrol) 70%, transparent 70%);
  z-index: 0;
}

.home-hero__content {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: var(--space-2xl);
  align-items: center;
  max-width: var(--container-standard);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
}

.home-hero__copy {
  min-width: 0;
}

.home-hero__copy h1 {
  max-width: 800px;
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line-height);
  letter-spacing: var(--text-h1-letter-spacing);
  margin-block-end: var(--space-md);
}

.home-hero__copy h1 span {
  color: var(--color-petrol);
}

.home-hero__lead {
  max-width: 600px;
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-line-height);
  color: var(--color-ink-muted);
  margin-block-end: var(--space-lg);
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  margin-block-start: var(--space-md);
}

.home-hero__media {
  min-width: 0;
  max-width: 600px;
  justify-self: end;
}

.home-hero__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
}

.home-agency {
  position: relative;
  padding-block: var(--space-3xl);
}

.home-agency__ribbon {
  position: absolute;
  top: 0;
  left: 2rem;
  width: 2px;
  height: 100%;
  background-color: var(--color-petrol);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block-start: var(--space-2xl);
}

.home-agency__content {
  max-width: 800px;
  margin-inline-start: 30%;
  padding-inline-end: var(--container-padding-mobile);
}

.home-agency__content h2 {
  margin-block-end: var(--space-md);
}

.home-agency__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-line-height);
  color: var(--color-ink);
  font-weight: 500;
  margin-block-end: var(--space-md);
}

.home-agency__content p {
  max-width: 600px;
  margin-block-end: var(--space-sm);
}

.home-agency__values {
  max-width: 600px;
  margin-block-start: var(--space-md);
  padding-inline-start: var(--space-md);
  list-style-position: outside;
}

.home-agency__values li {
  margin-block-end: var(--space-2xs);
}

.home-corporate {
  position: relative;
  padding-block: var(--space-3xl);
}

.home-corporate__ribbon {
  position: absolute;
  top: 0;
  left: 2rem;
  width: 2px;
  height: 100%;
  background-color: var(--color-petrol);
}

.home-corporate__header {
  max-width: 600px;
  margin-inline-start: 30%;
  padding-inline-end: var(--container-padding-mobile);
  margin-block-end: var(--space-xl);
}

.home-corporate__header h2 {
  margin-block-end: var(--space-sm);
}

.home-corporate__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
  max-width: var(--container-standard);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  margin-inline-start: 30%;
}

.home-corporate__card {
  min-width: 0;
  background-color: var(--color-surface);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.home-corporate__card:nth-child(2) {
  transform: translateY(var(--space-md));
}

.home-corporate__card h3 {
  margin-block-end: 0;
}

.home-corporate__card p {
  max-width: 300px;
  margin-block-end: 0;
}

.home-corporate__link {
  display: inline-block;
  margin-inline-start: 30%;
  margin-block-start: var(--space-xl);
  margin-inline-start: calc(30% + var(--container-padding-mobile));
}

.home-teambuilding {
  position: relative;
  padding-block: var(--space-3xl);
}

.home-teambuilding__ribbon {
  position: absolute;
  top: 0;
  left: 2rem;
  width: 2px;
  height: 100%;
  background-color: var(--color-petrol);
}

.home-teambuilding__content {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: var(--space-2xl);
  max-width: var(--container-standard);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  margin-inline-start: 30%;
}

.home-teambuilding__copy {
  min-width: 0;
}

.home-teambuilding__copy h2 {
  margin-block-end: var(--space-md);
}

.home-teambuilding__copy p {
  max-width: 600px;
  margin-block-end: var(--space-sm);
}

.home-teambuilding__media {
  min-width: 0;
  max-width: 400px;
  justify-self: end;
}

.home-teambuilding__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
}

.home-birthday {
  position: relative;
  padding-block: var(--space-3xl);
}

.home-birthday__ribbon {
  position: absolute;
  top: 0;
  left: 2rem;
  width: 2px;
  height: 100%;
  background-color: var(--color-petrol);
}

.home-birthday__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
  gap: var(--space-2xl);
  max-width: var(--container-standard);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  margin-inline-start: 30%;
}

.home-birthday__media {
  min-width: 0;
  max-width: 400px;
  justify-self: start;
}

.home-birthday__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
}

.home-birthday__copy {
  min-width: 0;
}

.home-birthday__copy h2 {
  margin-block-end: var(--space-md);
}

.home-birthday__copy p {
  max-width: 600px;
  margin-block-end: var(--space-sm);
}

.home-private {
  position: relative;
  padding-block: var(--space-3xl);
}

.home-private__ribbon {
  position: absolute;
  top: 0;
  left: 2rem;
  width: 2px;
  height: 100%;
  background-color: var(--color-petrol);
}

.home-private__content {
  max-width: 800px;
  margin-inline-start: 30%;
  padding-inline-end: var(--container-padding-mobile);
}

.home-private__copy h2 {
  margin-block-end: var(--space-md);
}

.home-private__copy p {
  max-width: 600px;
  margin-block-end: var(--space-sm);
}

.home-thematic {
  position: relative;
  padding-block: var(--space-3xl);
}

.home-thematic__ribbon {
  position: absolute;
  top: 0;
  left: 2rem;
  width: 2px;
  height: 100%;
  background-color: var(--color-petrol);
}

.home-thematic__header {
  max-width: 600px;
  margin-inline-start: 30%;
  padding-inline-end: var(--container-padding-mobile);
  margin-block-end: var(--space-xl);
}

.home-thematic__header h2 {
  margin-block-end: var(--space-sm);
}

.home-thematic__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
  max-width: var(--container-standard);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  margin-inline-start: 30%;
}

.home-thematic__card {
  min-width: 0;
  background-color: var(--color-surface);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.home-thematic__card:nth-child(2) {
  transform: translateY(var(--space-md));
}

.home-thematic__card--featured {
  border-inline-start: 4px solid var(--color-burgundy);
}

.home-thematic__card h3 {
  margin-block-end: 0;
}

.home-thematic__card p {
  max-width: 300px;
  margin-block-end: 0;
}

.home-thematic__link {
  display: inline-block;
  margin-inline-start: calc(30% + var(--container-padding-mobile));
  margin-block-start: var(--space-xl);
}

.home-casino {
  position: relative;
  padding-block: var(--space-3xl);
  background-color: var(--color-petrol);
  color: var(--color-canvas);
}

.home-casino__ribbon {
  position: absolute;
  top: 0;
  left: 2rem;
  width: 2px;
  height: 100%;
  background-color: var(--color-coral);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  padding-block: var(--space-2xl);
}

.home-casino__marker {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
}

.home-casino__marker--coral {
  background-color: var(--color-coral);
}

.home-casino__marker--burgundy {
  background-color: var(--color-burgundy);
}

.home-casino__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-2xl);
  max-width: var(--container-standard);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  margin-inline-start: 30%;
}

.home-casino__copy {
  min-width: 0;
}

.home-casino__copy h2 {
  color: var(--color-canvas);
  margin-block-end: var(--space-md);
}

.home-casino__copy p {
  max-width: 600px;
  margin-block-end: var(--space-sm);
  color: var(--color-canvas);
}

.home-casino__media {
  min-width: 0;
  max-width: 500px;
  justify-self: end;
}

.home-casino__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
}

.home-poker,
.home-roulette,
.home-scenography,
.home-gastronomy,
.home-drinks {
  position: relative;
  padding-block: var(--space-3xl);
}

.home-poker__ribbon,
.home-roulette__ribbon,
.home-scenography__ribbon,
.home-gastronomy__ribbon,
.home-drinks__ribbon {
  position: absolute;
  top: 0;
  left: 2rem;
  width: 2px;
  height: 100%;
  background-color: var(--color-petrol);
}

.home-poker__content,
.home-roulette__content,
.home-scenography__content,
.home-gastronomy__content,
.home-drinks__content {
  max-width: 800px;
  margin-inline-start: 30%;
  padding-inline-end: var(--container-padding-mobile);
}

.home-poker__copy h2,
.home-roulette__copy h2,
.home-scenography__copy h2,
.home-gastronomy__copy h2,
.home-drinks__copy h2 {
  margin-block-end: var(--space-md);
}

.home-poker__copy p,
.home-roulette__copy p,
.home-scenography__copy p,
.home-gastronomy__copy p,
.home-drinks__copy p {
  max-width: 600px;
  margin-block-end: var(--space-sm);
}

.home-process {
  position: relative;
  padding-block: var(--space-3xl);
}

.home-process__ribbon {
  position: absolute;
  top: 0;
  left: 2rem;
  width: 2px;
  height: 100%;
  background-color: var(--color-petrol);
}

.home-process__header {
  max-width: 600px;
  margin-inline-start: 30%;
  padding-inline-end: var(--container-padding-mobile);
  margin-block-end: var(--space-xl);
}

.home-process__header h2 {
  margin-block-end: 0;
}

.home-process__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-md);
  max-width: var(--container-standard);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  margin-inline-start: 30%;
}

.home-process__step {
  min-width: 0;
  background-color: var(--color-surface);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.home-process__number {
  font-family: var(--font-heading);
  font-size: var(--text-h2-size);
  font-weight: 600;
  color: var(--color-coral);
  line-height: 1;
}

.home-process__step h3 {
  margin-block-end: 0;
}

.home-process__step p {
  max-width: 250px;
  margin-block-end: 0;
}

.home-gallery {
  position: relative;
  padding-block: var(--space-3xl);
}

.home-gallery__ribbon {
  position: absolute;
  top: 0;
  left: 2rem;
  width: 2px;
  height: 100%;
  background-color: var(--color-petrol);
}

.home-gallery__header {
  max-width: 600px;
  margin-inline-start: 30%;
  padding-inline-end: var(--container-padding-mobile);
  margin-block-end: var(--space-xl);
}

.home-gallery__header h2 {
  margin-block-end: var(--space-sm);
}

.home-gallery__header p {
  max-width: 600px;
  margin-block-end: 0;
}

.home-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
  max-width: var(--container-standard);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  margin-inline-start: 30%;
}

.home-gallery__item {
  min-width: 0;
  margin-block-end: 0;
}

.home-gallery__item--one {
  grid-row: span 2;
}

.home-gallery__item--two {
  transform: translateY(var(--space-md));
}

.home-gallery__item--three {
  transform: translateY(calc(var(--space-md) * -1));
}

.home-gallery__link {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.home-gallery__link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 3 / 2;
  transition: transform var(--transition-fast);
}

.home-gallery__link:hover img {
  transform: scale(1.03);
}

.home-gallery__item--one .home-gallery__link img {
  aspect-ratio: 3 / 4;
}

.home-contact {
  position: relative;
  padding-block: var(--space-3xl);
}

.home-contact__ribbon {
  position: absolute;
  top: 0;
  left: 2rem;
  width: 2px;
  height: 100%;
  background-color: var(--color-petrol);
}

.home-contact__header {
  max-width: 600px;
  margin-inline-start: 30%;
  padding-inline-end: var(--container-padding-mobile);
  margin-block-end: var(--space-xl);
}

.home-contact__header h2 {
  margin-block-end: 0;
}

.home-contact__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
  gap: var(--space-2xl);
  max-width: var(--container-standard);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  margin-inline-start: 30%;
}

.home-contact__info {
  min-width: 0;
}

.home-contact__info p {
  max-width: 400px;
  margin-block-end: var(--space-md);
}

.home-contact__address {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  max-width: 400px;
}

.home-contact__address a,
.home-contact__address span {
  color: var(--color-ink);
  text-decoration: none;
  font-style: normal;
}

.home-contact__address a:hover {
  color: var(--color-petrol);
  text-decoration: underline;
}

.home-contact__form {
  min-width: 0;
  max-width: 600px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-sm);
  margin-block-end: 0;
}

.home-contact__field {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}

.home-contact__field--full {
  grid-column: 1 / -1;
}

.home-contact__field label {
  margin-block-end: 0;
}

.home-contact__field input,
.home-contact__field select,
.home-contact__field textarea {
  margin-block-end: 0;
}

.home-contact__submit {
  grid-column: 1 / -1;
  justify-self: start;
  margin-block-start: var(--space-sm);
}

@media (min-width: 768px) {
  .home-hero__content,
  .home-teambuilding__content,
  .home-birthday__content,
  .home-casino__content,
  .home-contact__content {
    padding-inline: var(--container-padding-tablet);
  }

  .home-corporate__grid,
  .home-thematic__grid,
  .home-process__grid,
  .home-gallery__grid {
    padding-inline: var(--container-padding-tablet);
  }

  .home-agency__content,
  .home-corporate__header,
  .home-private__content,
  .home-thematic__header,
  .home-poker__content,
  .home-roulette__content,
  .home-scenography__content,
  .home-gastronomy__content,
  .home-drinks__content,
  .home-process__header,
  .home-gallery__header,
  .home-contact__header {
    padding-inline-end: var(--container-padding-tablet);
  }

  .home-corporate__link,
  .home-thematic__link {
    margin-inline-start: calc(30% + var(--container-padding-tablet));
  }
}

@media (min-width: 1024px) {
  .home-hero__content,
  .home-teambuilding__content,
  .home-birthday__content,
  .home-casino__content,
  .home-contact__content {
    padding-inline: var(--container-padding-desktop);
  }

  .home-corporate__grid,
  .home-thematic__grid,
  .home-process__grid,
  .home-gallery__grid {
    padding-inline: var(--container-padding-desktop);
  }

  .home-agency__content,
  .home-corporate__header,
  .home-private__content,
  .home-thematic__header,
  .home-poker__content,
  .home-roulette__content,
  .home-scenography__content,
  .home-gastronomy__content,
  .home-drinks__content,
  .home-process__header,
  .home-gallery__header,
  .home-contact__header {
    padding-inline-end: var(--container-padding-desktop);
  }

  .home-corporate__link,
  .home-thematic__link {
    margin-inline-start: calc(30% + var(--container-padding-desktop));
  }
}

@media (max-width: 1023px) {
  .home-hero__content {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-xl);
  }

  .home-hero__media {
    max-width: 100%;
    justify-self: stretch;
  }

  .home-teambuilding__content,
  .home-birthday__content,
  .home-casino__content {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-xl);
  }

  .home-teambuilding__media,
  .home-birthday__media,
  .home-casino__media {
    max-width: 100%;
    justify-self: stretch;
  }

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

  .home-corporate__card:nth-child(2),
  .home-thematic__card:nth-child(2) {
    transform: none;
  }

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

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

  .home-gallery__item--one {
    grid-row: auto;
  }

  .home-gallery__item--two,
  .home-gallery__item--three {
    transform: none;
  }

  .home-contact__content {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-xl);
  }
}

@media (max-width: 767px) {
  .home-hero {
    padding-block: var(--space-2xl) var(--space-xl);
  }

  .home-hero__ribbon,
  .home-agency__ribbon,
  .home-corporate__ribbon,
  .home-teambuilding__ribbon,
  .home-birthday__ribbon,
  .home-private__ribbon,
  .home-thematic__ribbon,
  .home-casino__ribbon,
  .home-poker__ribbon,
  .home-roulette__ribbon,
  .home-scenography__ribbon,
  .home-gastronomy__ribbon,
  .home-drinks__ribbon,
  .home-process__ribbon,
  .home-gallery__ribbon,
  .home-contact__ribbon {
    position: static;
    width: 100%;
    height: 2px;
    margin-block-end: var(--space-md);
    background: var(--color-petrol);
  }

  .home-casino__ribbon {
    background: var(--color-coral);
  }

  .home-casino__marker {
    display: none;
  }

  .home-hero__content,
  .home-agency__content,
  .home-corporate__header,
  .home-corporate__grid,
  .home-teambuilding__content,
  .home-birthday__content,
  .home-private__content,
  .home-thematic__header,
  .home-thematic__grid,
  .home-casino__content,
  .home-poker__content,
  .home-roulette__content,
  .home-scenography__content,
  .home-gastronomy__content,
  .home-drinks__content,
  .home-process__header,
  .home-process__grid,
  .home-gallery__header,
  .home-gallery__grid,
  .home-contact__header,
  .home-contact__content {
    margin-inline-start: 0;
    padding-inline: var(--container-padding-mobile);
  }

  .home-corporate__link,
  .home-thematic__link {
    margin-inline-start: var(--container-padding-mobile);
  }

  .home-corporate__grid,
  .home-thematic__grid,
  .home-process__grid,
  .home-gallery__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-contact__form {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-contact__field--full {
    grid-column: auto;
  }

  .home-contact__submit {
    grid-column: auto;
  }

  .home-hero__copy h1 {
    font-size: var(--text-h1-size);
  }

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

  .home-hero__actions .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-gallery__link img {
    transition: none;
  }

  .home-gallery__link:hover img {
    transform: none;
  }
}
