.error-name, .error-email, .error-phone, .error-email-valid, .error-phone-valid {
    color: red;
    float: left;
    margin-bottom: 10px;
    display: none;
}

#loading_bottom_1, #loading_bottom_2, #loading_bottom_3 {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -50px 0px 0px -50px;
}

#contactForm {
    position: relative;
}


:root {
  --gold: #c9a66b;
  --gold-light: #e0c18a;
  --ink: #111111;
  --dark: #111416;
  --cream: #f4f1eb;
  --muted: #7c7c78;
  --dark: #0f0e0c;
  --charcoal: #1e1c18;
  --text-light: #6b6860;
  --border: #e4d9c4;
  --section-alt: #f5f0e8;
}
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
body { margin:0; font-family: Arial, Helvetica, sans-serif; color:var(--ink); background:#fff; }
img { max-width:100%; display:block; }
.site-header { position:fixed; top:0; left:0; right:0; z-index:1000; transition:.35s ease; background:linear-gradient(180deg,rgba(0,0,0,.65),transparent); }
.site-header.scrolled { background:rgba(12,14,15,.96); box-shadow:0 5px 25px rgba(0,0,0,.18); }
.navbar { padding:18px 0; }
.brand-logo { max-height:48px; width:auto; }
.brand-fallback, .footer-brand { display:none; font-family:Georgia,serif; letter-spacing:.14em; font-size:22px; }
.brand-fallback small, .footer-brand small { display:block; font-size:8px; letter-spacing:.38em; margin-top:2px; }
.nav-link { color:#fff !important; font-size:13px; letter-spacing:.05em; text-transform:uppercase; }
.btn-gold { background:var(--gold); border-color:var(--gold); color:#111; font-weight:600; }
.btn-gold:hover { background:var(--gold-light); border-color:var(--gold-light); color:#111; }
.eyebrow { display:inline-block; font-size:11px; letter-spacing:.25em; font-weight:700; color:var(--gold-light); margin-bottom:15px; text-transform:uppercase; }
.eyebrow.dark { color:#8e6d38; }
.hero-section { min-height:100vh; position:relative; display:flex; align-items:center; color:#fff; background:url("../images/slider/hero-01.jpg") center/cover no-repeat; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.15) 75%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 50%); }
.hero-section h1 { font:clamp(48px,7vw,94px)/.95 Georgia,serif; margin:0 0 25px; letter-spacing:-.03em; }
.hero-section h1 span { color:var(--gold-light); }
.hero-copy { max-width:650px; font-size:18px; line-height:1.7; color:rgba(255,255,255,.86); }
.hero-stats { border-top:1px solid rgba(255,255,255,.25); padding-top:18px; max-width:760px; }
.hero-stats strong, .hero-stats small { display:block; }
.hero-stats strong { font-size:14px; }
.hero-stats small { color:#bbb; font-size:11px; text-transform:uppercase; letter-spacing:.12em; margin-top:4px; }
.section { padding:110px 0; }
.section-light { background:var(--cream); }
.section-dark { background:var(--dark); color:#fff; }
.section-heading { margin-bottom:55px; }
.section-heading h2, .section h2 { font:clamp(36px,4vw,58px)/1.08 Georgia,serif; letter-spacing:-.025em; margin-bottom:18px; }
.section-heading p { color:var(--muted); max-width:650px; margin:0 auto; line-height:1.7; }
.section-dark .section-heading p { color:#aaa; }
.image-frame { overflow:hidden; aspect-ratio:4/5; background:#ddd; }
.image-frame img { width:100%; height:100%; object-fit:cover; }
.key-points { margin-top:25px; }
.key-points div { padding:10px 0; border-bottom:1px solid #ddd; }
.key-points i { color:#9b7841; margin-right:10px; }
.tower-card { background:#1a1d1f; height:100%; overflow:hidden; }
.tower-card img { width:100%; aspect-ratio:4/5; object-fit:cover; transition:.5s; }
.tower-card:hover img { transform:scale(1.04); }
.tower-card div { padding:25px; }
.tower-card span { font-size:10px; letter-spacing:.2em; color:var(--gold-light); }
.tower-card h3 { font:28px Georgia,serif; margin:8px 0; }
.tower-card p { color:#aaa; margin:0; }
.price-card { background:#fff; border:1px solid #ddd; padding:40px 30px; text-align:center; height:100%; transition:.3s; }
.price-card:hover, .price-card.featured { border-color:var(--gold); box-shadow:0 18px 50px rgba(0,0,0,.08); transform:translateY(-5px); }
.price-card span { letter-spacing:.16em; text-transform:uppercase; font-size:12px; color:#866a3b; }
.price-card h3 { font:44px Georgia,serif; margin:18px 0 8px; }
.price-card p { color:#777; }
.price-card a { color:#111; text-decoration:none; border-bottom:1px solid #111; padding-bottom:5px; }
.section-image { background:linear-gradient(rgba(10,12,13,.86),rgba(10,12,13,.92)),url("") center/cover fixed; }
.amenity { position:relative; overflow:hidden; aspect-ratio:1; }
.amenity img { width:100%; height:100%; object-fit:cover; transition:.5s; }
.amenity:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 60%); }
.amenity span { position:absolute; z-index:2; left:18px; bottom:18px; color:#fff; font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.amenity:hover img { transform:scale(1.06); }
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:250px; gap:12px; }
.gallery-item { overflow:hidden; background:#ddd; }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:.5s; }
.gallery-item:hover img { transform:scale(1.05); }
.gallery-large { grid-column:span 2; grid-row:span 2; }
.visual-section, .relationship-section { position:relative; min-height:75vh; overflow:hidden; background:#111; }
.visual-section img, .relationship-section img { width:100%; height:100%; min-height:75vh; object-fit:cover; }
.visual-section:after, .relationship-section:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 65%); }
.visual-caption, .relationship-overlay { position:absolute; z-index:2; left:8%; bottom:10%; color:#fff; max-width:650px; }
.visual-caption h2, .relationship-overlay h2 { font:clamp(38px,5vw,70px) Georgia,serif; }
.plan-wrap { background:#fff; padding:20px; box-shadow:0 15px 60px rgba(0,0,0,.08); overflow:auto; }
.plan-wrap img { width:100%; min-width:700px; margin:auto; }
.relationship-section { min-height:65vh; }
.relationship-section img { min-height:65vh; }
.floor-card { background:#1a1d1f; overflow:hidden; }
.floor-card img { width:100%; aspect-ratio:1.35; object-fit:cover; }
.floor-card div { padding:25px; display:flex; align-items:center; justify-content:space-between; }
.floor-card h3 { margin:0; font:28px Georgia,serif; }
.floor-card a { color:var(--gold-light); text-decoration:none; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.location-image { width:100%; height:100%; min-height:420px; object-fit:cover; }
.map-placeholder { min-height:420px; height:100%; display:grid; place-items:center; background:linear-gradient(135deg,#272c2d,#151718); border:1px solid #303536; text-align:center; padding:30px; }
.map-placeholder i { font-size:45px; color:var(--gold-light); }
.map-placeholder h3 { font:32px Georgia,serif; }
.map-placeholder p { color:#aaa; }
.rera-strip { padding:55px 0; background:var(--gold); }
.rera-strip h3 { font:30px Georgia,serif; margin:0 0 5px; }
.rera-strip p { color:#4c402c; }
.enquiry-section { background:#171a1b; color:#fff; }
.enquiry-section p { color:#aaa; max-width:650px; margin:0 auto; line-height:1.7; }
.form-control { border-radius:0; border:1px solid #444; background:#222526; color:#fff; padding:15px 16px; }
.form-control:focus { background:#222526; color:#fff; border-color:var(--gold); box-shadow:none; }
.form-control::placeholder { color:#888; }
.form-message { color:var(--gold-light); }
.site-footer { background:#0d0f10; color:#888; padding:70px 0 90px; }
.site-footer h5 { color:#fff; font-size:12px; text-transform:uppercase; letter-spacing:.15em; margin-bottom:18px; }
.site-footer a { display:block; color:#999; text-decoration:none; margin:8px 0; }
.site-footer a:hover { color:var(--gold-light); }
.site-footer hr { border-color:#2b2e2f; margin:45px 0 25px; }
.footer-brand { display:block; color:#fff; margin-bottom:20px; }
.mobile-cta { display:none; }
@media (max-width:991.98px) {
  .navbar { background:rgba(12,14,15,.96); }
  .navbar-collapse { padding:15px 0; }
  .hero-section { min-height:900px; }
  .gallery-grid { grid-template-columns:repeat(2,1fr); grid-auto-rows:210px; }
  .gallery-large { grid-column:span 2; }
}
@media (max-width:767.98px) {
  body { padding-bottom:64px; }
  .section { padding:75px 0; }
  .hero-section { min-height:760px; }
  .hero-section h1 { font-size:48px; }
  .hero-copy { font-size:16px; }
  .hero-stats { margin-top:25px!important; }
  .section-heading { margin-bottom:35px; }
  .gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:150px; gap:7px; }
  .visual-section, .relationship-section, .visual-section img, .relationship-section img { min-height:58vh; }
  .mobile-cta { position:fixed; display:grid; grid-template-columns:repeat(3,1fr); bottom:0; left:0; right:0; z-index:1100; background:#111; box-shadow:0 -5px 25px rgba(0,0,0,.2); }
  .mobile-cta a { color:#fff; text-decoration:none; text-align:center; padding:9px 5px; border-right:1px solid #333; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
  .mobile-cta i { display:block; color:var(--gold-light); font-size:18px; margin-bottom:2px; }
  .mobile-cta span { display:block; }
}

.gallery-lightbox { position:fixed; inset:0; z-index:2000; background:rgba(0,0,0,.94); display:grid; place-items:center; padding:40px; opacity:0; transition:.25s; }
.gallery-lightbox.active { opacity:1; }
.gallery-lightbox img { max-width:95vw; max-height:90vh; object-fit:contain; }
.lightbox-close { position:absolute; right:25px; top:15px; border:0; background:transparent; color:#fff; font-size:42px; cursor:pointer; }

.tt-footer {
  background: linear-gradient(135deg, var(--dark) 0%, var(--charcoal) 100%);
  border-top: 3px solid var(--gold);
}
.trump-logo {
  display: inline-block;
}
.trump-logo img {
  width: 70px;
}
.tt-footer-text {
  font-size: 14px;
  color: #888;
  margin-bottom: 10px;
}
.tt-badge {
  background: var(--section-alt);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 5px 12px;
  font-size: 12px;
  color: var(--dark);
  font-weight: 500;
  display: inline-block;
}
.tt-badge a {
  text-decoration: none;
  color: var(--dark);
}
.tt-gold {
  color: var(--gold);
}
.tt-disclaimer {
  font-size: 12px;
  color: var(--text-light);
}
.tt-footer .tt-disclaimer {
  font-size: 12px;
  color: #555;
  max-width: 700px;
  margin: 0 auto;
}



/* Custom CAPTCHA Section */
.captcha-section {
    background: #222526;
    border-radius: 15px;
    padding: 10px;
    margin: 22px 0;
    border: 1px solid #444;
    position: relative;
}

.captcha-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: var(--secondary-color);
}

.captcha-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.captcha-title {
    font-size: 1rem;
    color: var(--primary-color);
    font-weight: 600;
}

.captcha-display {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    background: var(--white-color);
    padding: 10px;
    border-radius: 10px;
    border: 1px solid #444;
}

.captcha-code {
    font-family: 'Courier New', monospace;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 10px;
    padding: 0;
    background: #222526;
    border-radius: 8px;
    color: var(--primary-color);
    user-select: none;
    text-align: center;
    flex-grow: 1;
    margin-right: 20px;
    border: 1px dashed #cbd5e1;
}

.captcha-refresh-btn {
    background: var(--gradient-primary);
    color: var(--white-color);
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 1.5rem;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 5px 15px rgba(12, 74, 110, 0.2);
}

.captcha-refresh-btn:hover {
    transform: rotate(180deg);
    box-shadow: 0 8px 20px rgba(12, 74, 110, 0.3);
}

.captcha-input-container {
    margin-bottom: 15px;
}

.captcha-input {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #444;
    border-radius: 10px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    letter-spacing: 5px;
    font-weight: 600;
    text-align: center;
    transition: all 0.3s;
    background-color: var(--white-color);
}

.captcha-input:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 4px rgba(12, 74, 110, 0.1);
}

.captcha-message {
    font-size: 0.9rem;
    margin-top: 10px;
    padding: 12px 15px;
    border-radius: 8px;
    display: none;
    align-items: center;
    gap: 10px;
}

.captcha-success {
    background-color: #d1fae5;
    color: #065f46;
    display: flex;
}

.captcha-error {
    background-color: #fee2e2;
    color: #991b1b;
    display: flex;
}
