/* Visit Sharm: warm light, polished surfaces and restrained movement. */
:root{--polish-ease:cubic-bezier(.22,1,.36,1)}
.site-header{border-bottom:1px solid rgba(255,255,255,.72);box-shadow:0 4px 28px rgba(6,43,63,.075)}
.site-header.is-scrolled{box-shadow:0 8px 32px rgba(6,43,63,.11)}
.hero-card{background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(255,255,255,.83));border:1px solid rgba(255,255,255,.75);box-shadow:0 24px 60px rgba(6,43,63,.18),inset 0 1px 0 #fff}
:is(.home-offer,.portal-card,.news-card,.jr-card,.native-hotel,.book-card){border-radius:14px;box-shadow:0 5px 18px rgba(6,43,63,.055),0 20px 44px rgba(6,43,63,.035);transition:transform .38s var(--polish-ease),box-shadow .38s ease,border-color .38s ease}
:is(.home-offer,.portal-card,.news-card,.jr-card,.native-hotel,.book-card) img{transition:filter .5s ease}
.button{border-radius:8px;transition:transform .28s var(--polish-ease),box-shadow .28s ease,background-color .28s ease}
.button.primary{background:linear-gradient(135deg,#e4c589,#c7984a);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 7px 18px rgba(143,103,35,.16)}
.button.dark{background:linear-gradient(130deg,#0b4255,#062b3f);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 7px 18px rgba(6,43,63,.12)}
.button.light{background:rgba(255,255,255,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.desktop-nav a{position:relative}
.desktop-nav a::after{content:"";position:absolute;height:2px;left:0;right:0;bottom:-7px;background:linear-gradient(90deg,var(--sea),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .3s var(--polish-ease)}
:is(a,button,input,select):focus-visible{outline:3px solid var(--sea);outline-offset:4px}
@media(hover:hover) and (pointer:fine){
 :is(.home-offer,.portal-card,.news-card,.jr-card,.native-hotel,.book-card):hover{transform:translateY(-5px);box-shadow:0 12px 24px rgba(6,43,63,.09),0 25px 50px rgba(6,43,63,.07);border-color:rgba(199,152,74,.5)}
 :is(.home-offer,.portal-card,.news-card,.jr-card,.native-hotel,.book-card):hover img{filter:saturate(1.06)}
 .button:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(6,43,63,.18)}
 .desktop-nav a:hover::after,.desktop-nav a:focus-visible::after{transform:scaleX(1)}
}
/* Content starts visible. Animation is only applied when an element enters view. */
@keyframes sharm-arrive{from{opacity:.72;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.sharm-arriving{animation:sharm-arrive .7s var(--polish-ease) both;animation-delay:var(--arrival-delay,0ms)}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .sharm-arriving{animation:none!important}
 :is(.home-offer,.portal-card,.news-card,.jr-card,.native-hotel,.book-card,.button,.desktop-nav a)::after,
 :is(.home-offer,.portal-card,.news-card,.jr-card,.native-hotel,.book-card,.button),
 :is(.home-offer,.portal-card,.news-card,.jr-card,.native-hotel,.book-card) img{transition:none!important}
 :is(.home-offer,.portal-card,.news-card,.jr-card,.native-hotel,.book-card,.button):hover{transform:none}
}

/* Destination portal direction, inspired by the user's Visit Dubai reference. */
:root{--paper:#fff;--ink:#102d40;--muted:#526774;--sea:#007da5;--reef:#00a8be;--gold:#007da5;--sand:#e6f5f9;--deep:#003f60}
body{background:#fff;color:var(--ink)}
h1,h2,h3,.hero h1,.section h2,.feature-band h2,.itinerary-panel h2,.institutional-cta h2,.native-stay-hero h1{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:750;letter-spacing:-.035em;line-height:1.12}
.site-header,.site-header.is-scrolled{background:rgba(255,255,255,.98);border-bottom:1px solid #edf3f5;box-shadow:0 4px 18px rgba(0,56,82,.06)}
.desktop-nav{gap:clamp(10px,1.5vw,24px)}
.desktop-nav a{font-weight:700;font-size:13px;padding:8px 0}
.desktop-nav a::after{background:#00a8be;bottom:0;border-radius:4px}
.hero{margin:104px 16px 0;border-radius:34px;min-height:650px;min-height:min(760px,calc(100svh - 120px))}
.hero-content{padding:70px 0 80px clamp(26px,5vw,72px);width:min(710px,65%)}
.hero h1{font-size:clamp(44px,5.1vw,72px);font-weight:760;line-height:1.09;max-width:680px}
.hero-lead{font-size:clamp(17px,1.7vw,22px);line-height:1.55;max-width:590px;color:#fff}
.hero .kicker{color:#b8f3ff;letter-spacing:.12em}
.hero-overlay{background:linear-gradient(90deg,rgba(0,37,61,.83),rgba(0,60,83,.28) 65%,rgba(0,60,83,.05))}
.hero-card{border-radius:20px;background:#fff;box-shadow:0 12px 32px rgba(0,46,67,.12);border:0;width:280px;bottom:28px;right:28px}
.hero-card span{color:var(--sea)}
.button{border-radius:999px;min-height:50px;padding:0 26px;font-weight:750;box-shadow:none}
.button.primary,.button.dark{background:#007da5;color:#fff;box-shadow:none}
.button.light{background:#fff;color:#006b91;border:1px solid #fff;box-shadow:none}
@media(hover:hover) and (pointer:fine){.button.primary:hover,.button.dark:hover{background:#005c80;box-shadow:0 8px 22px rgba(0,99,138,.18)}.button.light:hover{background:#e8f8fc;box-shadow:none}}
:is(.home-offer,.portal-card,.news-card,.jr-card,.native-hotel,.book-card){border:1px solid #e1edf1;border-radius:22px;background:#fff;box-shadow:0 6px 22px rgba(0,58,81,.055);overflow:hidden}
:is(.home-offer,.portal-card,.news-card,.jr-card,.native-hotel,.book-card):hover{border-color:#b9e5f0}
:is(.home-offer,.portal-card,.news-card,.jr-card,.native-hotel,.book-card) h3{color:#083c54;letter-spacing:-.025em}
.home-offers{background:#eef9fc!important}
.home-offer-price,.jr-price{color:#006c96}
.section h2,.jr-section h2{font-size:clamp(30px,3.4vw,46px);font-weight:750;line-height:1.16}
.feature-band{margin:20px 16px;border-radius:30px;overflow:hidden}
:is(.native-search,.native-more,.fact-panel,.jr-panel){border-radius:20px;border-color:#d5e9f0;box-shadow:0 8px 28px rgba(0,67,95,.055)}
:is(.native-area-tabs button,.topic-strip a){border-radius:999px}
.topic-strip{background:#fff;padding:24px 5%;gap:12px;flex-wrap:wrap}
.topic-strip a{background:#edf8fc;color:#006b91;border:0;padding:12px 22px}
.site-footer{background:#003f60;color:#fff}
@media(max-width:900px){.hero-content{width:75%;padding-top:48px;padding-bottom:200px}.hero{min-height:700px}.hero-card{width:270px}.hero h1{font-size:clamp(42px,6.4vw,62px)}}
@media(max-width:600px){
 .hero{margin:88px 10px 0;border-radius:24px;min-height:0}
 .hero-content{width:100%;padding:42px 24px 44px}
 .hero h1{font-size:clamp(37px,10vw,48px);line-height:1.08}
 .hero-lead{font-size:17px;line-height:1.55;margin-top:22px}
 .hero-actions{gap:10px;margin-top:26px}.hero-actions .button{width:auto;flex:1 1 180px;text-align:center}
 .hero-card{position:relative;bottom:auto;right:auto;margin:0 20px 22px;width:auto;padding:20px}
 .feature-band{margin:12px 10px;border-radius:24px}
 .section h2,.jr-section h2{font-size:30px}
 .topic-strip{padding:18px 16px;gap:8px}.topic-strip a{padding:10px 15px;font-size:13px}
}
