@font-face{font-family:Inter;src:url("/assets/inter-latin.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap;}
/* Binghatti Starfall — v20260914-1
   Palette sampled from the official launch creative: warm near-black ground,
   cream text, bronze/champagne metal. One stylesheet serves LTR and RTL. */

:root{
  --ink:        #0D0B0A;
  --ink-2:      #131010;
  --ink-3:      #1C1714;
  --cream:      #EFE7DA;
  --cream-dim:  #C9BEB0;
  --bronze:     #C2955F;
  --bronze-deep:#8C5F33;
  --champagne:  #E4C9A3;
  --slate:      #7E869A;
  --danger:     #E89486;

  --line:   rgba(228,201,163,.14);
  --line-2: rgba(228,201,163,.28);

  --font-display: 'Inter', ui-sans-serif, system-ui, sans-serif;
  --font-ui: 'Inter', ui-sans-serif, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif;

  --shell: 1280px;
  --pad: clamp(1.25rem, 4.5vw, 3.5rem);
  --band-y: clamp(4.5rem, 10vw, 9rem);
  --radius: 14px;
  --head-h: 68px;
  --dock-h: 62px;
  --h-dir: right;
  --ease: cubic-bezier(.16,1,.3,1);
}

html[lang="ar"]{
  --font-display: 'Reem Kufi', 'Tajawal', ui-sans-serif, system-ui, sans-serif;
  --font-ui: 'Tajawal', ui-sans-serif, system-ui, 'Segoe UI', sans-serif;
}
[dir="rtl"]{ --h-dir: left; }

*,*::before,*::after{ box-sizing:border-box; }

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scrollbar-color: var(--bronze-deep) var(--ink-2);
  scrollbar-width: thin;
}

body{
  margin:0;
  background:var(--ink);
  color:var(--cream);
  font-family:var(--font-ui);
  font-size:1rem;
  font-weight:400;
  line-height:1.7;
  overflow-x:hidden;
  overflow-x:clip;
  padding-bottom:calc(var(--dock-h) + env(safe-area-inset-bottom));
  -webkit-font-smoothing:antialiased;
}

html[lang="ar"] body{ font-weight:400; line-height:1.85; }

img,video,iframe{ max-width:100%; display:block; }
img,video{ height:auto; }

::selection{ background:var(--bronze); color:var(--ink); }

a{ color:inherit; text-decoration-color:var(--line-2); text-underline-offset:.28em; }

:focus-visible{
  outline:2px solid var(--champagne);
  outline-offset:3px;
  border-radius:3px;
}

::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:var(--ink-2); }
::-webkit-scrollbar-thumb{ background:var(--bronze-deep); border-radius:99px; }
::-webkit-scrollbar-thumb:hover{ background:var(--bronze); }

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
}

.skip{
  position:fixed; inset-block-start:.5rem; inset-inline-start:.5rem; z-index:200;
  transform:translateY(-200%);
  background:var(--bronze); color:var(--ink); padding:.7rem 1.1rem;
  border-radius:8px; font-size:.9rem; text-decoration:none;
}
.skip:focus{ transform:none; }

.shell{ width:100%; max-width:var(--shell); margin-inline:auto; padding-inline:var(--pad); }

.ic{ width:20px; height:20px; flex:0 0 auto; }
.ic-go{ width:17px; height:17px; }
[dir="rtl"] .ic-go{ transform:scaleX(-1); }
.ic-ext{ width:14px; height:14px; opacity:.7; }
.ic-lg{ width:30px; height:30px; }

/* ---------- Type ---------- */

.h-display{
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(1.85rem, 4.2vw, 3.25rem);
  line-height:1.12;
  letter-spacing:-.012em;
  margin:0 0 .85rem;
  text-wrap:balance;
}
html[lang="ar"] .h-display{ letter-spacing:0; line-height:1.3; }

.lede{
  font-size:clamp(1.05rem, 1.5vw, 1.3rem);
  line-height:1.72;
  color:var(--cream);
  max-width:60ch;
  margin:0 0 1.75rem;
}
.sub{ color:var(--cream-dim); max-width:58ch; margin:0 0 2rem; }
.note{ display:flex; gap:.6rem; align-items:flex-start; color:var(--cream-dim); font-size:.88rem; margin:1.75rem 0 0; max-width:62ch; }
.ic-note{ width:17px; height:17px; margin-block-start:.28em; color:var(--bronze); }

/* ---------- Buttons ---------- */

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  min-height:50px; padding:.8rem 1.6rem;
  border:1px solid transparent; border-radius:999px;
  font-family:var(--font-ui); font-size:.9rem; font-weight:500;
  letter-spacing:.06em; text-transform:uppercase; text-decoration:none;
  cursor:pointer; white-space:nowrap;
  transition:background-color .22s var(--ease), color .22s var(--ease),
             border-color .22s var(--ease), transform .22s var(--ease);
}
html[lang="ar"] .btn{ text-transform:none; letter-spacing:.01em; font-size:.95rem; }

.btn-primary{ background:var(--bronze); color:var(--ink); }
.btn-primary:hover{ background:var(--champagne); transform:translateY(-1px); }
.btn-primary:active{ transform:translateY(0); }

.btn-line{ border-color:var(--line-2); color:var(--cream); background:rgba(239,231,218,.03); }
.btn-line:hover{ border-color:var(--bronze); background:rgba(194,149,95,.10); }

.btn-ghost{ color:var(--cream); border-color:var(--line-2); }
.btn-ghost:hover{ border-color:var(--bronze); color:var(--champagne); }

.btn-sm{ min-height:44px; padding:.55rem 1.15rem; font-size:.78rem; }
.btn-block{ width:100%; white-space:normal; padding-inline:1.1rem; text-align:center; }
.btn[disabled],.btn[aria-disabled="true"]{ opacity:.55; pointer-events:none; }

.icon-btn{
  display:none; align-items:center; justify-content:center;
  width:46px; height:46px; padding:0;
  background:none; border:1px solid var(--line-2); border-radius:50%;
  color:var(--cream); cursor:pointer;
  transition:border-color .2s var(--ease), color .2s var(--ease);
}
.icon-btn:hover{ border-color:var(--bronze); color:var(--champagne); }

/* ---------- Header ---------- */

.site-head{
  position:fixed; inset-block-start:0; inset-inline:0; z-index:60;
  padding-block:.9rem;
  transition:background-color .3s var(--ease), backdrop-filter .3s var(--ease), border-color .3s var(--ease);
  border-block-end:1px solid transparent;
}
.site-head.is-stuck{
  background:rgba(13,11,10,.86);
  backdrop-filter:blur(16px) saturate(120%);
  -webkit-backdrop-filter:blur(16px) saturate(120%);
  border-block-end-color:var(--line);
}
.head-row{ display:flex; align-items:center; gap:1.25rem; }
.logo{ width:132px; height:auto; flex:0 0 auto; opacity:.96; }

.nav-desk{ display:none; margin-inline-start:auto; gap:2rem; }
.nav-desk a{
  font-size:.76rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--cream-dim); text-decoration:none; padding-block:.4rem;
  transition:color .2s var(--ease);
}
html[lang="ar"] .nav-desk a{ letter-spacing:0; text-transform:none; font-size:.95rem; }
.nav-desk a:hover{ color:var(--champagne); }

.head-actions{ display:flex; align-items:center; gap:.65rem; margin-inline-start:auto; }
.nav-desk + .head-actions{ margin-inline-start:0; }

.lang{
  display:inline-flex; align-items:center; gap:.4rem;
  min-height:44px; padding:.4rem .85rem;
  border:1px solid var(--line-2); border-radius:999px;
  font-size:.8rem; letter-spacing:.04em; color:var(--cream); text-decoration:none;
  transition:border-color .2s var(--ease), color .2s var(--ease);
}
.lang .ic{ width:15px; height:15px; opacity:.75; }
.lang:hover{ border-color:var(--bronze); color:var(--champagne); }
.nav-cta{ display:none; }

.mobile-nav{
  border-block-start:1px solid var(--line);
  background:rgba(13,11,10,.96);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  margin-block-start:.9rem;
  max-height:min(70vh, 30rem); overflow-y:auto;
}
.mobile-nav[hidden]{ display:none; }
.mobile-nav nav{ display:flex; flex-direction:column; }
.mobile-nav a{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  min-height:56px; padding-block:.9rem;
  border-block-end:1px solid var(--line);
  color:var(--cream); text-decoration:none; font-size:1.05rem;
}
.mobile-nav a:last-child{ border-block-end:0; }
.mobile-nav a .ic-go{ color:var(--bronze); opacity:.8; }

/* ---------- Hero ---------- */

.hero{
  position:relative; isolation:isolate;
  min-height:100vh; min-height:100svh;
  display:flex; align-items:flex-end;
  padding-block:calc(var(--head-h) + 3rem) clamp(3.5rem, 9vh, 6rem);
  overflow:hidden;
}
.hero-media{ position:absolute; inset:0; z-index:-2; }
.hero-media img{ width:100%; height:100%; object-fit:cover; object-position:50% 45%; }

.hero-veil{
  position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(to bottom, rgba(13,11,10,.84) 0%, rgba(13,11,10,.26) 24%,
      rgba(13,11,10,.34) 48%, rgba(13,11,10,.88) 84%, var(--ink) 100%),
    linear-gradient(to var(--h-dir), rgba(13,11,10,.76) 0%, rgba(13,11,10,.18) 46%, rgba(13,11,10,0) 78%),
    radial-gradient(120% 70% at 62% 78%, rgba(232,169,81,.14) 0%, transparent 62%);
}

.hero-beam{
  position:absolute; inset-inline:-10%; z-index:-1;
  inset-block-start:-45%; height:55%;
  background:linear-gradient(to bottom, transparent 0%, rgba(228,201,163,.07) 38%,
             rgba(244,237,226,.26) 60%, rgba(228,201,163,.05) 80%, transparent 100%);
  filter:blur(22px);
  opacity:0; pointer-events:none;
  animation:sf-fall 2.4s cubic-bezier(.3,.55,.25,1) .2s both;
}
@keyframes sf-fall{
  0%{ opacity:0; transform:translateY(0); }
  16%{ opacity:1; }
  100%{ opacity:0; transform:translateY(230%); }
}

.hero-inner{ position:relative; text-align:start; }

.wordmark{ margin:0 0 1.1rem; text-align:left; }
[dir="rtl"] .wordmark{ text-align:right; }

.wm-brand,.wm-word{ display:block; animation:sf-resolve 1.35s var(--ease) both; }
.wm-brand{
  font-family:var(--font-ui); font-weight:400;
  font-size:clamp(.82rem, 2.3vw, 1.3rem);
  letter-spacing:.44em; text-transform:uppercase;
  color:var(--cream-dim);
  margin-inline-start:.16em; margin-block-end:clamp(.35rem,1.4vw,.9rem);
  animation-delay:.18s;
}
.wm-word{
  font-family:var(--font-display); font-weight:400;
  font-size:clamp(2.55rem, 10.5vw, 6rem);
  line-height:.94; letter-spacing:.055em; text-transform:uppercase;
  color:var(--champagne);
  font-family:Inter, sans-serif; font-weight:600; color:#F6F0E6;
  animation-delay:.3s;
}

@keyframes sf-resolve{
  from{ opacity:0; filter:blur(14px); transform:translateY(16px); }
  to{ opacity:1; filter:blur(0); transform:none; }
}

.hero-place{
  margin:0 0 .5rem;
  font-size:clamp(.78rem,1.5vw,.95rem); letter-spacing:.32em; text-transform:uppercase;
  color:var(--champagne);
}
html[lang="ar"] .hero-place{ letter-spacing:.12em; font-size:clamp(.9rem,1.6vw,1.05rem); }

.hero-line{
  margin:0 0 1.9rem;
  font-family:var(--font-ui); font-style:normal;
  font-size:clamp(1.15rem,2.5vw,1.75rem); line-height:1.4; color:var(--cream);
  max-width:24ch;
}
html[lang="ar"] .hero-line{ font-style:normal; font-family:var(--font-ui); font-weight:400; }

.hero-meta{
  display:inline-flex; align-items:center; gap:.6rem;
  margin:0 0 2rem; padding:.55rem 1.1rem;
  border:1px solid var(--line-2); border-radius:999px;
  background:rgba(13,11,10,.42);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  font-size:.8rem; letter-spacing:.11em; text-transform:uppercase; color:var(--cream);
}
html[lang="ar"] .hero-meta{ text-transform:none; letter-spacing:.02em; font-size:.92rem; }
.hero-meta .ic{ width:17px; height:17px; color:var(--bronze); }

.hero-cta{ display:flex; flex-wrap:wrap; gap:.85rem; }

.hero-scroll{
  position:absolute; inset-block-end:1.5rem; inset-inline-end:var(--pad);
  display:none; flex-direction:column; align-items:center; gap:.4rem;
  color:var(--cream-dim); text-decoration:none;
  font-size:.66rem; letter-spacing:.24em; text-transform:uppercase;
}
.hero-scroll .ic{ width:16px; height:16px; animation:sf-nudge 2.6s ease-in-out infinite; }
@keyframes sf-nudge{ 0%,100%{ transform:translateY(0); opacity:.55 } 50%{ transform:translateY(5px); opacity:1 } }

/* ---------- Points rail ---------- */

.points{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:1fr;
  border-block:1px solid var(--line);
  background:linear-gradient(to bottom, rgba(194,149,95,.05), transparent);
  width:100%; max-width:var(--shell); margin-inline:auto;
}
.points li{
  display:flex; align-items:center; gap:.9rem;
  padding:1.3rem var(--pad);
  font-size:.92rem; line-height:1.45; color:var(--cream);
}
.points li + li{ border-block-start:1px solid var(--line); }
.ic-pt{ width:26px; height:26px; color:var(--bronze); stroke-width:1.2; }

/* ---------- Bands ---------- */

.band{ padding-block:var(--band-y); }
.band-alt{ background:var(--ink-2); }
.band-head{ margin-block-end:clamp(2rem,4vw,3rem); }
.prose-wrap{ max-width:66ch; }

.near,.loc-near{
  display:inline-flex; align-items:center; gap:.6rem;
  color:var(--champagne); font-size:.92rem; letter-spacing:.02em;
  margin:0 0 1.75rem;
}
.near .ic,.loc-near .ic{ color:var(--bronze); }

/* ---------- Residences ---------- */

.res-list{ list-style:none; margin:0; padding:0; border-block-start:1px solid var(--line); }
.res-list li{ display:grid; grid-template-columns:1fr auto; gap:.25rem 1rem; padding-block:1.4rem; border-block-end:1px solid var(--line); }
.res-head{ display:none !important; }
.res-type{ font-family:var(--font-display); font-size:clamp(1.25rem,2.6vw,1.7rem); line-height:1.25; }
html[lang="ar"] .res-type{ font-weight:500; }
.res-av{ grid-column:1; color:var(--cream-dim); font-size:.88rem; }
.res-price{
  grid-column:2; grid-row:1 / span 2; align-self:center;
  font-family:var(--font-display); font-size:clamp(1.35rem,3vw,2rem);
  color:var(--champagne); white-space:nowrap; font-variant-numeric:tabular-nums;
}
.res-price i{
  font-family:var(--font-ui); font-style:normal; font-size:.62em;
  letter-spacing:.14em; text-transform:uppercase; color:var(--cream-dim);
  margin-inline-end:.2em;
}
html[lang="ar"] .res-price i{ letter-spacing:0; }

/* ---------- Launch ---------- */

.launch-grid{ display:grid; gap:clamp(2rem,5vw,4rem); align-items:center; }
.launch-card{
  margin:0; padding:clamp(1.6rem,4vw,2.4rem);
  border:1px solid var(--line-2); border-radius:var(--radius);
  background:linear-gradient(150deg, rgba(194,149,95,.11), rgba(13,11,10,.2) 58%);
  display:grid; gap:1.4rem;
}
.launch-card dt{
  font-size:.7rem; letter-spacing:.24em; text-transform:uppercase; color:var(--cream-dim);
  margin-block-end:.3rem;
}
html[lang="ar"] .launch-card dt{ letter-spacing:.04em; font-size:.85rem; }
.launch-card dd{ margin:0; font-family:var(--font-display); font-size:clamp(1.3rem,3vw,1.9rem); color:var(--cream); }
.launch-date{ color:var(--champagne) !important; font-size:clamp(2rem,6.5vw,3.4rem) !important; line-height:1.05; }

/* ---------- Media ---------- */

.media-grid{ display:grid; gap:clamp(1rem,2.5vw,1.75rem); }
.media-col{ display:grid; gap:clamp(1rem,2.5vw,1.75rem); align-content:start; }

.fig{ margin:0; }
.fig img,.fig video{ width:100%; border-radius:var(--radius); background:var(--ink-3); }
.fig video{ aspect-ratio:16/9; object-fit:cover; }
.fig figcaption{
  margin-block-start:.8rem; font-size:.72rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--cream-dim);
}
html[lang="ar"] .fig figcaption{ letter-spacing:.03em; text-transform:none; font-size:.88rem; }

.fig-zoom{
  display:block; position:relative; width:100%; padding:0;
  background:none; border:0; cursor:zoom-in; border-radius:var(--radius);
}
.zoom-chip{
  position:absolute; inset-block-end:.9rem; inset-inline-end:.9rem;
  display:inline-flex; align-items:center; gap:.45rem;
  min-height:38px; padding:.4rem .85rem;
  background:rgba(13,11,10,.78); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border:1px solid var(--line-2); border-radius:999px;
  font-size:.72rem; letter-spacing:.08em; color:var(--cream);
  opacity:0; transform:translateY(6px);
  transition:opacity .25s var(--ease), transform .25s var(--ease);
}
.zoom-chip .ic{ width:15px; height:15px; }
.fig-zoom:hover .zoom-chip,.fig-zoom:focus-visible .zoom-chip{ opacity:1; transform:none; }

.lightbox{
  border:0; padding:0; max-width:min(94vw,720px); max-height:92vh;
  background:transparent; color:var(--cream); overflow:visible;
}
.lightbox::backdrop{ background:rgba(8,6,5,.92); backdrop-filter:blur(6px); }
.lightbox img{ width:100%; max-height:92vh; object-fit:contain; border-radius:10px; }
.lb-close{
  position:absolute; inset-block-start:-14px; inset-inline-end:-14px; z-index:2;
  width:44px; height:44px; display:grid; place-items:center;
  background:var(--ink-3); color:var(--cream);
  border:1px solid var(--line-2); border-radius:50%; cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.5);
}
.lb-close:hover{ border-color:var(--bronze); color:var(--champagne); }

/* ---------- Location ---------- */

.loc-grid{ display:grid; gap:clamp(2rem,4vw,3.5rem); align-items:center; }
.map{
  border:1px solid var(--line-2); border-radius:var(--radius);
  overflow:hidden; background:var(--ink-3); min-height:300px;
}
.map iframe{ width:100%; height:100%; min-height:340px; border:0; display:block; filter:saturate(.75) contrast(1.05); }
.map-pending{
  display:grid; gap:1rem; justify-items:center; text-align:center;
  padding:clamp(2rem,6vw,3.5rem) 1.5rem; min-height:300px; align-content:center;
  background:
    radial-gradient(90% 70% at 50% 0%, rgba(194,149,95,.10), transparent 70%),
    var(--ink-3);
}
.map-pending .ic-lg{ color:var(--bronze); }
.map-pending p{ margin:0; color:var(--cream-dim); font-size:.92rem; max-width:34ch; }

/* ---------- Register ---------- */

.register{ background:var(--ink-2); }
.reg-grid{ display:grid; gap:clamp(2rem,5vw,4rem); align-items:start; }
.reg-phone{
  display:inline-flex; align-items:center; gap:.65rem;
  min-height:44px;
  font-family:var(--font-display); font-size:clamp(1.3rem,3vw,1.7rem);
  color:var(--champagne); text-decoration:none; font-variant-numeric:tabular-nums;
}
.reg-phone .ic{ color:var(--bronze); }
.reg-phone:hover{ color:var(--cream); }

.reg-panel{
  border:1px solid var(--line-2); border-radius:18px;
  background:linear-gradient(165deg, rgba(194,149,95,.09), rgba(13,11,10,.35) 52%), var(--ink-3);
  padding:clamp(1.5rem,4vw,2.5rem);
}
.field{ margin-block-end:1.15rem; }
.field label{
  display:block; margin-block-end:.5rem;
  font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:var(--cream-dim);
}
html[lang="ar"] .field label{ letter-spacing:.02em; text-transform:none; font-size:.92rem; }

.field input{
  width:100%; min-height:54px; padding:.85rem 1.05rem;
  background:rgba(239,231,218,.045);
  border:1px solid var(--line-2); border-radius:10px;
  color:var(--cream); caret-color:var(--bronze);
  font-family:var(--font-ui); font-size:1rem; font-weight:400;
  transition:border-color .2s var(--ease), background-color .2s var(--ease);
}
.field input::placeholder{ color:#9A8F82; opacity:1; }
.field input:hover{ border-color:var(--line-2); background:rgba(239,231,218,.07); }
.field input:focus{ border-color:var(--bronze); background:rgba(239,231,218,.07); }
.field.is-bad input{ border-color:var(--danger); }
.err{ margin:.45rem 0 0; color:var(--danger); font-size:.84rem; }

.hp{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); opacity:0; pointer-events:none; }

#regSubmit{ margin-block-start:.6rem; position:relative; }
.spin{
  display:none; width:17px; height:17px; border-radius:50%;
  border:2px solid rgba(13,11,10,.28); border-block-start-color:var(--ink);
  animation:sf-spin .7s linear infinite;
}
@keyframes sf-spin{ to{ transform:rotate(360deg) } }
.form.is-busy .spin{ display:block; }
.form.is-busy #regSubmit{ opacity:.7; pointer-events:none; }

.form-note{ margin:.9rem 0 0; font-size:.8rem; color:var(--cream-dim); }
.form-alert{
  margin:1rem 0 0; padding:.85rem 1rem;
  border:1px solid rgba(232,148,134,.4); border-radius:10px;
  background:rgba(232,148,134,.08); color:var(--danger); font-size:.9rem;
}
.form-alert[hidden]{ display:none; }

.form-done{ text-align:center; padding-block:.5rem 1rem; }
.form-done[hidden]{ display:none; }
.done-mark{
  display:grid; place-items:center; width:58px; height:58px; margin:0 auto 1.1rem;
  border-radius:50%; background:rgba(194,149,95,.16); color:var(--bronze);
  box-shadow:0 10px 30px -12px rgba(194,149,95,.6);
}
.done-mark .ic{ width:26px; height:26px; }
.form-done h3{ font-family:var(--font-display); font-weight:400; font-size:1.45rem; margin:0 0 .6rem; }
.form-done p{ color:var(--cream-dim); margin:0 0 1.5rem; }

/* ---------- Footer ---------- */

.site-foot{ border-block-start:1px solid var(--line); padding-block:clamp(2.5rem,6vw,4rem) 2rem; }
.foot-row{ display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem 2rem; }
.site-foot .logo{ width:118px; opacity:.72; }
.foot-text{ display:flex; flex-wrap:wrap; align-items:baseline; gap:.35rem 1.25rem; margin-inline-start:auto; }
.foot-enquiry{ margin:0; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cream-dim); }
html[lang="ar"] .foot-enquiry{ letter-spacing:.02em; text-transform:none; font-size:.92rem; }
.foot-phone{ color:var(--champagne); text-decoration:none; font-variant-numeric:tabular-nums; letter-spacing:.04em; }
.foot-phone:hover{ color:var(--cream); }

.foot-fine{ margin-block-start:2.25rem; padding-block-start:1.75rem; border-block-start:1px solid var(--line); }
.foot-fine p{ margin:0 0 .5rem; font-size:.78rem; line-height:1.7; color:#8F8579; max-width:80ch; }

/* ---------- Dock ---------- */

.dock{
  position:fixed; inset-block-end:0; inset-inline:0; z-index:70;
  display:grid; grid-template-columns:repeat(3,1fr);
  background:rgba(13,11,10,.93);
  backdrop-filter:blur(18px) saturate(130%); -webkit-backdrop-filter:blur(18px) saturate(130%);
  border-block-start:1px solid var(--line-2);
  padding-block-end:env(safe-area-inset-bottom);
}
.dock-item{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.2rem;
  min-height:var(--dock-h); padding:.5rem .4rem;
  color:var(--cream); text-decoration:none;
  font-size:.7rem; letter-spacing:.08em; text-transform:uppercase;
  transition:color .2s var(--ease), background-color .2s var(--ease);
}
html[lang="ar"] .dock-item{ letter-spacing:0; text-transform:none; font-size:.82rem; }
.dock-item .ic{ width:21px; height:21px; color:var(--bronze); transition:color .2s var(--ease); }
.dock-item:hover{ color:var(--champagne); }
.dock-item:hover .ic{ color:var(--champagne); }
.dock-item + .dock-item{ border-inline-start:1px solid var(--line); }
.dock-primary{ background:var(--bronze); color:var(--ink); font-weight:500; }
.dock-primary .ic{ color:var(--ink); }
.dock-primary:hover{ background:var(--champagne); color:var(--ink); }
.dock-primary:hover .ic{ color:var(--ink); }

/* ---------- Reveal ---------- */

.reveal-ready .reveal{ opacity:0; transform:translateY(20px); }
.reveal-ready .reveal.is-in{
  opacity:1; transform:none;
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
.reveal-ready .fig.reveal{ transform:translateY(24px) scale(.985); }
.reveal-ready .fig.reveal.is-in{ transform:none; }

@media (max-width:599px){
  .wm-word{ letter-spacing:.035em; }
  .wm-brand{ letter-spacing:.34em; }
}

/* ---------- Breakpoints ---------- */

@media (min-width:600px){
  .points{ grid-template-columns:repeat(2,1fr); }
  .points li{ padding-block:1.6rem; }
  .points li + li{ border-block-start:0; }
  .points li:nth-child(n+3){ border-block-start:1px solid var(--line); }
  .points li:nth-child(even){ border-inline-start:1px solid var(--line); }
  .res-list li{ grid-template-columns:1.1fr 1fr auto; align-items:center; }
  .res-av{ grid-column:2; }
  .res-price{ grid-column:3; grid-row:1; }
}

@media (min-width:768px){
  :root{ --head-h:80px; --dock-h:66px; }
  .media-grid{ grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); align-items:start; }
  .loc-grid,.reg-grid,.launch-grid{ grid-template-columns:1fr 1fr; }
  .launch-card{ gap:1.75rem; }
  .res-head{ display:grid !important; padding-block:.85rem; border-block-end:1px solid var(--line-2); }
  .res-head span{ font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--cream-dim); }
  html[lang="ar"] .res-head span{ letter-spacing:.02em; text-transform:none; font-size:.85rem; }
  .res-head span:nth-child(3){ text-align:end; }
  .res-price{ text-align:end; }
}

@media (min-width:900px){
  .points{ grid-template-columns:repeat(4,1fr); }
  .points li:nth-child(n+3){ border-block-start:0; }
  .points li:nth-child(even){ border-inline-start:0; }
  .points li + li{ border-inline-start:1px solid var(--line); }
  .points li{ flex-direction:column; align-items:flex-start; gap:1rem; padding:2rem clamp(1.25rem,2.4vw,2rem); }

  .nav-desk{ display:flex; }
  .nav-cta{ display:inline-flex; }
  .hero-scroll{ display:flex; }
  .hero-inner{ padding-block-end:1rem; }

  .dock{
    inset-inline:auto; inset-block-end:1.5rem;
    left:50%; transform:translateX(-50%);
    grid-template-columns:repeat(3,auto);
    width:max-content; border-radius:999px; overflow:hidden;
    border:1px solid var(--line-2);
    box-shadow:0 18px 44px -14px rgba(0,0,0,.75);
    padding-block-end:0;
  }
  .dock-item{ flex-direction:row; gap:.55rem; min-height:56px; padding-inline:1.5rem; font-size:.76rem; }
  body{ padding-bottom:calc(var(--dock-h) + 3rem); }
}

@media (max-width:899px){
  .icon-btn{ display:inline-flex; }
}

@media (min-width:1100px){
  .hero-line{ max-width:26ch; }
  .reg-grid{ grid-template-columns:1fr .92fr; gap:5rem; }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important;
  }
  .hero-beam{ display:none; }
  .reveal-ready .reveal{ opacity:1 !important; transform:none !important; }
}

/* ---------- Anchor offset & menu lock ---------- */

#overview,#residences,#launch,#media,#location,#register{ scroll-margin-block-start:calc(var(--head-h) + 1rem); }
html.menu-open{ overflow:hidden; }

.menu-btn .ic-shut{display:none;}
.menu-btn[aria-expanded="true"] .ic-open{display:none;}
.menu-btn[aria-expanded="true"] .ic-shut{display:block;}

/* Readable enquiry typography and buyer questions. */
html[lang="en"] .h-display{font-weight:600;line-height:1.2;}
html[lang="en"] .nav-desk a{font-size:.875rem;letter-spacing:.025em;font-weight:500;}
html[lang="en"] .btn{letter-spacing:.02em;text-transform:none;font-weight:600;}
html[lang="en"] .btn-sm{font-size:.875rem;}
html[lang="en"] .hero-place{font-size:1rem;letter-spacing:.08em;font-weight:500;}
html[lang="en"] .hero-meta{font-size:.875rem;letter-spacing:.025em;text-transform:none;}
.wm-brand{font-family:Inter,sans-serif;font-weight:500;letter-spacing:.24em;color:var(--cream);}
.wm-word{letter-spacing:.015em;line-height:1.05;}
.hero-line{max-width:32ch;margin-block-end:1rem;font-weight:500;}
.hero-price{font-size:clamp(1.15rem,2.2vw,1.65rem);font-weight:600;color:var(--cream);margin:0 0 1.4rem;}
.hero-price small{display:block;font-size:.8125rem;font-weight:400;color:var(--cream-dim);margin-block-start:.2rem;}
html[lang="en"] .field label,html[lang="en"] .launch-card dt,html[lang="en"] .res-head span{font-size:.875rem;letter-spacing:.03em;font-weight:500;}
html[lang="en"] .res-type,html[lang="en"] .res-price,html[lang="en"] .launch-card dd{font-weight:500;}
html[lang="en"] .fig figcaption,html[lang="en"] .foot-enquiry{font-size:.875rem;letter-spacing:.04em;}
html[lang="en"] .dock-item{font-size:.8125rem;letter-spacing:.025em;font-weight:500;}
.foot-fine p{color:var(--cream-dim);font-size:.875rem;}
.overview-extra{max-width:65ch;}
.source-note{font-size:.8125rem;color:var(--cream-dim);margin:0 0 1.5rem;}
.source-note a{color:inherit;text-underline-offset:.25em;}
.faq-wrap{max-width:960px;}
.faq-list{margin:2rem 0;border-block-start:1px solid var(--line-2);}
.faq-item{border-block-end:1px solid var(--line-2);padding-block:1.2rem;}
.faq-item summary{cursor:pointer;font-size:1.0625rem;font-weight:600;line-height:1.55;color:var(--cream);padding-inline-end:1rem;}
.faq-item summary::marker{color:var(--champagne);}
.faq-item p{font-size:1rem;line-height:1.75;color:var(--cream-dim);max-width:70ch;margin:1rem 0 .3rem;}
@media(max-width:380px){.res-list li{column-gap:.6rem;}.res-type{font-size:1.125rem;}.res-price{font-size:1.25rem;}.hero-meta{padding-inline:.7rem;}.hero-meta .ic{display:none;}}

/* ---------------------------------------------------------------------------
   Header house mark. Deliberately tiny and low-contrast: it marks the page
   without competing with the project wordmark or the CTA. The source art is a
   dark grey lockup on white, so it ships pre-keyed to cream on transparent.
--------------------------------------------------------------------------- */
.dre-mark{
  flex:0 0 auto; display:block; line-height:0;
  opacity:.55;
  transition:opacity .25s var(--ease);
}
.dre-mark:hover{ opacity:.85; }
.dre-mark img{ width:auto; height:26px; display:block; }
@media (min-width:768px){ .dre-mark img{ height:32px; } }
@media (prefers-reduced-motion:reduce){ .dre-mark{ transition:none; } }

/* Starfall brochure imagery and Q4 2028 handover. */
.photo-band{position:relative;isolation:isolate;overflow:hidden;}
.photo-band > .section-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;}
.photo-band::before{content:"";position:absolute;inset:0;background:linear-gradient(to var(--h-dir),rgba(13,11,10,.91),rgba(13,11,10,.67));z-index:-1;}
.photo-band .sub,.photo-band .note,.photo-band .faq-item p{color:var(--cream);}
.photo-band .launch-card,.photo-band .res-list{background:rgba(13,11,10,.78);}
#questions.photo-band::before{background:rgba(13,11,10,.88);}
.hero-delivery{display:flex;align-items:center;justify-content:center;gap:.6rem;color:var(--cream);font-size:1rem;margin:1rem 0;}
.hero-delivery .ic{color:var(--champagne);}
.handover{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.4rem;margin:1.8rem 0 0;padding-block:1rem;border-block:1px solid var(--line-2);}
.handover dt{color:var(--cream-dim);}
.handover dd{margin:0;font-size:clamp(1.3rem,3vw,1.9rem);font-weight:600;color:var(--champagne);}
.brochure-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.5rem);}
.gallery-figure{margin:0;min-width:0;}
.gallery-figure:first-child{grid-column:1 / -1;}
.gallery-link{display:block;position:relative;overflow:hidden;border-radius:var(--radius);background:var(--ink-3);}
.gallery-link img{width:100%;height:auto;aspect-ratio:2 / 1;object-fit:cover;transition:filter .2s ease;}
.gallery-link:hover img{filter:brightness(1.08);}
.gallery-figure figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-block:.75rem;font-size:.95rem;color:var(--cream);}
.gallery-hint{color:var(--cream-dim);font-size:.8rem;white-space:nowrap;}
.gallery-dialog{position:fixed;inset:0;width:min(1100px,calc(100% - 24px));max-width:1100px;max-height:calc(100dvh - 24px);margin:auto;padding:clamp(.75rem,2vw,1.5rem);border:1px solid var(--line-2);border-radius:var(--radius);background:var(--ink);color:var(--cream);overflow:auto;}
.gallery-dialog::backdrop{background:rgba(0,0,0,.9);}
.gallery-toolbar,.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.gallery-toolbar{margin-block-end:.75rem;}
.gallery-toolbar h2{font-size:1.1rem;font-weight:500;margin:0;}
.gallery-dialog button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;gap:.5rem;padding:.55rem .9rem;border:1px solid var(--line-2);border-radius:8px;background:var(--ink-3);color:var(--cream);font:inherit;cursor:pointer;}
.gallery-dialog button:hover{border-color:var(--champagne);}
.gallery-dialog img{width:100%;height:min(62dvh,650px);object-fit:contain;}
.gallery-caption{margin:.8rem 0;color:var(--cream);font-size:.95rem;}
.gallery-open{overflow:hidden;}
@media(max-width:599px){.brochure-gallery{grid-template-columns:1fr;}.gallery-figure figcaption{font-size:.88rem;}.photo-band::before{background:rgba(13,11,10,.83);}.hero-delivery{font-size:.92rem;}.gallery-dialog img{height:50dvh;}}
@media(prefers-reduced-motion:reduce){.gallery-link img{transition:none;}}
