.vm-ornament {
  overflow: hidden;
  background: #fff;
}

.vm-ornament img {
  display: block;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

.vm-ornament--journey {
  width: calc(100% - 48px);
  max-width: 480px;
  margin: 8px auto 0;
  aspect-ratio: 1672 / 480;
  padding: 0;
  position: relative;
  clear: both;
}

.vm-ornament--journey img {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-18.0659%);
  height: auto;
  object-fit: contain;
}

#vm-journey-ornament + #page-2415 > article.py-5 {
  padding-top: .5rem !important;
}

.vm-ornament--inline {
  align-self: stretch;
  width: 100%;
  margin-top: 1.5rem;
}

.vm-ornament--inline img {
  height: clamp(115px, 13vw, 185px);
}

.vm-yacht-action { position: relative; width: 100%; }
.vm-yacht-action .vm-ornament--yacht { width: 65%; margin: 1rem 0 0 auto; }
.vm-yacht-action .vm-ornament--yacht img { height: auto; object-fit: contain; }
@media (min-width: 992px) {
  .vm-yacht-action {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    container-type: inline-size;
  }
  .vm-yacht-action .vm-ornament--yacht {
    position: absolute;
    grid-column: 2;
    left: 0;
    right: 0;
    top: -35px;
    width: 55cqw;
    max-width: 320px;
    margin: 0 auto;
    mix-blend-mode: multiply;
    pointer-events: none;
  }
}

.vm-golf-action {
  position: relative;
  width: 100%;
}
@media (min-width: 992px) {
  .vm-golf-action {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    container-type: inline-size;
  }
  .vm-golf-action .vm-ornament--golfer {
    position: absolute;
    grid-column: 2;
    left: 0;
    right: 0;
    top: -20px;
    mix-blend-mode: multiply;
    width: 50cqw;
    max-width: 300px;
    margin: 0 auto;
    pointer-events: none;
  }
  .vm-golf-action .vm-ornament--golfer img {
    height: auto;
  }
}
@media (max-width: 991.98px) {
  .vm-golf-action .vm-ornament--golfer {
    width: 65%;
    margin: 1rem 0 0 auto;
  }
  .vm-golf-action .vm-ornament--golfer img {
    height: auto;
  }
}

/* The garden-to-plate line follows the chef paragraph within its text column. */
#vm-food-ornament {
  position: relative;
  width: 85%;
  aspect-ratio: 1536 / 575;
  padding: 0;
  margin: 0 auto 12px;
  mix-blend-mode: multiply;
  pointer-events: none;
}
#vm-food-ornament img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  transform: translateY(-15.625%);
  object-fit: contain;
}
#vm-food-ornament + h3 { margin-top: 0; }
.vm-cantina-action { position: relative; width: 100%; display: grid; grid-template-columns: max-content minmax(0, 1fr); }
.vm-cantina-ornament {
  position: absolute; grid-column: 2; left: 0; right: 0; top: 0;
  width: min(220px, 100%); margin: 0 auto; mix-blend-mode: multiply; pointer-events: none;
}
.vm-cantina-ornament img { display: block; width: 100%; height: auto; }
@media (max-width: 991.98px) { .vm-cantina-ornament { display: none; } }

.vm-babysitting-photo { overflow: hidden; }
.vm-babysitting-photo > img { transform: scale(1.3); transform-origin: right center; }
.vm-babysitting-photo .sum-title {
  left: 50% !important;
  right: auto !important;
  top: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  white-space: nowrap;
  text-shadow: 0 1px 8px rgba(0,0,0,.3);
}

.vm-chianti-action { position: relative; width: 100%; display: grid; grid-template-columns: max-content minmax(0, 1fr); }
.vm-chianti-ornament { display: none; }
@media (min-width: 992px) {
  .vm-chianti-ornament {
    display: block; position: absolute; grid-column: 1 / -1;
    top: calc(100% + 8px); left: 0; right: 0;
    width: min(380px, 100%); aspect-ratio: 1691 / 490;
    overflow: hidden; margin: 0 auto; pointer-events: none; mix-blend-mode: multiply;
  }
  .vm-chianti-ornament img {
    display: block; position: absolute; width: 100%; height: auto;
    top: 0; left: 0; transform: translateY(-22.580645%);
  }
}

.vm-babysitting-ornament { width: 290px; max-width: 100%; margin: 6px -35px 0 auto; mix-blend-mode: multiply; }
.vm-babysitting-ornament img { display: block; width: 100%; height: auto; }
@media (max-width: 991.98px) {
  .vm-babysitting-ornament { display: none; }
  .vm-babysitting-content.sum_content { padding-top: 4px; padding-bottom: 4px; }
  .vm-babysitting-content h3 { font-size: 22px; line-height: 1.3; margin-bottom: 16px; }
  .vm-babysitting-content p { margin-bottom: 0; }
}

/* Food overview: consistent editorial hierarchy and photograph proportions. */
.vm-cooking-summary > .row > .col-lg-7 > img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
}
.vm-pizza-offer .vm-pizza-status {
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: normal;
  text-transform: none;
}

/* Lift the menu copy while leaving the illustration in its existing space. */
@media (min-width: 992px) {
  .vm-menu-content > h3,
  .vm-menu-content > p {
    position: relative;
    top: -28px;
  }
}
.vm-chef-action {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
}
.vm-chef-action .vm-ornament--chef {
  position: absolute;
  grid-column: 2;
  left: 0;
  right: 0;
  top: -10px;
  width: min(220px, 100%);
  aspect-ratio: 1536 / 800;
  margin: 0 auto;
  mix-blend-mode: multiply;
  pointer-events: none;
}
.vm-chef-action .vm-ornament--chef img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  transform: translateY(-9.765625%);
}

/* Let the text determine the desktop photo height, with a gentle central crop. */
@media (min-width: 782px) {
  .vm-cuisine-intro { align-items: stretch !important; }
  .vm-cuisine-intro > .wp-block-column:first-child { position: relative; }
  .vm-cuisine-intro > .wp-block-column:first-child > figure {
    position: absolute;
    inset: 0;
    margin: 0;
  }
  .vm-cuisine-intro > .wp-block-column:first-child > figure > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .vm-cuisine-intro > .wp-block-column:last-child > :last-child { margin-bottom: 0; }
}
