/* ============================================================
    ELLE PROJECT PAGE — SPECIFIC STYLES
    ============================================================ */

/* ── APARTMENT CARDS GRID ── */
.elle-apt-cards-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
    margin-bottom: 48px;
  }
  .elle-apt-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 16px rgba(10, 45, 86, 0.08);
    cursor: pointer;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    border: 1px solid rgba(201, 140, 58, 0.1);
  }
  .elle-apt-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 32px rgba(10, 45, 86, 0.14);
  }
  .elle-apt-card-img {
    aspect-ratio: 4/3;
    overflow: hidden;
  }
  .elle-apt-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
  }
  .elle-apt-card:hover .elle-apt-card-img img {
    transform: scale(1.06);
  }
  .elle-apt-card-body {
    padding: 14px 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .elle-apt-card-type {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold);
  }
  .elle-apt-card-area {
    font-size: 15px;
    font-weight: 700;
    color: var(--navy);
  }
  .elle-apt-card-price {
    font-size: 13px;
    color: var(--text-muted);
  }
  .elle-apt-card-cta {
    margin-top: 14px;
    width: 100%;
    background: var(--navy);
    color: #fff;
    border: none;
    border-radius: 2px;
    padding: 11px 16px;
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    cursor: pointer;
    transition: background 0.2s;
  }
  .elle-apt-card-cta:hover {
    background: var(--gold);
  }
  @media (max-width: 600px) {
    .elle-apt-cards-grid {
      grid-template-columns: 1fr;
      gap: 18px;
    }
  }
  
  /* ── FACADE FLOOR SELECTOR ── */
  .elle-facade-wrap {
    margin-bottom: 56px;
  }
  .elle-facade-hdr {
    text-align: center;
    margin-bottom: 24px;
  }
  .elle-facade-hdr h3 {
    font-size: clamp(18px, 2.5vw, 26px);
    font-weight: 700;
    color: var(--navy);
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
  }
  .elle-facade-img-wrap {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    max-width: 900px;
    margin: 0 auto;
    box-shadow: 0 8px 40px rgba(10, 45, 86, 0.12);
  }
  .elle-facade-img-wrap img {
    width: 100%;
    display: block;
    object-fit: cover;
  }
  .elle-floor-highlight {
    position: absolute;
    /* 20th of 35 floors ≈ 43% from top of building (accounting for sky/roof space ~10% top) */
    top: 44%;
    right: 18%;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    z-index: 2;
  }
  .elle-floor-badge {
    background: var(--gold);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 7px 14px;
    border-radius: 20px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 4px 16px rgba(201, 140, 58, 0.45);
    transition: background 0.2s, transform 0.2s;
  }
  .elle-floor-badge:hover {
    background: #b37832;
    transform: scale(1.04);
  }
  .elle-floor-pulse {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--gold);
    position: relative;
  }
  .elle-floor-pulse::before {
    content: "";
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 2px solid var(--gold);
    animation: floorPulse 1.8s ease-out infinite;
  }
  @keyframes floorPulse {
    0% {
      transform: scale(1);
      opacity: 0.8;
    }
    100% {
      transform: scale(2.2);
      opacity: 0;
    }
  }
  @media (max-width: 600px) {
    .elle-floor-badge {
      font-size: 9px;
      padding: 5px 10px;
    }
  }
  
  /* ── Mobile floor-plan CTA button ── */
  .elle-floor-mobile-btn {
    display: none; /* hidden on desktop */
  }
  @media (max-width: 560px) {
    .elle-floor-mobile-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin: 16px auto 0;
      padding: 13px 28px;
      background: var(--red, #bc022e);
      color: #fff;
      border: none;
      border-radius: 3px;
      cursor: pointer;
      font-family: "HelveticaGeo", "FiraGO", sans-serif;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      text-decoration: none;
      transition: background 0.2s;
    }
    .elle-floor-mobile-btn:hover {
      background: #9a0126;
    }
  }
  
  /* HERO */
  .elle-hero {
    position: relative;
    height: 100vh;
    min-height: 720px;
    background: #04111f;
    display: flex;
    align-items: center;
    overflow: hidden;
  }
  .elle-hero-bg {
    position: absolute;
    inset: 0;
    background-image: url("images/slider-1.jpg");
    background-size: cover;
    background-position: center 30%;
    opacity: 0.3;
    transform: scale(1.05);
    animation: heroZoom 18s ease-in-out infinite alternate;
  }
  @keyframes heroZoom {
    from {
      transform: scale(1.05);
    }
    to {
      transform: scale(1.12);
    }
  }
  .elle-hero-overlay {
    position: absolute;
    inset: 0;
  }
  .elle-hero-ghost {
    position: absolute;
    right: -2%;
    top: 50%;
    transform: translateY(-50%);
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: clamp(160px, 22vw, 340px);
    font-weight: 900;
    color: rgba(255, 255, 255, 0.025);
    letter-spacing: -0.04em;
    line-height: 1;
    user-select: none;
    pointer-events: none;
    white-space: nowrap;
  }
  .elle-hero-lines {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.4;
  }
  .elle-hero-gold-line {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(
      90deg,
      transparent 0%,
      rgba(201, 140, 58, 0.6) 40%,
      rgba(201, 140, 58, 0.6) 60%,
      transparent 100%
    );
  }
  .elle-hero-inner {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
    padding: 100px 60px 0;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-end;
  }
  .elle-hero-content {
    max-width: 560px;
    width: 100%;
  }
  .elle-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(201, 140, 58, 0.45);
    padding: 7px 16px;
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 9px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 32px;
  }
  .elle-hero-badge-dot {
    width: 6px;
    height: 6px;
    background: var(--gold);
    border-radius: 50%;
    animation: elleP 2s ease-in-out infinite;
  }
  @keyframes elleP {
    0%,
    100% {
      opacity: 1;
      transform: scale(1);
    }
    50% {
      opacity: 0.3;
      transform: scale(0.6);
    }
  }
  .elle-hero-title {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: clamp(22px, 3.2vw, 42px);
    font-weight: 900;
    color: #fff;
    background: #c98c3a;
    display: inline-block;
    padding: 10px 20px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    white-space: nowrap;
    margin-bottom: 24px;
  }
  .elle-hero-sub {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 44px;
    line-height: 1.8;
  }
  .elle-hero-counters {
    display: flex;
    gap: 10px;
    margin-bottom: 44px;
    flex-wrap: wrap;
  }
  .elle-counter {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    padding: 16px 22px;
    text-align: center;
    min-width: 108px;
  }
  .elle-counter-num {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
    display: block;
  }
  .elle-counter-lbl {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 8px;
    color: rgba(255, 255, 255, 0.45);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-top: 6px;
    display: block;
  }
  .elle-hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
  }
  .elle-btn-white {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    padding: 13px 24px;
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
    border-radius: 1px;
    text-decoration: none;
  }
  .elle-btn-white:hover {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.5);
  }
  .elle-hero-scroll {
    position: absolute;
    bottom: 36px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.3);
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 8px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    z-index: 2;
    animation: scrollBounce 2.5s ease-in-out infinite;
  }
  @keyframes scrollBounce {
    0%,
    100% {
      transform: translateX(-50%) translateY(0);
    }
    50% {
      transform: translateX(-50%) translateY(8px);
    }
  }
  
  /* STATS BAR */
  .elle-stats-bar {
    background: var(--navy);
    border-top: 1px solid rgba(201, 140, 58, 0.35);
  }
  .elle-stats-bar-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 60px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }
  .elle-stat {
    padding: 30px 0;
    text-align: center;
    border-right: 1px solid rgba(255, 255, 255, 0.07);
  }
  .elle-stat:last-child {
    border-right: none;
  }
  .elle-stat-num {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 30px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
    display: block;
  }
  .elle-stat-lbl {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 9px;
    color: rgba(255, 255, 255, 0.4);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-top: 6px;
    display: block;
  }
  
  /* SHARED SECTION WRAP */
  .elle-section {
    padding: 100px 60px;
  }
  .elle-section-inner {
    max-width: 1200px;
    margin: 0 auto;
  }
  .elle-section--white {
    background: #fff;
  }
  .elle-section--beige {
    background: var(--beige);
  }
  .elle-section--navy {
    background: var(--navy);
  }
  .elle-section--dark {
    background: #060e1c;
  }
  .elle-section-hdr {
    text-align: center;
    max-width: 620px;
    margin: 0 auto;
  }
  .elle-section-hdr--left {
    text-align: left;
    margin: 0;
  }
  
  /* BULLETS */
  .content-body ul {
    list-style: none;
    padding: 0;
    margin: 22px 0 32px;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .content-body ul li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    line-height: 1.65;
    color: var(--text-muted);
  }
  .content-body ul li::before {
    content: "";
    width: 22px;
    height: 2px;
    background: var(--gold);
    flex-shrink: 0;
    margin-top: 11px;
  }
  
  /* TWO-COL */
  .elle-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: start;
    margin-top: 60px;
  }
  .elle-imgs-stack {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .elle-imgs-stack img {
    width: 100%;
    object-fit: cover;
    display: block;
    border-radius: 2px;
  }
  .elle-imgs-stack img:nth-child(1) {
    aspect-ratio: 4/3;
  }
  .elle-imgs-stack img:nth-child(2) {
    aspect-ratio: 16/7;
  }
  
  /* WHY GRID */
  .elle-why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 56px;
  }
  .elle-why-card {
    background: #fff;
    padding: 32px 26px;
    border-radius: 2px;
    border-top: 2px solid transparent;
    transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
  }
  .elle-why-card:hover {
    border-color: var(--gold);
    box-shadow: 0 8px 32px rgba(10, 45, 86, 0.1);
    transform: translateY(-4px);
  }
  .elle-why-icon {
    width: 42px;
    height: 42px;
    margin-bottom: 18px;
    color: var(--gold);
  }
  .elle-why-ttl {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--navy);
    letter-spacing: 0.04em;
    margin-bottom: 8px;
  }
  .elle-why-txt {
    font-size: 13px;
    line-height: 1.7;
    color: var(--text-muted);
    margin: 0;
  }
  
  /* INVESTMENT */
  .elle-inv-grid {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 80px;
    align-items: start;
    margin-top: 60px;
  }
  .elle-roi-row {
    display: flex;
    gap: 36px;
    margin: 36px 0;
    flex-wrap: wrap;
  }
  .elle-roi-item {
    text-align: center;
  }
  .elle-roi-num {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 52px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
    display: block;
  }
  .elle-roi-lbl {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.45);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-top: 6px;
    display: block;
  }
  .elle-inv-features {
    list-style: none;
    padding: 0;
    margin: 0 0 36px;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .elle-inv-features li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.55;
  }
  .elle-inv-features li svg {
    flex-shrink: 0;
    color: var(--gold);
    margin-top: 2px;
  }
  
  /* INLINE LEAD CARD */
  .elle-lead-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(201, 140, 58, 0.3);
    border-top: 3px solid var(--gold);
    padding: 36px 30px;
    border-radius: 2px;
  }
  .elle-lead-card h3 {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 6px;
  }
  .elle-lead-card-sub {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.45);
    margin-bottom: 26px;
    line-height: 1.6;
  }
  .elle-inline-form {
    display: flex;
    flex-direction: column;
    gap: 11px;
  }
  .elle-inline-form input,
  .elle-inline-form select {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #fff;
    padding: 12px 15px;
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 13px;
    border-radius: 1px;
    outline: none;
    transition: border-color 0.2s;
    width: 100%;
    box-sizing: border-box;
  }
  .elle-inline-form input::placeholder {
    color: rgba(255, 255, 255, 0.3);
  }
  .elle-inline-form input:focus {
    border-color: var(--gold);
  }
  .elle-inline-form select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='rgba(255,255,255,0.35)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 13px center;
  }
  .elle-inline-form select option {
    background: #0a2d56;
    color: #fff;
  }
  .elle-btn-gold {
    background: var(--gold);
    color: #fff;
    border: none;
    padding: 14px 20px;
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s;
    border-radius: 1px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }
  .elle-btn-gold:hover {
    background: #b87c2e;
  }
  .elle-form-note {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.25);
    text-align: center;
    margin-top: 4px;
  }
  
  /* LOCATION */
  .elle-loc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start;
    margin-top: 56px;
  }
  .elle-loc-item {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(10, 45, 86, 0.08);
  }
  .elle-loc-item:last-child {
    border-bottom: none;
  }
  .elle-loc-icon {
    width: 44px;
    height: 44px;
    background: rgba(201, 140, 58, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--gold);
  }
  .elle-loc-name {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 13px;
    color: var(--navy);
    font-weight: 600;
    flex: 1;
  }
  .elle-loc-dist {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: var(--gold);
  }
  .elle-map-wrap {
    border-radius: 2px;
    overflow: hidden;
    height: 420px;
    background: rgba(10, 45, 86, 0.06);
  }
  .elle-map-wrap iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
  }
  
  /* LEAD BANNER */
  .elle-banner {
    background: var(--gold);
    padding: 56px 60px;
  }
  .elle-banner-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 60px;
    align-items: center;
  }
  .elle-banner h2 {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 6px;
  }
  .elle-banner p {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
  }
  .elle-banner-form {
    display: flex;
    gap: 10px;
    align-items: stretch;
  }
  .elle-banner-form button {
    background: var(--navy);
    color: #fff;
    border: none;
    padding: 13px 22px;
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s;
    border-radius: 1px;
  }
  .elle-banner-form button:hover {
    background: rgba(4, 17, 31, 0.85);
  }
  
  /* INFRA */
  .elle-infra-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 56px;
  }
  .elle-infra-item {
    background: #fff;
    padding: 24px 20px;
    border-radius: 2px;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: box-shadow 0.25s, transform 0.25s;
  }
  .elle-infra-item:hover {
    box-shadow: 0 4px 20px rgba(10, 45, 86, 0.1);
    transform: translateY(-2px);
  }
  .elle-infra-icon-wrap {
    width: 44px;
    height: 44px;
    background: rgba(201, 140, 58, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--gold);
  }
  .elle-infra-lbl {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--navy);
    line-height: 1.4;
  }
  
  /* GALLERY */
  .elle-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 56px;
  }
  .elle-gal-item {
    position: relative;
    overflow: hidden;
    border-radius: 2px;
    cursor: zoom-in;
  }
  .elle-gal-item:nth-child(1) {
    grid-column: span 2;
    aspect-ratio: 16/9;
  }
  .elle-gal-item:nth-child(2) {
    align-self: stretch;
  }
  .elle-gal-item:nth-child(3),
  .elle-gal-item:nth-child(4),
  .elle-gal-item:nth-child(5) {
    aspect-ratio: 4/3;
  }
  .elle-gal-item:nth-child(6) {
    grid-column: span 2;
    aspect-ratio: 16/7;
  }
  .elle-gal-item:nth-child(7) {
    align-self: stretch;
  }
  .elle-gal-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
  }
  .elle-gal-item:hover img {
    transform: scale(1.05);
  }
  .elle-gal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(4, 17, 31, 0);
    transition: background 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .elle-gal-item:hover .elle-gal-overlay {
    background: rgba(4, 17, 31, 0.35);
  }
  .elle-gal-zoom {
    opacity: 0;
    transition: opacity 0.3s;
    color: #fff;
  }
  .elle-gal-item:hover .elle-gal-zoom {
    opacity: 1;
  }
  
  /* VIDEO */
  .elle-video-wrap {
    margin-top: 56px;
    position: relative;
    aspect-ratio: 16/9;
    border-radius: 2px;
    overflow: hidden;
    background: #000;
    cursor: pointer;
  }
  .elle-video-poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.55;
    transition: opacity 0.35s;
  }
  .elle-video-wrap:hover .elle-video-poster {
    opacity: 0.35;
  }
  .elle-video-play-layer {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
  }
  .elle-play-btn {
    width: 84px;
    height: 84px;
    background: rgba(201, 140, 58, 0.88);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 18px rgba(201, 140, 58, 0.18);
    transition: transform 0.3s, background 0.3s;
  }
  .elle-video-wrap:hover .elle-play-btn {
    transform: scale(1.1);
    background: var(--gold);
  }
  .elle-video-caption {
    position: absolute;
    bottom: 22px;
    left: 24px;
    z-index: 2;
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.55);
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }
  .elle-video-iframe-wrap {
    display: none;
    position: absolute;
    inset: 0;
  }
  .elle-video-iframe-wrap iframe {
    width: 100%;
    height: 100%;
    border: none;
  }
  .elle-video-wrap.playing .elle-video-poster,
  .elle-video-wrap.playing .elle-video-play-layer,
  .elle-video-wrap.playing .elle-video-caption {
    display: none;
  }
  .elle-video-wrap.playing .elle-video-iframe-wrap {
    display: block;
  }
  
  /* APARTMENTS */
  .elle-apt-tabs {
    display: flex;
    gap: 0;
    margin-top: 56px;
    border-bottom: 2px solid rgba(10, 45, 86, 0.1);
    flex-wrap: wrap;
  }
  .elle-apt-tab {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-muted);
    padding: 14px 28px;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    cursor: pointer;
    transition: color 0.2s, border-color 0.2s;
  }
  .elle-apt-tab.active {
    color: var(--navy);
    border-color: var(--gold);
  }
  .elle-apt-panel {
    display: none;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
    padding-top: 56px;
  }
  .elle-apt-panel.active {
    display: grid;
  }
  .elle-apt-plan-wrap {
    background: #fff;
    border-radius: 2px;
    padding: 44px;
    box-shadow: 0 4px 28px rgba(10, 45, 86, 0.09);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 340px;
  }
  .elle-apt-plan-wrap svg {
    max-width: 100%;
  }
  .elle-apt-type-lbl {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 9px;
    color: var(--gold);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    margin-bottom: 8px;
  }
  .elle-apt-name {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 34px;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 28px;
    line-height: 1.15;
  }
  .elle-apt-specs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 32px;
  }
  .elle-apt-spec {
    background: rgba(10, 45, 86, 0.04);
    padding: 15px 16px;
    border-radius: 2px;
  }
  .elle-apt-spec-lbl {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 8px;
    color: var(--text-muted);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 5px;
  }
  .elle-apt-spec-val {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--navy);
  }
  .elle-apt-spec-val small {
    font-size: 11px;
    color: var(--gold);
    font-weight: 600;
  }
  .elle-apt-view-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid rgba(201, 140, 58, 0.35);
    color: var(--gold);
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 10px;
    letter-spacing: 0.1em;
    padding: 5px 12px;
    margin-bottom: 28px;
  }
  .elle-apt-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
  }
  
  /* PAYMENT */
  .elle-pay-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 56px;
  }
  .elle-pay-card {
    border-top: 2px solid var(--gold);
    background: rgba(255, 255, 255, 0.05);
    padding: 40px 30px;
    border-radius: 2px;
    transition: background 0.25s;
  }
  .elle-pay-card:hover {
    background: rgba(255, 255, 255, 0.09);
  }
  .elle-pay-num {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 58px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
    letter-spacing: -0.02em;
    display: block;
    margin-bottom: 12px;
  }
  .elle-pay-lbl {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.9);
    display: block;
    margin-bottom: 14px;
  }
  .elle-pay-desc {
    font-size: 14px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.5);
    margin: 0;
  }
  .elle-pay-cta {
    margin-top: 52px;
    text-align: center;
  }
  
  /* URGENCY CTA */
  .elle-urgency {
    background: linear-gradient(135deg, #06121e 0%, #0d2040 50%, #06121e 100%);
    padding: 100px 60px;
    position: relative;
    overflow: hidden;
    text-align: center;
  }
  .elle-urgency::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
  }
  .elle-urgency-inner {
    max-width: 680px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }
  .elle-urgency-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(188, 2, 46, 0.12);
    border: 1px solid rgba(188, 2, 46, 0.4);
    color: #f87c7c;
    padding: 6px 16px;
    font-size: 9px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-weight: 700;
    border-radius: 1px;
    margin-bottom: 28px;
  }
  .elle-urgency-tag-dot {
    width: 6px;
    height: 6px;
    background: #f87c7c;
    border-radius: 50%;
    animation: elleP 1.5s ease-in-out infinite;
  }
  .elle-urgency h2 {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 16px;
  }
  .elle-urgency p {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.55);
    line-height: 1.75;
    margin-bottom: 40px;
  }
  .elle-urgency-form {
    display: flex;
    gap: 10px;
    max-width: 460px;
    margin: 0 auto 14px;
  }
  .elle-urgency-form input {
    flex: 1;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff;
    padding: 14px 16px;
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 13px;
    border-radius: 1px;
    outline: none;
    transition: border-color 0.2s;
  }
  .elle-urgency-form input::placeholder {
    color: rgba(255, 255, 255, 0.3);
  }
  .elle-urgency-form input:focus {
    border-color: var(--gold);
  }
  .elle-urgency-form button {
    background: var(--red);
    color: #fff;
    border: none;
    padding: 14px 22px;
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    white-space: nowrap;
    border-radius: 1px;
    transition: background 0.2s;
  }
  .elle-urgency-form button:hover {
    background: #9e021e;
  }
  .elle-urgency-note {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.25);
  }
  .elle-urgency-or {
    margin: 20px 0;
    color: rgba(255, 255, 255, 0.25);
    font-size: 12px;
  }
  
  /* DARK PHONE INPUT (navy / dark bg forms) */
  .elle-dark-phone {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 1px;
  }
  .elle-dark-phone:focus-within {
    border-color: var(--gold);
  }
  .elle-dark-phone .cc-trigger {
    background: rgba(255, 255, 255, 0.05);
    border-right: 1px solid rgba(255, 255, 255, 0.14);
    color: rgba(255, 255, 255, 0.8);
    height: 44px;
  }
  .elle-dark-phone .cc-trigger:hover {
    background: rgba(255, 255, 255, 0.1);
  }
  .elle-dark-phone .cc-code {
    color: rgba(255, 255, 255, 0.8);
  }
  .elle-dark-phone .cc-trigger svg path {
    stroke: rgba(255, 255, 255, 0.4);
  }
  .elle-dark-phone input {
    color: #fff;
    height: 44px;
    font-size: 13px;
    padding: 0 15px;
    background: transparent;
    flex: 1;
  }
  .elle-dark-phone input::placeholder {
    color: rgba(255, 255, 255, 0.3);
  }
  .elle-dark-phone .cc-dropdown {
    background: #0a2040;
    border-color: rgba(255, 255, 255, 0.12);
  }
  .elle-dark-phone .cc-option:hover {
    background: rgba(255, 255, 255, 0.06);
  }
  .elle-dark-phone .cc-option-name {
    color: rgba(255, 255, 255, 0.6);
  }
  .elle-dark-phone .cc-option-code {
    color: rgba(255, 255, 255, 0.9);
  }
  
  /* GOLD PHONE INPUT (gold banner) */
  .elle-gold-phone {
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 1px;
    width: 240px;
    flex-shrink: 0;
  }
  .elle-gold-phone:focus-within {
    border-color: rgba(255, 255, 255, 0.85);
  }
  .elle-gold-phone .cc-trigger {
    background: rgba(255, 255, 255, 0.12);
    border-right: 1px solid rgba(255, 255, 255, 0.35);
    color: #fff;
    height: 44px;
  }
  .elle-gold-phone .cc-trigger:hover {
    background: rgba(255, 255, 255, 0.22);
  }
  .elle-gold-phone .cc-code {
    color: #fff;
  }
  .elle-gold-phone .cc-trigger svg path {
    stroke: rgba(255, 255, 255, 0.6);
  }
  .elle-gold-phone input {
    color: #fff;
    height: 44px;
    font-size: 13px;
    padding: 0 12px;
    background: transparent;
    flex: 1;
    min-width: 0;
    font-family: 'FiraGO';
  }
  .elle-gold-phone input::placeholder {
    color: rgba(255, 255, 255, 0.6);
  }
  .elle-gold-phone .cc-dropdown {
    background: #fff;
    border-color: rgba(10, 45, 86, 0.18);
  }
  .elle-gold-phone .cc-option:hover {
    background: rgba(10, 45, 86, 0.06);
  }
  .elle-gold-phone .cc-option-name {
    color: #333;
  }
  .elle-gold-phone .cc-option-code {
    color: var(--navy);
    font-weight: 700;
  }
  
  /* LIGHTBOX */
  .elle-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.94);
    z-index: 9999;
    align-items: center;
    justify-content: center;
  }
  .elle-lightbox.open {
    display: flex;
  }
  .elle-lb-img-wrap {
    max-width: 90vw;
    max-height: 85vh;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .elle-lb-img-wrap img {
    max-width: 100%;
    max-height: 85vh;
    object-fit: contain;
    border-radius: 2px;
  }
  .elle-lb-close {
    position: fixed;
    top: 22px;
    right: 26px;
    background: none;
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    font-size: 20px;
    width: 42px;
    height: 42px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10001;
  }
  .elle-lb-arrow {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff;
    font-size: 30px;
    width: 50px;
    height: 70px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10001;
    transition: background 0.2s;
  }
  .elle-lb-arrow:hover {
    background: rgba(201, 140, 58, 0.4);
  }
  .elle-lb-prev {
    left: 18px;
  }
  .elle-lb-next {
    right: 18px;
  }
  .elle-lb-counter {
    position: fixed;
    bottom: 22px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255, 255, 255, 0.45);
    font-size: 11px;
    letter-spacing: 0.1em;
  }
  
  /* VIDEO MODAL */
  .elle-vmodal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.92);
    z-index: 9998;
    align-items: center;
    justify-content: center;
  }
  .elle-vmodal.open {
    display: flex;
  }
  .elle-vmodal-inner {
    width: 88vw;
    max-width: 1000px;
    aspect-ratio: 16/9;
    position: relative;
  }
  .elle-vmodal-inner iframe {
    width: 100%;
    height: 100%;
    border: none;
  }
  .elle-vmodal-close {
    position: fixed;
    top: 22px;
    right: 26px;
    background: none;
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    font-size: 20px;
    width: 42px;
    height: 42px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
  }
  
  /* RESPONSIVE */
  @media (max-width: 1024px) {
    .elle-hero-inner {
      padding: 80px 40px 0;
    }
    .elle-section {
      padding: 80px 40px;
    }
    .elle-stats-bar-inner {
      padding: 0 40px;
    }
    .elle-banner {
      padding: 56px 40px;
    }
    .elle-urgency {
      padding: 80px 40px;
    }
    .elle-inv-grid {
      grid-template-columns: 1fr;
    }
    .elle-banner-inner {
      grid-template-columns: 1fr;
      gap: 28px;
    }
    .elle-banner-form input {
      width: 100%;
    }
  }
  /* ── APARTMENT CAROUSEL ── */
  .elle-apt-carousel {
    position: relative;
    margin-bottom: 48px;
    padding: 0 60px;
    user-select: none;
  }
  .elle-car-track {
    display: flex;
    transition: transform 0.52s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
    overflow: hidden;
  }
  .elle-car-slide {
    min-width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
    box-sizing: border-box;
    padding: 8px 4px 16px;
  }
  .elle-car-type {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--gold);
    display: block;
    margin-bottom: 10px;
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
  }
  .elle-car-name {
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: clamp(18px, 2.4vw, 28px);
    font-weight: 700;
    color: var(--navy);
    margin: 0 0 14px;
    line-height: 1.2;
  }
  .elle-car-desc {
    font-size: 13.5px;
    line-height: 1.78;
    color: var(--text-muted);
    margin: 0 0 24px;
  }
  .elle-car-specs {
    display: flex;
    gap: 14px;
    margin-bottom: 28px;
    flex-wrap: wrap;
  }
  .elle-car-spec {
    background: rgba(10, 45, 86, 0.05);
    border-radius: 2px;
    padding: 13px 18px;
    min-width: 88px;
  }
  .elle-car-spec .lbl {
    display: block;
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--text-muted);
    margin-bottom: 5px;
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
  }
  .elle-car-spec .val {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: var(--navy);
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
  }
  .elle-car-slide-media {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .elle-car-render-wrap,
  .elle-car-plan-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 4px;
    cursor: zoom-in;
    background: rgba(10, 45, 86, 0.05);
  }
  .elle-car-render-wrap {
    aspect-ratio: 4/3;
  }
  .elle-car-plan-wrap {
    aspect-ratio: 16/6;
  }
  .elle-car-render-wrap img,
  .elle-car-plan-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
  }
  .elle-car-render-wrap:hover img,
  .elle-car-plan-wrap:hover img {
    transform: scale(1.04);
  }
  .elle-car-media-lbl {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(10, 45, 86, 0.72));
    color: rgba(255, 255, 255, 0.88);
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-size: 9px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 20px 14px 9px;
    pointer-events: none;
  }
  .elle-car-zoom-hint {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(6px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s;
    color: #fff;
    pointer-events: none;
  }
  .elle-car-render-wrap:hover .elle-car-zoom-hint,
  .elle-car-plan-wrap:hover .elle-car-zoom-hint {
    opacity: 1;
  }
  .elle-car-plan-placeholder {
    display: none;
    position: absolute;
    inset: 0;
    background: rgba(10, 45, 86, 0.04);
    border: 1.5px dashed rgba(201, 140, 58, 0.3);
    border-radius: 4px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    color: var(--text-muted);
    font-size: 11px;
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    letter-spacing: 0.05em;
  }
  .elle-car-arrow {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    z-index: 10;
    width: 42px;
    height: 42px;
    background: rgba(255, 255, 255, 0.45);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1.5px solid rgba(10, 45, 86, 0.14);
    color: rgba(10, 45, 86, 0.55);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.22s, border-color 0.22s, color 0.22s, transform 0.22s;
    border-radius: 50%;
  }
  .elle-car-arrow:hover {
    background: var(--gold);
    border-color: var(--gold);
    color: #fff;
    transform: translateY(-50%) scale(1.08);
  }
  .elle-car-prev {
    left: 4px;
  }
  .elle-car-next {
    right: 4px;
  }
  .elle-car-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
  }
  .elle-car-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(10, 45, 86, 0.18);
    border: none;
    cursor: pointer;
    transition: background 0.25s, transform 0.25s;
    padding: 0;
  }
  .elle-car-dot.active {
    background: var(--gold);
    transform: scale(1.35);
  }
  @media (max-width: 900px) {
    .elle-apt-carousel {
      padding: 0 48px;
    }
    .elle-car-slide {
      grid-template-columns: 1fr;
      gap: 24px;
    }
  }
  @media (max-width: 600px) {
    .elle-apt-carousel {
      padding: 0 36px;
    }
    .elle-car-arrow {
      width: 34px;
      height: 34px;
    }
    .elle-car-arrow svg {
      width: 15px;
      height: 15px;
    }
  }
  
  @media (max-width: 768px) {
    .elle-hero-title {
      font-size: clamp(18px, 5vw, 30px);
      white-space: normal;
    }
    .elle-hero-inner {
      padding: 80px 24px 0;
      justify-content: flex-start;
    }
    .elle-hero-content {
      max-width: 100%;
    }
    .elle-section {
      padding: 72px 24px;
    }
    .elle-stats-bar-inner {
      grid-template-columns: repeat(2, 1fr);
      padding: 0 24px;
    }
    .elle-stat {
      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    }
    .elle-stat:nth-child(2n) {
      border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    }
    .elle-stat:nth-last-child(-n + 2) {
      border-bottom: none;
    }
    .elle-two-col {
      grid-template-columns: 1fr;
      gap: 40px;
    }
    .elle-why-grid {
      grid-template-columns: 1fr;
    }
    .elle-loc-grid {
      grid-template-columns: 1fr;
    }
    .elle-infra-grid {
      grid-template-columns: 1fr;
    }
    .elle-gallery-grid {
      grid-template-columns: 1fr 1fr;
    }
    .elle-gal-item:nth-child(1) {
      grid-column: span 2;
    }
    .elle-gal-item:nth-child(6) {
      grid-column: span 2;
    }
    .elle-apt-panel.active {
      grid-template-columns: 1fr;
    }
    .elle-pay-grid {
      grid-template-columns: 1fr;
    }
    .elle-urgency-form {
      flex-direction: column;
    }
    .elle-urgency-form .elle-dark-phone {
      width: 100%;
      flex: none;
    }
    .elle-banner-form {
      flex-direction: column;
    }
    .elle-gold-phone {
      width: 100%;
    }
    .elle-banner {
      padding: 48px 24px;
    }
    .elle-urgency {
      padding: 72px 24px;
    }
  }
  
  /* ── INTERACTIVE BUILDING / FLOOR SELECTOR ── */
  .elle-bldg-wrap {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 40px rgba(10, 45, 86, 0.14);
    /* cursor: pointer; */
    user-select: none;
  }
  .elle-bldg-img {
    width: 100%;
    display: block;
  }
  .elle-bldg-bands {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }
  .elle-bldg-band {
    position: absolute;
    left: 0;
    right: 0;
    pointer-events: all;
    box-sizing: border-box;
    transition: background 0.1s, border-color 0.1s;
  }
  .elle-bldg-band:hover,
  .elle-bldg-band.fp-active {
    background: rgba(201, 140, 58, 0.18);
    border-top: 1px solid rgba(201, 140, 58, 0.55);
    border-bottom: 1px solid rgba(201, 140, 58, 0.55);
  }
  /* Idle auto-highlight pulse */
  @keyframes bldgIdlePulse {
    0% {
      background: rgba(201, 140, 58, 0.1);
      border-color: rgba(201, 140, 58, 0.35);
    }
    50% {
      background: rgba(201, 140, 58, 0.3);
      border-color: rgba(201, 140, 58, 0.8);
    }
    100% {
      background: rgba(201, 140, 58, 0.1);
      border-color: rgba(201, 140, 58, 0.35);
    }
  }
  .elle-bldg-band.fp-idle {
    background: rgba(201, 140, 58, 0.18);
    border-top: 1px solid rgba(201, 140, 58, 0.55);
    border-bottom: 1px solid rgba(201, 140, 58, 0.55);
    animation: bldgIdlePulse 1.8s ease-in-out infinite;
  }
  /* Info panel — floats on left over the building image */
  .elle-floor-panel {
    position: absolute;
    left: 100px;
    top: 50%;
    transform: translateY(-50%);
    width: 400px;
    background: rgba(7, 20, 48, 0.91);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(201, 140, 58, 0.22);
    border-radius: 10px;
    padding: 20px 22px 18px;
    /* pointer-events: none; */
    opacity: 0;
    transition: opacity 0.18s;
    z-index: 10;
    max-height: 88%;
    overflow: hidden;
  }
  .elle-floor-panel.fp-vis {
    opacity: 1;
  }
  .elle-panel-hdr {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 14px;
    border-bottom: 1px solid rgba(201, 140, 58, 0.2);
    padding-bottom: 12px;
  }
  .elle-panel-fl-num {
    font-size: 54px;
    font-weight: 900;
    color: var(--gold);
    line-height: 1;
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    letter-spacing: -0.02em;
  }
  .elle-panel-fl-lbl {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.7);
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    font-weight: 700;
    letter-spacing: 0.03em;
  }
  .elle-panel-apt-list {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .elle-panel-apt-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2px 10px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    align-items: start;
  }
  .elle-panel-apt-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
  .elle-panel-apt-num {
    font-size: 13px;
    font-weight: 700;
    color: var(--gold);
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
  }
  .elle-panel-apt-sz {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    text-align: right;
  }
  .elle-panel-apt-type {
    font-size: 8px;
    color: rgba(255, 255, 255, 0.45);
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    grid-column: 1;
  }
  .elle-panel-apt-stat {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    text-align: right;
    grid-column: 2;
    grid-row: 2;
  }
  .elle-panel-apt-stat.fp-free {
    color: #52c49a;
  }
  .elle-panel-apt-stat.fp-sold {
    color: rgba(255, 255, 255, 0.3);
  }
  .elle-panel-apt-stat.fp-reserved {
    color: #e0a84e;
  }
  .elle-panel-special {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.65);
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    line-height: 1.6;
  }
  .elle-panel-default {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.38);
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
    text-align: center;
    padding: 8px 0;
    letter-spacing: 0.03em;
  }
  .elle-bldg-hint {
    text-align: center;
    font-size: 12px;
    color: var(--text-muted);
    margin-top: 12px;
    font-family: "HelveticaGeo", "FiraGO", sans-serif;
  }
  @media (max-width: 860px) {
    .elle-floor-panel {
      width: 272px;
      padding: 14px 16px;
    }
    .elle-panel-fl-num {
      font-size: 40px;
    }
  }
  @media (max-width: 560px) {
    .elle-floor-panel {
      display: none;
    }
  }
  

.g-mobile-selector-box{
    position: relative;
}

.g-mobile-selector-box select{
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1000;
    opacity: 0;
    display:none;
    font-family: 'FiraGO';
    font-size: 16px;
}

@media(max-width: 960px){
    .g-mobile-selector-box select{
        display: block;
    }
}