/* Touch, language direction and optional easy reading. Pinch-to-zoom remains available. */
html{overflow-wrap:break-word}body{overflow-wrap:break-word}.header-actions{gap:12px}.lang-switch{min-height:44px;min-width:52px;padding:8px 10px;border:1px solid currentColor;border-radius:28px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.senior-toggle{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:transparent;color:inherit;border:1px solid currentColor;border-radius:28px;font-size:12px;white-space:nowrap}.senior-toggle>span:first-child{font-size:18px;letter-spacing:-.06em;font-weight:600}.senior-toggle[aria-pressed=true]{background:var(--ink);color:var(--bg)}body[data-view=home]:is([data-theme=violet],[data-theme=horizon]) .senior-toggle[aria-pressed=true]{background:#fff;color:#241237}.menu-toggle{display:none;min-width:44px;min-height:44px;padding:10px;background:none;color:inherit;border:1px solid currentColor;border-radius:50%}.menu-toggle svg{width:20px;height:20px}.language-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.language-choice{position:relative;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:18px 42px 18px 18px;min-height:84px;text-align:start;border-radius:8px;line-height:1.5}.language-choice strong{display:block;font-size:18px;font-weight:500}.language-choice>span{display:block;color:var(--muted);font-size:13px}.language-choice.selected{border:2px solid var(--accent);background:var(--surface)}.language-choice .language-tick{position:absolute;inset-inline-end:16px;top:20px;color:var(--accent);font-size:20px}.language-choice:disabled{opacity:.65}.mobile-menu{display:grid;gap:8px;margin-top:32px}.mobile-menu a,.mobile-menu button{font:inherit;display:flex;align-items:center;justify-content:space-between;padding:18px 0;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:none;text-align:start;min-height:56px}.access-note{margin-top:32px;padding:20px;background:var(--surface)}.access-note p{font-size:14px;margin:8px 0 20px}.mobile-bottom-nav{display:none}.planner-field select,.planner-field input{min-height:44px}.filter{min-height:44px}.form-note{line-height:1.7}.field input,.field select,.field textarea{font-size:16px}.dialog{max-height:90vh;max-height:90dvh}.dialog .field input,.dialog .field textarea{max-width:100%}.dialog-summary{overflow-wrap:anywhere}.agreement input,.addon input{flex-shrink:0;min-width:20px;min-height:20px}.field-row>*{min-width:0}.detail-tags{line-height:1.8}.wordmark{direction:ltr}.payment-methods{flex-wrap:wrap}.button{text-align:center;max-width:100%}.button span.arrow{flex-shrink:0}.planner-field{overflow-wrap:normal}.language-choice[dir=rtl]{padding-inline-start:18px;padding-inline-end:42px}.footer-utilities{flex-wrap:wrap}.email-preview{direction:ltr;text-align:left}.table-wrap{max-width:100%}input[type=email],input[type=tel],input[type=date]{direction:ltr;text-align:start}input[type=date]{max-width:100%;-webkit-appearance:none;appearance:none;box-sizing:border-box}input,select,textarea{max-width:100%}button,a,input,textarea,select{scroll-margin-top:24px}body[data-locale=ar]{--sans:'Noto Sans Arabic','Manrope',sans-serif;--serif:'Noto Sans Arabic','Manrope',sans-serif}body[data-locale=ar] .cinematic-copy h1,body[data-locale=ar] h2,body[data-locale=ar] h3{line-height:1.3;letter-spacing:0}body[data-locale=ar] .cinematic-copy h1{font-size:clamp(66px,6.8vw,100px)}body[data-locale=ar] .label{letter-spacing:0}.admin-shell[dir=ltr]{text-align:left}.admin-shell .admin-header h1{font-family:'Manrope',sans-serif}body[data-locale=ar] .studio{direction:ltr}html[dir=rtl] .portal-hero{direction:ltr}html[dir=rtl] .portal-hero .cinematic-copy{direction:rtl;text-align:right;width:64%;margin-right:auto;margin-left:0}html[dir=rtl] .quick-planner{direction:rtl}html[dir=rtl] .planner-field:first-of-type{padding-inline-start:8px;padding-inline-end:24px}html[dir=rtl] .planner-submit{margin-left:0;margin-right:24px}html[dir=rtl] .arrow{display:inline-block;transform:scaleX(-1)}html[dir=rtl] .breadcrumb{flex-wrap:wrap}html[dir=rtl] .close-dialog{right:auto;left:18px}html[dir=rtl] .dialog h2{margin-right:0;margin-left:35px}html[dir=rtl] .principle:first-child{padding-right:0;padding-left:40px}html[dir=rtl] .principle:last-child{border-right:1px solid #9aaa9f66;border-left:0}html[dir=rtl] .principle{border-right:0;border-left:1px solid #9aaa9f66}html[dir=rtl] .booking-price,html[dir=rtl] .price{unicode-bidi:plaintext}html[dir=rtl] .header-actions{direction:rtl}html[dir=rtl] .footer-utilities{direction:rtl}body[data-locale=ar] .site-header .wordmark{font-family:'Outfit',sans-serif}body[data-locale=ar] .button{line-height:1.7}body[data-locale=ja],body[data-locale=ko],body[data-locale=zh]{word-break:normal}body[data-locale=ja] .cinematic-copy h1,body[data-locale=ko] .cinematic-copy h1,body[data-locale=zh] .cinematic-copy h1{line-height:1.13;letter-spacing:-.045em}body:not([data-locale=en]):not([data-locale=en-SG]):not([data-locale=zh]):not([data-locale=ja]):not([data-locale=ko]):not([data-locale=ar]) .cinematic-copy h1{font-size:clamp(64px,6.7vw,104px)}
/* Easy reading is an explicit user preference, not an age inference. */
body[data-senior=on]{font-size:20px;line-height:1.8;--muted:#4b425a}body[data-senior=on][data-theme=violet]{--muted:#e0d7ec}body[data-senior=on] *{scroll-behavior:auto!important;animation:none!important;transition:none!important}body[data-senior=on] .tour-card:hover,body[data-senior=on] .button:hover{transform:none}body[data-senior=on] .nav-links{font-size:17px;gap:22px}body[data-senior=on] .button,body[data-senior=on] .text-link,body[data-senior=on] .filter{font-size:18px;min-height:56px;line-height:1.5}body[data-senior=on] .button.small{font-size:17px;min-height:54px}body[data-senior=on] .label,body[data-senior=on] .tour-content .label,body[data-senior=on] .form-note,body[data-senior=on] .sample-note,body[data-senior=on] .preview-banner{font-size:16px;letter-spacing:.02em}body[data-senior=on] p,body[data-senior=on] .principle p,body[data-senior=on] .tour-content p,body[data-senior=on] .dialog p,body[data-senior=on] .timeline p,body[data-senior=on] details p{font-size:20px;line-height:1.75}body[data-senior=on] .tour-content p{min-height:0}body[data-senior=on] .field,body[data-senior=on] .planner-field,body[data-senior=on] .summary-line,body[data-senior=on] .addon,body[data-senior=on] .agreement{font-size:18px;line-height:1.75}body[data-senior=on] .field input,body[data-senior=on] .field select,body[data-senior=on] .field textarea,body[data-senior=on] .planner-field input,body[data-senior=on] .planner-field select{font-size:20px;min-height:56px;padding:14px 12px}body[data-senior=on] .planner-field input,body[data-senior=on] .planner-field select{padding:10px 0}body[data-senior=on] .stepper{height:60px}body[data-senior=on] .stepper button{width:60px;height:58px;font-size:26px}body[data-senior=on] .stepper output{font-size:21px}body[data-senior=on] .addon{padding:20px 0;gap:16px}body[data-senior=on] .addon small,body[data-senior=on] .addon-price,body[data-senior=on] .booking-price small,body[data-senior=on] .price small{font-size:16px;line-height:1.7}body[data-senior=on] .addon input,body[data-senior=on] .agreement input{width:26px;height:26px}body[data-senior=on] .card-bottom,body[data-senior=on] .detail-tags,body[data-senior=on] summary,body[data-senior=on] .timeline .time,body[data-senior=on] .timeline h4,body[data-senior=on] .detail-policy{font-size:18px;line-height:1.75}body[data-senior=on] .price{font-size:28px}body[data-senior=on] .cinematic-copy h1{font-size:clamp(60px,6.3vw,96px);line-height:1.08}body[data-senior=on] .cinematic-copy{background:#160e28ef;max-width:860px;padding:28px;border-radius:12px}body[data-senior=on] .cinematic-copy p{color:#fff}body[data-senior=on] .cinematic-copy h1 span{color:#edddff}body[data-senior=on] .cinematic-copy .text-link{color:#fff}body[data-senior=on] .experiences{--muted:#493b5c;--ink:#20112f;--accent:#6334ae}body[data-senior=on] .experiences .sample-note{color:#493b5c}body[data-senior=on] .faq{--muted:#45394e}body[data-senior=on] .custom{--muted:#46344f}body[data-senior=on] .footer-bottom,body[data-senior=on] .footer-utilities button{font-size:16px}body[data-senior=on] .close-dialog{width:48px;height:48px;font-size:30px}body[data-senior=on] .dialog h2{padding-inline-end:22px}body[data-senior=on] .senior-toggle,body[data-senior=on] .lang-switch{min-height:56px;font-size:17px}body[data-senior=on] .campaign-note{font-size:13px;color:#fff;background:#160e28;padding:8px}body[data-senior=on] .language-choice{min-height:100px;padding-block:22px}body[data-senior=on] .language-choice strong{font-size:22px}body[data-senior=on] .language-choice>span{font-size:17px}body[data-senior=on] .promo{flex-wrap:wrap}body[data-senior=on] .promo input{font-size:20px;min-height:56px;width:170px}body[data-senior=on] .payment-methods{font-size:16px;gap:12px}.senior-label{display:none}
@media(max-width:1200px){.site-header .nav-links{display:none}.header-actions{gap:10px}.senior-label{display:inline}.menu-toggle{display:inline-flex;align-items:center;justify-content:center}}
@media(max-width:760px){
body{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.site-header,body:is([data-theme=violet],[data-theme=horizon]) .site-header{padding-inline:20px;gap:10px;height:86px}.header-actions{gap:4px;flex-shrink:0}.header-actions>.button{display:none!important}.lang-switch{min-height:44px;min-width:44px;max-width:90px;font-size:11px;padding:8px}.senior-toggle{padding:8px 10px;min-width:44px;min-height:44px}.senior-label{display:none}.menu-toggle{min-width:44px;min-height:44px}.site-header .wordmark,body:is([data-theme=violet],[data-theme=horizon]) .site-header .wordmark{font-size:21px}.site-header .wordmark span:last-child{font-size:6px;letter-spacing:.12em}.language-grid{grid-template-columns:1fr;gap:10px}.language-choice{min-height:78px}.language-choice strong{font-size:18px}.language-choice>span{font-size:14px}.dialog{padding:32px 24px;max-height:calc(100dvh - 24px)}.dialog h2{font-size:34px}.dialog .steps{font-size:10px;line-height:1.7;gap:12px;flex-wrap:wrap}.studio{position:static;inset:auto;transform:none;width:max-content;max-width:calc(100% - 32px);min-width:270px;margin:24px auto;border-radius:12px;backdrop-filter:none;box-shadow:none}.studio-label{grid-column:1;grid-row:1}.studio-admin{grid-column:2;grid-row:1}.mobile-bottom-nav{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px;position:fixed;bottom:0;inset-inline:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;color:#23182f;border-top:1px solid #ddd5e8;z-index:25;box-shadow:0 -4px 20px #150b2710}.mobile-bottom-nav button,.mobile-bottom-nav a{display:flex;align-items:center;justify-content:center;min-height:48px;background:#f0e9fb;color:#271238;border:0;border-radius:30px;font-size:15px;font-weight:600;text-align:center;padding:8px 10px;line-height:1.4}.mobile-bottom-nav .mobile-book{background:#6e39bd;color:#fff}.filter{font-size:13px;min-height:44px}.tour-content p,.detail-description{font-size:16px}.tour-content .label{font-size:11px}.principle p{font-size:14px}.principle .label{font-size:10px}.principle{grid-template-columns:110px 1fr}.card-bottom{font-size:14px;flex-wrap:wrap}.addon{font-size:15px;min-height:72px;padding:16px 0}.addon small{font-size:13px}.addon-price{font-size:15px}.field{font-size:15px}.form-note,.sample-note{font-size:13px}.summary-line{font-size:15px}.agreement{font-size:14px;line-height:1.7}.booking-panel h4{font-size:17px}.button{font-size:15px;min-height:48px}.timeline p{font-size:16px}.timeline .time{font-size:14px}.text-link{min-height:44px}.close-dialog{width:44px;height:44px}.planner-field{font-size:13px}.planner-field select,.planner-field input{font-size:16px;min-height:46px}.cinematic-copy .text-link{min-height:44px}.quick-planner{gap:20px}.menu-toggle svg{width:20px}.gallery-actions{flex-wrap:wrap}.gallery-actions .button{font-size:14px;min-height:44px}.payment-methods{font-size:12px}.detail-tags{font-size:13px}.detail-policy{font-size:15px}.footer-utilities{gap:12px}.footer-utilities button,.footer-utilities a{min-height:44px;display:inline-flex;align-items:center;font-size:13px}.footer-top .nav-links{flex-wrap:wrap;gap:12px;font-size:13px}.access-note p{font-size:15px}.booking-panel{padding:22px}.planner-submit{font-size:16px;min-height:50px}#toast{bottom:110px}body[data-locale=ar] .cinematic-copy h1{font-size:54px;line-height:1.3}html[dir=rtl] .portal-hero .cinematic-copy{width:100%;margin:0}html[dir=rtl] .planner-field:first-of-type{padding:0}html[dir=rtl] .planner-submit{margin:0}html[dir=rtl] .principle:first-child{padding:0 0 20px}html[dir=rtl] .principle,html[dir=rtl] .principle:last-child{border-left:0;border-right:0}html[dir=rtl] .principle:last-child{padding-bottom:0}body:not([data-locale=en]):not([data-locale=en-SG]):not([data-locale=zh]):not([data-locale=ja]):not([data-locale=ko]):not([data-locale=ar]) .cinematic-copy h1{font-size:clamp(46px,12vw,62px)}body[data-senior=on] .site-header{height:auto;min-height:150px;align-items:center;flex-wrap:wrap;padding:20px;gap:16px}body[data-senior=on] .header-actions{width:100%;justify-content:space-between;gap:12px}body[data-senior=on] .menu-toggle{min-height:56px;min-width:56px}body[data-senior=on] .senior-toggle{min-width:56px}body[data-senior=on] .cinematic-hero,body[data-senior=on] .horizon-hero{padding-top:200px}body[data-senior=on] .cinematic-copy{padding:22px;margin-inline:-4px;max-width:calc(100% + 8px);width:auto}body[data-senior=on] .cinematic-copy h1{font-size:46px;line-height:1.15}body[data-senior=on] .cinematic-copy .button,body[data-senior=on] .cinematic-copy .text-link{font-size:18px;min-height:56px}body[data-senior=on] .cinematic-copy p{font-size:20px}body[data-senior=on] .cinematic-copy .hero-actions{gap:20px}body[data-senior=on] .cinematic-hero .quick-planner{margin-top:170px;padding:24px;display:block}body[data-senior=on] .planner-field{margin-bottom:24px}body[data-senior=on] .planner-submit{min-height:60px;font-size:20px}body[data-senior=on] .campaign-note{position:relative;top:auto;right:auto;left:auto;display:block;margin-top:16px;background:#140b20;color:#fff;font-size:12px}body[data-senior=on] .principle{display:block;padding-block:0 24px}body[data-senior=on] .principle .label{font-size:16px;margin-bottom:12px}body[data-senior=on] .principle p{font-size:20px;max-width:none}body[data-senior=on] .filters{flex-wrap:wrap;overflow:visible;margin-inline:0;padding:0;gap:8px}body[data-senior=on] .filter{white-space:normal;text-align:start;padding:12px 16px}body[data-senior=on] .tour-content{padding:24px}body[data-senior=on] .tour-content h3{font-size:30px}body[data-senior=on] .card-bottom{display:block;font-size:18px}body[data-senior=on] .card-bottom .price{display:block;margin-top:14px}body[data-senior=on] .detail h1{font-size:38px}body[data-senior=on] .detail-tags{gap:12px;font-size:17px}body[data-senior=on] .field-row{display:block}body[data-senior=on] .timeline li{grid-template-columns:1fr;gap:4px}body[data-senior=on] .addon{flex-wrap:wrap}body[data-senior=on] .addon-info{min-width:150px}body[data-senior=on] .addon-price{margin-inline-start:42px}body[data-senior=on] .dialog{padding:32px 24px}body[data-senior=on] .dialog h2{font-size:32px;margin-bottom:24px}body[data-senior=on] .method-grid{grid-template-columns:1fr}body[data-senior=on] .method-grid div{font-size:20px}body[data-senior=on] .summary-line{flex-wrap:wrap;gap:4px 16px}body[data-senior=on] .agreement{font-size:18px}body[data-senior=on] .mobile-bottom-nav button,body[data-senior=on] .mobile-bottom-nav a{min-height:60px;font-size:18px}body[data-senior=on] .studio{min-width:0;width:calc(100% - 32px);white-space:normal}body[data-senior=on] .studio .theme-button{font-size:14px;min-height:48px;white-space:normal}body[data-senior=on] .studio-label,body[data-senior=on] .studio-admin{font-size:12px}body[data-senior=on] .language-choice{min-height:108px}html[dir=rtl] body[data-senior=on] .portal-hero .cinematic-copy{width:auto;max-width:calc(100% + 8px);margin-inline:-4px}body[data-senior=on] .breadcrumb{font-size:16px;flex-wrap:wrap}}
@media(max-width:360px){.site-header .wordmark,body:is([data-theme=violet],[data-theme=horizon]) .site-header .wordmark{font-size:19px}.header-actions{gap:3px}.lang-switch{font-size:10px;padding:7px 6px;max-width:76px}.senior-toggle{padding:8px}.site-header{padding-inline:16px!important}.mobile-bottom-nav{padding-inline:12px}.language-choice strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body[data-senior=on] .cinematic-copy h1{font-size:clamp(60px,6.3vw,96px)!important}body[data-senior=on] .tour-card:hover img{transform:none}body[data-senior=on][data-locale=ar] .cinematic-copy h1{line-height:1.4}
@media(max-width:760px){body[data-senior=on] .cinematic-copy h1{font-size:46px!important}}
/* Keep the close control visible while long language and booking dialogs scroll. */
.dialog{padding:0!important;overflow:hidden}.dialog-scroll{padding:40px;max-height:90vh;max-height:90dvh;overflow:auto;overscroll-behavior:contain}.dialog-scroll:focus{outline:0}
body[data-senior=on] .steps{font-size:16px;line-height:1.6}body[data-senior=on] .summary-line small{font-size:16px!important}body[data-senior=on] .media-controls{font-size:18px}body[data-senior=on] .form-error{font-size:18px}body[data-senior=on][data-theme=violet] .form-error{color:#ffd4ce}body[data-senior=on] #toast{font-size:18px;line-height:1.6}
@media(max-width:1200px){.header-actions>.button{display:none!important}}
@media(min-width:761px) and (max-width:1100px){body[data-senior=on] .cinematic-hero{display:block;padding-top:150px;padding-bottom:32px}body[data-senior=on] .cinematic-hero .cinematic-copy{width:100%;max-width:100%;margin:0}body[data-senior=on] .cinematic-hero .quick-planner{position:relative;inset:auto;display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px;padding:24px}body[data-senior=on] .planner-field{padding:0;border:0}body[data-senior=on] .planner-field:first-of-type,body[data-senior=on] .planner-submit{grid-column:1/-1}body[data-senior=on] .planner-submit{margin:0}body[data-senior=on] .campaign-note{position:relative;inset:auto;display:block;margin-top:20px}body[data-senior=on] .principles{padding-top:32px}}
@media(max-width:760px){.dialog-scroll{padding:32px 24px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}}

@media(min-width:761px) and (max-width:1100px){.studio{position:static;inset:auto;transform:none;width:max-content;max-width:calc(100% - 48px);margin:24px auto;white-space:normal}}
