/* RentStore.ae — Coming Soon.
   Shared by the Arabic page (/ , dir="rtl") and the English page (/en/ , dir="ltr").
   Left/right spacing uses logical properties (inline-start / inline-end), so the same
   rules mirror automatically for Arabic. */

:root{
  --navy:#04182C;
  --shade:0,16,32;                 /* deep navy as RGB channels, for translucent overlays */
  --gold:#EEC476;
  --gold-hi:#F7D88E;
  --gold-500:#E4AE62;
  --gold-grad:linear-gradient(180deg,var(--gold-hi),var(--gold-500));
  --ok:var(--gold-hi);
  --err:#FFC4BC;
  --gutter:clamp(20px,5vw,64px);
  --ease:cubic-bezier(.2,.7,.2,1);
  --font-en:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-ar:"IBM Plex Sans Arabic","Plus Jakarta Sans",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0}
html{background:var(--navy);-webkit-text-size-adjust:100%}
body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;position:relative;overflow-x:hidden;color:#fff;
  font-family:var(--font-en);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
[lang="ar"]{font-family:var(--font-ar)}
a{color:inherit}
button,input{font:inherit;color:inherit}
svg{display:block;flex:none}
.i{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
[dir="rtl"] .i-flip{transform:scaleX(-1)}   /* arrows point the reading direction */
.sr-only,.hp{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.skip{position:absolute;inset-inline-start:12px;top:-60px;z-index:50;padding:10px 16px;border-radius:999px;background:var(--gold);color:var(--navy);font-weight:700;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.wrap{width:min(1320px,100% - 2*var(--gutter));margin-inline:auto}

/* ---------- background photograph ---------- */
.scene{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--navy)}
.scene__img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;transform-origin:62% 55%;animation:drift 40s ease-in-out infinite alternate}
/* legibility shade only: darker at the very top (menu) and bottom (features), as in the approved design */
.scene::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--shade),.38) 0%,rgba(var(--shade),0) 16%,rgba(var(--shade),0) 60%,rgba(var(--shade),.62) 100%)}
@keyframes drift{from{transform:scale(1)}to{transform:scale(1.06)}}

/* ---------- header ---------- */
.top{position:relative;z-index:20;padding-top:clamp(14px,2.4vw,26px)}
.top__row{display:flex;align-items:center;min-height:64px}
/* z-index 31: above the open mobile menu (.mnav, 30) so the logo stays visible */
/* the logo is a Latin lockup: it keeps left-to-right order on the Arabic page too */
.brand{position:relative;z-index:31;display:inline-flex;align-items:center;gap:14px;text-decoration:none;flex:none;font-family:var(--font-en);direction:ltr}
.brand__mark{display:inline-flex;font-weight:800;font-size:54px;line-height:.86;letter-spacing:-.13em;padding-right:.12em}
.brand__mark .r{color:#fff}
.brand__mark .s,.gold-text{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand__text{display:flex;flex-direction:column;gap:5px;text-align:left}
.brand__name{font-size:27px;font-weight:700;letter-spacing:-.025em;line-height:1}
.brand__name .tld{font-size:.74em;font-weight:600;letter-spacing:0}
.brand__tag{font-size:10.5px;font-weight:600;letter-spacing:.32em;line-height:1;opacity:.92}
.nav{margin-inline-start:clamp(28px,3.2vw,48px)}
.nav ul{display:flex;align-items:center;gap:clamp(22px,2.2vw,36px);margin:0;padding:0;list-style:none}
.nav a,.actions .link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:15px;font-weight:500;text-decoration:none;white-space:nowrap;position:relative;transition:color .2s}
.nav a::after{content:"";position:absolute;inset-inline:0;bottom:8px;height:2px;border-radius:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
[dir="rtl"] .nav a::after{transform-origin:right}
.nav a:hover,.actions .link:hover{color:var(--gold)}
.nav a:hover::after{transform:scaleX(1)}
.nav .i{width:14px;height:14px}
.actions{margin-inline-start:auto;padding-inline-start:24px;display:flex;align-items:center;gap:clamp(14px,1.6vw,24px)}
.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:999px;text-decoration:none;transition:background .2s,color .2s}
.icon-btn:hover{background:rgba(255,255,255,.1);color:var(--gold)}
.icon-btn .i{width:24px;height:24px}
.lang-link{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;font-size:17px;font-weight:600;text-decoration:none;transition:color .2s}
.lang-link[lang="en"]{font-size:15.5px;font-family:var(--font-en)}
.lang-link:hover{color:var(--gold)}
.sep{width:1px;height:26px;background:rgba(255,255,255,.55)}
.actions .link{font-size:16px}
.btn-gold{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 22px;border-radius:999px;text-decoration:none;white-space:nowrap;
  background:var(--gold-grad);color:var(--navy);font-size:14.5px;font-weight:700;box-shadow:0 6px 18px rgba(228,174,98,.28);transition:transform .2s var(--ease),box-shadow .2s,filter .2s}
.btn-gold:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 10px 26px rgba(228,174,98,.38)}
.btn-gold .i{width:18px;height:18px;stroke-width:2.2}
/* z-index 31: the button that opens the menu also closes it, so it stays above .mnav (30) */
.menu-btn{display:none;margin-inline-start:14px;width:46px;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.45);background:rgba(var(--shade),.35);cursor:pointer;position:relative;z-index:31}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{position:absolute;left:13px;right:13px;height:2px;border-radius:2px;background:#fff;content:"";transition:transform .25s var(--ease),opacity .2s}
.menu-btn span{top:22px}
.menu-btn span::before{left:0;right:0;top:-7px}
.menu-btn span::after{left:0;right:0;top:7px}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{transform:translateY(-7px) rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:30;background:var(--navy);padding:112px var(--gutter) 40px;overflow-y:auto}
.mnav[hidden]{display:none}
.mnav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.mnav li a{display:flex;width:100%;align-items:center;min-height:58px;border-bottom:1px solid #13304F;font-size:21px;font-weight:600;text-align:start;text-decoration:none}
.mnav .btn-gold{margin-top:28px;justify-content:center;width:100%;height:54px;font-size:16px}

/* ---------- hero ---------- */
.hero{flex:1;display:flex;flex-direction:column}
.hero__inner{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:clamp(22px,4vh,48px)}
.eyebrow{margin:0;font-size:14px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;padding-inline-start:.34em}
.eyebrow span{margin:0 .55em;opacity:.9}
.rule{display:block;width:78px;height:2px;border-radius:2px;background:var(--gold);margin:17px 0 12px}
.title{margin:0;font-size:clamp(46px,min(7.1vw,11.4vh),106px);font-weight:800;line-height:1;letter-spacing:-.035em;text-shadow:0 2px 24px rgba(var(--shade),.25)}
.tagline{margin:.1em 0 .3em;font-family:var(--font-ar);font-size:clamp(26px,min(2.9vw,4.6vh),42px);font-weight:500;line-height:1.4;color:#fff}
.tagline__gold{color:var(--gold)}
.title .gold-text{text-shadow:none}
.lede{margin:0;max-width:740px;font-size:clamp(16px,min(1.45vw,2.3vh),21px);line-height:1.45;text-wrap:pretty}
.lede--2{margin-top:.5em;font-size:clamp(15.5px,min(1.35vw,2.2vh),19.5px);opacity:.95}
.join{position:relative;display:flex;align-items:center;gap:16px;width:min(594px,100%);height:64px;margin-top:clamp(18px,3vh,28px);padding-block:0;padding-inline:24px 3px;
  border:1.5px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(5,15,35,.36);transition:border-color .2s,box-shadow .2s}
.join:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(238,196,118,.18)}
.join.is-error{border-color:var(--err)}
.join.is-done{border-color:var(--gold)}
.join__icon{width:27px;height:27px;opacity:.95;stroke-width:1.6}
.join input[type="email"]{flex:1;min-width:0;height:100%;border:0;background:transparent;font-size:17px;outline:none}
.join input::placeholder{color:rgba(255,255,255,.9);opacity:1}
.join__go{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:999px;border:0;cursor:pointer;color:var(--navy);
  background:var(--gold-grad);box-shadow:0 8px 22px rgba(228,174,98,.36);transition:transform .2s var(--ease),filter .2s}
.join__go:hover{transform:scale(1.05);filter:brightness(1.05)}
.join__go:focus-visible{outline-color:#fff}
.join__go .i{width:24px;height:24px;stroke-width:2.2}
.join__go .spin{display:none;width:22px;height:22px;border-radius:999px;border:2.5px solid rgba(4,24,44,.25);border-top-color:var(--navy);animation:spin .8s linear infinite}
.join.is-busy .join__go .i{display:none}
.join.is-busy .join__go .spin{display:block}
.join.is-busy .join__go{cursor:progress}
@keyframes spin{to{transform:rotate(360deg)}}
.note{margin:12px 0 0;min-height:1.5em;text-wrap:balance;font-size:14.5px;color:rgba(255,255,255,.9);text-shadow:0 1px 8px rgba(var(--shade),.85)}
.note.is-ok{color:var(--ok);font-weight:600}
.note.is-err{color:var(--err);font-weight:600}

/* ---------- features ---------- */
.features{margin-top:auto;padding:clamp(28px,6vh,72px) 0 clamp(22px,4.4vh,44px)}
.features__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-block:0;padding:0;list-style:none;max-width:1240px}
.feat{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 16px;text-shadow:0 1px 10px rgba(var(--shade),.8)}
/* divider starts below the icon: 66px ring + 12px gap - 4px */
.feat+.feat::before{content:"";position:absolute;inset-inline-start:0;top:74px;bottom:2px;width:1px;background:rgba(255,255,255,.3)}
.feat__icon{display:grid;place-items:center;width:66px;height:66px;border-radius:999px;border:2px solid var(--gold);margin-bottom:12px;color:var(--gold)}
.feat__icon .i{width:30px;height:30px;stroke-width:1.7}
.feat h2{margin:0 0 6px;font-size:clamp(18px,1.5vw,22px);font-weight:700;letter-spacing:-.01em;color:var(--gold)}
.feat p{margin:0;max-width:14em;text-wrap:balance;font-size:clamp(14.5px,1.2vw,17px);line-height:1.4}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));z-index:40;max-width:calc(100% - 32px);padding:12px 20px;border-radius:999px;
  background:rgba(4,24,44,.96);border:1px solid rgba(238,196,118,.55);color:#fff;font-size:14.5px;font-weight:500;text-align:center;box-shadow:0 12px 32px rgba(0,0,0,.35);
  transform:translate(-50%,14px);opacity:0;transition:opacity .25s,transform .25s var(--ease)}
.toast.is-on{opacity:1;transform:translate(-50%,0)}
.toast[hidden]{display:none}

/* ---------- entrance ---------- */
.rise{animation:rise .9s var(--ease) both;animation-delay:var(--d,0s)}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ---------- Arabic page: Arabic letters must never be letter-spaced (it breaks the joins) ---------- */
html[lang="ar"] .eyebrow{letter-spacing:0;word-spacing:.3em;font-size:16px;font-weight:600;padding-inline-start:0}
html[lang="ar"] .title{letter-spacing:0;font-weight:700;line-height:1.25}
html[lang="ar"] .nav a,html[lang="ar"] .actions .link{font-size:16px}
html[lang="ar"] .btn-gold{font-size:15px}
html[lang="ar"] .lede{line-height:1.7}
html[lang="ar"] .feat h2{letter-spacing:0}
html[lang="ar"] .feat p{line-height:1.6}
html[lang="ar"] .toast{font-size:16px}
html[lang="ar"] .note{font-size:15.5px}
/* emails are typed left-to-right; the Arabic placeholder stays right-to-left */
html[lang="ar"] .join input[type="email"]{direction:ltr;text-align:right}
html[lang="ar"] .join input[type="email"]:placeholder-shown{direction:rtl}

/* ---------- responsive ---------- */
@media (max-width:1420px){
  :root{--gutter:clamp(20px,3.2vw,40px)}
  .brand__mark{font-size:48px}
  .brand__name{font-size:24px}
  .brand__tag{font-size:9.5px}
  .nav{margin-inline-start:24px}
  .nav ul{gap:22px}
  .nav a{font-size:14.5px}
  .actions{gap:14px;padding-inline-start:16px}
  .btn-gold{padding:0 18px}
}
/* 1240px: the full header no longer fits (measured). site.js closes the menu above this width. */
@media (max-width:1240px){
  .nav,.actions .link,.actions .lang-link,.actions .sep,.actions .icon-btn{display:none}
  .menu-btn{display:block}
}
@media (max-width:900px){
  .features__row{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px}
  .feat+.feat::before{display:none}
}
@media (min-width:641px) and (max-width:1024px) and (orientation:portrait){
  .scene__img{object-position:70% 50%}
}
@media (max-width:640px){
  .actions .btn-gold{display:none}
  .brand__mark{font-size:42px}
  .brand__name{font-size:22px}
  .brand__tag{font-size:8.5px;letter-spacing:.28em}
  .scene__img{object-position:70% 50%}
  .eyebrow{font-size:11.5px;letter-spacing:.24em;padding-inline-start:.24em}
  html[lang="ar"] .eyebrow{font-size:14px;letter-spacing:0;padding-inline-start:0}
  .join{height:58px;padding-inline-start:18px;gap:12px}
  .join__go{width:52px;height:52px}
  .join input[type="email"]{font-size:16px}
  .note{font-size:13.5px}
  .feat{padding:0 6px}
  .feat__icon{width:56px;height:56px}
  .feat__icon .i{width:26px;height:26px}
  .feat+.feat::before{top:64px}
}
@media (max-width:380px){
  .features__row{grid-template-columns:1fr}
  .eyebrow{font-size:10.5px;letter-spacing:.18em;padding-inline-start:.18em}
  html[lang="ar"] .eyebrow{font-size:13px;letter-spacing:0;padding-inline-start:0}
}
@media (prefers-reduced-motion:reduce){
  .scene__img,.rise,.join__go .spin{animation:none}
  *{transition:none!important}
}
