/* Keep image movement inside its existing frame. Loaded only on the frontend. */
.anicap-site .anicap-hero__media,
.anicap-site .anicap-media-text__media,
.anicap-site .anicap-feature__media {
 overflow: hidden;
}

.anicap-heading-arrow {
 display: inline-block;
}

@media (max-width: 767px) {
 .anicap-site .anicap-nav {
  border-radius: 0 0 18px 18px;
  max-height: calc(100vh - 150px);
  max-height: calc(100svh - 150px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
 }
}

/* Reserve the parallax crop before the first paint; GSAP starts at y: 0. */
@media (min-width: 1024px) and (prefers-reduced-motion: no-preference) {
 .anicap-site .anicap-hero__media img,
 .anicap-site .anicap-media-text__media img,
 .anicap-site .anicap-feature__media img {
  transform: scale(1.09);
 }
 .anicap-site.home .anicap-hero__media img {
  transform: scale(1.5);
 }
}

/* GSAP owns image transforms when pointer animations are enabled. */
.anicap-motion-hover .anicap-cheese-card > img,
.anicap-motion-hover .anicap-recipe-card__image img {
 transition: none;
}

.anicap-motion-hover .anicap-nav li > a,
.anicap-motion-hover .anicap-footer nav a {
 --anicap-underline: 0;
 position: relative;
}

.anicap-motion-hover .anicap-nav li > a::after,
.anicap-motion-hover .anicap-footer nav a::after {
 content: '';
 position: absolute;
 right: 0;
 bottom: 5px;
 left: 0;
 height: 1px;
 background: currentColor;
 transform: scaleX(var(--anicap-underline));
 transform-origin: left center;
 pointer-events: none;
}

.anicap-motion-hover .anicap-footer nav a::after {
 bottom: -4px;
}

@media (prefers-reduced-motion: reduce) {
 .anicap-cheese-card:hover > img { transform: scale(1.5); }
 .anicap-recipe-card:hover .anicap-recipe-card__image img { transform: none; }
}

/* Print every piece of content even if an entrance was still running. */
@media print {
 .anicap-site main .anicap-block,
 .anicap-site main .anicap-block * {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
 }
}
