/* Page-specific imagery stays behind the existing content and never changes its height. */
body .hero-visual-v45 {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #edf0ec;
}
body .hero-visual-v45 > .container {
  position: relative;
  z-index: 1;
}
body .hero-visual-v45 > .hero-atmosphere-v45 {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  margin: 0;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}
body .hero-atmosphere-v45 > img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}
body .hero-atmosphere-v45::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(0deg, rgba(237,240,236,.6), transparent 30%, transparent 80%, rgba(237,240,236,.2)),
    linear-gradient(90deg, #edf0ec 0%, rgba(237,240,236,.98) 30%, rgba(237,240,236,.91) 48%, rgba(237,240,236,.76) 64%, rgba(237,240,236,.68) 100%);
}
body :is(.home-hero, .contact-hero).hero-visual-v45 > .hero-atmosphere-v45::after {
  background: linear-gradient(90deg, rgba(237,240,236,.98), rgba(237,240,236,.85) 52%, rgba(237,240,236,.7));
}
body .hero-visual-v45 .lead,
body .hero-visual-v45 .contact-hero__aside > p,
body .hero-visual-v45 .dictionary-hero__intro > p,
body .hero-visual-v45 .legal-hero__grid > div:last-child {
  color: #303a33;
}
body .hero-atmosphere-v45.is-pending { opacity: 0; }
body .hero-atmosphere-v45.is-entering {
  animation: hero-atmosphere-enter-v45 1.5s cubic-bezier(.2,.65,.25,1) both;
}
@keyframes hero-atmosphere-enter-v45 {
  from { opacity: 0; transform: translate3d(10px,0,0) scale(1.035); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 700px) {
  body .hero-atmosphere-v45 > img { object-position: 82% center; }
  body .hero-atmosphere-v45::after {
    background: linear-gradient(90deg, rgba(237,240,236,.96), rgba(237,240,236,.9) 45%, rgba(237,240,236,.74));
  }
  body :is(.home-hero, .contact-hero).hero-visual-v45 > .hero-atmosphere-v45::after {
    background: linear-gradient(90deg, rgba(237,240,236,.96), rgba(237,240,236,.86));
  }
}
@media (prefers-reduced-motion: reduce) {
  body .hero-atmosphere-v45.is-entering { animation: none; transform: none; opacity: 1; }
}
@media print {
  body .hero-visual-v45 > .hero-atmosphere-v45 { display: none; }
}
