@font-face{font-family:Cairo;font-style:normal;font-weight:200 1000;font-display:swap;src:url('../fonts/cairo-variable.woff2') format('woff2')}
@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url('../home-a/fonts/manrope-cyrillic.woff2') format('woff2');unicode-range:U+0400-04FF,U+2116,U+20BD}
.locale-switcher{position:relative;z-index:30;flex:none;font:inherit;font-size:.82rem;font-weight:600;line-height:1.4;color:inherit}
.locale-switcher details{position:relative}
.locale-switcher summary{cursor:pointer;list-style:none;border:1px solid currentColor;border-radius:.5rem;padding:.45rem .7rem;white-space:nowrap}
.locale-switcher summary::-webkit-details-marker{display:none}
.locale-switcher summary::after{content:"";display:inline-block;width:.4rem;height:.4rem;margin-inline-start:.55rem;border-inline-end:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-.15rem) rotate(45deg)}
.locale-switcher__options{position:absolute;inset-inline-end:0;top:calc(100% + .35rem);min-width:8.5rem;padding:.3rem;background:#fff;color:#172554;border:1px solid #dbe2ed;border-radius:.55rem;box-shadow:0 12px 30px rgba(0,0,0,.14)}
.locale-switcher__options a{display:block;padding:.45rem .6rem;border-radius:.3rem;color:inherit;text-decoration:none;white-space:nowrap}
.locale-switcher__options a:hover,.locale-switcher__options a:focus-visible{background:#eff6ff;outline:none}
.locale-switcher__options a[aria-current=page]{font-weight:800;background:#eff6ff}
html[lang=ar] body{font-family:Cairo,system-ui,sans-serif}
html[dir=rtl] .locale-switcher{direction:rtl}

/* Keep the established phone header geometry; language selection lives in its menu. */
.locale-menu{padding:12px 0;display:flex;justify-content:flex-start}
@media(max-width:1023px){.locale-desktop{display:none}}
@media(min-width:1024px){.locale-menu{display:none}}
/* Phone menus (25 Oct 2026): the language list opens from the side its button sits on, so it stays on screen in every language. */
.locale-menu .locale-switcher__options,.locale-start .locale-switcher__options{inset-inline-start:0;inset-inline-end:auto}
@media(max-width:759px){
 html:not([lang=en]) .tabs .tab{height:64px;white-space:normal;min-width:0}
 html:not([lang=en]) .tabs .tab-s{font-size:11px;line-height:1.2;max-width:100%;white-space:normal;overflow-wrap:anywhere}
}
html[lang=ar]{--font:Cairo,system-ui,sans-serif}
html[lang=ar] :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea,.font-heading,.font-sans,.locale-switcher){font-family:Cairo,system-ui,sans-serif;letter-spacing:normal}
html[dir=rtl] .text-left{text-align:right}
html[dir=rtl] .text-right{text-align:left}
html[dir=rtl] :is(input[type=email],input[type=tel],input[type=url]){direction:ltr;text-align:left}
/* Keep off-screen bot traps outside the scrollable edge in right-to-left documents. */
html[dir=rtl] :is(.hp,.form-honeypot){left:auto!important;right:-9999px!important}
html[dir=rtl] .booking-timeline .timeline-rail{left:auto;right:.75rem}
html[dir=rtl] .booking-timeline .timeline-event{padding-left:0;padding-right:2.5rem}
html[dir=rtl] .booking-timeline .timeline-point{left:auto;right:0}
html[dir=rtl] nav[role=navigation] svg{transform:scaleX(-1)}

/* Translated headings can grow without covering the unchanged navigation. */
@media(min-width:1024px){
 html:not([lang=en]) .hero{height:auto;min-height:clamp(440px,calc(100svh - var(--head-h) - 172px),760px);max-height:none}
 html:not([lang=en]) .hero-in{padding-top:40px}
}
@media(min-width:1024px) and (max-width:1279px){html:not([lang=en]) .hero{min-height:clamp(400px,calc(100svh - var(--head-h) - 250px),760px)}}

html:not([lang=en]) .localized-flash{width:max-content;max-width:calc(100vw - 32px)}
html:not([lang=en]) .localized-flash>span{min-width:0;overflow-wrap:anywhere}
html:not([lang=en]) .localized-flash>button{flex:none}

/* Direction for the current blog design. */
html[dir=rtl] .b-hero-shade{background:linear-gradient(to left,rgba(2,31,69,.9) 0%,rgba(2,31,69,.8) 55%,rgba(2,31,69,.3) 100%),linear-gradient(to top,rgba(2,31,69,.7) 0%,rgba(2,31,69,0) 50%)}
html[dir=rtl] .p-hero-shade{background:linear-gradient(to left,rgba(2,31,69,.93) 0%,rgba(2,31,69,.88) 50%,rgba(2,31,69,.5) 70%,rgba(2,31,69,.06) 92%),linear-gradient(to top,rgba(2,31,69,.55) 0%,rgba(2,31,69,0) 45%)}
html[dir=rtl] .prose ul>li{padding-left:0;padding-right:28px}
html[dir=rtl] .prose ul>li::before{left:auto;right:6px}
html[dir=rtl] .prose ol{padding-left:0;padding-right:1.4em}
html[dir=rtl] .prose blockquote{padding:4px 22px 4px 0;border-left:0;border-right:4px solid var(--sun)}
html[dir=rtl] :is(.b-go,.b-pages,.b-tool,.p-acts,.p-back,.crumbs) .ico-sm{transform:scaleX(-1)}
@media(max-width:1023px){html[dir=rtl] .b-hero-shade{background:linear-gradient(to bottom,rgba(2,31,69,.86) 0%,rgba(2,31,69,.8) 60%,rgba(2,31,69,.72) 100%)}}

/* Native scripts (Mohamed, 5 Oct 2026: "make sure each language is serving a font that displays the native script properly").
   Arabic: taller lines than the Latin design, so dots, hamzas and descenders never touch the next line. */
html[lang=ar] :is(h1,h2,h3,h4,h5,h6){line-height:1.45}
html[lang=ar] :is(h1,h2,h3,h4,h5,h6) :is(span,a,strong,em){line-height:inherit}
/* Russian: Poppins (inner-page headings) has no Cyrillic letters, so those headings use Inter, which these pages load with Cyrillic. */
html[lang=ru] .font-heading{font-family:Inter,system-ui,sans-serif}
/* Ukrainian (24 Oct 2026): the same, Poppins has no Cyrillic letters. */
html[lang=uk] .font-heading{font-family:Inter,system-ui,sans-serif}

/* Translated display titles: a long word wraps inside the title instead of being cut off on phones. */
html:not([lang=en]) h1{overflow-wrap:break-word;hyphens:auto}
