@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Arabic:wght@300;400;500;600&family=Noto+Sans+Hebrew:wght@300;400;500;600&family=Noto+Sans+SC:wght@300;400;500;600&display=swap');

/* A single, compact control keeps all six languages available on small screens. */
.language-picker { position: relative; flex-shrink: 0; direction: ltr; }
.language-picker > summary { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; min-width: 65px; padding: 7px 8px; cursor: pointer; list-style: none; font-size: 11px; letter-spacing: .07em; }
.language-picker > summary::-webkit-details-marker { display: none; }
.language-picker > summary svg { flex: 0 0 auto; }
.language-chevron { width: 5px; height: 5px; border: solid currentColor; border-width: 0 1px 1px 0; transform: rotate(45deg); margin-top: -3px; transition: transform .2s; }
.language-picker[open] .language-chevron { transform: rotate(225deg); margin-top: 3px; }
.language-picker .language-switch { position: absolute; z-index: 30; top: calc(100% + 12px); right: 0; display: grid; width: 208px; padding: 10px; gap: 2px; border: 1px solid var(--line); background: var(--paper); box-shadow: 0 14px 35px #29292417; letter-spacing: 0; }
.language-picker .language-switch button { position: relative; display: flex; justify-content: center; align-items: center; gap: 15px; width: 100%; min-height: 43px; padding: 9px 13px; border: 0; text-align: center; font-size: 13px; line-height: 1.6; font-weight: 400; }
.language-picker .language-switch button:hover, .language-picker .language-switch button[aria-pressed='true'] { background: #e8e0d4; border: 0; color: #39352e; }
.language-picker .language-switch button::after { content: ''; position: absolute; inset-inline-end: 13px; top: 50%; transform: translateY(-50%); width: 5px; height: 5px; border-radius: 50%; }
.language-picker .language-switch button[aria-pressed='true']::after { background: #8d795b; }
.language-switch [lang='ar'] { font-family: 'Noto Sans Arabic', Tahoma, sans-serif; }
.language-switch [lang='he'] { font-family: 'Noto Sans Hebrew', Arial, sans-serif; }
.language-switch [lang='zh-Hans'] { font-family: 'Noto Sans SC', 'Microsoft YaHei', sans-serif; }

html:lang(ar) { --sans: 'Noto Sans Arabic', Tahoma, Arial, sans-serif; }
html:lang(he) { --sans: 'Noto Sans Hebrew', Arial, sans-serif; }
html:lang(zh) { --sans: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif; }
body.rtl, body.zh { word-break: normal; overflow-wrap: break-word; }
body.zh { line-break: auto; }
html:lang(ar) h1, html:lang(ar) h2, html:lang(ar) h3, html:lang(ar) h4,
html:lang(ar) .section-label, html:lang(ar) .hero-kicker, html:lang(ar) .resort-tab-place,
html:lang(ar) .reference-caption, html:lang(ar) .insight-category, html:lang(ar) .featured-tag,
html:lang(ar) .resort-media-tag, html:lang(ar) .resort-thumb-label, html:lang(ar) .button { letter-spacing: 0; }
.rtl .hero h1 { line-height: 1.65; }
.rtl h2, .rtl .practice-heading h3, .rtl .resort-story h3 { letter-spacing: -.015em; line-height: 1.65; }
.rtl .hero-copy { max-width: 800px; margin-inline: auto; line-height: 2.15; }
.rtl .hero-kicker { line-height: 1.9; }
.rtl .about-columns, .rtl .practice-tabs .service-card, .rtl .insight-card,
.rtl .footer-column > a, .rtl #footer-services button, .rtl .privacy-table,
.rtl .privacy-table caption, .rtl .investment-article-link, .rtl .client-path .text-link { text-align: start; }
.rtl .nav-actions { margin-left: 0; margin-inline-start: auto; }
.rtl .menu-toggle { left: auto; right: 0; }
.rtl .menu-toggle span { left: auto; right: 0; }
.rtl .menu-toggle::after { left: auto; right: 37px; letter-spacing: 0; }
.rtl .language-picker .language-switch { right: auto; left: 0; }
.rtl .about-pillar { padding-left: 0; padding-inline-start: 40px; }
.rtl .about-pillar > span:first-child { left: auto; right: 0; }
.rtl .client-path + .client-path { border-left: 0; border-inline-start: 1px solid var(--line); padding-left: 0; padding-inline-start: 60px; }
.rtl .practice-panel { border-left: 0; border-inline-start: 1px solid var(--line); }
.rtl .practice-columns li, .rtl .client-path li { padding-left: 0; padding-inline-start: 15px; }
.rtl .practice-columns li::before, .rtl .client-path li::before { left: auto; right: 0; }
.rtl .engagement-card { border-left: 0; border-inline-start: 1px solid var(--line); }
.rtl .engagement-card:first-child { border-inline-start: 0; }
.rtl .engagement-card ul, .rtl dialog ul, .rtl .privacy-section ol { padding-left: 0; padding-inline-start: 20px; }
.rtl .contact-brief { border-left: 0; border-inline-start: 1px solid #777466; padding-left: 0; padding-inline-start: 54px; }
.rtl .send-status, .rtl .privacy-contact, .rtl .detail-output, .rtl .article-closing { border-left-width: 0; border-inline-start-width: 2px; border-inline-start-style: solid; }
.rtl .detail-number { float: left; padding-left: 0; padding-inline-start: 20px; }
.rtl .back-top { margin-left: 0; margin-inline-start: 4px; }
.rtl .hero-brief > a { border-left: 0; border-inline-start: 1px solid var(--line); }
.rtl .hero-brief > a:first-child { border-inline-start: 0; }
.rtl .en-name, .rtl .practice-kicker, .rtl #detail-eyebrow { direction: ltr; unicode-bidi: isolate; text-align: right; }
.rtl .resort-location > span, .rtl .service-number, .rtl .process-number, .rtl .engagement-number,
.rtl #send-reference-value, .rtl .contact-email, .rtl a[href^='mailto:'], .rtl code { direction: ltr; unicode-bidi: isolate; }
.contact-email, .footer-connect a[href^='mailto:'] { overflow-wrap: anywhere; }
.inquiry-preview pre { white-space: pre-wrap; overflow-wrap: anywhere; text-align: start; }
.rtl .inquiry-preview pre { font-family: var(--sans); }
.privacy-prose { font-size: 14px; color: var(--muted); line-height: 1.95; }
.privacy-prose ol, .privacy-prose ul { margin-block: 10px 16px; }
.privacy-table-wrap { overscroll-behavior-inline: contain; }

@media (max-width: 1100px) {
  .rtl .nav-contact { display: none; }
  .rtl .client-path + .client-path { padding-inline-start: 40px; }
  .rtl .contact-brief { padding-inline-start: 35px; }
}
@media (max-width: 900px) {
  .rtl .practice-panel { border-inline-start: 0; }
  .rtl .contact-brief { padding-inline-start: 28px; }
}
@media (max-width: 700px) {
  .rtl .client-path + .client-path { border-inline-start: 0; padding-inline-start: 0; }
  .rtl .engagement-card { border-inline-start: 0; }
  .rtl .contact-brief { border-inline-start: 0; padding-inline-start: 0; }
}
@media (max-width: 600px) {
  /* Leave room for the fixed music control so the policy links stay clickable. */
  .footer { padding-bottom: calc(86px + env(safe-area-inset-bottom)); }
  .language-picker > summary { min-width: 61px; min-height: 42px; gap: 7px; padding-inline: 5px; }
  .language-picker .language-switch { width: 190px; top: calc(100% + 7px); }
  .language-picker .language-switch button { min-height: 44px; }
  .rtl .hero h1 { font-size: clamp(28px, 7.1vw, 41px); }
  .rtl .hero-copy { font-size: 13px; }
  .rtl .hero-copy br { display: none; }
  .rtl .hero-brief > a { border-inline-start: 0; }
  .rtl .faq-item > p { padding-left: 19px; padding-right: 30px; }
  .rtl .practice-heading h3, .rtl .resort-story h3 { font-size: 27px; }
  .rtl .back-top { margin-inline-start: auto; }
  .privacy-prose { font-size: 12px; }
}
.footer-languages { display:flex; flex-wrap:wrap; gap:12px 22px; margin:0 0 26px; }
.footer-languages a { font-size:12px; color:inherit; opacity:.72; text-decoration:none; }
.footer-languages a:hover, .footer-languages a:focus-visible { opacity:1; text-decoration:underline; text-underline-offset:4px; }
