html, body { overflow-x: clip; }
main { overflow: visible; }
.package-journey { position: relative; height: 440vh; margin-top: 30px; }
.package-stage { position: sticky; top: var(--package-nav,78px); height: calc(100svh - var(--package-nav,78px)); display: flex; align-items: center; }
.detail-hero.package-layout { width: 100%; margin: 0; }
.package-layout .copy { animation: none; }
.section-visual.package-frame { aspect-ratio: 4/3; padding: 0; animation: none; transform-origin: center; will-change: transform; overflow: hidden; }
.package-frame canvas { width: 100%; height: 100%; display: block; }
.list-panel { position: relative; z-index: 2; }
@media(max-width:700px) {
 .package-journey { height: 340vh; }
 .package-layout .copy h1 { font-size: 30px; }
 .package-layout .eyebrow { font-size: 11px; margin-bottom: 8px; }
 .package-layout .price { width: 70px; height: 70px; font-size: 25px; margin: 10px 0; }
 .package-layout .lead { font-size: 16px; margin: 8px 0; }
 .package-layout .actions { margin-top: 10px; }
 .package-layout .actions a { padding: 10px 14px; font-size: 12px; }
 .detail-hero.package-layout { gap: 16px; }
}
@media(prefers-reduced-motion:reduce) {
 .package-journey { height: auto; }
 .package-stage { position: relative; height: auto; padding: 24px 0; }
}
@media(max-width:700px) { .detail-hero.has-visual.package-layout { grid-template-columns: minmax(0,1fr); } .package-frame { min-width: 0; width: 100%; } }
