/*
 * EJE Residences landing — Elementor V4 / Atomic + Flexbox
 * Scope: #eje-landing and #eje-access only.
 */
:root {
  --eje-ink: #0b0b0b;
  --eje-ink-2: #151515;
  --eje-paper: #f3f0ea;
  --eje-white: #ffffff;
  --eje-gold: #c6a56d;
  --eje-gold-2: #e2c38b;
  --eje-muted: #bcb7ad;
  --eje-line: rgba(255,255,255,.14);
  --eje-shadow: 0 30px 80px rgba(0,0,0,.28);
  --eje-radius: 26px;
  --eje-max: 1220px;
}

#eje-landing, #eje-access {
  background: var(--eje-ink);
  color: var(--eje-white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow: clip;
  width: 100%;
}
#eje-landing *, #eje-access * { box-sizing: border-box; }
#eje-landing a, #eje-access a { color: inherit; }
#eje-landing h1, #eje-landing h2, #eje-landing h3,
#eje-access h1, #eje-access h2, #eje-access h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -.035em;
  text-wrap: balance;
}
#eje-landing p, #eje-access p { margin: 0; }

#eje-header {
  position: sticky;
  top: 0;
  z-index: 50;
  width: 100%;
  min-height: 76px;
  padding: 0 28px;
  border-bottom: 1px solid rgba(255,255,255,.1);
  background: rgba(11,11,11,.84);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
#eje-header-inner {
  width: min(100%, var(--eje-max));
  min-height: 76px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
#eje-brand .e-heading,
#eje-brand h2 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
#eje-header-actions { display:flex; flex-direction:row; align-items:center; gap:12px; }

#eje-landing .e-button-base, #eje-access .e-button-base,
#eje-landing .e-button, #eje-access .e-button,
.eje-preview .eje-btn {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 21px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--eje-gold);
  color: #111;
  font: 700 14px/1.15 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: .01em;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
#eje-landing .e-button-base:hover, #eje-access .e-button-base:hover,
#eje-landing .e-button:hover, #eje-access .e-button:hover,
.eje-preview .eje-btn:hover { transform: translateY(-2px); background: var(--eje-gold-2); }
#eje-landing .e-button-base:focus-visible, #eje-access .e-button-base:focus-visible,
#eje-landing a:focus-visible, #eje-access a:focus-visible {
  outline: 3px solid rgba(226,195,139,.75);
  outline-offset: 4px;
}
#eje-btn-secondary .e-button-base,
#eje-btn-secondary .e-button,
#eje-access-secondary .e-button-base,
#eje-access-secondary .e-button,
.eje-preview .eje-btn.eje-btn-secondary {
  background: transparent;
  color: var(--eje-white);
  border-color: rgba(255,255,255,.35);
}
#eje-btn-secondary .e-button-base:hover,
#eje-btn-secondary .e-button:hover,
#eje-access-secondary .e-button-base:hover,
#eje-access-secondary .e-button:hover,
.eje-preview .eje-btn.eje-btn-secondary:hover { border-color: var(--eje-gold); background: rgba(198,165,109,.08); }

#eje-hero {
  width: 100%;
  min-height: min(880px, calc(100svh - 76px));
  display: flex;
  flex-direction: row;
  align-items: stretch;
  background:
    radial-gradient(circle at 20% 20%, rgba(198,165,109,.17), transparent 34%),
    linear-gradient(135deg, #111 0%, #080808 65%);
}
#eje-hero-copy {
  width: 55%;
  min-height: 720px;
  padding: clamp(72px, 8vw, 124px) clamp(28px, 6vw, 88px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 26px;
}
#eje-hero-visual {
  width: 45%;
  min-height: 720px;
  position: relative;
  background-image:
    linear-gradient(90deg, #0b0b0b 0%, rgba(11,11,11,.2) 25%, rgba(11,11,11,.08) 100%),
    url('../images/hero-tower.webp');
  background-size: cover;
  background-position: center 42%;
}
#eje-hero-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.68) 100%);
  pointer-events: none;
}
#eje-eyebrow, .eje-eyebrow {
  color: var(--eje-gold-2);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
#eje-hero-title .e-heading, #eje-hero-title h1 {
  max-width: 820px;
  font-size: clamp(52px, 6.7vw, 104px);
  line-height: .96;
}
#eje-hero-lead .e-paragraph, #eje-hero-lead p {
  max-width: 700px;
  color: #d7d3cb;
  font-size: clamp(18px, 1.45vw, 23px);
  line-height: 1.55;
}
#eje-hero-actions { display:flex; flex-direction:row; flex-wrap:wrap; gap:12px; }
#eje-hero-note .e-paragraph, #eje-hero-note p { color: #aaa69d; font-size: 13px; line-height:1.55; max-width:650px; }

#eje-proof {
  width: 100%;
  padding: 0 28px;
  margin-top: -1px;
  background: #111;
  border-top: 1px solid var(--eje-line);
  border-bottom: 1px solid var(--eje-line);
}
#eje-proof-inner {
  width: min(100%, var(--eje-max));
  margin: 0 auto;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
}
.eje-proof-item {
  min-height: 170px;
  padding: 34px 28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  border-right:1px solid var(--eje-line);
}
.eje-proof-item:last-child { border-right:0; }
.eje-proof-number .e-heading, .eje-proof-number h3 { font-size:clamp(30px,3vw,48px); color:var(--eje-gold-2); }
.eje-proof-label .e-paragraph, .eje-proof-label p { color:#c8c4bc; font-size:14px; line-height:1.45; }

.eje-section { width:100%; padding: clamp(82px, 10vw, 150px) 28px; }
.eje-section-inner { width:min(100%,var(--eje-max)); margin:0 auto; }
.eje-section-head { max-width:820px; display:flex; flex-direction:column; gap:18px; margin-bottom:48px; }
.eje-section-title .e-heading, .eje-section-title h2 { font-size:clamp(40px,5vw,76px); line-height:1.04; }
.eje-section-copy .e-paragraph, .eje-section-copy p { max-width:760px; color:#c9c5bd; font-size:18px; line-height:1.7; }

#eje-location { background:var(--eje-paper); color:#171717; }
#eje-location .eje-section-copy .e-paragraph, #eje-location .eje-section-copy p { color:#55514b; }
#eje-location-grid { display:grid; grid-template-columns: .88fr 1.12fr; gap:clamp(32px,6vw,78px); align-items:center; }
#eje-location-copy { display:flex; flex-direction:column; gap:24px; }
#eje-location-visual {
  min-height:610px;
  border-radius:var(--eje-radius);
  background-image:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.4)),url('../images/location-aerial.webp');
  background-size:cover;
  background-position:center;
  box-shadow:var(--eje-shadow);
}
#eje-location-list { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.eje-chip { min-height:62px; padding:15px 18px; border:1px solid rgba(0,0,0,.12); border-radius:16px; background:rgba(255,255,255,.55); display:flex; align-items:center; }
.eje-chip .e-paragraph, .eje-chip p { color:#282520; font-size:14px; line-height:1.35; }

#eje-concept { background:#0b0b0b; }
#eje-concept-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(30px,5vw,72px); align-items:stretch; }
#eje-concept-visual {
  min-height:720px;
  border-radius:var(--eje-radius);
  background-image:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.5)),url('../images/architecture.webp');
  background-size:cover;
  background-position:center;
  box-shadow:var(--eje-shadow);
}
#eje-concept-copy { display:flex; flex-direction:column; justify-content:center; gap:24px; }
#eje-concept-copy .eje-section-title .e-heading, #eje-concept-copy .eje-section-title h2 { font-size:clamp(42px,5vw,72px); }
#eje-concept-points { display:grid; grid-template-columns:1fr; gap:13px; margin-top:8px; }
.eje-dark-card { padding:23px 24px; border:1px solid var(--eje-line); border-radius:18px; background:rgba(255,255,255,.035); display:flex; flex-direction:column; gap:8px; }
.eje-dark-card-title .e-heading, .eje-dark-card-title h3 { font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:16px; font-weight:750; letter-spacing:-.01em; }
.eje-dark-card-copy .e-paragraph, .eje-dark-card-copy p { color:#aaa69f; font-size:14px; line-height:1.55; }

#eje-amenities { background:#151515; }
#eje-amenities-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:230px; gap:18px; }
.eje-photo-card { position:relative; overflow:hidden; border-radius:22px; background-size:cover; background-position:center; min-height:230px; }
.eje-photo-card::after { content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.82)); }
.eje-photo-card > * { position:relative; z-index:2; margin-top:auto; padding:25px; }
.eje-photo-card .e-heading, .eje-photo-card h3 { font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:20px; font-weight:700; letter-spacing:-.02em; }
#eje-amenity-wellness { grid-column:span 7; grid-row:span 2; background-image:url('../images/wellness.webp'); }
#eje-amenity-rooftop { grid-column:span 5; grid-row:span 2; background-image:url('../images/rooftop-pool.webp'); }
#eje-amenity-cowork { grid-column:span 4; background-image:url('../images/interior-wide.webp'); }
#eje-amenity-sum { grid-column:span 4; background-image:url('../images/rooftop-sum.webp'); }
#eje-amenity-garden { grid-column:span 4; background-image:url('../images/residence-detail.webp'); }
#eje-amenity-list { margin-top:30px; display:flex; flex-direction:row; flex-wrap:wrap; gap:10px; }
#eje-amenity-list .eje-pill { padding:11px 15px; border:1px solid var(--eje-line); border-radius:999px; color:#d1cdc5; font-size:13px; }

#eje-units { background:var(--eje-paper); color:#151515; }
#eje-units .eje-section-copy .e-paragraph, #eje-units .eje-section-copy p { color:#55514b; }
#eje-units-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.eje-unit-card { min-height:290px; padding:32px; border-radius:22px; background:#fff; border:1px solid rgba(0,0,0,.08); display:flex; flex-direction:column; gap:16px; justify-content:space-between; box-shadow:0 18px 45px rgba(28,24,18,.08); }
.eje-unit-card-title .e-heading, .eje-unit-card-title h3 { font-size:34px; }
.eje-unit-card-copy .e-paragraph, .eje-unit-card-copy p { color:#5d5952; font-size:15px; line-height:1.6; }
.eje-unit-card-meta .e-paragraph, .eje-unit-card-meta p { color:#9a753f; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
#eje-unit-note { margin-top:24px; padding:18px 21px; border-left:3px solid var(--eje-gold); background:rgba(198,165,109,.08); }
#eje-unit-note .e-paragraph, #eje-unit-note p { color:#5a554d; font-size:13px; line-height:1.55; }

#eje-video { background:#0b0b0b; }
#eje-video-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(30px,5vw,70px); align-items:center; }
#eje-video-copy { display:flex; flex-direction:column; gap:22px; }
#eje-video-player { border-radius:24px; overflow:hidden; background:#050505; box-shadow:var(--eje-shadow); }
#eje-video-player video { display:block; width:100%; height:auto; max-height:760px; object-fit:contain; background:#050505; }

#eje-advisory { background:#181715; }
#eje-advisory-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.eje-advisory-card { padding:clamp(28px,4vw,48px); border-radius:24px; border:1px solid var(--eje-line); background:rgba(255,255,255,.035); display:flex; flex-direction:column; gap:17px; }
.eje-advisory-card-title .e-heading, .eje-advisory-card-title h3 { font-size:clamp(30px,3vw,44px); }
.eje-advisory-card-copy .e-paragraph, .eje-advisory-card-copy p { color:#bbb7ae; font-size:16px; line-height:1.65; }

#eje-form-section { background:var(--eje-paper); color:#151515; }
#eje-form-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(34px,6vw,82px); align-items:start; }
#eje-form-copy { display:flex; flex-direction:column; gap:22px; position:sticky; top:110px; }
#eje-form-copy .eje-section-copy .e-paragraph, #eje-form-copy .eje-section-copy p { color:#56514a; }
#eje-form-benefits { display:flex; flex-direction:column; gap:11px; }
.eje-benefit { padding:16px 18px; border-radius:14px; background:#fff; border:1px solid rgba(0,0,0,.08); }
.eje-benefit .e-paragraph, .eje-benefit p { color:#292620; font-size:14px; line-height:1.45; }
#eje-sureforms-shell { padding:clamp(24px,4vw,46px); border-radius:26px; background:#fff; box-shadow:0 28px 70px rgba(37,31,23,.14); }
#eje-sureforms-placeholder { display:none; }
.elementor-editor-active #eje-sureforms-placeholder,
.elementor-edit-area-active #eje-sureforms-placeholder { display:flex; padding:18px; border:2px dashed #c6a56d; border-radius:14px; color:#5d4b2e; background:#fff8e8; }

/* SureForms — robust selectors across current releases */
#eje-sureforms-shell .srfm-form-container,
#eje-sureforms-shell .srfm-form,
#eje-sureforms-shell form { width:100%; }
#eje-sureforms-shell label { color:#26231f; font-weight:700; font-size:14px; }
#eje-sureforms-shell input:not([type="checkbox"]):not([type="radio"]),
#eje-sureforms-shell select,
#eje-sureforms-shell textarea {
  width:100%;
  min-height:54px;
  border:1px solid #d9d4ca !important;
  border-radius:12px !important;
  background:#faf9f6 !important;
  color:#171717 !important;
  padding:13px 15px !important;
  box-shadow:none !important;
  font:500 16px/1.4 Inter,ui-sans-serif,system-ui,sans-serif !important;
}
#eje-sureforms-shell input:focus,
#eje-sureforms-shell select:focus,
#eje-sureforms-shell textarea:focus { border-color:var(--eje-gold) !important; outline:3px solid rgba(198,165,109,.22) !important; }
#eje-sureforms-shell button[type="submit"],
#eje-sureforms-shell input[type="submit"],
#eje-sureforms-shell .srfm-submit-button {
  width:100%;
  min-height:56px;
  border:0 !important;
  border-radius:999px !important;
  background:var(--eje-gold) !important;
  color:#111 !important;
  font-weight:800 !important;
  cursor:pointer;
}
#eje-sureforms-shell .srfm-error-message,
#eje-sureforms-shell [role="alert"] { color:#9f2d20; font-size:13px; }
#eje-sureforms-shell a { color:#71572f; text-decoration:underline; }

#eje-faq { background:#0b0b0b; }
#eje-faq-list { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.eje-faq-item { padding:28px; border:1px solid var(--eje-line); border-radius:20px; background:rgba(255,255,255,.03); display:flex; flex-direction:column; gap:12px; }
.eje-faq-q .e-heading, .eje-faq-q h3 { font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:18px; font-weight:750; letter-spacing:-.02em; }
.eje-faq-a .e-paragraph, .eje-faq-a p { color:#aaa69f; font-size:15px; line-height:1.65; }

#eje-final { background-image:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.42)),url('../images/city-aerial.webp'); background-size:cover; background-position:center; }
#eje-final-inner { min-height:560px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:24px; }
#eje-final-title .e-heading, #eje-final-title h2 { max-width:900px; font-size:clamp(46px,6vw,88px); line-height:1; }
#eje-final-copy .e-paragraph, #eje-final-copy p { color:#ddd8d0; font-size:18px; line-height:1.6; max-width:720px; }

#eje-footer { padding:35px 28px; background:#070707; border-top:1px solid var(--eje-line); }
#eje-footer-inner { width:min(100%,var(--eje-max)); margin:0 auto; display:flex; flex-direction:row; justify-content:space-between; gap:20px; align-items:center; }
#eje-footer .e-paragraph, #eje-footer p { color:#8e8a82; font-size:12px; line-height:1.5; }

/* Access / thank-you page */
#eje-access { min-height:100svh; display:flex; align-items:center; justify-content:center; padding:48px 24px; background:
  radial-gradient(circle at 15% 10%,rgba(198,165,109,.2),transparent 33%),
  linear-gradient(135deg,#151515,#070707); }
#eje-access-card { width:min(100%,1050px); padding:clamp(32px,6vw,76px); border:1px solid var(--eje-line); border-radius:32px; background:rgba(19,19,19,.88); box-shadow:var(--eje-shadow); display:flex; flex-direction:column; align-items:center; text-align:center; gap:22px; }
#eje-access-title .e-heading, #eje-access-title h1 { font-size:clamp(44px,6vw,78px); line-height:1.03; max-width:900px; }
#eje-access-copy .e-paragraph, #eje-access-copy p { color:#c9c5bd; font-size:18px; line-height:1.65; max-width:720px; }
#eje-access-options { width:100%; margin-top:22px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.eje-access-option { min-height:310px; padding:34px; border:1px solid var(--eje-line); border-radius:22px; background:rgba(255,255,255,.035); display:flex; flex-direction:column; align-items:flex-start; text-align:left; justify-content:space-between; gap:20px; }
.eje-access-option-title .e-heading, .eje-access-option-title h2 { font-size:34px; }
.eje-access-option-copy .e-paragraph, .eje-access-option-copy p { color:#aaa69f; font-size:15px; line-height:1.6; }
#eje-access-note .e-paragraph, #eje-access-note p { color:#858179; font-size:12px; line-height:1.5; }

.eje-reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease,transform .7s ease; }
.eje-reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 980px) {
  #eje-header-actions #eje-header-secondary { display:none; }
  #eje-hero { flex-direction:column; }
  #eje-hero-copy, #eje-hero-visual { width:100%; }
  #eje-hero-copy { min-height:auto; padding-top:84px; padding-bottom:70px; }
  #eje-hero-visual { min-height:720px; background-position:center 40%; }
  #eje-proof-inner { grid-template-columns:1fr 1fr; }
  .eje-proof-item:nth-child(2) { border-right:0; }
  .eje-proof-item:nth-child(-n+2) { border-bottom:1px solid var(--eje-line); }
  #eje-location-grid, #eje-concept-grid, #eje-video-grid, #eje-form-grid { grid-template-columns:1fr; }
  #eje-location-visual { min-height:520px; }
  #eje-concept-visual { min-height:650px; }
  #eje-form-copy { position:static; }
  #eje-units-grid { grid-template-columns:1fr 1fr; }
  #eje-amenities-grid { grid-template-columns:1fr 1fr; grid-auto-rows:300px; }
  #eje-amenity-wellness,#eje-amenity-rooftop,#eje-amenity-cowork,#eje-amenity-sum,#eje-amenity-garden { grid-column:span 1; grid-row:span 1; }
}

@media (max-width: 680px) {
  #eje-header { padding:0 18px; }
  #eje-header-inner { min-height:68px; }
  #eje-brand .e-heading, #eje-brand h2 { font-size:13px; }
  #eje-header-actions .e-button-base, #eje-header-actions .e-button { min-height:42px; padding:11px 14px; font-size:12px; }
  #eje-hero-copy { padding:64px 20px 54px; }
  #eje-hero-visual { min-height:570px; background-image:linear-gradient(180deg,rgba(11,11,11,.03),rgba(11,11,11,.5)),url('../images/hero-tower-day.webp'); background-position:center top; }
  #eje-hero-title .e-heading, #eje-hero-title h1 { font-size:clamp(45px,16vw,68px); }
  #eje-hero-actions { width:100%; flex-direction:column; }
  #eje-hero-actions > * { width:100%; }
  #eje-hero-actions .e-button-base, #eje-hero-actions .e-button { width:100%; }
  #eje-proof { padding:0 18px; }
  #eje-proof-inner { grid-template-columns:1fr; }
  .eje-proof-item { min-height:130px; padding:24px 10px; border-right:0; border-bottom:1px solid var(--eje-line); }
  .eje-proof-item:last-child { border-bottom:0; }
  .eje-section { padding:78px 20px; }
  #eje-location-list,#eje-units-grid,#eje-faq-list,#eje-advisory-grid,#eje-access-options { grid-template-columns:1fr; }
  #eje-location-visual { min-height:390px; }
  #eje-concept-visual { min-height:560px; }
  #eje-amenities-grid { grid-template-columns:1fr; grid-auto-rows:310px; }
  #eje-footer-inner { flex-direction:column; align-items:flex-start; }
  #eje-access-card { padding:34px 22px; }
  .eje-access-option { min-height:270px; padding:27px; }
}

@media (prefers-reduced-motion: reduce) {
  #eje-landing *, #eje-access * { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
  .eje-reveal { opacity:1; transform:none; }
}

/* Atomic-ID compatibility layer: all styling remains functional even when V4 does not expose custom class names. */
#eje-location,#eje-concept,#eje-amenities,#eje-units,#eje-video,#eje-advisory,#eje-form-section,#eje-faq,#eje-final {
  width:100%; padding:clamp(82px,10vw,150px) 28px;
}
#eje-location-inner,#eje-concept-inner,#eje-amenities-inner,#eje-units-inner,#eje-video-inner,#eje-advisory-inner,#eje-form-inner,#eje-faq-inner,#eje-final-inner {
  width:min(100%,var(--eje-max)); margin:0 auto;
}
#eje-amenities-head,#eje-units-head,#eje-advisory-head,#eje-faq-head {
  max-width:820px; display:flex; flex-direction:column; gap:18px; margin-bottom:48px;
}
#eje-location-eyebrow,#eje-concept-eyebrow,#eje-amenities-eyebrow,#eje-units-eyebrow,#eje-video-eyebrow,#eje-advisory-eyebrow,#eje-form-eyebrow,#eje-faq-eyebrow,#eje-final-eyebrow,#eje-access-eyebrow {
  color:var(--eje-gold-2); font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase;
}
#eje-location-title,#eje-concept-title,#eje-amenities-title,#eje-units-title,#eje-video-title,#eje-advisory-title,#eje-form-title,#eje-faq-title {
  font-family:Georgia,"Times New Roman",serif; font-size:clamp(40px,5vw,76px); line-height:1.04;
}
#eje-location-text,#eje-concept-text,#eje-amenities-copy,#eje-units-copy,#eje-video-text,#eje-form-text {
  max-width:760px; color:#c9c5bd; font-size:18px; line-height:1.7;
}
#eje-location-list > [id^="eje-chip-"] {
  min-height:62px; padding:15px 18px; border:1px solid rgba(0,0,0,.12); border-radius:16px; background:rgba(255,255,255,.55); display:flex; align-items:center;
}
#eje-location-list > [id^="eje-chip-"] p,
#eje-location-list > [id^="eje-chip-"] .e-paragraph { color:#282520; font-size:14px; line-height:1.35; }
#eje-concept-points > [id^="eje-concept-point-"] {
  padding:23px 24px; border:1px solid var(--eje-line); border-radius:18px; background:rgba(255,255,255,.035); display:flex; flex-direction:column; gap:8px;
}
#eje-concept-points > [id^="eje-concept-point-"] [id$="-title"] { font:750 16px/1.25 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.01em; }
#eje-concept-points > [id^="eje-concept-point-"] [id$="-copy"] { color:#aaa69f; font-size:14px; line-height:1.55; }
#eje-amenities-grid > #eje-amenity-wellness,
#eje-amenities-grid > #eje-amenity-rooftop,
#eje-amenities-grid > #eje-amenity-cowork,
#eje-amenities-grid > #eje-amenity-sum,
#eje-amenities-grid > #eje-amenity-garden {
  position:relative; overflow:hidden; border-radius:22px; background-size:cover; background-position:center; min-height:230px;
}
#eje-amenities-grid > #eje-amenity-wellness::after,
#eje-amenities-grid > #eje-amenity-rooftop::after,
#eje-amenities-grid > #eje-amenity-cowork::after,
#eje-amenities-grid > #eje-amenity-sum::after,
#eje-amenities-grid > #eje-amenity-garden::after { content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.82)); }
#eje-amenities-grid > [id^="eje-amenity-"] > * { position:relative; z-index:2; margin-top:auto; padding:25px; }
#eje-amenities-grid > [id^="eje-amenity-"] [id$="-title"] { font:700 20px/1.25 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.02em; }
#eje-amenity-list > [id^="eje-pill-"] { padding:11px 15px; border:1px solid var(--eje-line); border-radius:999px; color:#d1cdc5; font-size:13px; }
#eje-units-grid > [id^="eje-unit-"] {
  min-height:290px; padding:32px; border-radius:22px; background:#fff; border:1px solid rgba(0,0,0,.08); display:flex; flex-direction:column; gap:16px; justify-content:space-between; box-shadow:0 18px 45px rgba(28,24,18,.08);
}
#eje-units-grid > [id^="eje-unit-"] [id$="-title"] { font-size:34px; }
#eje-units-grid > [id^="eje-unit-"] [id$="-copy"] { color:#5d5952; font-size:15px; line-height:1.6; }
#eje-units-grid > [id^="eje-unit-"] [id$="-meta"] { color:#9a753f; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
#eje-advisory-grid > [id^="eje-advisory-"] {
  padding:clamp(28px,4vw,48px); border-radius:24px; border:1px solid var(--eje-line); background:rgba(255,255,255,.035); display:flex; flex-direction:column; gap:17px;
}
#eje-advisory-grid > [id^="eje-advisory-"] [id$="-title"] { font-size:clamp(30px,3vw,44px); }
#eje-advisory-grid > [id^="eje-advisory-"] [id$="-copy"] { color:#bbb7ae; font-size:16px; line-height:1.65; }
#eje-form-benefits > [id^="eje-benefit-"] { padding:16px 18px; border-radius:14px; background:#fff; border:1px solid rgba(0,0,0,.08); }
#eje-form-benefits > [id^="eje-benefit-"] p,
#eje-form-benefits > [id^="eje-benefit-"] .e-paragraph { color:#292620; font-size:14px; line-height:1.45; }
#eje-faq-list > [id^="eje-faq-"] {
  padding:28px; border:1px solid var(--eje-line); border-radius:20px; background:rgba(255,255,255,.03); display:flex; flex-direction:column; gap:12px;
}
#eje-faq-list > [id^="eje-faq-"] [id$="-q"] { font:750 18px/1.3 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.02em; }
#eje-faq-list > [id^="eje-faq-"] [id$="-a"] { color:#aaa69f; font-size:15px; line-height:1.65; }
#eje-access-options > [id^="eje-access-option-"] {
  min-height:310px; padding:34px; border:1px solid var(--eje-line); border-radius:22px; background:rgba(255,255,255,.035); display:flex; flex-direction:column; align-items:flex-start; text-align:left; justify-content:space-between; gap:20px;
}
#eje-access-options > [id^="eje-access-option-"] [id$="-title"] { font-size:34px; }
#eje-access-options > [id^="eje-access-option-"] [id$="-copy"] { color:#aaa69f; font-size:15px; line-height:1.6; }
#eje-btn-secondary.e-button-base,#eje-btn-secondary.e-button,
#eje-access-secondary.e-button-base,#eje-access-secondary.e-button { background:transparent;color:var(--eje-white);border-color:rgba(255,255,255,.35); }
#eje-hero-title,#eje-access-title,#eje-final-title { font-family:Georgia,"Times New Roman",serif; }

@media (max-width:680px) {
  #eje-location,#eje-concept,#eje-amenities,#eje-units,#eje-video,#eje-advisory,#eje-form-section,#eje-faq,#eje-final { padding:78px 20px; }
  #eje-access-options > [id^="eje-access-option-"] { min-height:270px; padding:27px; }
}

/* Direct Atomic element IDs: typography is applied whether the ID lands on a wrapper or on the semantic element itself. */
#eje-hero-title { max-width:820px; font-size:clamp(52px,6.7vw,104px); line-height:.96; }
#eje-hero-lead { max-width:700px; color:#d7d3cb; font-size:clamp(18px,1.45vw,23px); line-height:1.55; }
#eje-hero-note { color:#aaa69d; font-size:13px; line-height:1.55; max-width:650px; }
#eje-proof-inner > [id^="eje-proof-"] [id$="-number"] { font-size:clamp(30px,3vw,48px); color:var(--eje-gold-2); }
#eje-proof-inner > [id^="eje-proof-"] [id$="-label"] { color:#c8c4bc; font-size:14px; line-height:1.45; }
#eje-location-text,#eje-units-copy { color:#55514b; }
#eje-form-text { color:#56514a; }
#eje-unit-note-text { color:#5a554d; font-size:13px; line-height:1.55; }
#eje-final-title { max-width:900px; font-size:clamp(46px,6vw,88px); line-height:1; }
#eje-final-copy { color:#ddd8d0; font-size:18px; line-height:1.6; max-width:720px; }
#eje-access-title { font-size:clamp(44px,6vw,78px); line-height:1.03; max-width:900px; }
#eje-access-copy { color:#c9c5bd; font-size:18px; line-height:1.65; max-width:720px; }
#eje-access-note { color:#858179; font-size:12px; line-height:1.5; }
#eje-footer-left,#eje-footer-right { color:#8e8a82; font-size:12px; line-height:1.5; }
@media (max-width:680px) {
  #eje-hero-title { font-size:clamp(45px,16vw,68px); }
}

/* v1.0.1 — Elementor V4 Atomic preview/layout hardening */
#eje-access,
.elementor-element#eje-access,
[id="eje-access"] {
  width: 100% !important;
  max-width: none !important;
  min-height: 100svh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(44px, 7vw, 96px) 24px !important;
  background: radial-gradient(circle at 15% 10%, rgba(118,151,119,.15), transparent 38%), #111512 !important;
  color: #f6f3ec !important;
}
#eje-access-card,
.elementor-element#eje-access-card,
[id="eje-access-card"] {
  width: min(100%, 1050px) !important;
  max-width: 1050px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 22px !important;
  padding: clamp(32px, 6vw, 72px) !important;
  margin: 0 auto !important;
  text-align: center !important;
  background: rgba(20,24,21,.96) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 30px !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.34) !important;
}
#eje-access-options,
.elementor-element#eje-access-options,
[id="eje-access-options"] {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
  margin-top: 18px !important;
}
#eje-access-option-1,
#eje-access-option-2,
.elementor-element#eje-access-option-1,
.elementor-element#eje-access-option-2,
[id="eje-access-option-1"],
[id="eje-access-option-2"] {
  min-width: 0 !important;
  min-height: 310px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding: 34px !important;
  text-align: left !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 22px !important;
}
#eje-access-primary,
#eje-access-secondary,
.elementor-element#eje-access-primary,
.elementor-element#eje-access-secondary {
  width: auto !important;
  min-width: 210px !important;
  max-width: 100% !important;
  align-self: flex-start !important;
}
#eje-access-primary a,
#eje-access-secondary a,
#eje-access-primary button,
#eje-access-secondary button {
  width: auto !important;
  min-width: 210px !important;
  white-space: normal !important;
}
@media (max-width: 767px) {
  #eje-access-options,
  .elementor-element#eje-access-options,
  [id="eje-access-options"] { grid-template-columns: 1fr !important; }
  #eje-access-card { padding: 34px 22px !important; }
  #eje-access-option-1,
  #eje-access-option-2 { min-height: 260px !important; padding: 27px !important; }
}

/* v1.0.2 — Elementor V4 Atomic landing root/layout hardening */
#eje-landing,
.elementor-element#eje-landing,
[id="eje-landing"] {
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  overflow: hidden !important;
  background: #0b0b0b !important;
}
#eje-landing > *,
.elementor-element#eje-landing > *,
[id="eje-landing"] > * {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
}
#eje-header,#eje-hero,#eje-proof,#eje-location,#eje-concept,#eje-amenities,#eje-units,#eje-video,#eje-advisory,#formulario-eje,#eje-faq,#eje-final,#eje-footer {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
}
#eje-header { display:block !important; }
#eje-hero { display:flex !important; flex-direction:row !important; }
#eje-proof,#eje-location,#eje-concept,#eje-amenities,#eje-units,#eje-video,#eje-advisory,#formulario-eje,#eje-faq,#eje-final,#eje-footer {
  display:block !important;
}
#eje-header-inner,#eje-proof-inner,#eje-location-inner,#eje-concept-inner,#eje-amenities-inner,#eje-units-inner,#eje-video-inner,#eje-advisory-inner,#eje-form-inner,#eje-faq-inner,#eje-final-inner,#eje-footer-inner {
  width: min(100%, var(--eje-max)) !important;
  max-width: var(--eje-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  min-width: 0 !important;
}
@media (max-width: 900px) {
  #eje-hero { flex-direction: column !important; }
  #eje-hero-copy,#eje-hero-visual { width:100% !important; min-height:auto !important; }
  #eje-hero-visual { min-height:560px !important; }
}
