/* Logical writing directions; all translations are local to the build. */
.language-toggle{display:flex;align-items:center;gap:7px;min-height:44px;min-width:62px;border:1px solid #d3bfa04d;border-radius:4px;padding:8px 10px;color:var(--ivory);font-size:11px;flex-shrink:0;line-height:1}
.language-toggle svg{flex-shrink:0}.language-toggle .language-code{font-size:10px;letter-spacing:.03em}.language-toggle>span:last-child{font-size:15px}
.language-dialog{width:min(640px,calc(100vw - 28px));padding:39px 34px 26px;max-height:calc(100svh - 30px);overflow:auto}
.language-dialog>.eyebrow{font-size:9px;letter-spacing:.09em;margin-bottom:20px;padding-inline-end:25px}
.language-dialog h2{font-size:clamp(30px,5vw,44px);letter-spacing:-.045em;line-height:1.08;margin-bottom:12px}
.language-intro{font-size:13px;color:var(--muted);margin-bottom:24px}
.language-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.language-option{min-width:0;border:1px solid var(--line);border-radius:4px;padding:14px 12px;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:start;background:var(--paper)}
.language-option strong{display:block;font-size:15px;font-weight:700;line-height:1.6}.language-option small{display:block;font-size:10px;line-height:1.5;color:var(--muted)}
.language-option[aria-pressed=true]{background:#d3bfa0;border-color:var(--forest)}
.language-check{opacity:0;font-size:17px}.language-option[aria-pressed=true] .language-check{opacity:1}
.language-note{font-size:10px;color:var(--muted);line-height:1.65;margin-top:22px}
.header-actions{gap:14px}.desktop-nav{gap:23px}.calendar-dow{font-size:9px;overflow:hidden;white-space:nowrap}.step-track span{white-space:normal;overflow-wrap:normal;min-width:0}
.display,.reel-heading h2,.hero h1,.bento-note>p{text-wrap:balance;overflow-wrap:normal}
html:not([lang=en]) .display{font-size:clamp(43px,6.1vw,99px)}
html:not([lang=en]) .reel-caption h3{letter-spacing:-.025em}
html[lang=ar] body{font-family:Tahoma,Arial,sans-serif}
html[lang=hi] body{font-family:'Noto Sans Devanagari','Kohinoor Devanagari',Arial,sans-serif}
html[lang=zh-Hans] body,html[lang=ja] body{font-family:'PingFang SC','Hiragino Kaku Gothic ProN','Noto Sans CJK SC','Noto Sans CJK JP','Microsoft YaHei',Arial,sans-serif}
html[lang=ko] body{font-family:'Apple SD Gothic Neo','Noto Sans CJK KR','Malgun Gothic',Arial,sans-serif}
html[lang=ar] :is(.display,.hero h1,.reel-heading h2,.bento-note>p,.language-dialog h2,.booking-subtitle,.content-dialog h2),html[lang=hi] :is(.display,.hero h1,.reel-heading h2,.bento-note>p,.booking-subtitle,.content-dialog h2){letter-spacing:0;line-height:1.23;font-family:inherit}
html:is([lang=zh-Hans],[lang=ja],[lang=ko]) :is(.display,.hero h1,.reel-heading h2,.bento-note>p){letter-spacing:-.035em;line-height:1.16}
html:is([lang=zh-Hans],[lang=ja],[lang=ko],[lang=ar],[lang=hi]) :is(.eyebrow,.section-index,.hero-eyebrow){letter-spacing:.01em}
html[dir=rtl] .hero-title-block{transform-origin:100% 60%;text-align:right}
html[dir=rtl] .hero h1{margin-left:0;margin-right:-.03em}
html[dir=rtl] .hero-final-note{text-align:right}
html[dir=rtl] :is(.wordmark,.footer-wordmark){direction:ltr;text-align:left;unicode-bidi:isolate}
html[dir=rtl] .language-toggle{direction:ltr}
html[dir=rtl] .dialog-close{right:auto;left:18px}
html[dir=rtl] .reel-track{direction:ltr}
html[dir=rtl] .reel-card{direction:rtl}
html[dir=rtl] .reel-photo>span{left:auto;right:16px}
html[dir=rtl] .reel-controls>a{margin-left:0;margin-right:auto}
html[dir=rtl] .reel-progress{direction:ltr}
html[dir=rtl] .package-features li{padding-left:0;padding-right:16px}
html[dir=rtl] .package-features li:before{left:auto;right:0}
html[dir=rtl] .collection-choice{text-align:right}
html[dir=rtl] .collection-choice.selected{box-shadow:inset -3px 0 var(--forest)}
html[dir=rtl] .calendar-key i{margin-right:0;margin-left:7px}
html[dir=rtl] .preview-receipt{text-align:right}
html[dir=rtl] .hero-meta{margin-left:0;margin-right:auto}
html[dir=rtl] .footer-bottom>div{margin-left:0}
html[dir=rtl] .faq-list p{padding-right:0;padding-left:30px}
html[dir=rtl] .back-to-top{justify-self:start}
input[type=email],input[type=tel],input[name=postalCode]{direction:ltr;text-align:start}
@media(max-width:1200px){.desktop-nav{gap:15px}.header-actions{gap:10px}.wordmark{font-size:23px}.header-book{gap:10px}.motion-label{display:none}}
@media(max-width:1000px){.desktop-nav{display:none}.menu-toggle{display:block}.mobile-nav{top:88px}.header-actions{gap:15px}}
@media(max-width:767px){
 .site-header{padding-inline:20px;gap:10px}.header-actions{gap:10px}.header-book{display:none}.wordmark{font-size:24px}.wordmark>span{font-size:5px;max-width:132px;line-height:1.3;letter-spacing:.06em}
 .language-toggle{padding:8px;min-width:63px;min-height:44px;gap:6px}.motion-switch{min-width:34px;min-height:44px;justify-content:center}.menu-toggle{min-width:34px;min-height:44px}.mobile-nav{top:78px}
 .language-dialog{padding:35px 22px 22px}.language-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.language-option{padding:10px 12px;min-height:66px}.language-option strong{font-size:14px}.language-intro{font-size:12px;margin-bottom:20px}.language-dialog .eyebrow{font-size:8px}
 html:not([lang=en]) .display{font-size:10.9vw;line-height:1.04;letter-spacing:-.055em}
 html:not([lang=en]) .hero h1{font-size:20vw}
 html:not([lang=en]) .hero-description{max-width:84%;font-size:12px;line-height:1.55}
 html:not([lang=en]) .hero-eyebrow{max-width:95%;line-height:1.65;letter-spacing:.04em;font-size:7px}
 html:not([lang=en]) .hero-final-note p{font-size:8vw}
 html[lang=ar] :is(.display,.hero h1){letter-spacing:0;line-height:1.22}
 html[lang=hi] :is(.display,.hero h1){letter-spacing:0;line-height:1.22}
 html:is([lang=zh-Hans],[lang=ja],[lang=ko]) .display{letter-spacing:-.02em;line-height:1.2}
 .package-card h3{overflow-wrap:anywhere;line-height:1.15}.package-description{font-size:13px}
 .booking-controls .button{line-height:1.45}.form-step-label{font-size:9px}.step-track span{font-size:9px;line-height:1.5}
 .calendar-key{flex-wrap:wrap}.reel-number{direction:ltr}.reel-caption>div{min-width:0}
 html[dir=rtl] .section-index>span:last-child{text-align:left}
 html[dir=rtl] .footer-nav{justify-self:start}
 html[dir=rtl] .footer-wordmark{margin-left:0}
}
@media(max-width:360px){.site-header{padding-inline:16px}.wordmark{font-size:22px}.header-actions{gap:6px}.language-toggle{min-width:60px}.motion-switch{min-width:30px}.menu-toggle{min-width:30px}.language-option strong{font-size:13px}}
@media(max-width:767px) and (max-height:660px){.language-dialog{padding-top:25px}.language-dialog>.eyebrow{margin-bottom:12px}.language-dialog h2{font-size:27px}.language-intro{margin-bottom:13px}.language-option{min-height:54px;padding:6px 10px}.language-note{margin-top:14px;font-size:9px}}
/* Keep the physical ribbon origin on the left; individual Arabic cards stay RTL. */
html[dir=rtl] .reel-window{direction:ltr}
/* Keep honeypots clipped inside the form. Offscreen left:-9999px creates a huge
   scrollable inline overflow after switching a populated booking form to RTL. */
.honeypot{left:auto!important;right:auto!important;inset-inline-start:0!important;top:0!important;width:1px!important;height:1px!important;min-height:0!important;overflow:hidden!important;clip-path:inset(50%);opacity:0;pointer-events:none}
