/* Four choices without increasing the height of the approved mobile ribbon. */
.language-switch{position:relative;flex:none;font-family:Manrope,sans-serif;font-size:13px}
.language-switch summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:8px;min-width:48px;min-height:44px;padding:0 6px;cursor:pointer;color:inherit}
.language-switch summary::-webkit-details-marker{display:none}
.language-switch summary:focus-visible,.language-options a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.language-options{position:absolute;inset-block-start:calc(100% + 6px);inset-inline-end:0;z-index:120;display:grid;min-width:164px;padding:8px;background:#F7F3EC;color:#512838;border:1px solid #d9cdbd;box-shadow:0 12px 32px #2d172a18}
.language-options a{display:block;min-height:44px;padding:12px 14px;line-height:1.4;text-decoration:none;white-space:nowrap}
.language-options a:hover,.language-options a[aria-current]{background:#EEE7DD}
.language-options a[aria-current]{font-weight:600}
.language-options a[lang=ar]{font-family:'Noto Sans Arabic',Tahoma,sans-serif}
.booking-language-note{font-size:.85rem;line-height:1.65;padding:10px 14px;margin:0 0 16px;background:#F7F3EC;color:#512838;border-inline-start:2px solid #805E32}
@font-face{font-family:'Noto Sans Arabic';src:url('/assets/arabic/sans-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Sans Arabic';src:url('/assets/arabic/sans-600.woff2') format('woff2');font-weight:500 700;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Naskh Arabic';src:url('/assets/arabic/naskh-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:lang(ar){font-family:'Noto Sans Arabic',Tahoma,sans-serif}
html[dir=rtl] body{font-family:'Noto Sans Arabic',Tahoma,sans-serif;line-height:1.85}
html[dir=rtl] :is(h1,h2,h3,h4,.hero h1,.hero-video h1,.ritual-detail h3,.voucher h3){font-family:'Noto Naskh Arabic',Georgia,serif;font-weight:400;font-style:normal;line-height:1.4;letter-spacing:0}
html[dir=rtl] :is(button,input,select,textarea){font-family:inherit}
html[dir=rtl] :is(.eyebrow,.gold,.ritual-tag,.ritual-duration,.booking-brand,.journal-meta){letter-spacing:0}
html[dir=rtl] :is(h1,h2,h3) em{font-style:normal}
html[dir=rtl] :is(p,address,li){line-height:1.95}
html[dir=rtl] :is(.hero-video-copy,.editorial-copy,.ritual-detail,.care-card,.contact-information,.faq-list,.legal-document,.journal-article,.booking-shell){text-align:start}
html[dir=rtl] :is(.button,.text-link)>svg{transform:scaleX(-1)}
html[dir=rtl] :is(a[href^='tel:'],a[href^='mailto:'],.contact-phone,.contact-email){direction:ltr;unicode-bidi:isolate;display:inline-block}
html[dir=rtl] :is(.ritual-meta,.offer-options,.offer-price,.voucher-value){unicode-bidi:plaintext}
html[dir=rtl] .nav-submenu{left:auto;right:0;text-align:start}
html[dir=rtl] .faq-list summary{padding-left:36px;padding-right:0}
html[dir=rtl] .faq-list summary::after{left:0;right:auto}
html[dir=rtl] :is(.care-search input,.journal-body ul,.legal-document ul){text-align:start}
html[dir=rtl] :is(.journal-body ul,.legal-document ul){padding-inline-start:1.5em;padding-inline-end:0}
/* Map geometry and exact logo artwork never mirror. Text cards follow the page. */
html[dir=rtl] .location-map{direction:ltr}
html[dir=rtl] .location-map :is(.map-address,.map-place){direction:rtl}
html[dir=rtl] .hero-video-description{max-width:33em}
html[dir=rtl] .hero-video h1{line-height:1.28}
@media(max-width:620px){
 .header-end{gap:10px}.language-switch{font-size:13px}
 html[dir=rtl] .hero-video h1{font-size:clamp(38px,10vw,56px);line-height:1.32}
 html[dir=rtl] .hero-video-description{font-size:15px;line-height:1.85}
 html[lang=es] .hero-video h1{font-size:clamp(38px,10.2vw,54px)}
 html[dir=rtl] .hero-video .actions .button{font-size:15px}
}
.language-switch summary::after{content:none!important}
html[dir=rtl]{--sans:'Noto Sans Arabic',Tahoma,sans-serif;--serif:'Noto Naskh Arabic',Georgia,serif}
html[dir=rtl] .header .header-end{margin-left:0;margin-right:auto}
html[dir=rtl] .header .nav{margin-left:0;margin-right:auto}
html[dir=rtl] .location-map__label,html[dir=rtl] .location-map__caption{direction:rtl;font-family:var(--sans);letter-spacing:0}
html[dir=rtl] .location-map__district{font-family:var(--serif);letter-spacing:0}
html[dir=rtl] body main p:not(.eyebrow){line-height:1.9}
html[dir=rtl] .hero-motion-line{left:auto;right:0;transform-origin:right}
html[dir=rtl] :is(.booking-back,button.booking-option,button.care-rate){text-align:start}
html[dir=rtl] .booking-help summary{padding-inline:0 24px}
html[dir=rtl] .booking-help summary::after{right:auto;left:0}
html[dir=rtl] .ritual-tab{padding-inline:0 20px;margin-inline:0 20px}
html[dir=rtl] .step{padding-inline:56px 0}
html[dir=rtl] .step::before{left:auto;right:0}
html[dir=rtl] .ritual-step-button{text-align:start}
html[dir=rtl] .ritual-flow::before,html[dir=rtl] .ritual-flow::after{left:auto;right:16px}
@media(max-width:620px){html[dir=rtl] .header .nav{margin:0}html[dir=rtl] .home-video .header .header-end{margin-left:0;margin-right:auto}}
@media(max-width:620px){
 html[dir=rtl] .ritual-flow .step{padding:35px 4px 0}
 html[dir=rtl] .ritual-flow .step::before{left:50%;right:auto}
 html[dir=rtl] .ritual-step-button{text-align:center}
 html[dir=rtl] .ritual-flow::before,html[dir=rtl] .ritual-flow::after{left:var(--ritual-track-left);right:auto}
 html[dir=rtl] .ritual-flow::after{transform-origin:right}
}
