.vip-page { background: #f3f4f0; }
.vip-page img { max-width: 100%; }
.vip-page header { position: absolute; inset: 0 0 auto; background: transparent; backdrop-filter: none; }
.vip-page .menu-toggle { border: none; background: none; }
.vip-hero { min-height: 860px; min-height: max(800px, 95svh); padding: 175px max(5%, calc((100% - 1280px) / 2)) 40px; color: white; display: flex; flex-direction: column; justify-content: space-between; gap: 65px; background: linear-gradient(270deg, #0b2937ed, #0b293760), linear-gradient(0deg, #0b2432c9, transparent 60%), url('../images/kaaba2.png') center / cover; }
.vip-hero-content { max-width: 730px; }
.vip-eyebrow { display: inline-flex; gap: 10px; align-items: center; font-size: .9rem; font-weight: 500; color: #b8996c; }
.vip-hero .vip-eyebrow { color: #e3cfb1; }
.vip-hero h1 { font-size: clamp(3rem, 6.5vw, 6rem); font-weight: 400; line-height: 1.2; margin: 22px 0; letter-spacing: -1px; }
.vip-season { font-size: 1.6rem; color: #e3cfb1; margin-bottom: 14px; }
.vip-intro { max-width: 480px; font-size: 1.13rem; color: #dee8ec; margin-bottom: 26px; }
.vip-button { display: inline-flex; justify-content: center; align-items: center; gap: 14px; border-radius: 50px; background: #091929; color: white; padding: 17px 30px; font-weight: 500; }
.vip-button:hover { background: #174d62; transform: translateY(-2px); }
.vip-hero-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.vip-hero-facts > div { background: #0a1e2b99; backdrop-filter: blur(16px); border: 1px solid #ffffff25; border-radius: 18px; padding: 24px 28px; display: grid; grid-template-columns: 35px 1fr; column-gap: 14px; align-items: center; }
.vip-hero-facts i { grid-row: span 2; font-size: 1.5rem; color: #d9c2a0; }
.vip-hero-facts strong { font-weight: 500; font-size: 1.4rem; }
.vip-hero-facts span { color: #cbd8dc; font-size: .9rem; }
.vip-section { max-width: 1280px; margin: 0 auto; padding: 90px 24px; scroll-margin-top: 24px; }
.vip-section-heading { margin-bottom: 40px; }
.vip-section-heading h2 { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.25; font-weight: 500; margin: 14px 0; }
.vip-section-heading p { color: #617078; }
.vip-hotels { margin-bottom: 40px; scroll-margin-top: 24px; }
.vip-hotels-heading { margin-bottom: 24px; }
.vip-hotels-heading h3 { font-size: 1.7rem; font-weight: 500; margin-top: 8px; }
.vip-hotels-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.vip-hotel { background: white; border: 1px solid #dce2df; border-radius: 22px; overflow: hidden; }
.vip-hotel-photo { position: relative; }
.vip-hotel-photo img { width: 100%; height: 310px; object-fit: cover; display: block; }
.vip-hotel-city { position: absolute; right: 20px; bottom: 20px; padding: 8px 20px; border-radius: 40px; color: white; background: #102d3bcc; backdrop-filter: blur(12px); }
.vip-hotel-copy { padding: 28px; }
.vip-hotel-stars, .vip-hotel-location { display: inline-flex; align-items: center; gap: 10px; min-height: 26px; font-size: .85rem; color: #8a704c; }
.vip-hotel-stars > span:first-child { letter-spacing: 2px; }
.vip-hotel-copy h4 { font-size: clamp(1.3rem, 2vw, 1.8rem); line-height: 1.4; font-weight: 500; margin: 14px 0 5px; overflow-wrap: anywhere; }
.vip-hotel-arabic { color: #617078; margin-bottom: 24px; }
.vip-hotel-features { display: grid; gap: 14px; border-top: 1px solid #e4eae6; padding-top: 20px; }
.vip-hotel-features li { display: flex; align-items: flex-start; gap: 12px; font-size: 1rem; }
.vip-hotel-features i { color: #8a704c; width: 18px; flex-shrink: 0; margin-top: 5px; text-align: center; }
.vip-services-grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
.vip-camps { display: grid; grid-template-columns: 1fr 1fr; align-items: center; scroll-margin-top: 24px; }
.vip-camps > img { height: 100%; min-height: 360px; }
.vip-camps .vip-service-copy { padding: 36px; }
.vip-camps .vip-hotel-features { margin-top: 22px; }
.vip-camp-class { display: inline-flex; gap: 8px; padding: 6px 16px; background: #102d3b; color: #e3cfb1; border-radius: 30px; margin: 2px 0 16px; font-size: .9rem; }
.vip-care { scroll-margin-top: 24px; }
.vip-care-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.vip-care-grid li { border: 1px solid #dce2df; border-radius: 18px; padding: 24px 16px; background: white; }
.vip-care-grid i { color: #8a704c; font-size: 1.6rem; display: block; margin-bottom: 18px; }
.vip-care-grid h4 { font-weight: 500; font-size: 1rem; line-height: 1.5; }
.vip-pricing { padding-top: 80px; scroll-margin-top: 24px; }
.vip-pricing .vip-section-heading { margin-bottom: 24px; }
.vip-meals { display: flex; align-items: center; gap: 14px; background: #e4eae6; border-radius: 14px; padding: 18px 24px; margin-bottom: 24px; }
.vip-meals i { color: #8a704c; }
.vip-pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.vip-price-card { padding: 32px; border: 1px solid #dce2df; background: white; border-radius: 22px; }
.vip-room-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; background: #e4eae6; color: #174d62; font-size: 1.3rem; margin-bottom: 22px; }
.vip-price-card h3 { font-size: 1.55rem; font-weight: 500; margin-bottom: 6px; }
.vip-room-capacity { color: #617078; font-size: .9rem; }
.vip-room-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.vip-room-price bdi { font-size: clamp(1.8rem, 2.8vw, 2.7rem); font-weight: 500; line-height: 1.2; }
.vip-room-price span { color: #617078; font-size: 1rem; }
.vip-room-meals { font-size: .85rem; color: #617078; margin: 12px 0 26px; }
.vip-room-inquiry { display: flex; justify-content: center; align-items: center; gap: 12px; background: #102d3b; color: white; border-radius: 40px; padding: 14px 18px; font-size: .95rem; }
.vip-room-inquiry:hover { background: #174d62; }
@media (max-width: 1000px) { .vip-care-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .vip-price-card { padding: 24px; } }
@media (max-width: 760px) { .vip-pricing-grid { grid-template-columns: 1fr; } .vip-room-price bdi { font-size: 2.5rem; } }
@media (max-width: 600px) { .vip-care-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .vip-care-grid li:last-child { grid-column: 1 / -1; } .vip-camps > img { min-height: 0; } .vip-camps .vip-service-copy { padding: 24px; } .vip-pricing { padding-top: 55px; } .vip-meals { align-items: flex-start; padding: 18px; font-size: .9rem; } }
.vip-transport { margin-bottom: 40px; padding: 36px; color: #fff; background: #102d3b; border-radius: 24px; scroll-margin-top: 24px; }
.vip-transport-intro { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 40px; }
.vip-transport .vip-service-number { color: #e3cfb1; }
.vip-transport-copy h3 { font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.4; font-weight: 500; margin: 14px 0; }
.vip-transport-copy > p { color: #c9d7dd; max-width: 510px; }
.vip-transport-badge { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; margin-top: 22px; border: 1px solid #ffffff25; border-radius: 40px; font-size: .85rem; color: #e3cfb1; }
.vip-transport-photo { width: 100%; height: 290px; object-fit: cover; border-radius: 16px; }
.vip-route-header { display: flex; justify-content: space-between; align-items: center; margin: 35px 0 24px; padding-top: 25px; border-top: 1px solid #ffffff20; gap: 15px; }
.vip-route-header h4 { font-size: 1.2rem; font-weight: 500; }
.vip-route-toggle { background: transparent; color: #c9d7dd; border: 1px solid #ffffff30; border-radius: 30px; padding: 8px 15px; cursor: pointer; display: inline-flex; align-items: center; gap: 10px; }
.vip-route-toggle:hover { background: #ffffff10; }
.vip-route { position: relative; }
.vip-route-track { position: absolute; right: 10%; left: 10%; top: 30px; height: 2px; background: repeating-linear-gradient(90deg, #c8a879 0 8px, transparent 8px 15px); animation: vip-route-flow 1.5s linear infinite; opacity: .65; }
.vip-route-traveler { position: absolute; top: 26px; right: 10%; width: 10px; height: 10px; background: #f8deb8; border-radius: 50%; box-shadow: 0 0 0 5px #c8a87930, 0 0 18px #c8a879; animation: vip-route-travel 10s linear infinite; z-index: 2; }
.vip-route-stops { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; gap: 0; padding: 0; margin: 0; }
.vip-route-stops li { text-align: center; min-width: 0; }
.vip-route-node { display: grid; place-items: center; width: 62px; height: 62px; border-radius: 50%; background: #153745; border: 1px solid #bca17a80; color: #e3cfb1; font-size: 1.3rem; margin: 0 auto 18px; }
.vip-route-step { color: #c8a879; font-size: .72rem; }
.vip-route-stops h5 { font-size: 1.05rem; font-weight: 500; margin: 6px 0; }
.vip-route-stops p { color: #b7cbd3; font-size: .78rem; line-height: 1.5; padding: 0 8px; overflow-wrap: anywhere; }
.route-paused .vip-route-track, .route-paused .vip-route-traveler { animation-play-state: paused; }
@keyframes vip-route-flow { to { background-position: -15px 0; } }
@keyframes vip-route-travel { from { right: calc(10% - 5px); } to { right: calc(90% - 5px); } }
@keyframes vip-route-flow-vertical { to { background-position: 0 15px; } }
@keyframes vip-route-travel-vertical { from { top: 26px; } to { top: calc(100% - 36px); } }
@media (max-width: 760px) {
    .vip-transport { padding: 24px; }
    .vip-transport-intro { grid-template-columns: 1fr; gap: 25px; }
    .vip-transport-photo { height: 240px; }
    .vip-route-stops { grid-template-columns: 1fr; gap: 24px; }
    .vip-route-stops li { display: flex; align-items: center; text-align: right; gap: 20px; min-height: 80px; }
    .vip-route-node { margin: 0; flex-shrink: 0; }
    .vip-route-stops p { padding: 0; }
    .vip-route-track { right: 30px; left: auto; top: 31px; bottom: 31px; height: auto; width: 2px; background: repeating-linear-gradient(0deg, #c8a879 0 8px, transparent 8px 15px); animation-name: vip-route-flow-vertical; }
    .vip-route-traveler { right: 26px; animation-name: vip-route-travel-vertical; }
}

@media (prefers-reduced-motion: reduce) {
    .vip-route-toggle, .vip-route-traveler { display: none; }
    .vip-route-track { animation: none; }
}
.vip-service { border-radius: 22px; overflow: hidden; background: white; border: 1px solid #dce2df; }
.vip-service img { width: 100%; height: 260px; object-fit: cover; display: block; }
.vip-service-copy { padding: 26px; }
.vip-service-number { font-size: .8rem; color: #8a704c; }
.vip-service h3, .vip-support h3 { font-size: 1.5rem; font-weight: 500; line-height: 1.4; margin: 10px 0; }
.vip-service p, .vip-support p { color: #617078; font-size: .98rem; }
.vip-support { display: flex; gap: 24px; align-items: center; padding: 32px; margin-top: 24px; border-radius: 22px; background: #e4eae6; }
.vip-support-icon { display: grid; place-items: center; width: 70px; height: 70px; background: #102d3b; color: #e3cfb1; border-radius: 50%; font-size: 1.7rem; flex-shrink: 0; }
.vip-support-days { margin-inline-start: auto; color: #617078; white-space: nowrap; }
.vip-support-days strong { color: #102d3b; font-size: 3rem; font-weight: 400; margin-inline-end: 8px; }
.vip-inquiry { max-width: 1232px; margin: 0 auto 80px; padding: 55px; border-radius: 24px; color: white; background: #102d3b; display: flex; align-items: center; justify-content: space-between; gap: 40px; scroll-margin-top: 30px; }
.vip-inquiry h2 { font-size: clamp(2rem, 3vw, 3rem); font-weight: 500; margin: 14px 0; }
.vip-inquiry p { max-width: 520px; color: #c9d7dd; }
.vip-inquiry-actions { flex-shrink: 0; display: flex; flex-direction: column; gap: 20px; align-items: center; }
.vip-button-light { background: #f3f4f0; color: #102d3b; }
.vip-button-light:hover { color: white; }
.vip-phone { display: flex; align-items: center; gap: 12px; color: #c9d7dd; }
.vip-footer { background: #0b202a; color: #dce5e9; padding: 35px 5%; display: flex; flex-wrap: wrap; gap: 25px; align-items: center; justify-content: space-between; }
.vip-footer div { display: flex; gap: 25px; }
.vip-footer p { color: #93aab4; font-size: .85rem; }
.vip-overview-link { display: block; padding: 35px; margin: 35px 0; background: #102d3b; border-radius: 22px; color: white; }
.vip-overview-link span { color: #e3cfb1; }
.vip-overview-link h2 { font-weight: 500; margin: 10px 0; font-size: 2rem; }
.vip-overview-link p { color: #dce5e9; }
.vip-overview-link strong { display: inline-block; margin-top: 18px; font-weight: 500; }
.vip-overview-link:hover { background: #174d62; }
@media (max-width: 1000px) {
    .vip-services-grid { grid-template-columns: 1fr; }
    .vip-service-wide { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
    .vip-inquiry { margin-inline: 24px; padding: 36px; }
    .vip-support-days { display: none; }
}
@media (max-width: 600px) {
    .vip-hero { padding: 135px 24px 24px; min-height: auto; gap: 55px; background-position: 40% center; }
    .vip-hero h1 { font-size: clamp(2.7rem, 12vw, 4rem); }
    .vip-season { font-size: 1.3rem; }
    .vip-intro { font-size: 1rem; }
    .vip-hero-facts { grid-template-columns: 1fr; gap: 12px; }
    .vip-hero-facts > div { padding: 18px 24px; }
    .vip-section { padding: 55px 20px; }
    .vip-hotels-grid { grid-template-columns: 1fr; }
    .vip-hotel-photo img { height: 230px; }
    .vip-hotel-copy { padding: 22px; }
    .vip-services-grid, .vip-service-wide, .vip-camps { display: grid; grid-template-columns: 1fr; }
    .vip-service img { height: 230px; }
    .vip-service-copy { padding: 22px; }
    .vip-support { padding: 24px; align-items: flex-start; flex-direction: column; gap: 14px; }
    .vip-inquiry { flex-direction: column; align-items: stretch; margin: 0 20px 50px; padding: 30px 24px; gap: 30px; }
    .vip-button { padding: 15px 24px; }
    .vip-footer { flex-direction: column; text-align: center; }
}

/* Mobile browsing and restrained, compositor-friendly photo motion. */
.vip-hero { position: relative; isolation: isolate; overflow: hidden; background: #102d3b; }
.vip-kaaba-scene { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 65% 58%; z-index: -2; animation: vip-kaaba-arrival 4.8s cubic-bezier(.22,1,.36,1) both; }
.vip-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(270deg, #082333e6, #08233340), linear-gradient(0deg, #082333d9, transparent 65%); }
.vip-hero-content { animation: vip-soft-arrival 1s cubic-bezier(.22,1,.36,1) both; }
.vip-section-nav { position: sticky; top: 0; z-index: 100; display: flex; justify-content: center; gap: 14px; padding: 14px 20px; background: #f3f4f0f2; backdrop-filter: blur(12px); border-bottom: 1px solid #dce2df; }
.vip-section-nav a { min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 8px 22px; border-radius: 40px; color: #174d62; font-size: .95rem; white-space: nowrap; }
.vip-section-nav a:hover { background: #e4eae6; }
.vip-page :is(#hotels, #transport, #camps, #care, #food, #prices, #inquiry, #details) { scroll-margin-top: 90px; }
.vip-hotel-photo { overflow: hidden; touch-action: pan-y; }
.vip-gallery-controls { position: absolute; bottom: 16px; left: 16px; display: flex; align-items: center; gap: 8px; background: #102d3bbf; color: white; border-radius: 40px; padding: 4px; backdrop-filter: blur(10px); }
.vip-gallery-controls button { width: 44px; height: 44px; border: none; border-radius: 50%; background: transparent; color: white; cursor: pointer; }
.vip-gallery-controls button:hover { background: #ffffff20; }
.vip-gallery-count { font-size: .8rem; direction: ltr; min-width: 34px; text-align: center; }
.vip-hotel-city { bottom: 22px; right: 16px; font-size: .9rem; padding: 8px 14px; }
.vip-gmc-scene { overflow: hidden; border-radius: 16px; }
.vip-gmc-scene .vip-transport-photo { display: block; }
.vip-food { display: grid; grid-template-columns: 1.1fr 1fr; overflow: hidden; border-radius: 24px; margin-top: 55px; background: #102d3b; color: white; }
.vip-food-photo { overflow: hidden; min-width: 0; }
.vip-food-photo img { width: 100%; height: 100%; min-height: 370px; object-fit: cover; display: block; }
.vip-food-copy { padding: 45px; }
.vip-food-copy .vip-eyebrow { color: #e3cfb1; }
.vip-food-copy h3 { font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 400; line-height: 1.25; margin: 18px 0; }
.vip-food-copy > p { color: #c9d7dd; }
.vip-food-label { display: inline-flex; gap: 12px; align-items: center; margin-top: 20px; padding: 8px 18px; border: 1px solid #ffffff30; border-radius: 40px; color: #e3cfb1; }
.vip-food-meals { display: flex; gap: 25px; margin-top: 26px; padding-top: 22px; border-top: 1px solid #ffffff20; }
.vip-food-meals span { display: flex; gap: 10px; align-items: center; }
.vip-food-meals i { color: #c8a879; }
.vip-mobile-dock { display: none; }
.vip-reveal.vip-in-view { animation: vip-soft-arrival .8s cubic-bezier(.22,1,.36,1) var(--reveal-delay, 0ms) both; }
.vip-in-view .vip-hotel-photo img, .vip-in-view .vip-food-photo img { animation: vip-photo-arrival 4.8s cubic-bezier(.22,1,.36,1) both; }
.vip-in-view .vip-transport-photo { animation: vip-gmc-arrival 2s cubic-bezier(.22,1,.36,1) both; }
.vip-route-toggle { min-height: 44px; }
@keyframes vip-soft-arrival { from { opacity: .3; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
@keyframes vip-photo-arrival { from { transform: scale(1.065); } to { transform: scale(1); } }
@keyframes vip-kaaba-arrival { from { transform: scale(1.08); } to { transform: scale(1); } }
@keyframes vip-gmc-arrival { from { opacity: .5; transform: scale(1.06) translateX(-12px); } to { opacity: 1; transform: scale(1) translateX(0); } }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .vip-price-card { transition: transform .3s, box-shadow .3s; }
    .vip-price-card:hover { transform: translateY(-5px); box-shadow: 0 15px 35px #102d3b12; }
}
@media (max-width: 760px) {
    .vip-page .navbar { gap: 12px; }
    .vip-page .menu-toggle { min-width: 44px; min-height: 44px; }
    .vip-page .vip-hero-facts { gap: 10px; }
    .vip-hero-facts > div { padding: 18px; }
    .vip-food { grid-template-columns: 1fr; }
    .vip-food-photo img { min-height: 0; height: 270px; }
    .vip-food-copy { padding: 28px; }
    .vip-hotels-grid { grid-template-columns: 1fr; }
    .vip-page .vip-hotels { margin-bottom: 28px; }
    .vip-page .vip-transport { margin-bottom: 28px; }
    .vip-page .vip-section-heading h2 { font-size: 2.25rem; }
    .vip-price-card { padding: 26px; }
}
@media (max-width: 600px) {
    .vip-page { padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px)); }
    .vip-page .navbar { padding: 16px 20px; }
    .vip-page .logo-img { width: 150px; }
    .vip-page .mobile-only-btn { display: none; }
    .vip-page .menu-toggle { margin-inline-start: auto; }
    .vip-hero { padding: 115px 20px 25px; min-height: 700px; min-height: 92svh; gap: 45px; }
    .vip-kaaba-scene { object-position: 62% 55%; }
    .vip-hero::before { background: linear-gradient(0deg, #082333f2, #08233385 65%, #08233370); }
    .vip-hero h1 { font-size: clamp(2.6rem, 11vw, 3.8rem); margin: 20px 0; }
    .vip-hero-content { margin-top: 18px; }
    .vip-intro { line-height: 1.85; }
    .vip-hero-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .vip-hero-facts > div { display: flex; flex-direction: column; justify-content: flex-start; text-align: center; padding: 16px 6px; gap: 7px; border-radius: 14px; backdrop-filter: blur(8px); }
    .vip-hero-facts i { font-size: 1.1rem; }
    .vip-hero-facts strong { font-size: .94rem; }
    .vip-hero-facts span { font-size: .73rem; line-height: 1.5; }
    .vip-section { padding: 40px 16px; }
    .vip-section-nav { gap: 4px; padding: 8px; }
    .vip-section-nav a { flex: 1; padding: 8px 6px; font-size: .85rem; }
    .vip-page :is(#hotels, #transport, #camps, #care, #food, #prices, #inquiry, #details) { scroll-margin-top: 76px; }
    .vip-hotel-photo img { height: 250px; }
    .vip-hotel-copy { padding: 23px; }
    .vip-hotel-copy h4 { font-size: 1.45rem; overflow-wrap: normal; }
    .vip-hotel-features li { font-size: .95rem; line-height: 1.7; }
    .vip-transport { padding: 22px; }
    .vip-transport-copy h3 { font-size: 1.85rem; }
    .vip-food { margin-top: 35px; }
    .vip-food-copy h3 { font-size: 2.5rem; }
    .vip-care-grid { gap: 12px; }
    .vip-care-grid li { padding: 22px 16px; }
    .vip-pricing { padding-top: 45px; }
    .vip-pricing-grid { gap: 16px; }
    .vip-room-price { margin-top: 22px; }
    .vip-room-inquiry { min-height: 50px; }
    .vip-inquiry { margin-inline: 16px; }
    .vip-mobile-dock { position: fixed; bottom: 0; right: 0; left: 0; z-index: 2100; display: flex; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); background: #f3f4f0f5; border-top: 1px solid #dce2df; backdrop-filter: blur(14px); box-shadow: 0 -5px 22px #102d3b0d; }
    .vip-mobile-dock a { flex: 1; display: flex; justify-content: center; align-items: center; gap: 10px; min-height: 48px; border-radius: 40px; font-size: .9rem; border: 1px solid #d1dcd8; color: #174d62; }
    .vip-mobile-dock .vip-dock-whatsapp { background: #102d3b; color: white; border: 0; }
}
@media (max-width: 360px) { .vip-gallery-controls { gap: 2px; left: 10px; } .vip-gallery-controls button { width: 44px; } .vip-hotel-city { right: 10px; font-size: .8rem; padding: 8px 10px; } .vip-hotel-copy h4 { font-size: 1.3rem; } .vip-hero-facts strong { font-size: .85rem; } }
@media (prefers-reduced-motion: reduce) {
    .vip-reveal, .vip-reveal.vip-in-view { opacity: 1; transform: none; }
    .vip-kaaba-scene, .vip-in-view .vip-hotel-photo img, .vip-in-view .vip-food-photo img, .vip-in-view .vip-transport-photo { animation: none; transform: none; }
}
