/* Homepage package tile. Static by default; motion runs once when visible. */
.zt-package-feature { min-height: 350px !important; }
.zt-package-feature .vp-home-feature-copy { width: 58%; flex: 0 0 58%; }
.zt-hero-photos { position: relative; display: block; width: 42%; flex: 0 0 42%; height: 300px; }
.zt-hero-photo { --tilt: -7deg; --entry-x: 90px; --entry-y: -50px; --entry-turn: 32deg; position: absolute; top: 5px; left: 7px; display: block; box-sizing: border-box; width: min(94%, 220px); padding: 0; background: transparent; transform: rotate(var(--tilt)); }
.zt-hero-photo:nth-child(2) { --tilt: 6deg; --entry-x: 110px; --entry-y: 50px; --entry-turn: -30deg; top: auto; left: auto; right: 7px; bottom: 5px; }
.zt-package-feature .zt-hero-photo-image { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; opacity: 1; margin: 0; }
.zt-hero-bbq-image { -webkit-mask: url("hero-bbq-pakket-mask-v1.svg") center / 100% 100% no-repeat; mask: url("hero-bbq-pakket-mask-v1.svg") center / 100% 100% no-repeat; }
.zt-package-feature .zt-hero-word { display: inline-block; white-space: nowrap; }
.zt-package-feature .zt-hero-letter { display: inline-block; }
.zt-package-feature .zt-hero-accessible { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (prefers-reduced-motion: no-preference) {
  .zt-hero-ready .zt-hero-letter { animation: zt-hero-letter-in .32s both; animation-delay: calc(.18s + var(--letter) * .045s); }
  .zt-hero-ready .vp-home-feature-description { animation: zt-hero-copy-in .65s 1.25s both; }
  .zt-hero-ready .zt-hero-photo { animation: zt-hero-photo-in 1.1s .45s cubic-bezier(.2,.7,.25,1) both; }
  .zt-hero-ready .zt-hero-photo:nth-child(2) { animation-delay: .8s; }
  .zt-hero-ready .vp-home-feature-badge { animation: zt-hero-glimmer 1.6s .15s 3 ease-in-out; }
  .zt-hero-ready:not(.zt-hero-playing) .zt-hero-letter,
  .zt-hero-ready:not(.zt-hero-playing) .vp-home-feature-description,
  .zt-hero-ready:not(.zt-hero-playing) .zt-hero-photo,
  .zt-hero-ready:not(.zt-hero-playing) .vp-home-feature-badge { animation-play-state: paused; }
}
@keyframes zt-hero-letter-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes zt-hero-copy-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@keyframes zt-hero-photo-in { from { opacity: 0; transform: translate(var(--entry-x), var(--entry-y)) rotate(var(--entry-turn)) scale(.88); } to { opacity: 1; transform: rotate(var(--tilt)); } }
@keyframes zt-hero-glimmer { 0%, 100% { opacity: 1; } 45%, 55% { opacity: .62; } }
@media (max-width: 700px) {
  .zt-package-feature { min-height: 284px !important; height: auto !important; }
  .zt-package-feature .vp-home-feature-copy { width: 58% !important; flex-basis: 58%; padding-right: 6px; box-sizing: border-box; }
  .zt-package-feature .vp-home-feature-description { display: block !important; margin: 2px 0 8px; font-size: 12px !important; line-height: 1.45 !important; }
  .zt-hero-photos { height: 220px; }
  .zt-hero-photo { width: min(100%, 144px); top: 6px; left: 3px; }
  .zt-hero-photo:nth-child(2) { right: 3px; bottom: 6px; }
}
