/* ExnoVisa multilingual layout.
 * Load after styles.css, legal.css (where used), and locale.css.
 * Local font names are fallbacks only: no external font request is made.
 */
html:lang(ar),html:lang(fa),html:lang(ur){--sans:"Geeza Pro",Tahoma,"Noto Sans Arabic",Arial,sans-serif;--serif:"Geeza Pro","Noto Naskh Arabic",Tahoma,serif}
html:lang(he){--sans:"Arial Hebrew",Arial,"Noto Sans Hebrew",sans-serif;--serif:"New Peninim MT","Noto Serif Hebrew",Arial,serif}
html:lang(hi),html:lang(mr){--sans:"Kohinoor Devanagari","Nirmala UI","Noto Sans Devanagari",sans-serif;--serif:var(--sans)}
html:lang(bn){--sans:"Bangla Sangam MN","Nirmala UI","Noto Sans Bengali",sans-serif;--serif:var(--sans)}
html:lang(pa){--sans:"Gurmukhi Sangam MN",Raavi,"Noto Sans Gurmukhi",sans-serif;--serif:var(--sans)}
html:lang(ta){--sans:"Tamil Sangam MN","Nirmala UI","Noto Sans Tamil",sans-serif;--serif:var(--sans)}
html:lang(te){--sans:"Telugu Sangam MN","Nirmala UI","Noto Sans Telugu",sans-serif;--serif:var(--sans)}
html:lang(gu){--sans:"Gujarati Sangam MN","Nirmala UI","Noto Sans Gujarati",sans-serif;--serif:var(--sans)}
html:lang(th){--sans:Thonburi,"Leelawadee UI","Noto Sans Thai",sans-serif;--serif:var(--sans)}
html:lang(zh-Hans){--sans:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--serif:"Songti SC",SimSun,"Noto Serif CJK SC",serif}
html:lang(zh-Hant){--sans:"PingFang TC","Microsoft JhengHei","Noto Sans CJK TC",sans-serif;--serif:"Songti TC",PMingLiU,"Noto Serif CJK TC",serif}
html:lang(ja){--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,"Noto Sans JP",sans-serif;--serif:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif}
html:lang(ko){--sans:"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;--serif:"AppleMyungjo",Batang,"Noto Serif KR",serif}

/* Let translated words use available space without widening their parent grid. */
:where(html:not(:lang(en))) :is(.primary-nav,.nav-actions,.hero-copy,.section-heading>div,.how-intro,.imigra-copy,.chat-preview,.destination-card-body>span:first-child,.journey-steps li>div,.footer-main>div,.footer-corporate>div,.policy-header-nav,.policy-meta>* , .legal-company-card){min-inline-size:0}
:where(html:not(:lang(en))) :is(h1,h2,h3,.button,.text-link,.track-link,.footer-nav a,.footer-nav button,.corporate-contact,.destination-description,.destination-tag,.policy-header-nav a,.policy-nav a,.legal-card-link){overflow-wrap:anywhere}
:where(html:not(:lang(en))) :is(.button,.text-link,.track-link,.primary-nav>a,.destination-catalog-row .text-link){white-space:normal;max-inline-size:100%}
:where(html:not(:lang(en))) :is(.destination-link,.catalog-country,.future-services button,.footer-nav button,.track-link){text-align:start}
:where(html:not(:lang(en))) :is(.hero-main,.how-layout,.imigra-panel,.faq-layout,.footer-main)>*{min-inline-size:0}
:where(html:not(:lang(en))) :is(.policy-section p,.policy-section li,.policy-lead,.legal-card p){hyphens:auto;overflow-wrap:anywhere}
:where(html:not(:lang(en))) :is(.eyebrow,.planner-status,.preview-chip,.dialog-kicker){line-height:1.65}
:where(html:not(:lang(en))) .primary-nav{flex-wrap:wrap;column-gap:clamp(14px,1.8vw,25px);row-gap:10px;padding-block:10px}
:where(html:not(:lang(en))) .primary-nav>a{line-height:1.5}
:where(html:not(:lang(en))) .nav-actions{flex-wrap:wrap;gap:10px 20px}
:where(html:not(:lang(en))) .nav-actions .button{flex-shrink:1}
:where(html:not(:lang(en))) .policy-page .header-inner{flex-wrap:wrap;gap:10px 28px;padding-block:10px}
:where(html:not(:lang(en))) .policy-header-nav{gap:7px 24px}
:where(html:not(:lang(en))) .preview-bar>.container{padding-block:7px;line-height:1.6;gap:5px 12px;text-align:center}
:where(html:not(:lang(en))) .preview-bar a{position:static}

/* Preserve the established type hierarchy, allowing longer translated headlines. */
:where(html:not(:lang(en))) .hero h1{font-size:clamp(43px,5.1vw,78px);line-height:1.12;letter-spacing:-.04em}
:where(html:not(:lang(en))) .hero h1 em{white-space:normal;line-height:inherit;letter-spacing:inherit}
:where(html:not(:lang(en))) .hero-caption{max-inline-size:calc(100% - 64px)}
:where(html:not(:lang(en))) .hero-caption strong{font-size:clamp(27px,3.1vw,43px);line-height:1.22;overflow-wrap:anywhere}
:where(html:not(:lang(en))) .hero-location{max-inline-size:100%;line-height:1.65;overflow-wrap:anywhere}
:where(html:not(:lang(en))) .image-kicker{max-inline-size:calc(100% - 52px);line-height:1.7;align-items:flex-start}
:where(html:not(:lang(en))) .image-kicker .tiny-orbit{flex-shrink:0;margin-block-start:.3em}
:where(html:not(:lang(en))) .hero-video-toggle{max-inline-size:45%;white-space:normal;line-height:1.6;text-align:start}
:where(html:not(:lang(en))) .journey-index{padding-inline-end:43%;line-height:1.6;overflow-wrap:anywhere;align-items:center}
:where(html:not(:lang(en))) .destination-tag{max-inline-size:calc(100% - 28px);line-height:1.5}
:where(html:not(:lang(en))) .destinations-toolbar{flex-wrap:wrap;gap:12px 20px}
:where(html:not(:lang(en))) .destination-count{white-space:normal}
:where(html:not(:lang(en))) .planner-heading{align-items:flex-start}
:where(html:not(:lang(en))) .planner-heading>span{max-inline-size:100%}
:where(html:not(:lang(en))) .planner-submit{white-space:normal;min-inline-size:0}
:where(html:not(:lang(en))) .value-strip{flex-wrap:wrap;gap:15px 36px}
:where(html:not(:lang(en))) .value-strip>div{min-inline-size:0;max-inline-size:100%}
:where(html:not(:lang(en))) .chat-preview-top{flex-wrap:wrap;row-gap:10px}
:where(html:not(:lang(en))) .chat-preview-top>div:nth-child(2){min-inline-size:100px}
:where(html:not(:lang(en))) .preview-chip{max-inline-size:100%;overflow-wrap:anywhere}
:where(html:not(:lang(en))) .sample-input{gap:10px}
:where(html:not(:lang(en))) .sample-input>span{min-inline-size:0}
:where(html:not(:lang(en))) .sample-input button{flex-shrink:0}
:where(html:not(:lang(en))) .dialog-actions{display:flex;flex-wrap:wrap;gap:10px}
:where(html:not(:lang(en))) .dialog-actions .button{max-inline-size:100%;flex:1 1 210px}
:where(html:not(:lang(en))) .planner-summary{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
:where(html:not(:lang(en))) .planner-summary :is(dt,dd){overflow-wrap:anywhere;min-inline-size:0}
:where(html:not(:lang(en))) .chat-dialog-heading>div:not(.assistant-avatar){min-inline-size:0}
:where(html:not(:lang(en))) .footer-bottom{flex-wrap:wrap;overflow-wrap:anywhere}
:where(html:not(:lang(en))) .corporate-contact{white-space:normal;max-inline-size:100%}
:where(html:not(:lang(en))) .footer-corporate>div:nth-child(2){min-inline-size:0}

/* Do not compress joined scripts with Latin display tracking or artificial italics. */
html:is(:lang(ar),:lang(fa),:lang(ur),:lang(he),:lang(hi),:lang(bn),:lang(pa),:lang(ta),:lang(te),:lang(mr),:lang(gu),:lang(th),:lang(zh),:lang(ja),:lang(ko)) :is(h1,h2,h3,em,.eyebrow,.planner-status,.nav-new,.image-kicker,.hero-caption>span,.journey-index,.photo-location,.preview-chip,.coming-soon-label,.dialog-kicker,.chat-message__label,.policy-sidebar-title,.legal-card-kicker,.footer-bottom){letter-spacing:normal;text-transform:none}
html:is(:lang(ar),:lang(fa),:lang(ur),:lang(he),:lang(hi),:lang(bn),:lang(pa),:lang(ta),:lang(te),:lang(mr),:lang(gu),:lang(th),:lang(zh),:lang(ja),:lang(ko)) :is(h1 em,h2 em){font-style:normal}
html:is(:lang(ar),:lang(fa),:lang(ur),:lang(he),:lang(hi),:lang(bn),:lang(pa),:lang(ta),:lang(te),:lang(mr),:lang(gu),:lang(th)) :is(h1,h2,h3){line-height:1.4}
:where(html:is(:lang(ar),:lang(fa),:lang(ur))) .policy-section :is(p,li,address){line-height:2}
:where(html:lang(ur)) body{line-height:1.85}
:where(html:is(:lang(zh),:lang(ja))) .policy-article{--policy-measure:42em;line-break:strict;word-break:normal}
:where(html:lang(ko)) :is(h1,h2,h3,.policy-article){word-break:keep-all;overflow-wrap:anywhere}

/* RTL flow mirrors controls and spacing; artwork, logos and the film stay intact. */
html[dir=rtl] :is(.destination-link,.catalog-country,.future-services button,.footer-nav button){text-align:start}
html[dir=rtl] .skip-link{left:auto;inset-inline-start:20px}
html[dir=rtl] .nav-new{margin-left:0;margin-inline-start:3px}
html[dir=rtl] .nav-actions{margin-left:0;margin-inline-start:12px}
html[dir=rtl] .primary-nav>a::after{transform-origin:right}
html[dir=rtl] .planner-field{border-right:0;border-inline-end:1px solid var(--line)}
html[dir=rtl] .planner-field:first-child{padding-left:19px;padding-inline-start:0}
html[dir=rtl] .select-wrap select{padding-inline:0 20px;text-align:start}
html[dir=rtl] .select-wrap>.icon{right:auto;inset-inline-end:0}
html[dir=rtl] .planner-submit{margin-left:0;margin-inline-start:22px}
html[dir=rtl] .hero-visual{border-radius:20px 120px 20px 20px}
html[dir=rtl] .hero-caption{left:auto;right:36px}
html[dir=rtl] .image-kicker{right:auto;left:26px}
html[dir=rtl] .hero-video-toggle{right:auto;left:22px}
html[dir=rtl] .film-expand{right:auto;left:24px}
html[dir=rtl] .journey-index{left:36px;right:38px}
html[dir=rtl] .destination-tag{left:auto;right:17px}
html[dir=rtl] .photo-location{left:auto;right:18px}
html[dir=rtl] .sample-assistant{padding-right:0;padding-inline-end:15px}
html[dir=rtl] .sample-user{border-radius:10px 10px 10px 2px}
html[dir=rtl] .chat-preview-bottom{padding-left:0;padding-inline-start:27px}
html[dir=rtl] .sample-input{padding-inline:14px 8px}
html[dir=rtl] .future-services button{border-right:0;border-inline-end:1px solid var(--line)}
html[dir=rtl] .future-services button:first-child{padding-left:21px;padding-inline-start:0}
html[dir=rtl] .future-services button:last-child{border-inline-end:0}
html[dir=rtl] .service-arrow{right:auto;left:20px}
html[dir=rtl] .faq-list details p{padding-right:0;padding-inline-end:30px}
html[dir=rtl] .dialog-checklist{padding-left:0;padding-inline-start:18px}
html[dir=rtl] .chat-dialog-heading>.icon-button{margin-left:0;margin-inline-start:auto}
html[dir=rtl] .chat-message--assistant{border-bottom-left-radius:12px;border-end-start-radius:3px}
html[dir=rtl] .chat-message--user{border-bottom-right-radius:12px;border-end-end-radius:3px}
html[dir=rtl] .chat-message p{unicode-bidi:plaintext}
html[dir=rtl] .policy-print{margin-left:0;margin-inline-start:auto}
html[dir=rtl] .policy-sidebar{padding-inline:1px 10px}
html[dir=rtl] .policy-nav a{border-left:0;border-inline-start:2px solid transparent}
html[dir=rtl] .policy-nav a[aria-current=page]{border-inline-start-color:var(--teal)}
html[dir=rtl] .policy-section ul{padding-left:0;padding-inline-start:22px}
html[dir=rtl] .legal-content ul{padding-left:0;padding-inline-start:21px}
html[dir=rtl] :is(.footer-email,.corporate-contact){direction:ltr;unicode-bidi:isolate}
html[dir=rtl] svg[data-arrow]:not([data-arrow=up]):not([data-arrow=down]){scale:-1 1}
html[dir=rtl] :is(.footer-email,.corporate-contact) svg[data-arrow]{scale:none}
html[dir=rtl] .text-link:hover .icon{transform:translateX(-4px)}

/* A translated menu gets the established collapsible layout before it crowds the logo. */
@media(max-width:1200px){
  :where(html:not(:lang(en))) .menu-toggle{display:flex}
  :where(html:not(:lang(en))) .primary-nav{display:none;position:absolute;top:100%;inset-inline:0;padding:18px 24px 25px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #082c3d12;background:var(--paper);font-size:14px;align-items:stretch;gap:0;max-block-size:calc(100dvh - 108px);overflow-y:auto;overscroll-behavior:contain}
  :where(html:not(:lang(en))) .primary-nav.is-open{display:flex;flex-direction:column}
  :where(html:not(:lang(en))) .primary-nav>a{padding:13px 0;min-block-size:44px;border-bottom:1px solid var(--line);max-inline-size:none}
  :where(html:not(:lang(en))) .primary-nav>a::after{display:none}
  :where(html:not(:lang(en))) .nav-actions{margin:15px 0 0;justify-content:space-between}
  :where(html:not(:lang(en))) .track-link{display:inline-flex;font-size:12px;min-block-size:44px;align-items:center}
  :where(html:not(:lang(en))) .nav-actions .button{font-size:12px}
  html[dir=rtl] .nav-actions{margin-inline-start:0}
}
@media(max-width:1190px){
  html[dir=rtl] .planner-field:first-child{padding-left:14px}
  html[dir=rtl] .planner-submit{margin-inline-start:14px}
  html[dir=rtl] .hero-visual{border-radius:20px 100px 20px 20px}
  html[dir=rtl] .future-services button:first-child{padding-left:17px}
  html[dir=rtl] .service-arrow{left:17px}
}
@media(max-width:980px){
  :where(html:not(:lang(en))) .hero h1{font-size:clamp(40px,5.3vw,59px)}
  html[dir=rtl] .planner-field:first-child{padding-left:15px}
  html[dir=rtl] .purpose-field{border-inline-end:0}
  html[dir=rtl] .planner-submit{margin-inline-start:0}
  html[dir=rtl] .hero-caption{right:27px}
  html[dir=rtl] .image-kicker{left:22px}
  html[dir=rtl] .future-services button:first-child{padding-left:13px}
  html[dir=rtl] .service-arrow{left:10px}
}
@media(max-width:800px){
  :where(html:not(:lang(en))) .hero h1{font-size:clamp(35px,5.3vw,48px)}
  :where(html:not(:lang(en))) .imigra-copy h2{font-size:clamp(30px,4.5vw,39px);line-height:1.25}
  :where(html:not(:lang(en))) .corporate-contact{margin-left:0;margin-inline-start:0}
  html[dir=rtl] .planner-field:first-child{padding-left:13px}
  html[dir=rtl] .hero-visual{border-radius:14px 78px 14px 14px}
  html[dir=rtl] .hero-caption{right:22px}
  html[dir=rtl] .image-kicker{left:16px}
  html[dir=rtl] .hero-video-toggle{left:15px}
  html[dir=rtl] .journey-index{left:22px;right:23px}
  html[dir=rtl] .destination-tag{right:12px}
  html[dir=rtl] .photo-location{right:13px}
  html[dir=rtl] .sample-assistant{padding-inline-end:0}
  html[dir=rtl] .chat-preview-bottom{padding-inline-start:0}
  html[dir=rtl] .future-services button:first-child{padding-inline:18px}
  html[dir=rtl] .future-services button:nth-child(3){border-inline-end:0}
  html[dir=rtl] .future-services button:last-child{border-inline-end:1px solid var(--line)}
  html[dir=rtl] .service-arrow{left:20px}
  html[dir=rtl] .policy-print{margin-inline-start:0}
  html[dir=rtl] .policy-sidebar{padding-inline:0}
  html[dir=rtl] .policy-nav a{border-inline-start:0}
}
@media(max-width:600px){
  :where(html:not(:lang(en))) .hero h1{font-size:clamp(39px,10.3vw,62px);line-height:1.2;letter-spacing:-.035em}
  :where(html:not(:lang(en))) .hero-caption{max-inline-size:calc(100% - 48px)}
  :where(html:not(:lang(en))) .hero-caption strong{font-size:34px}
  :where(html:not(:lang(en))) .hero-video-toggle{max-inline-size:44%}
  :where(html:not(:lang(en))) .planner-status{font-size:10px}
  :where(html:not(:lang(en))) .planner-summary{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  :where(html:not(:lang(en))) .imigra-copy h2{font-size:clamp(35px,9.2vw,48px)}
  :where(html:not(:lang(en))) .footer-bottom{grid-template-columns:minmax(0,1fr) auto}
  :where(html:not(:lang(en))) .policy-header-nav{justify-content:flex-start;column-gap:18px}
  :where(html:not(:lang(en))) .policy-hero h1{font-size:clamp(33px,8.8vw,42px);line-height:1.3}
  html[dir=rtl] .planner-field,html[dir=rtl] .planner-field:first-child{padding-inline:12px;border:1px solid var(--line)}
  html[dir=rtl] .planner-submit{margin-inline:0}
  html[dir=rtl] .hero-visual{border-radius:16px 65px 16px 16px}
  html[dir=rtl] .hero-caption{right:25px}
  html[dir=rtl] .image-kicker{left:23px}
  html[dir=rtl] .hero-video-toggle{left:21px}
  html[dir=rtl] .film-expand{left:23px}
  html[dir=rtl] .journey-index{left:25px;right:26px}
  html[dir=rtl] .destination-tag{right:10px}
  html[dir=rtl] .photo-location{right:12px}
  html[dir=rtl] .sample-assistant{padding-inline-end:4px}
  html[dir=rtl] .chat-preview-bottom{padding-inline-start:29px}
  html[dir=rtl] .sample-input{padding-inline:11px 8px}
  html[dir=rtl] .future-services button,html[dir=rtl] .future-services button:first-child{padding-inline:16px;border-inline-end:1px solid var(--line)}
  html[dir=rtl] .future-services button:nth-child(even){border-inline-end:0}
  html[dir=rtl] .future-services button:nth-child(3){border-inline-end:1px solid var(--line)}
  html[dir=rtl] .faq-list details p{padding-inline-end:13px}
  html[dir=rtl] .corporate-contact{margin-inline:0}
}
@media(max-width:370px){
  :where(html:not(:lang(en))) .hero h1{font-size:38px}
  :where(html:not(:lang(en))) .hero-caption strong{font-size:29px}
  :where(html:not(:lang(en))) .chat-preview-top{column-gap:8px}
}

/* Locale controls disappear with the document chrome when printing a policy. */
@media print{
  .footer-locale{display:none!important}
  :where(html:not(:lang(en))) .policy-hero h1{font-size:30pt}
}
