/* ==========================================================================
   JPC VELORA — /residences
   Tokens, type and buttons mirror the homepage (index.html .velora-* rules).
   Desktop (≥900px): pinned, scroll-scrubbed stages.
   Mobile  (<900px): the same stages flow vertically with lighter motion.
   ========================================================================== */

/* Fonts are self-hosted (no Google round-trip): Manrope (headings) + DM Sans (subtext & body), both variable, OFL. */
@font-face {
  font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url('/assets/fonts/manrope-var-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url('/assets/fonts/manrope-var-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans'; font-style: normal; font-weight: 100 1000; font-display: swap;
  src: url('/assets/fonts/dmsans-var-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans'; font-style: normal; font-weight: 100 1000; font-display: swap;
  src: url('/assets/fonts/dmsans-var-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --navy: #0B1624;
  --navy-2: #142536;
  --cream: #F8F6F0;
  --sand: #E5DED1;
  --gold: #B89A52;
  --gold-d: #9C7A3E;
  --mist: #7C8798;
  --taupe: #B8AF9E;
  --line-l: rgba(229, 222, 209, 0.18);
  --line-d: rgba(11, 22, 36, 0.14);

  --head: 'Manrope', Arial, sans-serif;   /* headings, big numbers */
  --serif: var(--head);                   /* legacy name — now Manrope */
  --sans: 'DM Sans', Arial, sans-serif;   /* subtext, body, UI */
  --ease: cubic-bezier(.19, 1, .22, 1);

  --gutter: clamp(20px, 4.2vw, 60px);
  --header-h: 110px;
}

*, *::before, *::after { box-sizing: border-box; }
em, i, cite, address { font-style: normal; } /* no italics anywhere on the site */
html { -webkit-text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }

body.rs-body {
  margin: 0;
  background: var(--navy);
  color: var(--cream);
  font-family: var(--sans);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  overflow-x: clip;
}
img { display: block; max-width: 100%; }
picture { display: contents; }
button { font: inherit; color: inherit; }
a { color: inherit; }
::selection { background: var(--gold); color: var(--navy); }

/* ---------- type primitives (homepage pairing) ---------- */
.rs-serif { font-family: var(--serif); font-style: normal; font-weight: 300; text-transform: none; }
.rs-caps  { font-family: var(--head); font-weight: 300; text-transform: uppercase; }
h1, h2, h3, h4 { font-family: var(--head); }
.rs-gold  { color: var(--gold); }
.rs-mask  { display: block; overflow: hidden; padding: .04em .14em .3em; margin: -.04em -.14em -.3em; } /* room for italic descenders (g, y, j) + overhang */
.rs-mask > span { display: inline-block; will-change: transform; }

.rs-eyebrow {
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--sand);
}
.rs-eyebrow--gold { color: var(--gold); }

.rs-h1 { margin: 0; font-weight: 300; line-height: 1.07; letter-spacing: -1px; }
.rs-h1 .rs-serif, .rs-h1 .rs-caps { font-size: clamp(52px, min(7vw, 14vh), 128px); }
.rs-h2 { margin: 0; font-weight: 300; line-height: 1.08; letter-spacing: -1px; font-size: clamp(34px, 4.2vw, 64px); }

/* ---------- buttons (homepage .velora-cta-btn) ---------- */
.rs-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 16px 46px;
  border: 1px solid var(--gold);
  border-radius: 100px;
  background: transparent;
  color: var(--cream);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
.rs-btn:hover, .rs-btn:focus-visible { background: var(--gold); color: var(--navy); }
.rs-btn--solid { background: var(--gold); color: var(--navy); }
.rs-btn--solid:hover, .rs-btn--solid:focus-visible { background: transparent; color: var(--cream); }
.rs-btn--sm { padding: 11px 26px; font-size: 12px; font-weight: 500; color: #fff; }
.rs-light .rs-btn { color: var(--navy); }
.rs-light .rs-btn:hover, .rs-light .rs-btn:focus-visible { color: var(--cream); background: var(--navy); border-color: var(--navy); }
:focus-visible { outline: 1px solid var(--gold); outline-offset: 4px; }

/* ---------- shared image helpers ---------- */
.rs-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rs-scrim { position: absolute; inset: 0; pointer-events: none; }
.rs-scrim--hero { background: linear-gradient(180deg, rgba(11,22,36,.72) 0%, rgba(11,22,36,.35) 38%, rgba(11,22,36,.4) 62%, rgba(11,22,36,.85) 100%); }
.rs-scrim--bottom { background: linear-gradient(180deg, rgba(11,22,36,.25) 0%, rgba(11,22,36,0) 40%, rgba(11,22,36,.78) 100%); }
.rs-scrim--cta { background: linear-gradient(180deg, rgba(11,22,36,.55) 0%, rgba(11,22,36,.35) 45%, rgba(11,22,36,.82) 100%); }

/* ==========================================================================
   PRELOADER
   ========================================================================== */
.rs-loader {
  position: fixed; inset: 0; z-index: 9900;
  background: var(--navy);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 28px;
}
.rs-loader__logo { width: min(240px, 60vw); height: auto; opacity: 0; }
.rs-loader__line { width: 120px; height: 1px; background: var(--line-l); overflow: hidden; }
.rs-loader__line span { display: block; height: 100%; background: var(--gold); transform: scaleX(0); transform-origin: left; }
html:not(.js) .rs-loader { display: none; }

/* ==========================================================================
   HEADER
   ========================================================================== */
.rs-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 900;
  height: var(--header-h);
  display: flex; align-items: center;
  padding: 0 30px;
  transition: transform .7s var(--ease), background-color .5s ease;
}
.rs-header::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: var(--navy);
  opacity: 0; transition: opacity .5s ease;
  border-bottom: 1px solid var(--line-l);
}
.rs-header.is-solid::before { opacity: 1; }
.rs-header.is-hidden { transform: translateY(-100%); }
.rs-header.is-hidden.is-peek { transform: none; }
.rs-header-hot { position: fixed; top: 0; left: 0; right: 0; height: 36px; z-index: 899; }
@media (hover: none) { .rs-header-hot { display: none; } }
.rs-header__logo img { display: block; height: clamp(52px, 4.6vw, 68px); width: auto; }
.rs-nav { display: flex; gap: clamp(28px, 4vw, 64px); margin-left: clamp(40px, 7vw, 110px); }
.rs-nav a {
  position: relative;
  font-size: 15px; letter-spacing: 1px; text-transform: uppercase; text-decoration: none;
  color: var(--sand);
  padding: 6px 0;
}
.rs-nav a::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: var(--gold); transform: scaleX(0); transform-origin: right;
  transition: transform .6s var(--ease);
}
.rs-nav a:hover::after, .rs-nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.rs-header__cta { margin-left: auto; }
.rs-header__brochure { margin-left: auto; margin-right: 12px; text-decoration: none; }
.rs-header__brochure + .rs-header__cta { margin-left: 0; }
.rs-burger { display: none; }

.rs-menu { display: none; }

/* ==========================================================================
   STAGES — base
   ========================================================================== */
/* clip (not hidden) keeps horizontal motion from widening the page without breaking sticky */
.rs-main { overflow-x: hidden; overflow-x: clip; }
.rs-stage { position: relative; }
.rs-light { background: var(--cream); color: var(--navy); }

/* ---------------- A · ENTRY + TOWER ---------------- */
.rs-a { background: var(--navy); z-index: 1; }
.rs-a__pin { position: relative; height: 100vh; height: 100svh; overflow: hidden; background: var(--navy); }
.rs-a__hero { position: absolute; inset: 0; overflow: hidden; will-change: clip-path; }
.rs-a__hero-media { position: absolute; inset: 0; transform-origin: 50% 60%; will-change: transform; }
.rs-a__hero img { will-change: transform; }
.rs-a__tower { position: absolute; inset: 0; opacity: 0; will-change: clip-path, opacity; }
.rs-a__tower-inner { position: absolute; inset: 0; }
.rs-a__tower-inner .rs-a__dusk { opacity: 0; }
.rs-a__tower-inner img {
  position: absolute; left: 50%; top: 0;
  width: max(100vw, 160vh); height: auto; max-width: none;
  transform: translateX(-50%);
  will-change: transform;
}

.rs-a__title {
  position: absolute; left: 0; right: 0; top: 50%;
  transform: translateY(-50%);
  text-align: center; z-index: 3;
  pointer-events: none;
}
.rs-a__title .rs-serif, .rs-a__title .rs-caps { color: #fff; }
.rs-a__by { margin: 0 0 clamp(20px, 3vh, 34px); font-size: clamp(12px, 1vw, 14px); font-weight: 500; letter-spacing: 3px; text-transform: uppercase; color: var(--cream); text-shadow: 0 1px 14px rgba(11,22,36,.7); }
.rs-a__by > span { display: inline-flex; align-items: center; gap: 18px; }
.rs-a__by > span::before, .rs-a__by > span::after { content: ''; width: clamp(28px, 4vw, 56px); height: 1px; background: var(--gold); }
.rs-a__sub {
  margin: 26px 0 0;
  font-size: 15px; letter-spacing: 1px; text-transform: uppercase; color: var(--sand);
}
/* hero: project information card (lower left) + enquiry panel (lower right) */
.rs-a__card, .rs-a__enq {
  position: absolute; bottom: 40px; z-index: 4;
  border: 1px solid rgba(184,154,82,.5);
  box-shadow: 0 30px 70px -32px rgba(0,0,0,.65);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.rs-a__card { left: var(--gutter); width: clamp(280px, 24vw, 350px); padding: 20px 24px 16px; background: rgba(248,246,240,.94); color: var(--navy); }
.rs-a__card-main { display: flex; align-items: baseline; gap: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--line-d); }
.rs-a__card-main b { font-family: var(--serif); font-weight: 300; font-size: clamp(42px, 3.9vw, 58px); line-height: 1; letter-spacing: -1px; }
.rs-a__card-main span { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; line-height: 1.5; color: var(--gold-d); }
.rs-a__card-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 12px 0 10px; }
.rs-a__card-row b { display: block; font-family: var(--serif); font-weight: 300; font-size: clamp(20px, 1.8vw, 26px); line-height: 1.1; white-space: nowrap; }
.rs-a__card-row span { display: block; margin-top: 5px; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--navy-2); }
.rs-a__card-sup { display: flex; align-items: center; gap: 10px; margin: 0; padding-bottom: 12px; font-size: 10px; letter-spacing: 1.3px; text-transform: uppercase; color: var(--navy-2); }
.rs-a__card-sup i { width: 1px; height: 10px; background: var(--gold); }
.rs-a__card-loc { display: flex; flex-direction: column; gap: 4px; padding-top: 11px; border-top: 1px solid var(--line-d); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold-d); }
.rs-a__card-loc small { font-size: 9px; letter-spacing: 1.5px; color: var(--mist); }
.rs-a__card-links { display: flex; gap: 22px; margin-top: 12px; }
.rs-a__card-links button { padding: 0 0 3px; background: none; border: 0; border-bottom: 1px solid var(--gold); font-family: var(--sans); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--navy); cursor: pointer; transition: color .25s, border-color .25s; }
.rs-a__card-links button:hover { color: var(--gold-d); }
.rs-a__enq { right: clamp(84px, 6.7vw, 112px); width: clamp(290px, 23vw, 340px); max-height: calc(100vh - 150px); max-height: calc(100svh - 150px); overflow: visible; padding: 22px 24px; background: rgba(11,22,36,.9); color: var(--cream); }
.rs-scrollcue { position: relative; width: 1px; height: 54px; background: var(--line-l); overflow: hidden; }
.rs-scrollcue span { position: absolute; left: 0; top: 0; width: 100%; height: 40%; background: var(--gold); animation: rs-cue 2.2s var(--ease) infinite; }
@keyframes rs-cue { 0% { transform: translateY(-100%); } 60%, 100% { transform: translateY(260%); } }

.rs-a__count {
  position: absolute; left: var(--gutter); top: 0; bottom: 0; z-index: 3;
  display: flex; flex-direction: column; justify-content: center; gap: 10px;
  opacity: 0;
}
.rs-a__count-num {
  display: block; overflow: hidden;
  font-family: var(--serif); font-weight: 300;
  font-size: clamp(120px, 15vw, 240px); line-height: .9; letter-spacing: -4px;
  color: var(--cream);
  font-variant-numeric: tabular-nums;
}
.rs-a__count-num > span { display: inline-block; min-width: 2ch; }

.rs-a__facts { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.rs-fact {
  position: absolute; right: var(--gutter);
  width: min(26vw, 340px);
  display: flex; align-items: baseline; gap: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line-l);
  opacity: 0;
}
.rs-fact--a { top: 20vh; }
.rs-fact--b { top: 44vh; }
.rs-fact--c { top: 68vh; }
.rs-fact__lead { font-family: var(--serif); font-weight: 300; font-size: clamp(36px, 3.4vw, 52px); line-height: 1; color: var(--cream); white-space: nowrap; }
.rs-fact__lead em, .rs-d__num em { font-style: normal; color: var(--gold); }
.rs-fact__lead i { font-style: normal; }
.rs-fact__text { font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--sand); line-height: 1.5; }

/* tower screen — one viewport, normal scrolling */
.rs-a__story { position: relative; height: 100vh; height: 100svh; overflow: hidden; background: var(--navy); }
@media (min-width: 900px) {
  .rs-a__story .rs-a__tower { opacity: 1; clip-path: inset(13vh calc((100vw - min(28vw, 52vh)) / 2) 7vh calc((100vw - min(28vw, 52vh)) / 2)); }
  .rs-a__story .rs-a__count { opacity: 1; }
  .rs-a__story .rs-fact { opacity: 1; }
}

/* ---------------- B · EXCLUSIVITY + SELECTOR ---------------- */
.rs-b { z-index: 2; }
.rs-b__pin { position: relative; height: 100vh; height: 100svh; overflow: hidden; background: var(--cream); }

.rs-b__statement { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.rs-b__state { margin: 0; font-weight: 300; }
.rs-b { --hl: clamp(48px, 6.4vw, 112px); }
.rs-b__pin { background: var(--navy); }
.rs-b__only, .rs-b__fpf { position: absolute; display: block; color: #fff; white-space: nowrap; will-change: transform, opacity; line-height: 1.08; }
.rs-b__only { right: var(--gutter); top: calc(var(--header-h) - 3vh); font-size: var(--hl); letter-spacing: -1px; }
.rs-b__fpf  { left: 17vw; top: calc(var(--header-h) - 3vh + var(--hl) * 1.12); font-size: var(--hl); letter-spacing: -2px; line-height: 1.07; }
.rs-b__kitchen { position: absolute; margin: 0; left: var(--gutter); bottom: 7vh; width: 24vw; top: 41vh; overflow: hidden; background: var(--navy-2); will-change: clip-path, transform, opacity; }
.rs-b__para {
  position: absolute; margin: 0; left: 33vw; top: 43vh; width: 29vw;
  font-family: var(--sans); font-weight: 300; text-transform: uppercase; color: #fff;
  font-size: clamp(14px, 1.3vw, 24px); line-height: 1.4; will-change: transform, opacity;
}
.rs-b__para p { margin: 0; }
.rs-b__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(20px, 3.4vh, 36px); pointer-events: auto; }
.rs-b__cta .rs-btn--sm { color: var(--cream); }
.rs-b__cta .rs-btn--solid { color: var(--navy); }
.rs-b__cta .rs-btn--solid:hover, .rs-b__cta .rs-btn--solid:focus-visible { background: var(--cream); border-color: var(--cream); color: var(--navy); }
.rs-b__cta .rs-btn--sm:not(.rs-btn--solid):hover, .rs-b__cta .rs-btn--sm:not(.rs-btn--solid):focus-visible { background: var(--gold); border-color: var(--gold); color: var(--navy); }
.rs-b__para2 {
  position: absolute; margin: 0; left: var(--gutter); top: 20vh; width: 40vw;
  font-family: var(--sans); font-weight: 300; text-transform: uppercase; color: #fff;
  font-size: clamp(16px, 2.1vw, 38px); line-height: 1.4; will-change: transform, opacity;
}
.rs-b__bed { position: absolute; margin: 0; left: 48vw; top: 50vh; width: 14vw; height: 40vh; overflow: hidden; background: var(--navy-2); will-change: clip-path, transform; }
.rs-b__living-m { display: none; }

.rs-b__frame {
  position: absolute; margin: 0; z-index: 2;
  left: 46vw; right: var(--gutter); top: calc(var(--header-h) + 2vh); bottom: 7vh;
}
.rs-b__frame-clip { position: absolute; inset: 0; overflow: hidden; background: var(--sand); will-change: clip-path; }
.rs-b__excl-img { z-index: 2; will-change: transform, clip-path; }
.rs-sel__stack { position: absolute; inset: 0; z-index: 1; }
.rs-sel__stack img { will-change: transform, clip-path; }
.rs-sel__caption {
  position: absolute; right: 22px; bottom: 20px; z-index: 3;
  display: flex; align-items: center; gap: 12px;
  font-size: 12px; letter-spacing: 2px; color: var(--cream);
  opacity: 0;
}
.rs-sel__caption-sep { width: 36px; height: 1px; background: rgba(248,246,240,.6); }

.rs-sel {
  position: absolute; z-index: 4;
  left: var(--gutter); top: calc(var(--header-h) + 2vh); bottom: 7vh;
  width: calc(46vw - var(--gutter) - 4vw);
  display: flex; flex-direction: column; justify-content: space-between;
  pointer-events: none;
}
.rs-sel.is-live { pointer-events: auto; }
.rs-sel__head .rs-h2 { margin-top: 14px; }
.rs-sel__list { margin: 3vh 0 0; border-top: 1px solid var(--line-d); }
.rs-sel__opt {
  position: relative; width: 100%;
  display: grid; grid-template-columns: 48px 1fr auto; align-items: baseline;
  padding: 18px 0 16px;
  background: none; border: 0; border-bottom: 1px solid var(--line-d);
  text-align: left; cursor: pointer;
  color: var(--mist);
  transition: color .5s var(--ease);
}
.rs-sel__opt::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px;
  background: var(--gold); transform: scaleX(0); transform-origin: right;
  transition: transform .8s var(--ease);
}
.rs-sel__opt:hover { color: var(--navy); }
.rs-sel__opt[aria-selected="true"] { color: var(--navy); }
.rs-sel__opt[aria-selected="true"]::after { transform: scaleX(1); transform-origin: left; }
.rs-sel__opt-idx { font-size: 12px; letter-spacing: 2px; color: var(--gold); }
.rs-sel__opt-size { font-size: clamp(18px, 1.6vw, 24px); font-weight: 300; letter-spacing: 1px; text-transform: uppercase; transition: transform .6s var(--ease); }
.rs-sel__opt[aria-selected="true"] .rs-sel__opt-size { transform: translateX(10px); }
.rs-sel__opt-price { font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; }

.rs-sel__readout { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-top: 3vh; }
.rs-sel__size { display: flex; align-items: baseline; gap: 14px; }
.rs-sel__size-num {
  font-family: var(--serif); font-weight: 300;
  font-size: clamp(56px, 6vw, 100px); line-height: .85; letter-spacing: -2px;
  font-variant-numeric: tabular-nums;
  display: inline-block;
}
.rs-sel__size-unit, .rs-sel__price-unit { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold-d); }
.rs-sel__price { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; padding-bottom: 6px; }
.rs-sel__price-num { font-family: var(--serif); font-style: normal; font-weight: 300; font-size: clamp(22px, 1.9vw, 32px); line-height: 1; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rs-sel__actions { display: flex; align-items: center; justify-content: space-between; margin-top: 3vh; }
.rs-sel__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.rs-sel__hint { font-size: 13px; letter-spacing: 6px; color: var(--mist); }

/* ---------------- C · JODI + DECKS ---------------- */
.rs-c { z-index: 3; background: var(--navy); }
.rs-c__pin { position: relative; height: 100vh; height: 100svh; overflow: hidden; background: var(--navy); }
.rs-c__jodi { position: absolute; inset: 0; }
.rs-c__label { position: absolute; left: 0; right: 0; top: calc(var(--header-h) - 22px); text-align: center; z-index: 4; }
.rs-c__halves { position: absolute; left: 20vw; right: 20vw; top: 17vh; bottom: 29vh; z-index: 1; will-change: transform; }
.rs-c__half { position: absolute; top: 0; bottom: 0; width: 50%; overflow: hidden; will-change: transform; }
.rs-c__veil { position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(180deg, rgba(11,22,36,.28) 0%, rgba(11,22,36,.38) 50%, rgba(11,22,36,.72) 100%); }
.rs-c__cta { position: absolute; left: 0; right: 0; bottom: clamp(20px, 4vh, 44px); z-index: 3; display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.rs-c__cta .rs-btn--sm { color: var(--cream); }
.rs-c__cta .rs-btn--solid { color: var(--navy); }
.rs-c__cta .rs-btn--solid:hover { color: var(--cream); }
.rs-c__half--l { left: 0; }
.rs-c__half--r { left: 50%; }
.rs-c__half img { width: 200%; max-width: none; }
.rs-c__half--r img { left: -100%; }
.rs-c__eq {
  position: absolute; inset: 0; z-index: 3; pointer-events: none;
  display: flex; align-items: center; justify-content: center;
}
.rs-c__two {
  position: absolute; top: 0; bottom: 0; display: flex; align-items: center;
  font-size: clamp(160px, 30vh, 320px); line-height: 1; color: var(--cream);
  font-style: normal;
  will-change: transform;
}
.rs-c__two--l { right: calc(50% + 4vw); }
.rs-c__two--r { left: calc(50% + 4vw); }
.rs-c__plus { position: relative; width: 6vh; height: 6vh; }
.rs-c__plus::before, .rs-c__plus::after { content: ''; position: absolute; left: 50%; top: 50%; background: var(--gold); transform: translate(-50%, -50%); }
.rs-c__plus::before { width: 100%; height: 1px; }
.rs-c__plus::after { width: 1px; height: 100%; }
.rs-c__lockup { position: absolute; left: 0; right: 0; bottom: 6vh; z-index: 4; text-align: center; }
.rs-c__size { margin: 14px 0 0; font-size: 15px; letter-spacing: 2px; text-transform: uppercase; color: var(--sand); }

.rs-c__decks { position: absolute; inset: 0; z-index: 5; pointer-events: none; }
.rs-c__deck-clip { position: absolute; inset: 0; overflow: hidden; will-change: clip-path; }
.rs-c__deck-clip img { transform-origin: 50% 46%; will-change: transform; }
.rs-c__deck-words { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.rs-c__deck-w {
  position: absolute; top: 0; bottom: 0; display: flex; align-items: center; gap: .25em;
  font-size: clamp(44px, 6vw, 104px); line-height: 1; color: var(--cream);
  white-space: nowrap;
  will-change: transform;
}
.rs-c__deck-w--l { right: calc(50% + 15vw); }
.rs-c__deck-w--r { left: calc(50% + 15vw); }
.rs-c__deck-lockup { position: absolute; left: var(--gutter); bottom: 8vh; }
.rs-c__deck-lockup .rs-h2 { margin-top: 14px; color: var(--cream); }


/* ---------------- F · THE ART OF LIVING ---------------- */
.rs-f { z-index: 4; padding-bottom: 112vh; --hl: clamp(48px, 6.4vw, 112px); }
.rs-f__wrap { position: relative; height: 108vw; color: var(--navy); }
.rs-f__title { position: absolute; left: 0; right: 0; top: 9vw; margin: 0; font-weight: 300; }
.rs-f__t1 { display: block; text-align: center; font-size: var(--hl); line-height: 1.07; letter-spacing: -2px; }
.rs-f__t2 { display: block; margin-left: 35vw; font-size: var(--hl); line-height: 1.07; letter-spacing: -2px; white-space: nowrap; }
.rs-f__fig { position: absolute; margin: 0; will-change: transform; }
.rs-f__frame { position: absolute; inset: 0; overflow: hidden; background: var(--sand); will-change: clip-path; }
.rs-f__cap, .rs-f__note {
  position: absolute; margin: 0; font-family: var(--sans); font-weight: 300; text-transform: uppercase;
  color: var(--navy); font-size: clamp(14px, 1.7vw, 30px); line-height: 1.35; will-change: transform, opacity;
}
.rs-f__note { font-size: clamp(12px, 1.3vw, 24px); color: var(--navy-2); }
.rs-f__fig--bed { left: var(--gutter); top: 27vw; width: 33vw; height: 23vw; }
.rs-f__cap--bed { left: var(--gutter); top: 23vw; }
.rs-f__note:not(.rs-f__note--end) { left: var(--gutter); top: 52vw; }
.rs-f__fig--liv { right: var(--gutter); top: 38vw; width: 32vw; height: 25vw; }
.rs-f__cap--liv { right: var(--gutter); top: 64.5vw; text-align: right; }
.rs-f__fig--kit { left: 13vw; top: 70vw; width: 38vw; height: 28.5vw; }
.rs-f__cap--kit { left: 13vw; top: 100.2vw; }
.rs-f__note--end { right: var(--gutter); top: 88vw; width: 12vw; }

/* ---------------- D · AMENITIES ---------------- */
.rs-d { z-index: 5; background: var(--navy-2); }
.rs-d__pin { position: relative; height: 100vh; height: 100svh; overflow: hidden; background: var(--navy-2); }
.rs-d__intro {
  position: absolute; left: var(--gutter); top: 0; bottom: 0; width: 26vw; z-index: 2;
  display: flex; flex-direction: column; justify-content: center;
}
.rs-d__title { margin: 20px 0 0; font-weight: 300; }
.rs-d__num { font-size: clamp(110px, 12vw, 200px); line-height: .9; letter-spacing: -3px; font-style: normal; }
.rs-d__title .rs-caps { font-size: clamp(30px, 3vw, 50px); line-height: 1.1; letter-spacing: 0; }
.rs-d__progress { margin-top: 7vh; display: flex; align-items: center; gap: 18px; font-size: 12px; letter-spacing: 2px; color: var(--sand); }
.rs-d__progress-bar { position: relative; width: 120px; height: 1px; background: var(--line-l); overflow: hidden; }
.rs-d__progress-bar span { position: absolute; inset: 0; background: var(--gold); transform: scaleX(0); transform-origin: left; }
.rs-d__viewport { position: absolute; left: 34vw; right: 0; top: 0; bottom: 0; overflow: hidden; }
.rs-d__track {
  list-style: none; margin: 0; padding: 0 8vw 0 0;
  position: absolute; left: 0; top: 0; bottom: 0;
  display: flex; align-items: center; gap: 5vw;
  will-change: transform;
}
.rs-am { position: relative; flex: 0 0 auto; margin: 0; }
.rs-am__frame { position: relative; overflow: hidden; background: var(--navy); }
.rs-am__frame img { position: absolute; top: 0; left: -10%; width: 120%; height: 100%; max-width: none; object-fit: cover; will-change: transform; }
.rs-am__cap { display: flex; align-items: baseline; gap: 14px; margin-top: 16px; }
.rs-am__idx { font-size: 12px; letter-spacing: 2px; color: var(--gold); }
.rs-am__name { font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--sand); }
.rs-am__note { font-family: var(--serif); font-style: normal; font-size: 15px; color: var(--mist); }
.rs-am--1 .rs-am__frame { width: 36vw; height: 62vh; }
.rs-am--2 { align-self: flex-start; margin-top: 16vh; }
.rs-am--2 .rs-am__frame { width: 22vw; height: 40vh; }
.rs-am--3 .rs-am__frame { width: 42vw; height: 56vh; }
.rs-am--4 { align-self: flex-end; margin-bottom: 12vh; }
.rs-am--4 .rs-am__frame { width: 24vw; height: 44vh; }
.rs-am--5 .rs-am__frame { width: 38vw; height: 66vh; }

/* ---------------- E · CTA ---------------- */
.rs-e { z-index: 6; background: var(--navy); }
.rs-e__pin { position: relative; height: 100vh; height: 100svh; overflow: hidden; background: var(--navy); }
.rs-e__clip { position: absolute; inset: 0; overflow: hidden; will-change: clip-path; }
.rs-e__clip img { object-position: 50% 30%; will-change: transform; }
.rs-e__content {
  position: absolute; inset: 0; z-index: 2;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 0 var(--gutter);
}
.rs-e__title { margin: 0; font-weight: 300; line-height: 1.05; letter-spacing: -1px; }
.rs-e__title .rs-serif, .rs-e__title .rs-caps { font-size: clamp(52px, 7.6vw, 124px); color: #fff; }
.rs-e__actions { margin-top: 48px; display: flex; gap: 18px; flex-wrap: wrap; justify-content: center; }

/* ---------------- FOOTER (homepage .velora-footer) ---------------- */
.rs-footer { position: relative; z-index: 6; background: var(--navy); max-width: 1200px; margin: 0 auto; padding: 80px 20px 30px; }
.rs-footer__top { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; border-bottom: 1px solid rgba(229,222,209,.15); padding-bottom: 50px; }
.rs-footer__label { font-family: var(--serif); font-style: normal; font-size: 15px; color: var(--mist); margin-bottom: 18px; }
.rs-footer__mark { font-family: var(--serif); font-weight: 300; font-size: 48px; color: var(--cream); }
.rs-footer__text { font-size: 15px; color: var(--sand); line-height: 1.7; }
.rs-footer__text a { text-decoration: none; }
.rs-footer__legal { display: flex; gap: 24px; align-items: center; padding: 26px 0 0; font-size: 12px; line-height: 1.7; color: var(--mist); }
.rs-footer__legal img { width: 72px; height: 72px; }
.rs-footer__legal a { color: var(--sand); }
.rs-footer__bottom { display: flex; justify-content: space-between; padding-top: 26px; font-size: 13px; color: var(--mist); }
.rs-footer__bottom a { text-decoration: none; }

/* ==========================================================================
   FORM TYPOGRAPHY + FIELDS (used by the lead pop-up and the contact page; see leads.css)
   ========================================================================== */
.rs-enquiry__title { margin: 0; font-family: var(--head); font-weight: 400; font-size: 36px; letter-spacing: 1px; text-transform: uppercase; color: var(--cream); line-height: 1.15; }
.rs-enquiry__title em { font-family: var(--serif); font-style: normal; font-weight: 300; text-transform: none; }
.rs-enquiry__sub { margin: 16px 0 44px; font-size: 14px; line-height: 1.6; color: var(--taupe); }
.rs-field { position: relative; margin-bottom: 34px; }
.rs-field label { display: block; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; }
.rs-field input, .rs-field select {
  width: 100%; background: transparent; border: 0; border-bottom: 1px solid rgba(229,222,209,.3); border-radius: 0;
  color: var(--cream); font-family: var(--sans); font-size: 15px; padding: 0 0 10px; outline: none;
  transition: border-color .3s;
  -webkit-appearance: none; appearance: none;
}
.rs-field select { background-image: linear-gradient(45deg, transparent 50%, var(--gold) 50%), linear-gradient(-45deg, transparent 50%, var(--gold) 50%); background-position: right 6px top 7px, right 1px top 7px; background-size: 5px 5px; background-repeat: no-repeat; cursor: pointer; }
.rs-field select option { background: var(--navy-2); color: var(--cream); }
.rs-field input[type="date"] { color-scheme: dark; }
.rs-field input::placeholder { color: rgba(229,222,209,.4); }
.rs-field input:focus, .rs-field select:focus { border-bottom-color: var(--gold); }
.rs-field.is-invalid input { border-bottom-color: #c98a7a; }
.rs-enquiry__error { min-height: 18px; margin: -14px 0 18px; font-size: 13px; color: #d8a594; }
.rs-enquiry__submit { width: 100%; }
.rs-enquiry__done .rs-btn { margin-top: 10px; }


/* ==========================================================================
   CUSTOM CONTROLS — dropdown + calendar (controls.js)
   ========================================================================== */
.rs-dd { position: relative; }
.rs-dd__btn {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 14px;
  background: transparent; border: 0; border-bottom: 1px solid rgba(229,222,209,.3); border-radius: 0;
  color: var(--cream); font-family: var(--sans); font-size: 15px; text-align: left;
  padding: 0 0 10px; cursor: pointer; outline: none; transition: border-color .3s;
}
.rs-dd__btn:hover, .rs-dd.is-open .rs-dd__btn, .rs-dd__btn:focus-visible { border-bottom-color: var(--gold); }
.rs-dd__val.is-placeholder { color: rgba(229,222,209,.4); }
.rs-dd__chev { position: relative; flex: 0 0 auto; width: 10px; height: 10px; transition: transform .5s var(--ease); }
.rs-dd__chev::before { content: ''; position: absolute; left: 1px; top: 1px; width: 7px; height: 7px; border-right: 1px solid var(--gold); border-bottom: 1px solid var(--gold); transform: rotate(45deg); }
.rs-dd.is-open .rs-dd__chev { transform: rotate(180deg) translateY(-2px); }
.rs-dp__icon { flex: 0 0 auto; color: var(--gold); }
.rs-field.is-invalid .rs-dd__btn { border-bottom-color: #c98a7a; }

/* popovers (list + calendar) */
.rs-pop {
  position: absolute; left: 0; right: 0; top: calc(100% + 10px); z-index: 30;
  background: var(--navy); border: 1px solid rgba(184,154,82,.35);
  box-shadow: 0 26px 60px -18px rgba(0,0,0,.65);
  opacity: 0; visibility: hidden; transform: translateY(-8px);
  transition: opacity .35s ease, transform .55s var(--ease), visibility 0s linear .35s;
}
.rs-dd.is-up .rs-pop { top: auto; bottom: calc(100% + 10px); transform: translateY(8px); }
.rs-dd.is-open .rs-pop { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }

.rs-dd__list { margin: 0; padding: 8px 0; list-style: none; max-height: 280px; overflow-y: auto; overscroll-behavior: contain; outline: none; scrollbar-width: thin; scrollbar-color: rgba(184,154,82,.4) transparent; }
.rs-dd__opt {
  position: relative; padding: 14px 24px 14px 28px; cursor: pointer;
  font-size: 13px; font-weight: 300; letter-spacing: 1.5px; text-transform: uppercase; color: var(--sand);
  transition: background-color .25s ease, color .25s ease, padding-left .5s var(--ease);
}
.rs-dd__opt::before { content: ''; position: absolute; left: 0; top: 50%; width: 2px; height: 0; background: var(--gold); transform: translateY(-50%); transition: height .4s var(--ease); }
.rs-dd__opt.is-empty { color: var(--mist); }
.rs-dd__opt.is-active { background: rgba(184,154,82,.1); color: var(--cream); padding-left: 34px; }
.rs-dd__opt.is-active::before, .rs-dd__opt.is-selected::before { height: 55%; }
.rs-dd__opt.is-selected { color: var(--gold); }
.rs-dd__opt.is-selected::after { content: ''; position: absolute; right: 24px; top: 50%; width: 5px; height: 9px; border-right: 1px solid var(--gold); border-bottom: 1px solid var(--gold); transform: translateY(-62%) rotate(45deg); }

/* calendar */
.rs-dp__pop { padding: 22px 20px 16px; width: min(100%, 340px); right: auto; }
.rs-dp__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.rs-dp__title { font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: var(--cream); }
.rs-dp__title em { font-family: var(--serif); font-style: normal; font-size: 20px; letter-spacing: 0; text-transform: none; margin-right: 6px; }
.rs-dp__nav { position: relative; width: 34px; height: 34px; background: none; border: 1px solid transparent; border-radius: 50%; cursor: pointer; transition: border-color .3s, opacity .3s; }
.rs-dp__nav:hover:not(:disabled) { border-color: rgba(184,154,82,.5); }
.rs-dp__nav:disabled { opacity: .2; cursor: default; }
.rs-dp__nav i { position: absolute; left: 50%; top: 50%; width: 7px; height: 7px; border-left: 1px solid var(--gold); border-bottom: 1px solid var(--gold); transform: translate(-30%, -50%) rotate(45deg); }
.rs-dp__nav--next i { transform: translate(-70%, -50%) rotate(-135deg); }
.rs-dp__dow, .rs-dp__grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.rs-dp__dow { margin-bottom: 6px; }
.rs-dp__dow span { text-align: center; font-size: 11px; letter-spacing: 1.5px; color: var(--mist); padding: 6px 0; }
.rs-dp__day {
  position: relative; aspect-ratio: 1; margin: 2px; padding: 0; background: none; border: 1px solid transparent; border-radius: 50%;
  color: var(--sand); font-family: var(--sans); font-size: 14px; font-weight: 300; cursor: pointer; outline: none;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
.rs-dp__day:hover:not(:disabled), .rs-dp__day:focus-visible { background: rgba(184,154,82,.14); color: var(--cream); }
.rs-dp__day.is-today { border-color: rgba(184,154,82,.55); }
.rs-dp__day.is-selected, .rs-dp__day.is-selected:hover { background: var(--gold); border-color: var(--gold); color: var(--navy); font-weight: 500; }
.rs-dp__day:disabled { opacity: .22; cursor: default; }
.rs-dp__foot { display: flex; justify-content: space-between; margin-top: 12px; padding-top: 14px; border-top: 1px solid rgba(229,222,209,.12); }
.rs-dp__foot button { background: none; border: 0; padding: 4px 2px; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); cursor: pointer; transition: color .25s; }
.rs-dp__foot button:hover { color: var(--cream); }

/* ==========================================================================
   DESKTOP-ONLY INITIAL STATES (set before JS to avoid flashes)
   ========================================================================== */
@media (min-width: 900px) {
  .js .rs-sel [data-sel-reveal], .js .rs-sel__list { opacity: 0; }
  .js .rs-c__lockup, .js .rs-c__deck-lockup { opacity: 0; }
  .js .rs-c__decks { visibility: hidden; }
  .js .rs-c__veil, .js .rs-c__cta { opacity: 0; }
  .js .rs-c__cta { visibility: hidden; }
  .js .rs-e__actions { opacity: 0; }
  /* sticky stages (heights set in JS); B–E slide over the tail of the stage before */
  .js .rs-b__pin, .js .rs-c__pin, .js .rs-e__pin { position: sticky; top: 0; }
  .js .rs-c, .js .rs-d { margin-top: -100vh; }  /* .rs-j (2 BHK with decks) no longer slides over the Jodi text */
  /* reserve the tall stage heights up-front (JS sets the same values) so below-the-fold images stay lazy */
  .js .rs-b { height: 379vh; }
  .js .rs-c { height: 200vh; }
}

/* ==========================================================================
   MOBILE / TABLET  (< 900px)
   ========================================================================== */
@media (max-width: 899.98px) {
  :root { --header-h: 76px; }

  .rs-header { padding: 0 20px; }
  .rs-header__logo img { height: 42px; width: auto; }
  .rs-nav, .rs-header__cta, .rs-header__brochure { display: none; }
  .rs-burger {
    display: block; margin-left: auto; position: relative; width: 44px; height: 44px;
    background: none; border: 0; cursor: pointer;
  }
  .rs-burger span { position: absolute; left: 10px; right: 10px; height: 1px; background: var(--sand); transition: transform .5s var(--ease), top .5s var(--ease); }
  .rs-burger span:first-child { top: 18px; }
  .rs-burger span:last-child { top: 26px; }
  .rs-burger[aria-expanded="true"] span:first-child { top: 22px; transform: rotate(45deg); }
  .rs-burger[aria-expanded="true"] span:last-child { top: 22px; transform: rotate(-45deg); }

  .rs-menu {
    display: flex; flex-direction: column; justify-content: center; gap: 48px;
    position: fixed; inset: 0; z-index: 890;
    padding: 0 28px;
    background: var(--navy);
    clip-path: inset(0 0 100% 0);
    transition: clip-path .8s var(--ease);
    visibility: hidden;
  }
  .rs-menu.is-open { clip-path: inset(0 0 0 0); visibility: visible; }
  .rs-menu__nav { display: flex; flex-direction: column; gap: 6px; }
  .rs-menu__nav a { font-family: var(--head); font-weight: 300; font-size: 40px; text-transform: uppercase; text-decoration: none; color: var(--cream); line-height: 1.25; }
  .rs-menu__nav a[aria-current="page"] { font-family: var(--serif); font-style: normal; font-weight: 300; text-transform: none; color: var(--gold); }
  .rs-menu .rs-btn { align-self: flex-start; }

  .rs-h1 .rs-serif, .rs-h1 .rs-caps { font-size: clamp(46px, 13.5vw, 88px); }
  .rs-h2 { font-size: clamp(32px, 9vw, 52px); }

  /* A — hero + tower flow */
  .rs-a__pin { height: auto; overflow: visible; display: flex; flex-direction: column; }
  .rs-a__hero { position: relative; height: 100vh; height: 100svh; flex: 0 0 auto; }
  .rs-a__title { top: 50vh; top: 50svh; }
  .rs-a__sub { font-size: 12px; padding: 0 20px; }
  .rs-a__hero { order: 0; }
  .rs-a__story { height: auto; overflow: visible; display: flex; flex-direction: column; }
  .rs-a__card { left: 20px; right: 20px; width: auto; bottom: auto; top: calc(100svh - 296px); padding: 16px 18px 14px; }
  .rs-a__card-main b { font-size: 40px; }
  .rs-a__card-row { padding: 10px 0 8px; }
  .rs-a__card-links { display: none; }
  .rs-a__card-sup { padding-bottom: 10px; }
  .rs-a__enq { position: relative; order: 1; right: auto; bottom: auto; width: auto; max-height: none; padding: 30px 20px 34px; border-width: 1px 0; background: var(--navy-2); -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; }
  .rs-a__tower { order: 2; position: relative; opacity: 1; height: 130vw; max-height: 120svh; overflow: hidden; flex: 0 0 auto; }
  .rs-a__tower-inner img { width: 100%; height: auto; top: 0; }
  .rs-a__count { display: none; }
  .rs-a__facts { order: 3; position: relative; inset: auto; padding: 34px 20px 40px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .rs-fact { position: relative; right: auto; top: auto !important; width: 100%; opacity: 1; flex-direction: column; gap: 8px; padding-top: 14px; }
  .rs-fact__lead { font-size: 30px; }
  .rs-fact__text { font-size: 10px; letter-spacing: 1px; }

  /* B — statement + selector flow */
  .rs-b__pin { height: auto; overflow: visible; display: flex; flex-direction: column; padding: 90px 20px 70px; }
  .rs-b__pin { background: var(--cream); }
  .rs-b__statement { position: relative; inset: auto; order: 0; height: auto; background: var(--navy); margin: -90px -20px 0; padding: 96px 20px 40px; pointer-events: auto; }
  .rs-b__state { display: flex; flex-direction: column; }
  .rs-b__only, .rs-b__fpf { position: relative; left: auto; right: auto; top: auto; margin: 0; font-size: clamp(34px, 11vw, 64px); white-space: normal; }
  .rs-b__fpf { letter-spacing: -1px; }
  .rs-b__kitchen { position: relative; left: auto; top: auto; bottom: auto; width: 100%; height: 92vw; margin-top: 24px; }
  .rs-b__para { position: relative; left: auto; top: auto; width: 100%; margin-top: 22px; font-size: 15px; }
  .rs-b__para2 { position: relative; left: auto; top: auto; width: 100%; margin-top: 30px; font-size: 17px; }
  .rs-b__bed { position: relative; left: auto; top: auto; width: 62%; height: 60vw; margin-top: 22px; }
  .rs-b__living-m { display: block; position: relative; margin: 22px 0 0; height: 54vw; overflow: hidden; }
  .rs-sel { display: contents; pointer-events: auto; }
  .rs-sel__head { order: 1; margin-top: 56px; }
  .rs-sel__list { order: 2; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 0; margin-top: 30px; }
  .rs-sel__opt { grid-template-columns: 1fr; gap: 6px; padding: 14px 0; text-align: center; justify-items: center; }
  .rs-sel__opt-size { font-size: 15px; }
  .rs-sel__opt[aria-selected="true"] .rs-sel__opt-size { transform: none; }
  .rs-sel__opt-price { display: none; }
  .rs-b__frame { order: 3; position: relative; left: auto; right: auto; top: auto; bottom: auto; height: 100vw; max-height: 72svh; margin-top: 22px; }
  .rs-sel__readout { order: 4; margin-top: 28px; }
  .rs-sel__size-num { font-size: 15vw; }
  .rs-sel__actions { order: 5; margin-top: 30px; }
  .rs-sel__btns { width: 100%; }
  .rs-sel__btns .rs-btn { flex: 1; padding: 15px 10px; }
  .rs-sel__hint { display: none; }
  .rs-sel__caption { opacity: 1; }
  .rs-b__excl-img { display: none; }


  /* F — the art of living, stacked */
  .rs-f { padding: 64px 20px 28px; }
  .rs-f__wrap { height: auto; display: flex; flex-direction: column; gap: 14px; }
  .rs-f__title, .rs-f__fig, .rs-f__cap, .rs-f__note { position: relative; left: auto !important; right: auto !important; top: auto !important; width: auto; }
  .rs-f__t1, .rs-f__t2 { font-size: clamp(34px, 11vw, 64px); text-align: left; margin: 0; white-space: normal; }
  .rs-f__fig { width: 100% !important; height: 64vw !important; margin-top: 18px; }
  .rs-f__fig--liv { margin-left: auto; }
  .rs-f__cap { font-size: 16px; }
  .rs-f__cap--liv { text-align: left; }
  .rs-f__note, .rs-f__note--end { width: auto; font-size: 13px; }
  .rs-f__title { margin-bottom: 8px; }

  /* C — jodi + decks flow */
  .rs-c__pin { height: auto; overflow: visible; }
  .rs-c__jodi { position: relative; inset: auto; padding: 72px 20px 36px; display: flex; flex-direction: column; align-items: center; }
  .rs-c__label { position: relative; top: auto; }
  .rs-c__eq { display: none; }
  .rs-c__halves { position: relative; left: auto; right: auto; top: auto; bottom: auto; width: 100%; height: 88vw; max-height: 66svh; margin-top: 24px; }
  .rs-c__lockup { position: relative; bottom: auto; margin-top: 26px; }
  .rs-c__decks { position: relative; inset: auto; height: 70svh; visibility: visible; }
  .rs-c__deck-words { display: none; }

  /* D — amenities: swipeable carousel (keeps every render, ~10x less vertical scrolling) */
  .rs-d__pin { height: auto; overflow: visible; padding: 72px 0 44px; }
  .rs-d__intro { position: relative; left: auto; width: auto; padding: 0 20px; }
  .rs-d__progress { display: none; }
  .rs-d__viewport { position: relative; left: auto; overflow-x: auto; overflow-y: hidden; margin-top: 36px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .rs-d__viewport::-webkit-scrollbar { display: none; }
  .rs-d__track { position: relative; flex-direction: row; align-items: flex-start; gap: 14px; padding: 0 20px; width: max-content; }
  .rs-am, .rs-am--2, .rs-am--4 { flex: 0 0 78vw; width: 78vw; align-self: flex-start; margin: 0; scroll-snap-align: center; }
  .rs-am__frame, .rs-am--2 .rs-am__frame, .rs-am--4 .rs-am__frame { width: 100% !important; height: 104vw !important; max-height: 66svh; }
  .rs-am__frame img { left: 0; width: 100%; top: -8%; height: 116%; }

  /* E — CTA */
  .rs-e__actions { flex-direction: column; align-items: stretch; width: 100%; max-width: 360px; }

  .rs-footer__top { grid-template-columns: 1fr; gap: 26px; }
  .rs-footer__bottom { flex-direction: column; gap: 10px; }
  .rs-footer__legal { flex-direction: column; align-items: flex-start; }

  .rs-enquiry__title { font-size: 30px; }
}

/* ==========================================================================
   REDUCED MOTION — everything visible, no scroll choreography
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .rs-scrollcue span { animation: none; }
}

/* short desktop windows: lift the headline so the facts strip never touches it */
@media (min-width: 900px) and (max-height: 720px) {
  .rs-a__title { top: 40%; }
  .rs-a__by { margin-bottom: 12px; }
  .rs-a__sub { margin-top: 12px; }
}

@media (min-width: 900px) and (max-height: 780px) {
  .rs-a__card { padding: 14px 20px 12px; }
  .rs-a__card-main b { font-size: 38px; }
  .rs-a__card-links, .rs-a__card-sup { display: none; }
  .rs-a__enq { padding: 16px 20px; bottom: 28px; } .rs-a__card { bottom: 28px; }
}

/* ---------------- 2+2 JODI FLAT — simple split ---------------- */
.rs-j { position: relative; z-index: 3; background: var(--navy); }
.rs-j__wrap { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: clamp(32px, 6vw, 100px); min-height: 100vh; min-height: 100svh; padding: calc(var(--header-h) + 20px) var(--gutter) 60px; }
.rs-j__img { position: relative; margin: 0; width: 100%; aspect-ratio: 16 / 9; height: auto; max-height: 78vh; overflow: hidden; background: var(--navy-2); } /* 16:9 = the bedroom render's own shape, so nothing is cropped */
.rs-j__veil { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(11,22,36,.08) 0%, rgba(11,22,36,.38) 100%); }
.rs-j__text { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.rs-j__text .rs-h2 { font-size: clamp(34px, 4.2vw, 64px); }
.rs-j__size { margin: 0; font-size: 15px; letter-spacing: 2px; text-transform: uppercase; color: var(--sand); }
.rs-j__size b { font-family: var(--head); font-weight: 300; font-size: clamp(30px, 3vw, 44px); letter-spacing: 0; color: var(--cream); margin-right: 8px; }
.rs-j__note { margin: 0; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--taupe); }
.rs-j__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
@media (max-width: 899.98px) {
  .rs-j__wrap { grid-template-columns: 1fr; min-height: 0; gap: 28px; padding: 64px 20px 56px; }
  .rs-j__img { height: auto; aspect-ratio: 16 / 9; }
  .rs-j__actions .rs-btn { flex: 1 1 100%; }
}

.rs-d__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(22px, 4vh, 40px); }
@media (max-width: 899.98px) { .rs-d__cta { margin-top: 24px; } .rs-d__cta .rs-btn { flex: 1; } }

/* tower screen: action buttons in the left column (replaces the big floor number) */
.rs-a__story .rs-a__count { align-items: flex-start; gap: 14px; justify-content: center; }
.rs-a__story .rs-a__count .rs-btn { min-width: 230px; }

/* residence selector arrows */
.rs-sel__arrows { display: flex; gap: 12px; }
.rs-sel__arrow { position: relative; width: 52px; height: 52px; padding: 0; background: transparent; border: 1px solid var(--gold); border-radius: 50%; cursor: pointer; transition: background-color .25s, border-color .25s; }
.rs-sel__arrow i { position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; border-left: 1.5px solid var(--navy); border-bottom: 1.5px solid var(--navy); transform: translate(-30%, -50%) rotate(45deg); transition: border-color .25s; }
.rs-sel__arrow--next i { transform: translate(-70%, -50%) rotate(-135deg); }
.rs-sel__arrow:hover, .rs-sel__arrow:focus-visible { background: var(--navy); border-color: var(--navy); }
.rs-sel__arrow:hover i, .rs-sel__arrow:focus-visible i { border-color: var(--cream); }
@media (max-width: 899.98px) { .rs-sel__actions { flex-wrap: wrap; gap: 18px; } .rs-sel__arrows { margin-left: auto; } }

/* ---------------- AMENITIES LIGHTBOX ---------------- */
.rs-am__frame { cursor: zoom-in; }
.rs-lb { position: fixed; inset: 0; z-index: 1000; visibility: hidden; pointer-events: none; opacity: 0; transition: opacity .4s ease, visibility 0s linear .4s; }
.rs-lb.is-open { visibility: visible; pointer-events: auto; opacity: 1; transition-delay: 0s; }
.rs-lb__veil { position: absolute; inset: 0; background: rgba(11,22,36,.94); }
.rs-lb__box { position: relative; height: 100%; display: flex; flex-direction: column; padding: clamp(16px, 3vh, 32px) clamp(16px, 4vw, 60px); gap: 16px; }
.rs-lb__x { position: absolute; top: 14px; right: 16px; z-index: 3; width: 46px; height: 46px; background: rgba(11,22,36,.6); border: 1px solid rgba(184,154,82,.55); border-radius: 50%; cursor: pointer; transition: background-color .25s; }
.rs-lb__x span { position: absolute; left: 13px; right: 13px; top: 50%; height: 1px; background: var(--cream); }
.rs-lb__x span:first-child { transform: rotate(45deg); } .rs-lb__x span:last-child { transform: rotate(-45deg); }
.rs-lb__x:hover { background: var(--gold); } .rs-lb__x:hover span { background: var(--navy); }
.rs-lb__stage { position: relative; flex: 1 1 auto; min-height: 0; display: flex; align-items: center; justify-content: center; padding-top: 48px; }
.rs-lb__fig { margin: 0; height: 100%; max-width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; }
.rs-lb__fig img { max-width: 100%; max-height: calc(100% - 34px); width: auto; height: auto; object-fit: contain; display: block; transition: opacity .3s ease; user-select: none; }
.rs-lb__fig img.is-swap { opacity: .15; }
.rs-lb__fig figcaption { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--sand); white-space: pre; }
.rs-lb__nav { position: absolute; top: 50%; z-index: 2; width: 52px; height: 52px; margin-top: -10px; background: rgba(11,22,36,.7); border: 1px solid rgba(184,154,82,.55); border-radius: 50%; cursor: pointer; transition: background-color .25s; }
.rs-lb__nav--prev { left: 0; } .rs-lb__nav--next { right: 0; }
.rs-lb__nav i, .rs-lb__ta i { position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; border-left: 1.5px solid var(--cream); border-bottom: 1.5px solid var(--cream); transform: translate(-30%, -50%) rotate(45deg); }
.rs-lb__nav--next i, .rs-lb__ta--next i { transform: translate(-70%, -50%) rotate(-135deg); }
.rs-lb__nav:hover, .rs-lb__ta:hover { background: var(--gold); } .rs-lb__nav:hover i, .rs-lb__ta:hover i { border-color: var(--navy); }
.rs-lb__thumbs { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; }
.rs-lb__ta { position: relative; flex: 0 0 auto; width: 40px; height: 40px; background: transparent; border: 1px solid rgba(184,154,82,.55); border-radius: 50%; cursor: pointer; transition: background-color .25s; }
.rs-lb__strip { flex: 1 1 auto; min-width: 0; display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; padding: 4px 2px; }
.rs-lb__strip::-webkit-scrollbar { display: none; }
.rs-lb__t { flex: 0 0 auto; width: clamp(84px, 9vw, 128px); aspect-ratio: 3 / 2; padding: 0; background: var(--navy-2); border: 2px solid transparent; cursor: pointer; opacity: .55; transition: opacity .25s, border-color .25s; overflow: hidden; }
.rs-lb__t img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rs-lb__t:hover { opacity: .9; } .rs-lb__t.is-active { opacity: 1; border-color: var(--gold); }
@media (max-width: 899.98px) {
  .rs-lb__nav { width: 42px; height: 42px; } .rs-lb__nav--prev { left: 4px; } .rs-lb__nav--next { right: 4px; }
  .rs-lb__ta { width: 34px; height: 34px; }
  .rs-lb__fig figcaption { font-size: 11px; }
}

/* ---------------- ALL BUTTONS: yellow (gold) ---------------- */
.rs-btn, .rs-btn--sm, .rs-btn--solid, .rs-light .rs-btn { background: var(--gold) !important; border-color: var(--gold) !important; color: var(--navy) !important; }
.rs-btn:hover, .rs-btn:focus-visible, .rs-btn--solid:hover, .rs-btn--solid:focus-visible, .rs-light .rs-btn:hover, .rs-light .rs-btn:focus-visible { background: var(--cream) !important; border-color: var(--cream) !important; color: var(--navy) !important; }
.rs-light .rs-btn:hover, .rs-light .rs-btn:focus-visible { background: var(--navy) !important; border-color: var(--navy) !important; color: var(--cream) !important; }
/* final call-to-action: two yellow rows → second row smaller, white */
.rs-e__actions { flex-direction: column; align-items: center; gap: 16px; }
.rs-e__row { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }
.rs-btn.rs-btn--white { padding: 12px 30px; font-size: 12px; background: #fff !important; border-color: #fff !important; color: var(--navy) !important; }
.rs-btn.rs-btn--white:hover, .rs-btn.rs-btn--white:focus-visible { background: var(--gold) !important; border-color: var(--gold) !important; color: var(--navy) !important; }
@media (max-width: 899.98px) { .rs-e__actions { align-items: stretch; } .rs-e__row { flex-direction: column; } .rs-e__row .rs-btn { width: 100%; } .rs-e__row:last-child { flex-direction: row; } .rs-e__row:last-child .rs-btn { flex: 1; padding-left: 10px; padding-right: 10px; } }

/* ---------------- HEADINGS: Title Case everywhere (first letter capital, rest small) ---------------- */
h1, h2, h3, h4, .rs-serif, .rs-caps, .rs-enquiry__title, .rs-enquiry__title em, .rs-h1, .rs-h2 { text-transform: capitalize !important; }

/* amenities (desktop): the gallery is a normal horizontal scroll bar */
@media (min-width: 900px) {
  .rs-d__viewport { overflow-x: auto; overflow-y: hidden; cursor: grab; scrollbar-width: thin; scrollbar-color: var(--gold) rgba(229,222,209,.14); overscroll-behavior-x: contain; }
  .rs-d__viewport.is-drag { cursor: grabbing; user-select: none; }
  .rs-d__viewport::-webkit-scrollbar { height: 10px; }
  .rs-d__viewport::-webkit-scrollbar-track { background: rgba(229,222,209,.14); border-radius: 10px; }
  .rs-d__viewport::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 10px; }
  .rs-d__track { position: relative; height: calc(100% - 18px); width: max-content; will-change: auto; }
  .rs-am__frame img { left: 0; width: 100%; }
}

/* final CTA: both rows the same width, buttons equal halves → everything aligns on the centre line */
.rs-e__actions { align-items: center; margin-left: auto; margin-right: auto; }
.rs-e__row { width: min(560px, 100%); flex-wrap: nowrap; }
.rs-e__row .rs-btn { flex: 1 1 0; min-width: 0; padding-left: 12px; padding-right: 12px; }
@media (max-width: 899.98px) { .rs-e__row { flex-direction: row; flex-wrap: wrap; } .rs-e__row .rs-btn { flex: 1 1 100%; } .rs-e__row:last-child .rs-btn { flex: 1 1 0; } }

/* ---------------- FLOOR PLANS section ---------------- */
.rs-fp { position: relative; z-index: 4; background: var(--cream); color: var(--navy); }
.rs-fp__wrap { max-width: 1320px; margin: 0 auto; padding: clamp(64px, 9vw, 130px) var(--gutter) clamp(56px, 7vw, 100px); }
.rs-fp__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px 60px; flex-wrap: wrap; margin-bottom: clamp(28px, 4vw, 52px); }
.rs-fp__intro { max-width: 640px; display: flex; flex-direction: column; gap: 16px; }
.rs-fp__sub { margin: 0; font-size: clamp(15px, 1.2vw, 18px); line-height: 1.7; color: var(--navy-2); }
.rs-fp__actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.rs-fp__fig { position: relative; display: block; width: 100%; padding: 0; border: 1px solid rgba(184,154,82,.55); background: var(--navy); cursor: zoom-in; overflow: hidden; box-shadow: 0 40px 80px -40px rgba(11,22,36,.55); }
.rs-fp__fig img { display: block; width: 100%; height: auto; transition: transform 1.2s var(--ease); }
.rs-fp__fig:hover img { transform: scale(1.015); }
.rs-fp__zoom { position: absolute; right: 18px; bottom: 18px; padding: 10px 20px; border-radius: 100px; background: var(--gold); color: var(--navy); font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; opacity: 0; transform: translateY(8px); transition: opacity .35s ease, transform .5s var(--ease); }
.rs-fp__fig:hover .rs-fp__zoom, .rs-fp__fig:focus-visible .rs-fp__zoom { opacity: 1; transform: none; }
@media (max-width: 899.98px) {
  .rs-fp__head { flex-direction: column; align-items: flex-start; }
  .rs-fp__actions { width: 100%; } .rs-fp__actions .rs-btn { flex: 1 1 100%; }
  .rs-fp__zoom { display: none; }
}

/* MahaRERA logo + number */
.rs-a__rera-row { display: flex; align-items: center; gap: 10px; }
.rs-a__rera-row img { flex: 0 0 auto; width: 30px; height: 30px; }
.rs-a__rera-row small { font-size: 10px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--navy-2); }
.rs-footer__legal .rs-legal__logo { width: 64px; height: 64px; flex: 0 0 auto; }

/* ---------------- HERO · project highlights card ---------------- */
.rs-hc.rs-a__card {
  width: clamp(320px, 26vw, 392px); padding: 22px 24px 18px; bottom: 32px;
  background: linear-gradient(180deg, #FBF9F4 0%, #F4F0E6 100%); color: var(--navy);
  border: 1px solid rgba(184,154,82,.7);
  box-shadow: 0 34px 80px -34px rgba(0,0,0,.7), inset 0 0 0 4px #FBF9F4, inset 0 0 0 5px rgba(184,154,82,.35);
}
.rs-hc__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 10px; }
.rs-hc__eyebrow { font-size: 10px; letter-spacing: 2.2px; text-transform: uppercase; color: var(--gold-d); font-weight: 500; }
.rs-hc__loc { display: inline-flex; align-items: center; gap: 5px; font-size: 10.5px; letter-spacing: 1.1px; text-transform: uppercase; color: var(--navy-2); }
.rs-hc__loc svg { color: var(--gold-d); }
.rs-hc__main { display: flex; align-items: baseline; gap: 14px; padding: 2px 0 12px; border-bottom: 1px solid var(--line-d); }
.rs-hc__main b { font-family: var(--head); font-weight: 300; font-size: clamp(40px, 3.5vw, 54px); line-height: 1; letter-spacing: -1px; }
.rs-hc__main span { font-size: 10.5px; letter-spacing: 2px; text-transform: uppercase; line-height: 1.5; color: var(--gold-d); }
.rs-hc__prices { display: grid; grid-template-columns: repeat(3, 1fr); padding: 12px 0 2px; }
.rs-hc__prices > div { padding: 0 10px; border-left: 1px solid var(--line-d); }
.rs-hc__prices > div:first-child { padding-left: 0; border-left: 0; }
.rs-hc__prices small { display: block; font-size: 9.5px; letter-spacing: 1.3px; text-transform: uppercase; color: var(--navy-2); margin-bottom: 4px; }
.rs-hc__prices b { font-family: var(--head); font-weight: 400; font-size: clamp(15px, 1.25vw, 18px); white-space: nowrap; }
.rs-hc__note { margin: 4px 0 10px; font-size: 9.5px; letter-spacing: 1.3px; text-transform: uppercase; color: var(--mist); }
.rs-hc__list { margin: 0; padding: 9px 0; list-style: none; border-top: 1px solid var(--line-d); border-bottom: 1px solid var(--line-d); display: grid; gap: 5px; }
.rs-hc__list li { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-size: 11px; letter-spacing: .6px; color: var(--navy); }
.rs-hc__list li::before { content: ''; flex: 0 0 5px; height: 5px; margin-right: -2px; background: var(--gold); transform: rotate(45deg) translateY(-1px); align-self: center; }
.rs-hc__list li span { flex: 1 1 auto; }
.rs-hc__list li b { font-weight: 500; color: var(--gold-d); font-size: 10.5px; letter-spacing: .6px; }
.rs-hc__facts { display: flex; flex-wrap: wrap; gap: 6px 8px; margin: 10px 0; }
.rs-hc__facts span { padding: 5px 10px; border: 1px solid rgba(184,154,82,.55); border-radius: 100px; font-size: 9.5px; letter-spacing: 1.1px; text-transform: uppercase; color: var(--navy); white-space: nowrap; }
.rs-hc__offer { display: flex; align-items: center; gap: 12px; padding: 9px 12px 9px 9px; background: var(--navy); color: var(--cream); }
.rs-hc__gift { flex: 0 0 auto; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--gold); color: var(--navy); }
.rs-hc__offer-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rs-hc__offer-txt b { font-family: var(--head); font-weight: 600; font-size: 13.5px; letter-spacing: .1px; }
.rs-hc__offer-txt small { font-size: 9px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--taupe); }
.rs-hc__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
.rs-hc__foot .rs-a__rera-row { gap: 8px; }
.rs-hc__foot .rs-a__rera-row img { width: 26px; height: 26px; }
.rs-hc__foot .rs-a__rera-row small { font-size: 8.5px; letter-spacing: .9px; color: var(--mist); text-transform: uppercase; line-height: 1.3; }
.rs-hc__links { display: flex; gap: 14px; flex: 0 0 auto; }
.rs-hc__links button { padding: 0 0 2px; background: none; border: 0; border-bottom: 1px solid var(--gold); font-family: var(--sans); font-size: 9.5px; letter-spacing: 1.4px; text-transform: uppercase; color: var(--navy); cursor: pointer; transition: color .25s; }
.rs-hc__links button:hover { color: var(--gold-d); }
@media (max-width: 899.98px) {
  .rs-hc.rs-a__card { position: relative; order: 1; left: auto; right: auto; top: auto; bottom: auto; width: auto; margin: -170px 16px 0; padding: 20px 20px 16px; }
  .rs-hc__list, .rs-hc__note { display: block; } .rs-hc__list { display: grid; }
  .rs-hc__facts, .rs-hc__prices { display: flex; } .rs-hc__prices { display: grid; }
  .rs-hc__links { display: flex; }
}
.rs-hc__foot { flex-wrap: wrap; row-gap: 8px; }
.rs-hc__foot .rs-a__rera-row { flex: 1 1 100%; }
.rs-hc__foot .rs-a__rera-row small { white-space: nowrap; }
.rs-hc__links { width: 100%; padding-top: 8px; border-top: 1px solid var(--line-d); justify-content: space-between; }
@media (max-width: 899.98px) { .rs-hc.rs-a__card { margin-bottom: 28px; } }

/* narrower desktop windows: nudge the headline right so the highlights card never touches it */
@media (min-width: 900px) and (max-width: 1240px) { .rs-a__title { padding-left: 22vw; } }

/* floor-plans heading on one line (desktop) */
@media (min-width: 900px) {
  .rs-fp__intro { max-width: none; flex: 1 1 560px; }
  .rs-fp__intro .rs-h2 { white-space: nowrap; font-size: clamp(34px, 3.8vw, 58px); }
  .rs-fp__sub { max-width: 640px; }
}


/* final CTA buttons: a 2 × 2 grid, each column as wide as its longest label (nothing gets clipped) */
.rs-e__actions { display: grid; grid-template-columns: repeat(2, minmax(max-content, 1fr)); gap: 14px; justify-content: center; align-items: stretch; width: auto; max-width: 100%; }
.rs-e__row { display: contents; }
.rs-e__actions .rs-btn { width: 100%; flex: none; min-width: 0; padding-left: 30px; padding-right: 30px; white-space: nowrap; }
.rs-e__actions .rs-btn--white { padding-left: 26px; padding-right: 26px; }
@media (max-width: 899.98px) { .rs-e__actions { grid-template-columns: 1fr; width: 100%; max-width: 360px; } .rs-e__row:last-child { display: contents; } }

/* ---------- highlights card: roomy + readable (the hero grows on short windows instead of the card being squeezed) ---------- */
@media (min-width: 900px) {
  .rs-a__pin, .rs-a__hero { min-height: 800px; }
  .rs-hc.rs-a__card { width: clamp(340px, 26vw, 400px); padding: 26px 28px 22px; bottom: 36px; }
  .rs-hc__head { padding-bottom: 14px; }
  .rs-hc__eyebrow { font-size: 11px; letter-spacing: 2.4px; }
  .rs-hc__loc { font-size: 11.5px; letter-spacing: 1.2px; }
  .rs-hc__main { gap: 16px; padding: 4px 0 16px; }
  .rs-hc__main b { font-size: 54px; }
  .rs-hc__main span { font-size: 12px; letter-spacing: 2.2px; }
  .rs-hc__prices { padding: 16px 0 4px; }
  .rs-hc__prices > div { padding: 0 12px; }
  .rs-hc__prices small { font-size: 11px; letter-spacing: 1.4px; margin-bottom: 6px; }
  .rs-hc__prices b { font-size: 19px; }
  .rs-hc__note { margin: 8px 0 14px; font-size: 10.5px; letter-spacing: 1.4px; }
  .rs-hc__list { padding: 14px 0; gap: 9px; }
  .rs-hc__list li { font-size: 13px; letter-spacing: .5px; }
  .rs-hc__list li b { font-size: 12px; }
  .rs-hc__facts { margin: 14px 0; gap: 8px 8px; }
  .rs-hc__facts span { padding: 7px 13px; font-size: 10.5px; letter-spacing: 1.1px; }
  .rs-hc__offer { padding: 12px 14px 12px 12px; gap: 14px; }
  .rs-hc__gift { width: 40px; height: 40px; }
  .rs-hc__offer-txt b { font-size: 15.5px; }
  .rs-hc__offer-txt small { font-size: 10px; letter-spacing: 1.2px; }
  .rs-hc__foot { margin-top: 16px; row-gap: 12px; }
  .rs-hc__foot .rs-a__rera-row img { width: 30px; height: 30px; }
  .rs-hc__foot .rs-a__rera-row small { font-size: 10px; letter-spacing: 1px; }
  .rs-hc__links { padding-top: 12px; }
  .rs-hc__links button { font-size: 11px; letter-spacing: 1.5px; }
}
@media (min-width: 900px) and (max-width: 1700px) { .rs-a__title { padding-left: 12vw; } }
@media (min-width: 900px) and (max-width: 1240px) { .rs-a__title { padding-left: 24vw; } }

/* Jodi image: the two buttons sit in the middle of the image */
.rs-c__cta { top: 50%; bottom: auto; margin-top: -26px; }

/* floor plans: three plans in one horizontal row */
.rs-fp__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(14px, 2vw, 28px); }
.rs-fp__card { display: flex; flex-direction: column; gap: 14px; padding: 0; background: none; border: 0; text-align: left; cursor: zoom-in; font: inherit; color: inherit; }
.rs-fp__img { display: block; overflow: hidden; border: 1px solid rgba(184,154,82,.55); background: var(--navy); box-shadow: 0 30px 60px -36px rgba(11,22,36,.55); }
.rs-fp__img img { display: block; width: 100%; height: auto; transition: transform 1s var(--ease); }
.rs-fp__card:hover .rs-fp__img img { transform: scale(1.03); }
.rs-fp__cap { font-family: var(--head); font-size: clamp(14px, 1.15vw, 17px); font-weight: 500; letter-spacing: .3px; color: var(--navy); text-transform: capitalize; }
.rs-fp__cap::after { content: ' \2192'; color: var(--gold-d); }
@media (max-width: 899.98px) {
  .rs-fp__row { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin: 0 calc(var(--gutter) * -1); padding: 0 var(--gutter) 10px; scrollbar-width: none; }
  .rs-fp__row::-webkit-scrollbar { display: none; }
  .rs-fp__card { flex: 0 0 82%; scroll-snap-align: center; }
}

/* amenities: custom, always-visible horizontal scroll bar (desktop) */
.rs-d__scroll { display: none; }
@media (min-width: 900px) {
  .rs-d__viewport { bottom: 12vh; scrollbar-width: none; }
  .rs-d__viewport::-webkit-scrollbar { display: none; height: 0; }
  .rs-d__scroll { display: block; position: absolute; z-index: 3; left: 34vw; right: var(--gutter); bottom: 6vh; height: 12px; border-radius: 12px; background: rgba(229,222,209,.2); border: 1px solid rgba(184,154,82,.35); cursor: pointer; }
  .rs-d__thumb { position: absolute; top: -1px; bottom: -1px; left: 0; min-width: 70px; border-radius: 12px; background: var(--gold); cursor: grab; touch-action: none; }
  .rs-d__thumb.is-drag { cursor: grabbing; }
}

/* hero: stronger overlay so the headline and sub-text always read clearly */
.rs-scrim--hero { background: radial-gradient(ellipse 60% 48% at 50% 50%, rgba(11,22,36,.5) 0%, rgba(11,22,36,0) 100%), linear-gradient(180deg, rgba(11,22,36,.82) 0%, rgba(11,22,36,.6) 38%, rgba(11,22,36,.62) 62%, rgba(11,22,36,.92) 100%); }
.rs-a__title .rs-serif, .rs-a__title .rs-caps, .rs-a__sub, .rs-a__by { text-shadow: 0 2px 22px rgba(11,22,36,.65); }

/* highlights card: the two fact chips stay on ONE line */
.rs-hc__facts { flex-wrap: nowrap !important; gap: 6px !important; }
.rs-hc__facts span { flex: 1 1 auto; text-align: center; padding: 7px 8px !important; font-size: 9.5px !important; letter-spacing: .4px !important; white-space: nowrap; }
@media (min-width: 900px) { .rs-hc.rs-a__card { width: clamp(360px, 27vw, 410px); } }

.rs-f__fig[data-enquire] { cursor: pointer; }

/* hero headline is truly centred on the page; its size and the card width are tuned so they never collide */
@media (min-width: 900px) {
  .rs-a__title { padding-left: 0 !important; }
  .rs-h1 .rs-serif, .rs-h1 .rs-caps { font-size: clamp(46px, min(6vw, 14vh), 120px); }
  .rs-hc.rs-a__card { width: clamp(340px, 24vw, 390px); }
}
@media (min-width: 900px) and (max-width: 1240px) {
  .rs-h1 .rs-serif, .rs-h1 .rs-caps { font-size: clamp(44px, min(5vw, 14vh), 70px); }
  .rs-hc.rs-a__card { width: 320px; padding-left: 22px; padding-right: 22px; }
  .rs-hc__facts span { font-size: 9px !important; padding: 7px 6px !important; }
}
@media (min-width: 900px) and (max-width: 1240px) {
  .rs-hc.rs-a__card { width: 308px; }
  .rs-a__sub { font-size: 12px; letter-spacing: .6px; }
  .rs-a__by { font-size: 11px; letter-spacing: 2px; }
  .rs-a__by > span::before, .rs-a__by > span::after { width: 22px; }
}

/* hero headline block: LEFT-aligned, sitting to the right of the highlights card */
@media (min-width: 900px) {
  .rs-a__title { left: calc(var(--gutter) + clamp(340px, 24vw, 390px) + 64px); right: var(--gutter); text-align: left; }
  .rs-a__by > span { display: flex; justify-content: flex-start; }
  .rs-a__by > span::before { display: none; }
  .rs-h1 .rs-serif, .rs-h1 .rs-caps { font-size: clamp(48px, min(7vw, 14vh), 128px); }
}
@media (min-width: 900px) and (max-width: 1240px) {
  .rs-a__title { left: calc(var(--gutter) + 308px + 44px); }
  .rs-h1 .rs-serif, .rs-h1 .rs-caps { font-size: clamp(44px, min(5.4vw, 14vh), 72px); }
}

/* more breathing space between the highlights card and the headline block */
@media (min-width: 900px) { .rs-a__title { left: calc(var(--gutter) + clamp(340px, 24vw, 390px) + 150px); } }
@media (min-width: 900px) and (max-width: 1240px) { .rs-a__title { left: calc(var(--gutter) + 308px + 96px); } }

/* "A new perspective" paragraph: normal sentence case (easier to read than all caps) */
.rs-b__para, .rs-b__para p { text-transform: none; }

/* tower screen picture (EVENING-4): fills the portrait frame, whole tower visible */
.rs-a__tower-inner img { position: absolute; inset: 0; left: 0; top: 0; width: 100%; height: 100%; max-width: none; transform: none; object-fit: cover; object-position: 50% 45%; }
@media (max-width: 899.98px) { .rs-a__tower-inner img { width: 100%; height: 100%; top: 0; } }
@media (min-width: 900px) {
  /* the clipped frame is 13vh from the top, 7vh from the bottom and min(28vw, 52vh) wide — fit the picture exactly to it */
  .rs-a__story .rs-a__tower-inner img { inset: auto; top: 13vh; left: 50%; width: min(28vw, 52vh); height: 80vh; transform: translateX(-50%); object-fit: cover; object-position: 50% 50%; }
}

/* footer: 4 columns incl. quick links (same footer on every page) */
.rs-footer__top { grid-template-columns: 1.3fr .8fr 1fr 1.4fr; }
.rs-footer__links { display: flex; flex-direction: column; gap: 10px; }
.rs-footer__links a { font-size: 15px; color: var(--sand); text-decoration: none; width: fit-content; transition: color .25s; }
.rs-footer__links a:hover { color: var(--gold); }
@media (max-width: 899.98px) { .rs-footer__top { grid-template-columns: 1fr; } }

/* Channel Partner/Broker buttons are gone: the single Enquire now button spans its row */
.rs-e__row:first-child .rs-btn { grid-column: 1 / -1; }
.rs-c__cta { justify-content: center; }

/* every picture / panel that opens the enquiry form shows a pointer */
.rs-a__card[data-enquire], .rs-a__tower[data-enquire], .rs-c__halves[data-enquire], .rs-j__img[data-enquire] { cursor: pointer; }
.rs-lb__enquire { margin-top: 4px; }

.rs-footer__bottom span a { color: var(--sand); text-decoration: none; border-bottom: 1px solid rgba(184,154,82,.6); transition: color .25s; }
.rs-footer__bottom span a:hover { color: var(--gold); }
.rs-footer__bottom { gap: 12px 24px; flex-wrap: wrap; }

/* ---------- developer credit in the real Aquarius Realty logo (all pages) ---------- */
.rs-by__t { white-space: nowrap; }
.rs-by__logo { display: inline-block; height: clamp(22px, 2vw, 30px); width: auto; vertical-align: middle; }
.rs-a__by .rs-by__logo { height: clamp(22px, 1.9vw, 30px); margin-left: 4px; filter: drop-shadow(0 2px 10px rgba(11,22,36,.6)); }
.pg-hero__by, .pg-hero__by--line { display: flex; align-items: center; gap: 14px; }
.pg-hero__by--line { margin-top: 30px; }
.rs-footer__by { display: flex; align-items: center; gap: 12px; margin-top: 18px; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--mist); }
.rs-footer__by img { height: 26px; width: auto; }
.rs-header__logo img { height: clamp(50px, 4.4vw, 64px); width: auto; }
@media (max-width: 899.98px) { .rs-header__logo img { height: 40px; } .rs-by__logo { height: 20px; } }
/* six nav items (Floor Plans added) — keep them on one line */
.rs-nav { gap: clamp(16px, 2.4vw, 52px); margin-left: clamp(24px, 4.5vw, 100px); }
.rs-nav a { white-space: nowrap; font-size: clamp(12px, 1.02vw, 15px); }
.pg-hero__by .rs-by__logo, .pg-hero__by--line .rs-by__logo { height: clamp(26px, 2.3vw, 36px); filter: drop-shadow(0 2px 12px rgba(11,22,36,.85)); }

/* Jodi: the two living spaces meet — a soft light along the seam as the wall between them dissolves */
.rs-c__seam { position: absolute; left: 50%; top: -2%; bottom: -2%; width: 3px; margin-left: -1.5px; z-index: 2; pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(255,246,222,.95) 18%, rgba(255,246,222,.95) 82%, transparent); box-shadow: 0 0 28px 10px rgba(255,236,190,.45), 0 0 90px 30px rgba(255,236,190,.18); opacity: 0; }
@media (max-width: 899.98px) { .rs-c__seam { display: none; } }
/* no hairline where the two Jodi halves meet */
.rs-c__half--l { width: calc(50% + 1px); }
.rs-c__half--l img { width: calc(200% - 2px); }

/* brand name marks (supplied white logos replace written names) */
.rs-nm { display: inline-block; width: auto; vertical-align: middle; height: 22px; margin: 0 4px; }
.rs-nm--in { height: 26px; margin: -3px 3px 0; }
.rs-nm--blk { height: 40px; margin: 0; display: block; }
.rs-nm--big { display: block; width: clamp(240px, 26vw, 400px); height: auto; }
.pg-block__text .rs-nm--blk + small { margin-top: 10px; }
.rs-nm--mark { height: 46px; margin: 0; display: block; }

/* header logo = supplied white JPC VELORA PNG (wide lockup) */
.rs-header__logo img { height: clamp(42px, 3.9vw, 56px) !important; width: auto; }
@media (max-width: 899.98px) { .rs-header__logo img { height: 34px !important; } }
@media (max-width: 599.98px) { .pg-hero__by--line { flex-wrap: wrap; row-gap: 10px; } }

/* Jodi 1300 sq. ft. — prominent */
.rs-c__size { margin: 18px 0 0; font-family: var(--head); font-weight: 500; font-size: clamp(34px, 4vw, 64px); line-height: 1; letter-spacing: 2px; color: var(--gold); }
.rs-c__size span { font-weight: 500; }
.rs-hc__list li.rs-hc__jodi { flex-wrap: wrap; row-gap: 3px; }
.rs-hc__list li.rs-hc__jodi b { flex: 1 0 100%; padding-left: 12px; font-family: var(--head); font-weight: 600; font-size: 22px; letter-spacing: .5px; line-height: 1.1; color: var(--gold-d); }
@media (max-width: 899.98px) { .rs-c__size { font-size: clamp(32px, 9vw, 48px); } .rs-hc__list li.rs-hc__jodi b { font-size: 24px; } }

/* MahaRERA: official logo + QR from the registration certificate */
.rs-legal__logo { border-radius: 50%; background: #fff; }
.rs-footer__legal .rs-legal__qr { width: 84px; height: 84px; flex: 0 0 auto; background: #fff; padding: 5px; border-radius: 4px; image-rendering: pixelated; }
.rs-a__rera-row img { border-radius: 50%; }

/* hero card: "Onwards" after each price (not on Jodi) */
.rs-hc__prices em { display: block; margin-top: 4px; font-style: normal; font-size: 9px; letter-spacing: 1.3px; text-transform: uppercase; color: var(--gold-d); }
@media (max-width: 899.98px) { .rs-hc__prices em { font-size: 10px; } }

/* hero card prices: smaller unit so "Cr++" always fits the three columns */
.rs-hc__prices b i { font-style: normal; font-size: .68em; letter-spacing: .3px; }
.rs-hc__prices > div { padding: 0 8px; }
.rs-hc__prices b { font-size: clamp(14px, 1.15vw, 17px); }
.rs-hc__prices b i { font-size: .62em; letter-spacing: 0; }
.rs-hc__prices > div { padding: 0 6px; }
.rs-hc__prices b i { font-size: .74em; }
/* Jodi line: label and size on ONE row, size bold + larger */
.rs-hc__list li.rs-hc__jodi { flex-wrap: nowrap; align-items: center; }
.rs-hc__list li.rs-hc__jodi b { flex: 0 0 auto; padding-left: 0; font-size: 16px; letter-spacing: .3px; white-space: nowrap; }
@media (max-width: 899.98px) { .rs-hc__list li.rs-hc__jodi b { font-size: 18px; } }
.rs-footer__legal .rs-legal__qr { width: 92px; height: 92px; padding: 4px; border-radius: 4px; }

/* RERA Carpet captions */
.rs-hc__prices small { line-height: 1.35; }
.rs-hc__list li.rs-hc__jodi b { display: block; text-align: right; }
.rs-hc__list li.rs-hc__jodi b em { display: block; font-style: normal; font-family: var(--body, inherit); font-weight: 500; font-size: 9px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--gold-d); margin-top: 2px; }
.rs-c__size .rs-c__rera { display: block; margin-top: 10px; font-family: var(--body, inherit); font-weight: 500; font-size: clamp(12px, 1.1vw, 16px); letter-spacing: 3px; text-transform: uppercase; color: var(--sand); }
.rs-sel__size-unit { white-space: normal; }

/* hero card: wider so each size caption stays on two lines (size / RERA Carpet) */
@media (min-width: 900px) {
  .rs-hc.rs-a__card { width: clamp(390px, 29vw, 470px) !important; }
  .rs-hc__prices small { white-space: nowrap; letter-spacing: 1px; }
  .rs-hc__prices { align-items: start; }
}
@media (max-width: 899.98px) { .rs-hc__prices small { white-space: nowrap; letter-spacing: 1px; } }

/* website disclaimer (all pages, under the copyright line) */
.rs-footer__disclaimer { margin: 20px 0 0; padding-top: 18px; border-top: 1px solid var(--line-l); font-size: 12px; line-height: 1.8; letter-spacing: .2px; color: var(--mist); max-width: 1100px; }
.rs-footer__disclaimer strong { font-weight: 500; color: var(--sand); }
@media (max-width: 899.98px) { .rs-footer__disclaimer { font-size: 12px; margin-bottom: 76px; } }
@media (min-width: 900px) { .rs-footer__disclaimer { margin-bottom: 72px; padding-right: 64px; } }
/* hero card header on one line: "Project Highlights: Shimpoli, Borivali (West)" */
.rs-hc__head { gap: 8px; flex-wrap: nowrap; }
.rs-hc__eyebrow, .rs-hc__loc { white-space: nowrap; }
.rs-hc__eyebrow { letter-spacing: 1.6px; }
@media (max-width: 899.98px) { .rs-hc__head { flex-wrap: wrap; row-gap: 6px; } .rs-hc__eyebrow, .rs-hc__loc { white-space: normal; } }
.rs-hc__main b { margin-right: -8px; }

.rs-hc__main span, .rs-fact__text { white-space: nowrap; }

/* "storey tower" always on one line (all devices) */
.rs-fact__text, .rs-hc__main span, .pg-fact__txt { white-space: nowrap; }
.pg-fact__txt { white-space: normal; }

/* Terms and Conditions link inside the offer banners */
.rs-hc__offer-txt a.vl-tc, .vl__offer-txt a.vl-tc { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.rs-footer__bottom { flex-wrap: wrap; gap: 8px 24px; }

/* hero card: one line per size — "600 sq. ft. | RERA Carpet Area | ₹1.80 Cr onwards ++" */
.rs-hc__rates { list-style: none; margin: 0; padding: 12px 0 10px; display: grid; gap: 9px; }
.rs-hc__rates li { display: flex; align-items: baseline; flex-wrap: nowrap; white-space: nowrap; font-size: 11.5px; letter-spacing: .2px; color: var(--navy); }
.rs-hc__rates li span { color: var(--navy-2); }
.rs-hc__rates li i { font-style: normal; margin: 0 7px; color: var(--gold-d); opacity: .8; }
.rs-hc__rates li b { font-family: var(--head); font-weight: 500; font-size: 12.5px; color: var(--navy); }
@media (max-width: 899.98px) { .rs-hc__rates li { font-size: 12px; } .rs-hc__rates li b { font-size: 13px; } .rs-hc__rates { gap: 11px; } }
/* selector list: sentence case so the client's wording is shown exactly */
.rs-sel__opt-size { text-transform: none; font-size: clamp(15px, 1.25vw, 19px); letter-spacing: .3px; }
.rs-sel__opt-price { text-transform: none; letter-spacing: .4px; font-size: 12px; white-space: nowrap; }
.rs-sel__size-unit { text-transform: none; letter-spacing: 1px; }
.rs-hc__rates li { font-size: 12px; } .rs-hc__rates li b { font-size: 13px; }
@media (max-width: 899.98px) { .rs-hc__rates li { font-size: 12.5px; } .rs-hc__rates li b { font-size: 13.5px; } }

.rs-sel__price-num { white-space: nowrap; }
.rs-sel__price-rest { display: block; margin-top: 6px; font-family: var(--body, inherit); font-weight: 400; font-size: 13px; letter-spacing: .4px; color: var(--navy-2); }
.lc { text-transform: lowercase !important; }

/* phones: the whole line "600 sq. ft. | RERA Carpet Area | ₹1.80 Cr. Onwards +++" stays on ONE line — text scales with the screen */
@media (max-width: 599.98px) {
  .rs-hc__rates li { flex-wrap: nowrap; white-space: nowrap; font-size: min(12.5px, 2.78vw); }
  .rs-hc__rates li b { font-size: min(13.5px, 3vw); }
  .rs-hc__rates li i { margin: 0 min(7px, 1.4vw); }
  .rs-hc__rates { gap: 10px; }
}
/* Jodi row reads as one phrase: "2+2 Jodi Flat – 1,300 sq. ft." with "RERA Carpet Area" under the size */
.rs-hc__list li.rs-hc__jodi { justify-content: flex-start; gap: 8px; }
.rs-hc__list li.rs-hc__jodi span { flex: 0 0 auto; }
.rs-hc__list li.rs-hc__jodi b { text-align: left; flex: 0 1 auto; }

/* "RERA Carpet Area" comes AFTER the number, on the same line */
.rs-hc__list li.rs-hc__jodi { flex-wrap: nowrap; white-space: nowrap; align-items: baseline; }
.rs-hc__list li.rs-hc__jodi b { display: inline-flex; align-items: baseline; gap: 7px; white-space: nowrap; }
.rs-hc__list li.rs-hc__jodi b em { display: inline; margin: 0; font-family: var(--body, inherit); font-weight: 400; font-size: 12px; letter-spacing: .2px; text-transform: none; color: var(--navy-2); }
@media (max-width: 599.98px) { .rs-hc__list li.rs-hc__jodi { font-size: min(12.5px, 2.78vw); } .rs-hc__list li.rs-hc__jodi b { font-size: min(15px, 3.5vw); gap: min(7px, 1.4vw); } .rs-hc__list li.rs-hc__jodi b em { font-size: min(12.5px, 2.78vw); } }
.rs-c__size { white-space: nowrap; }
.rs-c__size .rs-c__rera { display: inline; margin: 0 0 0 .6em; font-size: clamp(11px, 1.05vw, 15px); letter-spacing: 2px; vertical-align: middle; }
@media (max-width: 599.98px) { .rs-c__size { font-size: min(34px, 8vw); } .rs-c__size .rs-c__rera { font-size: min(11px, 2.7vw); letter-spacing: 1px; } }

/* Aquarius logo = the client's original artwork on its own white plate (no recolouring) */
img[src$="aquarius-plate.jpg"] { border-radius: 3px; filter: none !important; }
.rs-by__logo { height: clamp(32px, 2.9vw, 44px); }
.rs-a__by .rs-by__logo { height: clamp(32px, 2.9vw, 44px); margin-left: 8px; }
.pg-hero__by .rs-by__logo, .pg-hero__by--line .rs-by__logo { height: clamp(36px, 3.3vw, 52px); }
.rs-footer__by img { height: 40px; }
@media (max-width: 899.98px) { .rs-by__logo, .rs-a__by .rs-by__logo { height: 32px; } .pg-hero__by .rs-by__logo, .pg-hero__by--line .rs-by__logo { height: 38px; } }

/* residence list: size text and price share ONE font size (same line, same size) */
.rs-sel__opt-size, .rs-sel__opt-price { font-size: clamp(11px, 1.02vw, 15px); letter-spacing: .2px; font-weight: 300; text-transform: none; white-space: nowrap; }
.rs-sel__opt-size, .rs-sel__opt-price { font-size: clamp(11px, 1.2vw, 17px); }

/* JPC VELORA logo = the client's original artwork on its own white plate (no recolouring) */
img[src$="jpc-velora-plate.jpg"] { border-radius: 3px; filter: none !important; }
.rs-header__logo img { height: clamp(46px, 4.1vw, 62px) !important; }
@media (max-width: 899.98px) { .rs-header__logo img { height: 40px !important; } }
.rs-nm--mark { height: 58px; }
.rs-nm--jpc[style*="height:30px"] { height: 40px !important; }

/* living-room note: to the LEFT of the photo, same size/case as the other notes */
@media (min-width: 900px) { .rs-f__note.rs-f__note--liv { left: auto; right: calc(var(--gutter) + 32vw + 2.5vw); top: 47vw; width: 22vw; text-align: right; } }
/* kitchen note: right next to the photo (photo = left 13vw, width 38vw) */
@media (min-width: 900px) { .rs-f__note.rs-f__note--end { right: auto; left: calc(13vw + 38vw + 2.5vw); top: 83vw; width: 16vw; text-align: left; } }
@media (min-width: 900px) { .rs-f__cap--bed { top: 22.3vw; } }

/* footer: five columns — Get in Touch · Quick Links · Location · Site Address · Office Address */
@media (min-width: 900px) { .rs-footer__top { grid-template-columns: 1.25fr .7fr .9fr 1.25fr 1.25fr; gap: 32px; } }
@media (min-width: 900px) and (max-width: 1199.98px) { .rs-footer__top { grid-template-columns: 1fr 1fr 1fr; row-gap: 36px; } }

/* MahaRERA block: stands out — light text, bigger, on a soft panel with a thin gold frame */
.rs-footer__legal { margin-top: 30px; padding: 22px 26px; gap: 26px; align-items: center; background: rgba(255,255,255,.055); border: 1px solid rgba(184,154,82,.5); border-radius: 6px; color: #F1EDE3; }
.rs-footer__legal .rs-legal__logo { width: 82px; height: 82px; }
.rs-footer__legal .rs-legal__qr { width: 104px; height: 104px; padding: 5px; }
.rs-legal__txt { margin: 0; display: grid; gap: 6px; }
.rs-legal__label { font-size: 12px; letter-spacing: 2.6px; text-transform: uppercase; color: var(--gold); }
.rs-legal__no { font-family: var(--head); font-weight: 500; font-size: clamp(17px, 1.7vw, 24px); letter-spacing: .3px; color: #FFFFFF; line-height: 1.3; }
.rs-legal__sub { font-size: clamp(14px, 1.15vw, 16px); line-height: 1.6; color: #E6E1D5; }
.rs-legal__sub a { color: #FFFFFF; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--gold); }
@media (max-width: 899.98px) { .rs-footer__legal { padding: 20px; flex-direction: column; align-items: flex-start; } .rs-footer__legal .rs-legal__qr { width: 120px; height: 120px; } }
/* footer: "A Project by" on one line, the Aquarius logo underneath it */
.rs-footer__by { flex-direction: column; align-items: flex-start; gap: 10px; }
.rs-footer__by span { white-space: nowrap; }

/* phone: each tab shows the size on line 1 and "RERA Carpet Area" on line 2, centred and spaced */
@media (max-width: 899.98px) {
  .rs-sel__list { gap: 8px; }
  .rs-sel__opt { padding: 14px 4px; }
  .rs-sel__opt-size { white-space: normal; font-size: 12.5px; line-height: 1.45; letter-spacing: .1px; text-align: center; }
  .rs-sel__opt-size i { display: none; }
  .rs-sel__opt-part { display: block; }
}
@media (max-width: 420px) { .rs-sel__opt-size { font-size: 11px; letter-spacing: 0; } }

.rs-hc__main b { margin-right: 0; }
.rs-legal__label { text-transform: none; letter-spacing: 1.2px; font-size: 14px; }
/* "A Project by" shows exactly like that everywhere (not in capitals) */
.rs-by__t, .rs-a__by, .rs-footer__by, .rs-footer__by span, .pg-hero__by--line .rs-by__t { text-transform: none; letter-spacing: .12em; font-size: 14px; }

/* "A Project by [Aquarius]" lives in the header, just before the Enquire Now button; it is removed from the hero banners */
.rs-a__by { display: none; }
.rs-header__actions { display: flex; align-items: center; gap: 22px; }
.rs-header__by { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.rs-header__by > span { font-size: 13px; letter-spacing: .1em; color: var(--sand); }
.rs-header__by img { height: 34px; width: auto; border-radius: 3px; display: block; }
@media (max-width: 1279.98px) { .rs-header__by { display: none; } }
@media (min-width: 1280px) and (max-width: 1359.98px) { .rs-header__by { display: none; } }

/* narrower desktops: keep the Aquarius logo in the header (logo only, no words) and tighten the menu to make room */
@media (min-width: 900px) and (max-width: 1359.98px) {
  .rs-header__by { display: flex !important; }
  .rs-header__by > span { display: none; }
  .rs-header__by img { height: 30px; }
  .rs-header { padding: 0 22px; }
  .rs-nav { gap: clamp(12px, 1.5vw, 24px); margin-left: clamp(14px, 2vw, 32px); }
  .rs-nav a { font-size: clamp(11px, 1vw, 13px); letter-spacing: .08em; }
  .rs-header__actions { gap: 14px; }
  .rs-header__actions .rs-btn { padding-left: 18px; padding-right: 18px; }
  .rs-header__logo img { height: clamp(40px, 3.6vw, 52px) !important; }
}

/* Mobile menu: "A Project by" lockup */
.rs-menu__by{display:flex;align-items:center;gap:12px;white-space:nowrap}
.rs-menu__by > span{font-size:13px;letter-spacing:.1em;color:var(--sand)}
.rs-menu__by img{height:34px;width:auto;border-radius:3px;display:block}

/* hero card: "2 BHK with Deck" sits above the flat sizes */
.rs-hc__type { margin: 0; padding: 12px 0 0; display: flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: .4px; color: var(--navy); }
.rs-hc__type::before { content: ''; flex: 0 0 5px; height: 5px; background: var(--gold); transform: rotate(45deg); }
.rs-hc__type + .rs-hc__rates { padding-top: 10px; }
@media (max-width: 899.98px) { .rs-hc__type { font-size: 12.5px; } }

/* Residences selector: "2 BHK with Deck" above the flat sizes */
.rs-sel__type { margin: 16px 0 0; font-family: var(--head); font-weight: 600; font-size: clamp(20px, 1.9vw, 28px); letter-spacing: .3px; line-height: 1.2; color: var(--gold); }
@media (max-width: 899.98px) { .rs-sel__type { margin-top: 12px; font-size: 22px; } }
@media (min-width: 900px) {
  .rs-sel__type { margin-top: 8px; font-size: clamp(18px, 1.7vw, 26px); }
  .rs-sel__list { margin-top: 1.6vh; }
  .rs-sel__readout { margin-top: 2vh; }
}
@media (min-width: 900px) and (max-height: 800px) {
  .rs-sel__head .rs-h2 { margin-top: 8px; }
  .rs-sel__list { margin-top: 1.2vh; }
  .rs-sel__readout { margin-top: 1.2vh; }
}
