/* Richmond Properties roadshow pages. They are built from the site's own parts and stylesheets (header, photo band,
   the facts strip of the project pages, the booking component, sections, FAQ, closing band, footer); this file only
   adds what the site has no part for: the language switch, the calling code, the consent boxes, the slots and the
   budget of the registration, the phone button bar, the closed state, the Roadshows page's cards and right-to-left
   pages. */
:root{
  --surface:var(--card,#FFFDF8);
  --accent:var(--gold-500,#C9A45B);
  --muted:var(--ink-muted,#5A6371);
  --error:#B42318
}
html[lang="ar"],html[lang="ckb"]{--display:"Noto Kufi Arabic","Montserrat",sans-serif;--ui:"Noto Kufi Arabic","Montserrat",sans-serif;--sans:"Noto Kufi Arabic",Tahoma,system-ui,sans-serif}
html[dir="rtl"] .rx-band h1,html[dir="rtl"] .rx-title,html[dir="rtl"] .pj-h,html[dir="rtl"] .bk-intro h2,html[dir="rtl"] .bk-q legend{letter-spacing:0;line-height:1.45}
html[dir="rtl"] .pg-eyebrow,html[dir="rtl"] .rp-btn,html[dir="rtl"] .hx-h2,html[dir="rtl"] .rs-films .pg-film h3,html[dir="rtl"] .rs-why-fact b,html[dir="rtl"] .rs-terms dt{letter-spacing:0}
[tabindex="-1"]:focus{outline:none}

/* the header: the site's logo, and the languages where its buttons are */
.rs-head .rx-head-in{display:flex;align-items:center;justify-content:space-between;gap:16px}
.rs-langs{display:flex;gap:8px}
.rs-lang{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:40px;padding:0 16px;border-radius:999px;border:1px solid rgba(251,248,242,.6);color:var(--ivory-50);font:600 11.5px var(--ui);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.03));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color .3s,border-color .3s,color .3s}
.rs-lang[lang="ar"],.rs-lang[lang="ckb"]{font:500 13px "Noto Kufi Arabic",Tahoma,sans-serif;letter-spacing:0}
.rs-lang:hover{background:rgba(255,255,255,.24);border-color:#fff;color:#fff}
.rs-lang[aria-current="true"]{background:var(--ivory-50);border-color:var(--ivory-50);color:var(--green-900)}

/* the photo band: for whom, the city, and the two ways to reserve */
.rs-hero .rx-band-copy{gap:18px}
.rs-hero .rs-eyebrow{margin:0;color:var(--gold-300)}
.rs-hero-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:10px}
/* the hero film: over its first frame, faded in once it plays; its pause button is the one of the home page's film */
.rs-hero.has-film .bg{object-position:10% 30%}
.rs-hero-film{opacity:0;transition:opacity .9s ease}
.rs-hero-film.is-on{opacity:1}
.rp-vctl.rs-hero-ctl{right:24px;bottom:24px}
html[dir="rtl"] .rp-vctl.rs-hero-ctl{right:auto;left:24px}
@media (max-width:760px){ .rp-vctl.rs-hero-ctl{top:calc(var(--rx-top) - 2px);bottom:auto;right:16px} html[dir="rtl"] .rp-vctl.rs-hero-ctl{right:auto;left:16px} }
.rs-chat svg{flex:none}

/* under the photo, the facts of the day in the project pages' strip, spaced as the area pages space theirs so a long
   date can wrap; the days left above the button */
.rs-strip dl{column-gap:48px}
.rs-strip dl div{padding:0;border-left:0}
.rs-strip dd > span{display:block}
.rs-strip .rs-map{margin-top:2px;padding:2px 0;font-size:12.5px}
.rs-strip .pj-strip-acts{flex-direction:column;align-items:flex-end;gap:10px}
.rs-left{margin:0;font:500 13px/1.4 var(--ui);color:var(--gold-300)}

/* the registration, in the site's booking component, in the page */
.rs-book-sec,.rs-form{scroll-margin-top:calc(var(--rx-top,76px) + 8px)}
.rs-book-in{border-radius:10px;overflow:hidden;box-shadow:0 30px 70px -44px rgba(7,33,26,.5),0 0 0 1px var(--hairline)}
.rs-book-sec .bk.is-steps{height:auto;min-height:600px}
.rs-book-sec .bk-scroll{overflow:visible}
.rs-book-in .bk-days{grid-template-columns:repeat(auto-fill,minmax(92px,112px))}
.rs-book-in .bk-day.is-off{cursor:not-allowed;opacity:.45}
.rs-book-in .bk-time b,.rs-book-in .bk-time small span{white-space:nowrap}
.rs-book-in .bk-fields .rs-field.full{grid-column:1/-1}
/* how full a window is, as the team marks it: on the tile's edge, like a fieldset's legend */
.rs-slot{position:absolute;top:-8px;inset-inline-start:10px;padding:0 6px;background:var(--surface);font:600 9.5px/16px var(--ui);font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-600);pointer-events:none}
.rs-slot[hidden]{display:none}
.bk-time.is-few{border-color:rgba(201,164,91,.7)}
.bk-time.is-off .rs-slot{color:var(--muted)}
html[dir="rtl"] .rs-slot{letter-spacing:0}
/* the optional budget: the site's answer rows, under a label like the fields' */
.rs-budget{min-width:0;margin:26px 0 0;padding:0;border:0}
.rs-budget legend{float:none;width:auto;margin:0 0 4px;padding:0;font:500 13px/1.3 var(--ui);letter-spacing:0;color:var(--green-900)}
.rs-budget .opt{margin-inline-start:4px;font:400 12px var(--sans);color:var(--muted)}
.rs-budget .bk-topics{grid-template-columns:repeat(2,minmax(0,1fr))}
.rs-phone{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;direction:ltr}
.rs-code{position:relative;display:flex;align-items:center;justify-content:space-between;gap:6px}
.rs-code::after{content:"";flex:none;width:12px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2307211a' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center/12px}
.rs-code select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font:400 15px var(--sans)}
.rs-code:focus-within{border-bottom-color:var(--green-900);box-shadow:0 1px 0 0 var(--green-900)}
html[dir="rtl"] .rp-field[dir="ltr"]{text-align:right}
.rs-err{margin:8px 0 0;font:500 12.5px/1.4 var(--ui);color:var(--error)}
.rs-err:empty{display:none}
[data-invalid] .rp-field{border-bottom-color:var(--error)}
[data-invalid] .bk-day:not(.is-off),[data-invalid] .bk-time:not(.is-off){border-color:rgba(180,35,24,.45)}
.rs-consents{display:grid;gap:14px;margin-top:26px}
.rs-check{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;align-items:start;font:400 13.5px/1.55 var(--sans);color:var(--muted);cursor:pointer}
.rs-check input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--green-900);box-shadow:0 0 0 1px rgba(83,65,77,.08)}
.rs-check a{color:var(--green-900);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
[data-invalid] .rs-check > span{color:var(--error)}
.rs-form [data-submit][aria-busy="true"]{opacity:.7;cursor:progress}
.rs-hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* once registration has closed, the notice takes the registration's place and the reserve buttons go */
.rs-closed{display:none;max-width:640px;margin:0 auto;padding:44px 28px;border:1px solid var(--hairline);border-radius:10px;background:var(--surface);text-align:center}
.rs-closed b{display:block;font:400 24px/1.3 var(--display);color:var(--green-900)}
.rs-closed p{margin:10px auto 24px;max-width:46ch;font:400 15px/1.6 var(--sans);color:var(--muted)}
.is-closed .rs-closed{display:block}
.is-closed .rs-book-in,.is-closed .rs-cta,.is-closed .rs-bar,.is-closed .rs-left,.is-closed .rs-final,.is-closed .rs-hero .rs-eyebrow{display:none}

/* what the meeting brings */
.rs-lede{max-width:640px;margin:-22px auto 40px;text-align:center;font:400 15.5px/1.7 var(--sans);color:var(--muted)}
.rs-offers{max-width:760px;margin:0 auto}
.rs-small{max-width:760px;margin:18px auto 0;font:400 12.5px/1.5 var(--sans);color:var(--muted)}

/* why Dubai: the photo with the city's population, beside six reasons under hairlines with a touch of gold */
.rs-why-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,5.5vw,96px);align-items:start}
.rs-why-ph{position:sticky;top:calc(var(--rx-top,76px) + 28px);margin:0;aspect-ratio:4/5;border-radius:10px;overflow:hidden;background:var(--green-900)}
.rs-why-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rs-why-fact{position:absolute;inset-inline:18px;bottom:18px;display:grid;gap:6px;padding:20px 22px;border:1px solid rgba(226,201,143,.32);border-radius:8px;background:rgba(7,33,26,.74);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.rs-why-fact b{font:300 clamp(30px,2.8vw,42px)/1 var(--display);letter-spacing:-.02em;color:var(--gold-300)}
.rs-why-fact span{font:400 13.5px/1.55 var(--sans);color:rgba(251,248,242,.84)}
.rs-why-copy .pg-eyebrow{margin-bottom:16px}
.rs-why-lede{max-width:58ch;margin:20px 0 0;font:400 16px/1.7 var(--sans);color:var(--ink-muted)}
.rs-why-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 44px;margin:44px 0 0;padding:0;list-style:none}
.rs-why-list li{position:relative;padding-top:20px;border-top:1px solid var(--hairline)}
.rs-why-list li::before{content:"";position:absolute;top:-1px;inset-inline-start:0;width:48px;height:1px;background:var(--gold-500)}
.rs-why-list .n{display:block;font:500 11.5px var(--ui);letter-spacing:.16em;color:var(--gold-600)}
.rs-why-list h3{margin:10px 0 8px;font:500 17px/1.35 var(--ui);color:var(--green-900)}
.rs-why-list p{margin:0;font:400 14px/1.65 var(--sans);color:var(--ink-muted)}

/* the UAE Golden Visa, on the site's dark green: the flag in an arch, the terms in a ledger, a reserve link */
.rs-gv{position:relative;overflow:hidden;color:var(--ivory-50);background:radial-gradient(110% 80% at 88% 0%,rgba(201,164,91,.16),rgba(201,164,91,0) 58%),var(--green-900)}
.rs-gv-in{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(40px,6vw,104px);align-items:center}
.rs-arch{position:relative;aspect-ratio:4/5;border-radius:999px 999px 12px 12px;overflow:hidden;box-shadow:0 44px 80px -44px rgba(0,0,0,.7)}
.rs-arch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rs-arch::after{content:"";position:absolute;inset:12px;border:1px solid rgba(226,201,143,.5);border-radius:999px 999px 6px 6px;pointer-events:none}
.rs-gv .pg-eyebrow{margin-bottom:16px;color:var(--gold-300)}
.rs-gv .hx-h2{color:var(--ivory-50)}
.rs-gv-text{max-width:56ch;margin:20px 0 0;font:400 16px/1.7 var(--sans);color:rgba(251,248,242,.8)}
.rs-terms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;margin:38px 0 0}
.rs-terms div{padding:20px 0 22px;border-top:1px solid rgba(226,201,143,.3)}
.rs-terms dt{font:300 clamp(26px,2.4vw,36px)/1.1 var(--display);letter-spacing:-.015em;color:var(--gold-300)}
.rs-terms dd{margin:8px 0 0;font:400 13.5px/1.55 var(--sans);color:rgba(251,248,242,.74)}
.rs-gv-acts{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.rs-gv-note{max-width:62ch;margin:22px 0 0;font:400 12.5px/1.6 var(--sans);color:rgba(251,248,242,.58)}

/* films of earlier roadshows, in the rows of the site's films page */
.rs-films .pg-film .ph{aspect-ratio:16/9}
.rs-films .pg-film h3{margin:0;font:300 clamp(30px,3vw,44px)/1.1 var(--display);letter-spacing:-.02em;color:var(--green-900)}
.rs-films .pg-film .t > p{max-width:46ch}

/* the partner developers: their logos slide past in one row and rest under the pointer; the edges fade into the page */
.rs-partners .rx-title{margin-bottom:36px}
.rs-logos{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.rs-logos-in{display:flex;width:max-content;animation:rs-logos 80s linear infinite}
.rs-logos:hover .rs-logos-in{animation-play-state:paused}
.rs-logos-row{display:flex;align-items:center;gap:76px;margin:0;padding:0 38px;list-style:none}
.rs-logos-row li{flex:none;display:flex;align-items:center;height:64px}
.rs-logos-row img{display:block;width:auto;height:var(--h,32px);opacity:.8;transition:opacity .3s}
.rs-logos-row li:hover img{opacity:1}
.rs-logo-name{font:600 14px/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--green-900);white-space:nowrap}
@keyframes rs-logos{to{transform:translateX(-50%)}}
@media (max-width:760px){ .rs-partners .rx-title{margin-bottom:24px} .rs-logos-row{gap:52px;padding:0 26px} .rs-logos-row li{height:52px} .rs-logos-row img{height:calc(var(--h,32px) * .8)} }

/* the last word, in the site's closing band: the same reservation, and the days left */
.rs-final .pj-h{margin-bottom:6px}
.rs-final .rs-left{margin-top:4px;color:var(--gold-600)}

/* the page after a request: the thanks on the photo, the request and what follows in the site's table below it */
.rs-done-band .veil{background:linear-gradient(180deg,rgba(7,33,26,.74),rgba(7,33,26,.6) 45%,rgba(7,33,26,.86))}
.rs-done-band .rx-band-copy{gap:0}
.rs-done-band .sub{max-width:720px;font:400 clamp(18px,1.6vw,24px)/1.45 var(--display);color:var(--ivory-50);letter-spacing:-.005em;text-shadow:0 2px 24px rgba(7,33,26,.6)}
.rs-done-band .sub::before{content:"";display:block;width:48px;height:1px;margin:22px auto 20px;background:var(--accent)}
.rs-done-in{max-width:820px}
.rs-done-table{margin:0}
.rs-done-table table{table-layout:fixed;border-top:1px solid var(--hairline)}
.rs-done-table th,.rs-done-table td{padding:17px 12px;text-align:start;vertical-align:top;white-space:normal}
.rs-done-table th{width:34%;padding-inline-start:0}
.rs-done-table tbody th,.rs-done-table td{line-height:1.6}
.rs-done-table td{color:var(--ink-muted)}
.rs-done-table .rs-map{margin-inline-start:14px}
/* the two buttons below the request: as wide as each other, centred under the table; a long label takes two lines */
.rs-done-acts{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:14px;width:max-content;max-width:100%;margin:40px auto 0}
.rs-done-acts .rp-btn{height:auto;min-height:50px;padding-top:12px;padding-bottom:12px;line-height:1.35;text-align:center}
.rs-done-acts .rp-btn svg{flex:none}

/* the Roadshows page: a card for each roadshow open, in the site's photo card, leading to the roadshow's page */
.rs-next-slot[aria-busy="true"]{min-height:520px;border-radius:10px;background:var(--ivory-75,#F6F1E6)}
.rs-next{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px}
.rs-next-card{min-height:520px}
/* the site's veil of a photo card, deeper where the longer copy of these cards sits */
.rs-next-card::after{background:linear-gradient(180deg,rgba(7,33,26,.04) 18%,rgba(7,33,26,.58) 50%,rgba(7,33,26,.92) 100%)}
.rs-next-in{position:absolute;z-index:1;inset-inline:30px;bottom:30px;display:grid;justify-items:start;gap:10px}
.rs-next-in .rs-eyebrow{margin:0;color:var(--gold-300)}
.rs-next-in h2{margin:0;font:300 clamp(28px,2.6vw,38px)/1.1 var(--display);letter-spacing:-.02em;color:var(--ivory-50);text-wrap:balance}
.rs-next-when{margin:0;font:400 14px/1.6 var(--sans);color:rgba(251,248,242,.86)}
.rs-next-in .rp-btn{margin-top:8px}
.rs-next-card:hover .rp-btn.light{color:var(--ivory-50);background:linear-gradient(135deg,rgba(7,33,26,.74),rgba(7,33,26,.52));border-color:var(--gold-300)}
.rs-next-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.rs-next-none{display:grid;justify-items:center;gap:16px;padding:48px 24px;border:1px solid var(--hairline);border-radius:10px;text-align:center}
.rs-next-none p{max-width:560px;margin:0;font:400 16px/1.6 var(--sans);color:var(--muted)}

/* the footer, kept to the brand and the legal lines */
.rs-foot{padding:52px 0 28px}
.rs-foot .rx-logo img{height:40px}
.rs-foot .rx-foot-bottom{margin-top:32px;border-top:1px solid rgba(251,248,242,.14)}
.rs-foot .rx-legal a{color:var(--sage)}

/* phones: the button stays at hand while neither a reserve button nor the registration is in sight */
.rs-bar{display:none}
@media (max-width:760px){
  .rs-langs{gap:6px}
  .rs-lang{height:34px;min-width:38px;padding:0 12px}
  .rs-hero-acts{flex-direction:column;align-self:stretch;width:100%}
  .rs-hero-acts .rp-btn{width:100%}
  /* the date, the hours and the venue each on a line of their own: they are longer than a project's facts */
  .rs-strip dl{grid-template-columns:minmax(0,1fr);gap:14px}
  .rs-strip .pj-strip-acts{width:100%;align-items:stretch}
  .rs-strip .pj-strip-acts .rp-btn{width:100%}
  /* 16px and more: iPhones do not zoom into the field */
  .rs-book-in .rp-field,.rs-code select{font-size:16px}
  .rs-lede{margin:-12px auto 32px}
  .rs-why-in,.rs-gv-in{grid-template-columns:minmax(0,1fr);gap:32px}
  .rs-why-ph{position:relative;top:auto;aspect-ratio:4/3}
  .rs-why-list{grid-template-columns:minmax(0,1fr);gap:26px;margin-top:32px}
  .rs-arch{width:min(260px,72%);margin:0 auto}
  .rs-terms{gap:0 20px}
  .rs-gv-acts .rp-btn{width:100%}
  .rs-book-sec .bk.is-steps{min-height:0}
  /* in the page, not over it: no room for the phone's notch and home bar inside the form */
  .rs-book-in .bk-aside-in{padding-top:16px}
  .rs-book-in .bk-foot{padding-bottom:12px}
  .rs-book-in .bk-days{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}
  .rs-book-in .bk-time{flex-direction:column;justify-content:center;gap:2px;height:auto;min-height:56px;padding:10px 6px 8px}
  .rs-book-in .bk-time small{display:block}
  .rs-budget .bk-topics{grid-template-columns:minmax(0,1fr)}
  .rs-final .pg-cta-acts,.rs-final .pg-cta-acts .rp-btn{width:100%}
  .rs-next-card{min-height:460px}
  .rs-next-slot[aria-busy="true"]{min-height:calc(var(--rs-cards,1) * 460px + (var(--rs-cards,1) - 1) * 24px)}
  .rs-next-in{inset-inline:22px;bottom:24px}
  .rs-done-table th{width:38%}
  .rs-done-table th,.rs-done-table td{padding-top:14px;padding-bottom:14px}
  .rs-done-table .rs-map{display:table;margin:6px 0 0}
  .rs-done-acts{grid-auto-flow:row;width:auto}
  .rs-bar{position:fixed;inset-inline:0;bottom:0;z-index:55;display:block;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--hairline);box-shadow:0 -12px 30px -20px rgba(7,33,26,.4);transform:translateY(110%);visibility:hidden;transition:transform .3s ease,visibility 0s linear .3s}
  .rs-bar.on{transform:none;visibility:visible;transition:transform .3s ease}
  .rs-bar .rp-btn{width:100%}
  .rs-bar ~ .rs-foot{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
}

/* right-to-left pages: the site's booking component, lists and arrows turned around */
html[dir="rtl"] .bk-q legend{float:right}
html[dir="rtl"] .rs-budget legend{float:none}
html[dir="rtl"] .bk-steps{padding-left:96px;padding-right:56px}
html[dir="rtl"] .bk-foot .rp-btn{margin:0 auto 0 0}
html[dir="rtl"] .bk-foot .rp-btn svg,html[dir="rtl"] .bk-back svg,html[dir="rtl"] .rp-link svg,html[dir="rtl"] .fx-act svg{transform:scaleX(-1)}
html[dir="rtl"] .rx-foot-mark{right:auto;left:-40px}
@media (max-width:760px){ html[dir="rtl"] .bk-steps{padding:18px 20px 0} html[dir="rtl"] .bk-foot .rp-btn{margin:0} }
@media (prefers-reduced-motion:reduce){ .rs-bar,.rs-lang,.rs-hero-film{transition:none} .rs-logos-in{animation:none} .rs-logos{overflow-x:auto} .rs-logos-row[aria-hidden]{display:none} }
/* The verification stays within the details step; narrow phones use Google's compact widget. */
.rs-captcha{margin-top:24px}
.rs-captcha > p:first-child{margin:0 0 12px;font-weight:500}
.rs-recaptcha{min-height:78px;max-width:100%}
.rs-captcha-retry{margin-top:8px;padding:0 0 3px;border:0;border-bottom:1px solid currentColor;background:none;color:var(--green-900);font:inherit;cursor:pointer}
.rs-captcha-retry[hidden]{display:none}
