/* ===================== TOKENS ===================== */
:root {
  --black: #0a0a0a;
  --charcoal: #1c1c1c;
  --dark: #2a2a2a;
  --mid: #5a5a5a;
  --light: #9a9a9a;
  --bone: #f7f4ef;
  --white: #ffffff;
  --gold: #b8976a;
  --gold-light: #d4b896;
  --gold-dim: rgba(184,151,106,0.15);
  --gold-line: rgba(184,151,106,0.35);
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Jost', sans-serif;
  --ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* ===================== RESET ===================== */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: var(--sans); background: var(--white); color: var(--dark); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { display: block; width: 100%; }
a { text-decoration: none; color: inherit; }
button { cursor: pointer; border: none; background: none; font-family: var(--sans); }

/* ===================== UTILITIES ===================== */
.gold-line { display: inline-block; width: 40px; height: 1px; background: var(--gold); vertical-align: middle; margin-right: 14px; }
.section-tag { font-size: 0.68rem; letter-spacing: 4px; text-transform: uppercase; color: var(--gold); font-weight: 400; display: flex; align-items: center; margin-bottom: 16px; }
.page { display: none; }
.page.active { display: block; }

/* ===================== NAV ===================== */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 900;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 60px;
  height: 80px;
  transition: background 0.4s, box-shadow 0.4s;
}
nav.scrolled {
  background: rgba(255,255,255,0.97);
  box-shadow: 0 1px 0 rgba(0,0,0,0.08);
  backdrop-filter: blur(12px);
}
nav.scrolled .nav-logo { color: #ffffff; }
nav.scrolled .nav-logo span { color: var(--gold); }
nav.scrolled .nav-links a { color: var(--dark); }
nav.scrolled .nav-cta { background: var(--black); color: var(--white); }
nav.dark-nav { background: rgba(10,10,10,0.85); backdrop-filter: blur(12px); }
.nav-logo {
  font-family: var(--serif); font-size: 1.35rem; font-weight: 600;
  color: var(--white); letter-spacing: 1px; transition: color 0.3s;
}
.nav-logo span { color: var(--gold-light); }
.nav-links { display: flex; align-items: center; gap: 36px; }
.nav-links a {
  font-size: 0.72rem; letter-spacing: 2.5px; text-transform: uppercase;
  color: rgba(255,255,255,0.82); font-weight: 400;
  transition: color 0.2s; position: relative; padding-bottom: 3px;
}
.nav-links a::after {
  content: ''; position: absolute; bottom: 0; left: 0;
  width: 0; height: 1px; background: var(--gold);
  transition: width 0.3s var(--ease);
}
.nav-links a:hover::after, .nav-links a.active::after { width: 100%; }
.nav-links a:hover, .nav-links a.active { color: var(--gold-light); }
.nav-cta {
  padding: 10px 24px;
  border: 1px solid rgba(255,255,255,0.4);
  color: var(--white); font-size: 0.68rem;
  letter-spacing: 2px; text-transform: uppercase;
  transition: all 0.25s; border-radius: 1px;
}
.nav-cta:hover { background: var(--gold); border-color: var(--gold); color: var(--white); }
.nav-mobile-toggle { display: none; flex-direction: column; gap: 5px; cursor: pointer; }
.nav-mobile-toggle span { display: block; width: 24px; height: 1px; background: var(--white); transition: all 0.3s; }
nav.scrolled .nav-mobile-toggle span { background: var(--dark); }

/* ===================== HERO ===================== */
#hero {
  height: 100vh; min-height: 700px;
  position: relative; display: flex; align-items: center;
  overflow: hidden;
}
.hero-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1008 0%, #0d0d0d 40%, #1a1208 100%);
}
.hero-bg::before {
  content: '';
  position: absolute; inset: 0;
  background-image: url('fotosapoyo/paisajearmenia.jpg');
  background-size: cover; background-position: center;
  opacity: 0.45;
}
.hero-bg::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(10,10,10,0.75) 0%, rgba(10,10,10,0.25) 60%, transparent 100%);
}
.hero-content {
  position: relative; z-index: 2;
  padding: 0 60px; max-width: 820px;
  animation: heroReveal 1.2s var(--ease) both;
}
@keyframes heroReveal { from{opacity:0;transform:translateY(40px)} to{opacity:1;transform:translateY(0)} }
.hero-eyebrow {
  display: flex; align-items: center;
  font-size: 0.65rem; letter-spacing: 5px; text-transform: uppercase;
  color: var(--gold-light); margin-bottom: 24px;
}
.hero-eyebrow::before { content: ''; display: inline-block; width: 36px; height: 1px; background: var(--gold); margin-right: 14px; }
.hero-title {
  font-family: var(--serif); font-weight: 300;
  font-size: clamp(3rem, 6.5vw, 6rem);
  color: var(--white); line-height: 1.05;
  margin-bottom: 28px;
}
.hero-title em { color: var(--gold-light); font-style: italic; }
.hero-subtitle {
  color: rgba(255,255,255,0.58); font-size: 0.9rem;
  line-height: 1.8; max-width: 480px; font-weight: 300;
  margin-bottom: 44px;
}
.hero-actions { display: flex; gap: 16px; flex-wrap: wrap; }
.btn-primary {
  padding: 16px 40px; background: var(--gold); color: var(--white);
  font-size: 0.7rem; letter-spacing: 2.5px; text-transform: uppercase;
  font-weight: 400; transition: all 0.25s; border-radius: 1px;
  display: inline-flex; align-items: center; gap: 10px;
}
.btn-primary:hover { background: #a07a50; transform: translateY(-1px); }
.btn-outline-white {
  padding: 16px 40px;
  border: 1px solid rgba(255,255,255,0.4);
  color: var(--white); font-size: 0.7rem;
  letter-spacing: 2.5px; text-transform: uppercase;
  font-weight: 400; transition: all 0.25s; border-radius: 1px;
}
.btn-outline-white:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.7); }
.hero-scroll {
  position: absolute; bottom: 40px; left: 60px; z-index: 2;
  display: flex; align-items: center; gap: 14px;
  color: rgba(255,255,255,0.45); font-size: 0.62rem; letter-spacing: 3px; text-transform: uppercase;
}
.scroll-line { width: 40px; height: 1px; background: rgba(255,255,255,0.3); }
.hero-badge {
  position: absolute; right: 60px; bottom: 50px; z-index: 2;
  border: 1px solid var(--gold-line);
  padding: 20px 28px; text-align: center;
  background: rgba(10,10,10,0.6); backdrop-filter: blur(8px);
  animation: heroReveal 1.2s 0.3s var(--ease) both;
}
.hero-badge-num { font-family: var(--serif); font-size: 2.4rem; color: var(--gold); line-height: 1; }
.hero-badge-label { font-size: 0.62rem; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.5); margin-top: 4px; }

/* ===================== FEATURED ===================== */
#featured { padding: 120px 60px; background: #111111; }
.section-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 56px; }
.section-title { font-family: var(--serif); font-size: clamp(2rem, 3.5vw, 3rem); font-weight: 300; color: var(--black); }
.section-title em { font-style: italic; color: var(--gold); }
.view-all-link {
  font-size: 0.68rem; letter-spacing: 2.5px; text-transform: uppercase;
  color: var(--gold); border-bottom: 1px solid var(--gold-line);
  padding-bottom: 3px; transition: all 0.2s;
}
.view-all-link:hover { color: var(--dark); border-color: var(--dark); }

.featured-grid { display: grid; grid-template-columns: 1.4fr 1fr; grid-template-rows: auto auto; gap: 2px; }
.feat-card { position: relative; overflow: hidden; cursor: pointer; }
.feat-card-main { grid-row: 1 / 3; }
.feat-card-img { position: relative; overflow: hidden; }
.feat-card-main .feat-card-img { height: 600px; }
.feat-card:not(.feat-card-main) .feat-card-img { height: 299px; }
.feat-card-img img { height: 100%; object-fit: cover; transition: transform 0.8s var(--ease); }
.feat-card:hover .feat-card-img img { transform: scale(1.06); }
.feat-card-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(10,10,10,0.85) 0%, rgba(10,10,10,0.1) 50%, transparent 100%);
  transition: opacity 0.3s;
}
.feat-card-body {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 28px 28px 24px;
}
.feat-card-op {
  display: inline-block; padding: 4px 12px;
  background: var(--gold); color: var(--white);
  font-size: 0.58rem; letter-spacing: 2px; text-transform: uppercase;
  margin-bottom: 10px; border-radius: 1px;
}
.feat-card-op.rent { background: var(--charcoal); border: 1px solid var(--gold-line); }
.feat-card-title { font-family: var(--serif); font-size: 1.5rem; color: var(--white); line-height: 1.2; margin-bottom: 8px; font-weight: 400; }
.feat-card-loc { color: rgba(255,255,255,0.6); font-size: 0.75rem; letter-spacing: 1px; margin-bottom: 14px; }
.feat-card-price { font-family: var(--serif); font-size: 1.3rem; color: var(--gold-light); }
.feat-card-feats { display: flex; gap: 16px; margin-top: 10px; }
.feat-f { color: rgba(255,255,255,0.65); font-size: 0.72rem; letter-spacing: 0.5px; }

/* ===================== WHY US ===================== */
#why { padding: 120px 60px; background: var(--bone); }
.why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; margin-top: 60px; }
.why-card { padding: 40px 28px; background: var(--white); border-bottom: 2px solid transparent; transition: border-color 0.3s, transform 0.3s; }
.why-card:hover { border-color: var(--gold); transform: translateY(-4px); }
.why-icon {
  width: 48px; height: 48px; margin-bottom: 24px;
  border: 1px solid var(--gold-line);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold);
}
.why-title { font-family: var(--serif); font-size: 1.25rem; color: var(--black); margin-bottom: 12px; font-weight: 400; }
.why-text { font-size: 0.82rem; color: var(--mid); line-height: 1.8; font-weight: 300; }

/* ===================== TESTIMONIALS ===================== */
#testimonials { padding: 120px 60px; background: var(--black); position: relative; overflow: hidden; }
#testimonials::before {
  content: '"';
  position: absolute; top: -20px; left: 40px;
  font-family: var(--serif); font-size: 30rem; line-height: 1;
  color: rgba(255,255,255,0.02); pointer-events: none;
}
.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,0.06); margin-top: 60px; }
.testi-card { padding: 48px 36px; background: var(--black); }
.testi-stars { color: var(--gold); font-size: 0.7rem; letter-spacing: 3px; margin-bottom: 20px; }
.testi-text { font-family: var(--serif); font-size: 1.05rem; color: rgba(255,255,255,0.75); line-height: 1.75; font-style: italic; margin-bottom: 28px; font-weight: 300; }
.testi-author { font-size: 0.7rem; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); }
.testi-city { font-size: 0.65rem; letter-spacing: 1px; color: rgba(255,255,255,0.3); margin-top: 4px; }

/* ===================== CONTACT SECTION ===================== */
#contact-section { padding: 120px 60px; background: #111111; }
.contact-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.contact-left { }
.contact-info { margin-top: 44px; display: flex; flex-direction: column; gap: 28px; }
.contact-item { display: flex; align-items: flex-start; gap: 18px; }
.contact-icon { width: 44px; height: 44px; border: 1px solid var(--gold-line); display: flex; align-items: center; justify-content: center; color: var(--gold); flex-shrink: 0; }
.contact-item-label { font-size: 0.65rem; letter-spacing: 2px; text-transform: uppercase; color: var(--light); margin-bottom: 4px; }
.contact-item-value { font-size: 0.9rem; color: var(--dark); }
.btn-wa {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 28px; background: #25D366; color: var(--white);
  font-size: 0.7rem; letter-spacing: 2px; text-transform: uppercase;
  transition: background 0.2s; border-radius: 1px; margin-top: 12px; width: fit-content;
}
.btn-wa:hover { background: #1da851; }
.contact-right { }
.contact-form { display: flex; flex-direction: column; gap: 20px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-group { display: flex; flex-direction: column; gap: 7px; }
.form-label { font-size: 0.65rem; letter-spacing: 2px; text-transform: uppercase; color: var(--mid); }
.form-input, .form-select, .form-textarea {
  padding: 14px 16px;
  border: 1px solid #e0e0e0; border-radius: 1px;
  font-family: var(--sans); font-size: 0.85rem; color: var(--dark);
  background: var(--white); transition: border-color 0.2s; outline: none;
  appearance: none;
}
.form-input:focus, .form-select:focus, .form-textarea:focus { border-color: var(--gold); }
.form-textarea { resize: none; height: 110px; }
.btn-submit {
  padding: 16px 40px; background: var(--black); color: var(--white);
  font-size: 0.7rem; letter-spacing: 2.5px; text-transform: uppercase;
  transition: background 0.25s; border-radius: 1px; width: 100%;
}
.btn-submit:hover { background: var(--gold); }

/* ===================== FOOTER ===================== */
footer {
  background: var(--charcoal); padding: 60px 60px 40px;
}
.footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 60px; padding-bottom: 50px; border-bottom: 1px solid rgba(255,255,255,0.07); }
.footer-brand { }
.footer-logo { font-family: var(--serif); font-size: 1.4rem; color: var(--white); margin-bottom: 16px; }
.footer-logo span { color: var(--gold); }
.footer-tagline { font-size: 0.78rem; color: rgba(255,255,255,0.38); line-height: 1.7; font-weight: 300; max-width: 240px; }
.footer-col-title { font-size: 0.62rem; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); margin-bottom: 20px; }
.footer-links { display: flex; flex-direction: column; gap: 10px; }
.footer-links a { font-size: 0.78rem; color: rgba(255,255,255,0.45); transition: color 0.2s; }
.footer-links a:hover { color: var(--white); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; padding-top: 28px; }
.footer-copy { font-size: 0.7rem; color: rgba(255,255,255,0.25); letter-spacing: 0.5px; }
.footer-gold-line { display: flex; align-items: center; gap: 10px; font-size: 0.65rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--gold); }
.footer-gold-line::before { content: ''; width: 24px; height: 1px; background: var(--gold); }

/* ===================== FLOATING WA ===================== */
.float-wa {
  position: fixed; bottom: 32px; right: 32px; z-index: 800;
  width: 56px; height: 56px; border-radius: 50%;
  background: #25D366; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 30px rgba(37,211,102,0.4);
  transition: transform 0.25s, box-shadow 0.25s;
  animation: pulseWa 2.5s infinite;
}
.float-wa:hover { transform: scale(1.1); box-shadow: 0 12px 40px rgba(37,211,102,0.55); animation: none; }
@keyframes pulseWa { 0%,100%{box-shadow:0 8px 30px rgba(37,211,102,0.4)} 50%{box-shadow:0 8px 40px rgba(37,211,102,0.65)} }

/* ===================== PROPERTIES PAGE ===================== */
#properties-page { padding-top: 80px; }
.props-hero {
  background: var(--black); padding: 80px 60px 60px;
  position: relative; overflow: hidden;
}
.props-hero::before {
  content: '';
  position: absolute; inset: 0;
  background-image: url('maraya_assets/maraya-01.jpeg');
  background-size: cover; background-position: center 30%;
  opacity: 0.2;
}
.props-hero-content { position: relative; z-index: 1; }
.props-hero h1 { font-family: var(--serif); font-size: 3rem; color: var(--white); font-weight: 300; margin-bottom: 10px; }
.props-hero p { color: rgba(255,255,255,0.45); font-size: 0.85rem; }

.filters-bar {
  background: var(--white);
  border-bottom: 1px solid #ebebeb;
  padding: 24px 60px;
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  position: sticky; top: 80px; z-index: 100;
}
.filter-select {
  padding: 10px 36px 10px 14px;
  border: 1px solid #e0e0e0; border-radius: 1px;
  font-family: var(--sans); font-size: 0.78rem; color: var(--dark);
  background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%235a5a5a' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center;
  appearance: none; outline: none; cursor: pointer; transition: border-color 0.2s;
  min-width: 160px;
}
.filter-select:focus { border-color: var(--gold); }
.filter-divider { width: 1px; height: 28px; background: #e8e8e8; margin: 0 4px; }
.filter-count { margin-left: auto; font-size: 0.72rem; color: var(--light); letter-spacing: 1px; }
.btn-reset {
  padding: 10px 20px; border: 1px solid #e0e0e0;
  font-size: 0.68rem; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--mid); transition: all 0.2s; border-radius: 1px;
}
.btn-reset:hover { border-color: var(--gold); color: var(--gold); }

.props-grid-wrap { padding: 60px; background: var(--bone); min-height: 400px; }
.props-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 32px;
}
.prop-card { background: var(--white); overflow: hidden; cursor: pointer; transition: box-shadow 0.3s; }
.prop-card:hover { box-shadow: 0 20px 60px rgba(0,0,0,0.1); }
.prop-card-img { position: relative; height: 260px; overflow: hidden; }
.prop-card-img img { height: 100%; object-fit: cover; transition: transform 0.7s var(--ease); }
.prop-card:hover .prop-card-img img { transform: scale(1.06); }
.prop-card-badge {
  position: absolute; top: 16px; left: 16px;
  padding: 5px 12px; font-size: 0.6rem; letter-spacing: 2px; text-transform: uppercase;
}
.badge-sale { background: var(--gold); color: var(--white); }
.badge-rent { background: var(--charcoal); color: var(--gold-light); border: 1px solid var(--gold-line); }
.prop-card-body { padding: 24px 24px 20px; }
.prop-card-city { font-size: 0.65rem; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gold); margin-bottom: 7px; }
.prop-card-title { font-family: var(--serif); font-size: 1.2rem; color: var(--black); margin-bottom: 12px; font-weight: 400; line-height: 1.3; }
.prop-card-price { font-family: var(--serif); font-size: 1.3rem; color: var(--dark); margin-bottom: 16px; }
.prop-card-feats {
  display: flex; gap: 16px;
  border-top: 1px solid #f0f0f0;
  padding-top: 14px;
}
.prop-feat { font-size: 0.72rem; color: var(--mid); display: flex; align-items: center; gap: 5px; }
.prop-feat svg { color: var(--gold); }
.prop-card-cta {
  display: block; width: 100%; padding: 12px;
  background: var(--black); color: var(--white);
  font-size: 0.65rem; letter-spacing: 2px; text-transform: uppercase;
  text-align: center; transition: background 0.2s; margin-top: 16px;
}
.prop-card-cta:hover { background: var(--gold); }

.no-props {
  grid-column: 1/-1; text-align: center; padding: 80px 20px;
}
.no-props p { font-family: var(--serif); font-size: 1.5rem; color: var(--mid); }

/* ===================== DETAIL PAGE ===================== */
#detail-page { padding-top: 80px; }
.detail-back {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 0.68rem; letter-spacing: 2px; text-transform: uppercase;
  color: var(--gold); padding: 24px 60px 0;
  transition: gap 0.2s; cursor: pointer;
}
.detail-back:hover { gap: 14px; }
.detail-gallery { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: repeat(2, 240px); gap: 3px; margin: 20px 60px 0; overflow: hidden; }
.detail-gallery-main { grid-row: 1/3; height: 483px; position: relative; overflow: hidden; }
.detail-gallery-main img, .detail-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }
.detail-gallery-thumb { position: relative; overflow: hidden; }
.detail-gallery-main img { transition: transform 0.6s var(--ease); }
.detail-gallery-main:hover img { transform: scale(1.03); }
.detail-gallery-count {
  position: absolute; bottom: 16px; right: 16px;
  background: rgba(10,10,10,0.75); color: var(--white);
  padding: 6px 14px; font-size: 0.7rem; letter-spacing: 1px;
  backdrop-filter: blur(4px);
}

.detail-body { display: grid; grid-template-columns: 1fr 380px; gap: 60px; padding: 48px 60px 80px; align-items: start; }
.detail-left { }
.detail-city { font-size: 0.8rem; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; }
.detail-title { font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.8rem); color: var(--black); font-weight: 300; line-height: 1.15; margin-bottom: 16px; }
.detail-price { font-family: var(--serif); font-size: 2rem; color: var(--dark); margin-bottom: 32px; }
.detail-feats-row {
  display: flex; gap: 0; border: 1px solid #ebebeb;
  margin-bottom: 40px;
}
.detail-feat {
  flex: 1; padding: 18px 20px; text-align: center;
  border-right: 1px solid #ebebeb;
}
.detail-feat:last-child { border-right: none; }
.detail-feat-num { font-family: var(--serif); font-size: 1.4rem; color: var(--black); }
.detail-feat-label { font-size: 0.62rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--light); margin-top: 3px; }
.detail-section-title {
  font-family: var(--serif);
  font-size: 1.35rem;
  color: var(--black);
  margin-bottom: 14px;
  margin-top: 36px;
  font-weight: 600;
}
.detail-section-title:first-child { margin-top: 0; }
.detail-desc { font-size: 0.88rem; color: var(--mid); line-height: 1.85; font-weight: 300; }
.detail-amenities { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 4px; }
.amenity {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9rem;
  color: #f4f1eb;
  font-weight: 300;
}.amenity::before { content: ''; width: 5px; height: 5px; background: var(--gold); flex-shrink: 0; border-radius: 50%; }
.detail-map { height: 240px; background: #f0ede8; margin-top: 10px; display: flex; align-items: center; justify-content: center; border: 1px solid #e8e5e0; position: relative; overflow: hidden; }
.detail-map iframe { width: 100%; height: 100%; border: none; }
.detail-map-placeholder { text-align: center; color: var(--light); }
.detail-map-placeholder svg { color: var(--gold); margin-bottom: 8px; }
.detail-map-placeholder p { font-size: 0.78rem; letter-spacing: 1px; }

.detail-right { position: sticky; top: 100px; }
.contact-card {
  border: 1px solid #ebebeb; padding: 36px 32px;
  background: var(--white);
}
.contact-card-title { font-family: var(--serif); font-size: 1.3rem; color: var(--black); margin-bottom: 4px; font-weight: 400; }
.contact-card-sub { font-size: 0.72rem; color: var(--light); letter-spacing: 1px; margin-bottom: 28px; }
.contact-card form { display: flex; flex-direction: column; gap: 14px; }
.btn-wa-full {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  padding: 14px; background: #25D366; color: var(--white);
  font-size: 0.7rem; letter-spacing: 2px; text-transform: uppercase;
  transition: background 0.2s; margin-top: 4px;
}
.btn-wa-full:hover { background: #1da851; }
.btn-email-full {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  padding: 14px; background: var(--white); color: var(--dark);
  font-size: 0.7rem; letter-spacing: 2px; text-transform: uppercase;
  border: 1px solid #e0e0e0;
  transition: all 0.2s; margin-top: 4px;
}
.btn-email-full:hover { border-color: var(--gold); color: var(--gold); }
.agent-box { border: 1px solid #ebebeb; padding: 24px; margin-top: 16px; display: flex; align-items: center; gap: 16px; }
.agent-avatar { width: 48px; height: 48px; border-radius: 50%; background: var(--bone); border: 1px solid var(--gold-line); display: flex; align-items: center; justify-content: center; color: var(--gold); font-family: var(--serif); font-size: 1.1rem; flex-shrink: 0; }
.agent-name {
  color: #f4f1eb;
}
.agent-role { font-size: 0.68rem; letter-spacing: 1.5px; color: var(--light); text-transform: uppercase; margin-top: 2px; }


.full-gallery { margin-top: 34px; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
.full-gallery a { display:block; height: 150px; overflow:hidden; background: var(--bone); }
.full-gallery img { width:100%; height:100%; object-fit:cover; transition: transform 0.35s var(--ease); }
.full-gallery a:hover img { transform: scale(1.05); }
@media (max-width: 580px) { .full-gallery { grid-template-columns: repeat(2, 1fr); } .full-gallery a { height: 120px; } }
.video-thumb {
  position: relative;
  cursor: pointer;
  overflow: hidden;
}

.video-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.8;
}

.video-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.35);
  color: white;
  font-size: .9rem;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* ===================== SCHEDULE CTA ===================== */
.schedule-cta {
  background: var(--black); padding: 80px 60px;
  text-align: center; position: relative; overflow: hidden;
}
.schedule-cta::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at center, rgba(184,151,106,0.12) 0%, transparent 65%);
  pointer-events: none;
}
.schedule-cta-tag { font-size: 0.62rem; letter-spacing: 4px; text-transform: uppercase; color: var(--gold); margin-bottom: 20px; display: flex; align-items: center; justify-content: center; gap: 12px; }
.schedule-cta-tag::before, .schedule-cta-tag::after { content: ''; width: 30px; height: 1px; background: var(--gold-line); }
.schedule-cta h2 { font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.5rem); color: var(--white); font-weight: 300; margin-bottom: 16px; }
.schedule-cta p { color: rgba(255,255,255,0.45); font-size: 0.88rem; margin-bottom: 36px; }

/* ===================== MOBILE ===================== */
@media (max-width: 900px) {
  nav { padding: 0 24px; }
  .nav-links, .nav-cta { display: none; }
  .nav-mobile-toggle { display: flex; }
  .hero-content { padding: 0 24px; }
  .hero-badge { display: none; }
  .hero-scroll { left: 24px; }
  #featured, #why, #testimonials, #contact-section { padding: 72px 24px; }
  .section-header { flex-direction: column; align-items: flex-start; gap: 16px; }
  .featured-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .feat-card-main { grid-row: auto; }
  .feat-card-main .feat-card-img { height: 360px; }
  .why-grid { grid-template-columns: 1fr 1fr; }
  .testimonials-grid { grid-template-columns: 1fr; }
  .contact-inner { grid-template-columns: 1fr; gap: 48px; }
  .form-row { grid-template-columns: 1fr; }
  footer { padding: 48px 24px 32px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 36px; }
  .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
  .filters-bar { padding: 16px 24px; }
  .props-hero { padding: 60px 24px 40px; }
  .props-grid-wrap { padding: 36px 24px; }
  .detail-gallery { margin: 16px 24px 0; grid-template-columns: 1fr; grid-template-rows: 260px; }
  .detail-gallery-main { height: 260px; grid-row: auto; }
  .detail-gallery-thumb { display: none; }
  .detail-body { grid-template-columns: 1fr; padding: 32px 24px 60px; gap: 36px; }
  .detail-right { position: static; }
  .detail-back { padding: 18px 24px 0; }
  .schedule-cta { padding: 60px 24px; }
}
@media (max-width: 580px) {
  .why-grid { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; }
  .detail-feats-row { flex-wrap: wrap; }
  .detail-feat { min-width: 45%; border-bottom: 1px solid #ebebeb; }
}

.logo-img { height: 58px; width: auto; object-fit: contain; display: block; }
.footer-logo-img { height: 82px; width: auto; object-fit: contain; display: block; margin-bottom: 14px; }
.gallery-lightbox {
  display: none; position: fixed; inset: 0; z-index: 99999;
  background: rgba(0,0,0,.94); align-items: center; justify-content: center;
}
.gallery-lightbox.active { display: flex; }
.gallery-lightbox img { max-width: 90vw; max-height: 84vh; object-fit: contain; box-shadow: 0 20px 70px rgba(0,0,0,.45); }
.gallery-close, .gallery-prev, .gallery-next {
  position: absolute; background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.25);
  width: 52px; height: 52px; border-radius: 50%; font-size: 32px; display: flex; align-items: center; justify-content: center;
  cursor: pointer; backdrop-filter: blur(8px);
}
.gallery-close { top: 24px; right: 24px; font-size: 34px; }
.gallery-prev { left: 24px; top: 50%; transform: translateY(-50%); }
.gallery-next { right: 24px; top: 50%; transform: translateY(-50%); }
.gallery-counter { position: absolute; bottom: 24px; color: rgba(255,255,255,.75); font-size: 13px; letter-spacing: 1px; }
.gallery-clickable { cursor: zoom-in; }
@media (max-width: 900px) {
  .logo-img { height: 46px; }
  .gallery-prev { left: 10px; }
  .gallery-next { right: 10px; }
  .gallery-close { top: 12px; right: 12px; }
}

/* ===================== SOFT DARK LUXURY THEME ===================== */
body,
#home-page,
#properties-page,
#detail-page,
#contact-page {
  background: #151515 !important;
  color: #f4f1eb !important;
}

/* Header / navbar */
nav,
nav.scrolled,
nav.dark-nav {
  background: rgba(12, 12, 12, 0.94) !important;
  border-bottom: 1px solid rgba(184,151,106,0.24) !important;
  box-shadow: 0 10px 36px rgba(0,0,0,0.28) !important;
  backdrop-filter: blur(14px);
}

nav .nav-links a,
nav.scrolled .nav-links a {
  color: rgba(255,255,255,0.78) !important;
}

nav .nav-links a:hover,
nav .nav-links a.active,
nav.scrolled .nav-links a:hover,
nav.scrolled .nav-links a.active {
  color: var(--gold-light) !important;
}

nav .nav-cta,
nav.scrolled .nav-cta {
  background: rgba(184,151,106,0.08) !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold-light) !important;
  border-radius: 4px;
}

nav .nav-cta:hover,
nav.scrolled .nav-cta:hover {
  background: var(--gold) !important;
  color: #111111 !important;
}

.nav-mobile-toggle span,
nav.scrolled .nav-mobile-toggle span {
  background: var(--gold-light) !important;
}

/* Main section backgrounds */
#featured,
#contact-section,
.props-grid-wrap,
.detail-body,
#detail-page,
#properties-page {
  background: linear-gradient(180deg, #181818 0%, #141414 100%) !important;
}

#why,
.filters-bar,
.detail-left,
.detail-right {
  background: #1d1b19 !important;
}

.props-hero,
.schedule-cta,
footer {
  background: #0b0b0b !important;
}

/* Structure and separation */
section,
.schedule-cta,
.props-grid-wrap,
.detail-body,
#contact-section {
  border-top: 1px solid rgba(184,151,106,0.13);
}

.section-header {
  border-bottom: 1px solid rgba(184,151,106,0.18);
  padding-bottom: 26px;
}

/* Typography */
.section-title,
.detail-title,
.detail-section-title,
.why-title,
.contact-card-title,
.prop-card-title,
.detail-feat-num,
.no-props p {
  color: #faf4ea !important;
}

.detail-price,
.prop-card-price,
.feat-card-price {
  color: var(--gold-light) !important;
}

.hero-subtitle,
.detail-desc,
.why-text,
.contact-item-value,
.prop-feat,
.detail-map-placeholder p,
.contact-card-sub,
.detail-feat-label,
.agent-role,
.form-label,
.filter-count,
p {
  color: rgba(255,255,255,0.72) !important;
}

.detail-city,
.prop-card-city,
.section-tag,
.view-all-link,
.detail-back,
.footer-col-title {
  color: var(--gold) !important;
}

/* Cards and boxes */
.why-card,
.prop-card,
.contact-card,
.agent-box,
.detail-feats-row,
.detail-feat,
.form-input,
.form-select,
.form-textarea {
  background: #222222 !important;
  border: 1px solid rgba(184,151,106,0.26) !important;
  color: #f4f1eb !important;
  box-shadow: 0 18px 45px rgba(0,0,0,0.22);
  border-radius: 10px;
}

.filters-bar {
  background: #1f1f1f !important;
  border-color: rgba(184,151,106,0.22) !important;
}

.why-card:hover,
.prop-card:hover,
.contact-card:hover {
  border-color: rgba(212,184,150,0.52) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,0.32);
}

.detail-feat {
  border-right-color: rgba(184,151,106,0.22) !important;
}

.prop-card-feats {
  border-top-color: rgba(184,151,106,0.18) !important;
}

.agent-avatar {
  background: #121212 !important;
  border-color: rgba(184,151,106,0.45) !important;
  color: var(--gold-light) !important;
}

.agent-name {
  color: #f4f1eb !important;
}

/* Forms */
.form-input::placeholder,
.form-textarea::placeholder {
  color: rgba(255,255,255,0.35) !important;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(184,151,106,0.12);
}

/* Images, gallery and map */
.prop-card-img,
.feat-card-img,
.detail-gallery-main,
.detail-gallery-thumb,
.detail-map,
.full-gallery a,
.video-thumb {
  border-radius: 8px;
  overflow: hidden;
}

.detail-map,
.full-gallery a {
  background: #1f1f1f !important;
  border-color: rgba(184,151,106,0.22) !important;
}

.detail-gallery-count {
  background: rgba(0,0,0,0.82) !important;
  color: #fff !important;
}

/* Logo */
.logo-img {
  filter: drop-shadow(0 2px 8px rgba(0,0,0,0.35));
}

/* Buttons */
.btn-primary,
.btn-submit,
.prop-card-cta {
  background: var(--gold) !important;
  color: #111111 !important;
  border-radius: 4px;
}

.btn-primary:hover,
.btn-submit:hover,
.prop-card-cta:hover {
  background: var(--gold-light) !important;
  color: #0f0f0f !important;
  transform: translateY(-1px);
}

.btn-outline-white,
.btn-show-gallery,
.btn-reset {
  border-radius: 4px;
}

.btn-show-gallery {
  margin-top: 20px;
  padding: 12px 24px;
  background: transparent;
  border: 1px solid var(--gold);
  color: var(--gold-light);
  font-size: 0.75rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.25s ease;
}

.btn-show-gallery:hover {
  background: var(--gold);
  color: #111;
}

/* Feature overlays */
.feat-card-overlay {
  background: linear-gradient(to top, rgba(0,0,0,0.86) 0%, rgba(0,0,0,0.2) 55%, transparent 100%) !important;
}

/* Footer refinement */
footer {
  border-top: 1px solid rgba(184,151,106,0.18);
}

.footer-links a {
  color: rgba(255,255,255,0.55) !important;
}

.footer-links a:hover {
  color: var(--gold-light) !important;
}

/* Collapsible Gallery */
.extra-photo {
  display: none !important;
}

.full-gallery.expanded .extra-photo {
  display: block !important;
}

/* Mobile navbar */
@media (max-width: 900px) {
  nav,
  nav.scrolled {
    background: rgba(10,10,10,0.98) !important;
  }
}
.city-stack{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.city-horizontal-card{
  position:relative;
  display:block;
  height:280px;
  overflow:hidden;
  border-radius:12px;
  text-decoration:none;
  color:#fff;
  border:1px solid rgba(198,157,95,.18);
}

.city-horizontal-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:.6s ease;
}

.city-horizontal-card:hover img{
  transform:scale(1.04);
}

.city-horizontal-body{
  position:absolute;
  left:42px;
  bottom:34px;
  z-index:2;
}

.city-horizontal-body h3{
  font-family:'Cormorant Garamond', serif;
  font-size:48px;
  margin:10px 0;
  color:#fff;
}

.city-horizontal-body p{
  color:rgba(255,255,255,.82);
  letter-spacing:.5px;
}

@media(max-width:768px){
  .city-horizontal-card{
    height:230px;
  }

  .city-horizontal-body{
    left:24px;
    bottom:24px;
  }

  .city-horizontal-body h3{
    font-size:36px;
  }
}
@media (max-width: 768px) {
  .filters-bar {
    position: static !important;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 18px;
  }

  .filter-select {
    width: 100%;
    height: 48px;
    font-size: 14px;
  }

  .filter-divider {
    display: none;
  }

  .btn-reset {
    height: 48px;
  }

  .filter-count {
    grid-column: 1 / -1;
    text-align: right;
    margin-top: 4px;
  }
}
@media (max-width: 768px) {
  .nav-links,
  .nav-cta {
    display: none;
  }

  .nav-links.mobile-active {
    display: flex;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #070707;
    flex-direction: column;
    padding: 24px;
    border-top: 1px solid rgba(198,157,95,.25);
    z-index: 999;
  }

  .nav-links.mobile-active a {
    padding: 14px 0;
  }

  .nav-cta.mobile-active {
    display: block;
    position: absolute;
    top: calc(100% + 180px);
    left: 24px;
    right: 24px;
    text-align: center;
    z-index: 999;
    background: #070707;
  }
}


/* =========================================================
   LUXURY PROPIEDADES — EDITORIAL BRAND THEME V2
   Inspirado en el brief enviado: negro, azul profundo, gris,
   blanco, tipografía editorial condensada y diseño minimalista.
   ========================================================= */
:root{
  --black:#0A0A0A;
  --charcoal:#1F2933;
  --dark:#0D1B2A;
  --mid:#6B7280;
  --light:#D9DDE1;
  --bone:#F5F5F3;
  --white:#FFFFFF;
  --gold:#0D1B2A;
  --gold-light:#D9DDE1;
  --gold-dim:rgba(13,27,42,.08);
  --gold-line:rgba(13,27,42,.18);
  --serif:'Bebas Neue','Arial Narrow',Impact,sans-serif;
  --sans:'Inter',Arial,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}
html{font-size:16px;}
body{
  font-family:var(--sans)!important;
  background:#F5F5F3!important;
  color:#0A0A0A!important;
  letter-spacing:-.01em;
}
body p{color:#2b3138!important;}
img{filter:saturate(.82) contrast(1.03);}

/* NAV */
nav,nav.scrolled,nav.dark-nav{
  height:76px!important;
  padding:0 clamp(22px,4vw,64px)!important;
  background:rgba(10,10,10,.92)!important;
  border-bottom:1px solid rgba(255,255,255,.11)!important;
  box-shadow:none!important;
  backdrop-filter:blur(18px)!important;
}
.logo-img{height:48px!important;width:auto!important;object-fit:contain!important;filter:grayscale(1) brightness(8) contrast(1.3)!important;}
.nav-links{gap:34px!important;}
.nav-links a,nav.scrolled .nav-links a{
  font-family:var(--sans)!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:2.4px!important;
  color:rgba(255,255,255,.72)!important;
}
.nav-links a::after{background:#fff!important;height:1px!important;}
.nav-links a:hover,.nav-links a.active,nav.scrolled .nav-links a.active{color:#fff!important;}
.nav-cta,nav.scrolled .nav-cta{
  background:#fff!important;
  color:#0A0A0A!important;
  border:1px solid #fff!important;
  border-radius:0!important;
  padding:12px 22px!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:2px!important;
}
.nav-cta:hover{background:transparent!important;color:#fff!important;}
.nav-mobile-toggle span,nav.scrolled .nav-mobile-toggle span{background:#fff!important;}

/* HERO / EDITORIAL COVER */
#hero{
  min-height:760px!important;
  height:100vh!important;
  align-items:flex-end!important;
  padding-bottom:clamp(80px,10vw,130px)!important;
  background:#0A0A0A!important;
}
.hero-bg{background:#0A0A0A!important;}
.hero-bg::before{
  opacity:.50!important;
  filter:grayscale(.25) saturate(.75) contrast(1.08)!important;
  background-position:center!important;
}
.hero-bg::after{
  background:linear-gradient(90deg,rgba(10,10,10,.92) 0%,rgba(10,10,10,.72) 40%,rgba(10,10,10,.15) 100%)!important;
}
.hero-content{padding:0 clamp(24px,5vw,80px)!important;max-width:920px!important;}
.hero-eyebrow,.section-tag,.detail-city,.prop-card-city{
  font-family:var(--sans)!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:2px!important;
  color:#fff!important;
  text-transform:uppercase!important;
}
.hero-eyebrow::before,.gold-line{background:#fff!important;width:44px!important;}
.hero-title{
  font-family:var(--serif)!important;
  font-size:clamp(72px,11vw,156px)!important;
  line-height:.82!important;
  letter-spacing:.015em!important;
  font-weight:400!important;
  text-transform:uppercase!important;
  color:#fff!important;
  margin-bottom:28px!important;
  max-width:820px!important;
}
.hero-title em{font-style:normal!important;color:#fff!important;}
.hero-subtitle{
  max-width:520px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:16px!important;
  line-height:1.75!important;
  font-weight:400!important;
}
.hero-badge{
  right:clamp(22px,5vw,72px)!important;
  bottom:clamp(24px,6vw,70px)!important;
  border:1px solid rgba(255,255,255,.42)!important;
  background:rgba(10,10,10,.28)!important;
  border-radius:0!important;
}
.hero-badge-num{font-family:var(--serif)!important;color:#fff!important;font-size:58px!important;}
.hero-badge-label{color:rgba(255,255,255,.72)!important;font-weight:700!important;}
.hero-scroll{color:rgba(255,255,255,.52)!important;}
.scroll-line{background:rgba(255,255,255,.38)!important;}

/* BUTTONS */
.btn-primary,.btn-submit,.prop-card-cta,.btn-email-full,.btn-whatsapp-full{
  background:#0A0A0A!important;
  color:#fff!important;
  border:1px solid #0A0A0A!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-family:var(--sans)!important;
  font-weight:800!important;
  letter-spacing:2px!important;
  text-transform:uppercase!important;
}
.btn-primary:hover,.btn-submit:hover,.prop-card-cta:hover,.btn-email-full:hover,.btn-whatsapp-full:hover{
  background:#fff!important;color:#0A0A0A!important;border-color:#0A0A0A!important;transform:translateY(-2px)!important;
}
.btn-outline-white,.btn-reset,.btn-show-gallery{
  border:1px solid currentColor!important;
  border-radius:0!important;
  color:#fff!important;
  background:transparent!important;
  font-weight:800!important;
  letter-spacing:2px!important;
}
.btn-reset,.btn-show-gallery{color:#0A0A0A!important;background:#fff!important;}

/* SECTIONS */
#featured,#why,#contact-section,.props-grid-wrap,#detail-page,#properties-page,.detail-body{
  background:#F5F5F3!important;
  color:#0A0A0A!important;
  border-top:1px solid rgba(10,10,10,.09)!important;
}
#featured,#why,#contact-section,.props-grid-wrap{
  padding:clamp(72px,9vw,138px) clamp(22px,5vw,76px)!important;
}
.section-header{
  align-items:flex-start!important;
  padding-bottom:30px!important;
  border-bottom:1px solid rgba(10,10,10,.14)!important;
  margin-bottom:52px!important;
}
.section-title,.detail-title,.props-hero h1,.schedule-title{
  font-family:var(--serif)!important;
  font-size:clamp(58px,7vw,112px)!important;
  line-height:.88!important;
  letter-spacing:.01em!important;
  text-transform:uppercase!important;
  font-weight:400!important;
  color:#0A0A0A!important;
}
.section-title em,.props-hero h1 em{font-style:normal!important;color:#0D1B2A!important;}
.section-tag,.detail-city,.prop-card-city,.view-all-link,.detail-back,.footer-col-title{color:#0A0A0A!important;}
.section-tag .gold-line,.section-tag::before{background:#0A0A0A!important;}
.view-all-link{border-color:#0A0A0A!important;font-weight:800!important;}

/* FEATURED GRID */
.featured-grid{gap:14px!important;}
.feat-card,.prop-card,.why-card,.contact-card,.agent-box,.detail-feats-row,.filters-bar{
  border-radius:0!important;
  box-shadow:none!important;
  border:1px solid rgba(10,10,10,.12)!important;
  background:#fff!important;
}
.feat-card-img,.prop-card-img,.detail-gallery-main,.detail-gallery-thumb,.detail-map,.full-gallery a,.video-thumb{border-radius:0!important;}
.feat-card-main .feat-card-img{height:min(680px,70vw)!important;}
.feat-card:not(.feat-card-main) .feat-card-img{height:330px!important;}
.feat-card-overlay{background:linear-gradient(to top,rgba(10,10,10,.72),rgba(10,10,10,.04))!important;}
.feat-card-body{padding:32px!important;}
.feat-card-title{
  font-family:var(--serif)!important;
  font-size:clamp(34px,4vw,66px)!important;
  line-height:.88!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  color:#fff!important;
}
.feat-card-op{background:#fff!important;color:#0A0A0A!important;border-radius:0!important;font-weight:800!important;}
.feat-card-price{font-family:var(--sans)!important;color:#fff!important;font-weight:800!important;font-size:17px!important;}
.feat-card-loc,.feat-f{color:rgba(255,255,255,.78)!important;}

/* WHY / DIFFERENTIATORS */
.why-grid{gap:18px!important;}
.why-card{padding:44px 28px!important;transition:transform .25s ease,background .25s ease!important;}
.why-card:hover{background:#0D1B2A!important;transform:translateY(-4px)!important;border-color:#0D1B2A!important;}
.why-card:hover .why-title,.why-card:hover .why-text,.why-card:hover .why-icon{color:#fff!important;border-color:rgba(255,255,255,.36)!important;}
.why-title,.contact-card-title,.detail-section-title{
  font-family:var(--serif)!important;
  font-size:clamp(32px,3.2vw,54px)!important;
  line-height:.92!important;
  text-transform:uppercase!important;
  color:#0A0A0A!important;
}
.why-text,.detail-desc,.contact-card-sub,.contact-item-value,.prop-feat,.detail-feat-label,.agent-role,.form-label,.filter-count{
  color:#333A42!important;
  line-height:1.75!important;
}
.why-icon,.contact-icon{border-color:#0A0A0A!important;color:#0A0A0A!important;border-radius:0!important;}

/* PROPERTIES LIST */
.props-hero,.schedule-cta{
  background:#0A0A0A!important;
  color:#fff!important;
  border-top:0!important;
}
.props-hero h1,.schedule-title{color:#fff!important;}
.props-hero p,.schedule-text{color:rgba(255,255,255,.74)!important;}
.filters-bar{padding:18px!important;}
.filter-select,.form-input,.form-select,.form-textarea{
  background:#fff!important;
  color:#0A0A0A!important;
  border:1px solid rgba(10,10,10,.16)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.prop-card{overflow:hidden!important;}
.prop-card-title{
  font-family:var(--serif)!important;
  font-size:34px!important;
  line-height:.95!important;
  text-transform:uppercase!important;
  color:#0A0A0A!important;
}
.prop-card-price,.detail-price{
  font-family:var(--sans)!important;
  font-size:20px!important;
  font-weight:800!important;
  color:#0A0A0A!important;
}
.prop-card-feats{border-top:1px solid rgba(10,10,10,.10)!important;}

/* DETAIL PAGE */
.detail-back{font-weight:800!important;letter-spacing:1.2px!important;}
.detail-gallery{gap:12px!important;margin:24px clamp(22px,5vw,76px) 0!important;}
.detail-body{grid-template-columns:minmax(0,1fr) 400px!important;gap:clamp(36px,5vw,80px)!important;padding:58px clamp(22px,5vw,76px) 92px!important;}
.detail-city{color:#0A0A0A!important;}
.detail-title{font-size:clamp(62px,8vw,118px)!important;max-width:850px!important;}
.detail-price{margin:24px 0 36px!important;}
.detail-feats-row{background:#fff!important;border-color:rgba(10,10,10,.12)!important;}
.detail-feat{background:transparent!important;border-right:1px solid rgba(10,10,10,.10)!important;}
.detail-feat-num{
  font-family:var(--serif)!important;
  color:#0A0A0A!important;
  font-size:42px!important;
}
.detail-section-title{margin-top:54px!important;margin-bottom:18px!important;}
.detail-amenity{
  background:#fff!important;
  color:#0A0A0A!important;
  border:1px solid rgba(10,10,10,.10)!important;
  border-radius:0!important;
}
.detail-amenity svg{color:#0A0A0A!important;}
.contact-card{padding:34px!important;}
.agent-avatar{background:#0A0A0A!important;color:#fff!important;border-radius:50%!important;border:0!important;}
.agent-name{color:#0A0A0A!important;font-weight:800!important;}

/* CONTACT */
.contact-inner{gap:clamp(36px,7vw,110px)!important;}
.contact-form{background:#fff!important;border:1px solid rgba(10,10,10,.12)!important;padding:32px!important;}
.form-input::placeholder,.form-textarea::placeholder{color:#8B9299!important;}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#0A0A0A!important;box-shadow:0 0 0 3px rgba(10,10,10,.08)!important;}

/* FOOTER */
footer{
  background:#0A0A0A!important;
  color:#fff!important;
  border-top:0!important;
}
.footer-logo-img{filter:grayscale(1) brightness(8) contrast(1.3)!important;}
.footer-links a,.footer-bottom,.footer-desc{color:rgba(255,255,255,.58)!important;}
.footer-links a:hover{color:#fff!important;}
.footer-col-title{color:#fff!important;}

/* Floating WhatsApp simplified */
.float-wa{background:#0A0A0A!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 16px 34px rgba(0,0,0,.22)!important;}

/* Responsive */
@media(max-width:900px){
  nav{height:68px!important;}
  .logo-img{height:42px!important;}
  .hero-title{font-size:clamp(62px,18vw,104px)!important;}
  .hero-badge{display:none!important;}
  .section-header{display:block!important;}
  .featured-grid,.why-grid,.contact-inner,.detail-body{grid-template-columns:1fr!important;}
  .feat-card-main .feat-card-img,.feat-card:not(.feat-card-main) .feat-card-img{height:360px!important;}
  .detail-gallery{grid-template-columns:1fr!important;grid-template-rows:310px!important;}
  .detail-gallery-main{height:310px!important;}
  .detail-gallery-thumb{display:none!important;}
  .detail-title,.section-title,.props-hero h1{font-size:clamp(52px,15vw,82px)!important;}
  .nav-links.mobile-active{background:#0A0A0A!important;border-top:1px solid rgba(255,255,255,.12)!important;}
}
@media(max-width:560px){
  #hero{min-height:690px!important;}
  .hero-content{padding:0 22px!important;}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;}
  .btn-primary,.btn-outline-white{justify-content:center!important;width:100%!important;}
  #featured,#why,#contact-section,.props-grid-wrap,.detail-body{padding-left:18px!important;padding-right:18px!important;}
  .section-title,.detail-title,.props-hero h1{font-size:52px!important;}
  .detail-feats-row{display:grid!important;grid-template-columns:1fr 1fr!important;}
  .detail-feat{border-bottom:1px solid rgba(10,10,10,.10)!important;}
}


/* =========================================================
   HOTFIX V3 — Property pages + Contact + Footer consistency
   ========================================================= */
body,
#home-page,
#properties-page,
#detail-page,
#contact-page{
  background:#F5F5F3!important;
  color:#0A0A0A!important;
}

/* Property detail pages should stay clean, white/editorial — no dark blocks */
#detail-page,
#detail-page .detail-body,
#detail-page .detail-left,
#detail-page .detail-right,
#detail-page .detail-section,
#detail-page section{
  background:#F5F5F3!important;
  color:#0A0A0A!important;
}
.detail-gallery{
  background:#F5F5F3!important;
  border:0!important;
}
.detail-gallery-main,
.detail-gallery-thumb{
  background:#E5E7EB!important;
  min-height:240px!important;
}
.detail-gallery-main img,
.detail-gallery-thumb img,
.full-gallery img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  opacity:1!important;
  visibility:visible!important;
}
.detail-city,
.detail-title,
.detail-price,
.detail-section-title,
.detail-feat-num,
.property-location,
.agent-name{
  color:#0A0A0A!important;
}
.detail-desc,
.detail-desc *,
.detail-feat-label,
.agent-role,
.contact-card-sub,
.property-location{
  color:#333A42!important;
}
.detail-feats-row,
.detail-feat,
.contact-card,
.agent-box,
.detail-map,
.full-gallery img,
.video-thumb{
  background:#FFFFFF!important;
  border-color:rgba(10,10,10,.12)!important;
  box-shadow:none!important;
}
.detail-feat{
  border-right:1px solid rgba(10,10,10,.10)!important;
}
.amenity,
.detail-amenity{
  background:#FFFFFF!important;
  color:#0A0A0A!important;
  border:1px solid rgba(10,10,10,.12)!important;
  border-radius:0!important;
  padding:14px 16px!important;
  font-size:13px!important;
  letter-spacing:.2px!important;
}
.full-gallery{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.full-gallery img,
.video-thumb{
  aspect-ratio:4/3!important;
  height:auto!important;
  overflow:hidden!important;
}

/* Contact page subtitles/labels must be readable on light background */
#contact-section,
#contact-page,
#contact-page .contact-left,
#contact-page .contact-right,
#contact-page .contact-inner{
  background:#F5F5F3!important;
  color:#0A0A0A!important;
}
.contact-item-label,
.form-label,
.section-tag,
.contact-item-value,
#contact-page p,
#contact-page .section-title,
#contact-page .section-title em{
  color:#0A0A0A!important;
}
.contact-item-label,
.form-label{
  font-weight:800!important;
  letter-spacing:1.6px!important;
  text-transform:uppercase!important;
}
.contact-form,
.contact-card{
  background:#FFFFFF!important;
  color:#0A0A0A!important;
}

/* Footer editorial theme — visible and consistent on every page */
.site-footer,
footer.site-footer,
body footer{
  display:block!important;
  background:#0A0A0A!important;
  color:#FFFFFF!important;
  padding:64px clamp(22px,5vw,76px) 34px!important;
  border-top:0!important;
  margin-top:0!important;
}
.site-footer .footer-top,
footer .footer-top{
  display:grid!important;
  grid-template-columns:2fr 1fr 1fr 1.2fr!important;
  gap:clamp(28px,5vw,72px)!important;
  padding-bottom:42px!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}
.site-footer .footer-logo-img,
footer .footer-logo-img{
  height:68px!important;
  width:auto!important;
  object-fit:contain!important;
  filter:grayscale(1) brightness(8) contrast(1.3)!important;
}
.site-footer .footer-tagline,
footer .footer-tagline{
  max-width:330px!important;
  color:rgba(255,255,255,.62)!important;
  font-size:13px!important;
  line-height:1.8!important;
  margin-top:14px!important;
}
.site-footer .footer-col-title,
footer .footer-col-title{
  color:#FFFFFF!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:2.3px!important;
  text-transform:uppercase!important;
  margin-bottom:18px!important;
}
.site-footer .footer-links,
footer .footer-links{
  display:flex!important;
  flex-direction:column!important;
  gap:11px!important;
}
.site-footer .footer-links a,
footer .footer-links a{
  color:rgba(255,255,255,.60)!important;
  font-size:13px!important;
  text-decoration:none!important;
}
.site-footer .footer-links a:hover,
footer .footer-links a:hover{
  color:#FFFFFF!important;
}
.site-footer .footer-bottom,
footer .footer-bottom{
  display:flex!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding-top:26px!important;
  color:rgba(255,255,255,.48)!important;
  font-size:12px!important;
}
.site-footer .footer-gold-line,
footer .footer-gold-line{
  color:rgba(255,255,255,.72)!important;
  letter-spacing:1.4px!important;
  text-transform:uppercase!important;
}
.site-footer .footer-gold-line::before,
footer .footer-gold-line::before{
  background:#FFFFFF!important;
  opacity:.6!important;
}

@media(max-width:900px){
  .full-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .site-footer .footer-top, footer .footer-top{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:560px){
  .full-gallery{grid-template-columns:1fr!important;}
  .site-footer .footer-top, footer .footer-top{grid-template-columns:1fr!important;}
  .site-footer .footer-bottom, footer .footer-bottom{flex-direction:column!important;}
}


/* =========================================================
   HOTFIX V5 — Modern translucent nav + city filter + readability
   ========================================================= */
:root{
  --nav-h: 88px;
}

/* Header: thicker, modern real-estate style, translucent, hides on scroll */
nav,
nav.scrolled,
nav.dark-nav{
  height: var(--nav-h) !important;
  padding: 0 clamp(24px,5vw,76px) !important;
  background: rgba(10,10,10,.62) !important;
  border-bottom: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.16) !important;
  backdrop-filter: blur(22px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(145%) !important;
  transform: translateY(0) !important;
  transition: transform .34s ease, background .34s ease, height .34s ease, box-shadow .34s ease !important;
}
nav.scrolled{
  height: 78px !important;
  background: rgba(10,10,10,.78) !important;
}
nav.nav-hidden{
  transform: translateY(-110%) !important;
}
.logo-img{
  height: 54px !important;
}
nav.scrolled .logo-img{
  height: 48px !important;
}
.nav-links{
  gap: clamp(28px,4vw,52px) !important;
}
.nav-links a,
nav.scrolled .nav-links a{
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 3.2px !important;
  color: rgba(255,255,255,.82) !important;
}
.nav-links a:hover,
.nav-links a.active,
nav.scrolled .nav-links a.active{
  color:#fff !important;
}
.nav-cta,
nav.scrolled .nav-cta{
  padding: 13px 24px !important;
  background: rgba(255,255,255,.10) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.45) !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 2.1px !important;
}
.nav-cta:hover,
nav.scrolled .nav-cta:hover{
  background: #fff !important;
  color: #0A0A0A !important;
  border-color:#fff !important;
}

/* Index: title should not feel covered by the fixed header */
#home-page #hero{
  padding-top: var(--nav-h) !important;
}
#home-page .hero-content{
  transform: translateY(34px) !important;
}

/* Properties hero readability */
.props-hero{
  padding-top: calc(var(--nav-h) + 52px) !important;
  padding-bottom: 86px !important;
}
.props-hero .section-tag,
.props-hero .section-tag *,
.props-hero .gold-line,
.props-hero h1,
.props-hero h1 em,
.props-hero p{
  color:#fff !important;
  border-color:#fff !important;
}
.props-hero .gold-line{
  background:#fff !important;
}
.props-hero h1 em{
  font-style: normal !important;
}

/* Schedule CTA: everything white on dark background */
.schedule-cta,
.schedule-cta *,
.schedule-cta h2,
.schedule-cta h2 em,
.schedule-cta p,
.schedule-cta-tag{
  color:#fff !important;
}
.schedule-cta .btn-primary{
  background:#fff !important;
  color:#0A0A0A !important;
  border-color:#fff !important;
}
.schedule-cta .btn-primary:hover{
  background:transparent !important;
  color:#fff !important;
  border-color:#fff !important;
}

/* Mobile nav with updated header */
@media(max-width:900px){
  :root{ --nav-h: 74px; }
  nav,nav.scrolled{height: var(--nav-h) !important; padding:0 20px!important;}
  .logo-img,nav.scrolled .logo-img{height:46px!important;}
  .nav-links.mobile-active{
    top: var(--nav-h) !important;
    background: rgba(10,10,10,.94) !important;
    backdrop-filter: blur(20px) !important;
  }
  .nav-cta.mobile-active{
    top: calc(var(--nav-h) + 210px) !important;
    background:#fff!important;
    color:#0A0A0A!important;
  }
  #home-page .hero-content{transform: translateY(18px)!important;}
  .props-hero{padding-top: calc(var(--nav-h) + 40px)!important;}
}

/* =========================================================
   HOTFIX V6 — Index hero spacing under fixed glass header
   ========================================================= */
/* The home hero title was still too close to the fixed header.
   This creates a real safe area below the nav and pushes the
   editorial title lower without affecting the other pages. */
#home-page #hero{
  min-height: 820px !important;
  height: 100vh !important;
  align-items: center !important;
  padding-top: calc(var(--nav-h) + 140px) !important;
  padding-bottom: clamp(72px,8vw,120px) !important;
}
#home-page #hero .hero-content{
  transform: translateY(82px) !important;
  margin-top: 0 !important;
}
#home-page #hero .hero-title{
  margin-top: 0 !important;
}

@media(max-width:900px){
  #home-page #hero{
    min-height: 790px !important;
    padding-top: calc(var(--nav-h) + 118px) !important;
    padding-bottom: 76px !important;
  }
  #home-page #hero .hero-content{
    transform: translateY(58px) !important;
  }
}
@media(max-width:560px){
  #home-page #hero{
    min-height: 760px !important;
    padding-top: calc(var(--nav-h) + 98px) !important;
    padding-bottom: 64px !important;
  }
  #home-page #hero .hero-content{
    transform: translateY(48px) !important;
  }
}

/* =========================================================
   HOTFIX V7 — Header like reference + cleaner index hero + static filters
   ========================================================= */
:root{
  --nav-h: 96px;
  --nav-offset: clamp(18px, 3.2vw, 40px);
}

/* Header inspired by the reference: thicker black editorial bar, centered navigation */
nav,
nav.scrolled,
nav.dark-nav{
  position: fixed !important;
  top: var(--nav-offset) !important;
  left: var(--nav-offset) !important;
  right: var(--nav-offset) !important;
  width: auto !important;
  height: var(--nav-h) !important;
  padding: 0 clamp(26px, 4.5vw, 52px) !important;
  background: rgba(5, 8, 10, .88) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  border-bottom: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: 0 22px 55px rgba(0,0,0,.18) !important;
  backdrop-filter: blur(20px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(130%) !important;
  display: grid !important;
  grid-template-columns: 210px 1fr 220px !important;
  align-items: center !important;
  transition: transform .34s ease, background .34s ease, box-shadow .34s ease, top .34s ease !important;
}
nav.scrolled{
  background: rgba(5, 8, 10, .78) !important;
}
nav.nav-hidden{
  transform: translateY(calc(-1 * (var(--nav-h) + var(--nav-offset) + 24px))) !important;
}
.nav-logo{justify-self:start!important;}
.logo-img,
nav.scrolled .logo-img{
  height: 56px !important;
  max-width: 170px !important;
  object-fit: contain !important;
}
.nav-links{
  justify-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap: clamp(34px, 4.2vw, 56px) !important;
}
.nav-links a,
nav.scrolled .nav-links a{
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 4px !important;
  color: rgba(255,255,255,.74) !important;
  padding-bottom: 8px !important;
}
.nav-links a::after{
  height: 1px !important;
  background:#fff!important;
}
.nav-links a:hover,
.nav-links a.active,
nav.scrolled .nav-links a.active{
  color:#fff!important;
}
.nav-cta,
nav.scrolled .nav-cta{
  justify-self:end!important;
  background:#fff!important;
  color:#0A0A0A!important;
  border:1px solid #fff!important;
  border-radius:0!important;
  padding:16px 26px!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:2.5px!important;
  white-space:nowrap!important;
}
.nav-cta:hover,
nav.scrolled .nav-cta:hover{
  background:transparent!important;
  color:#fff!important;
  border-color:#fff!important;
}

/* Properties filters should not float/stick while scrolling */
.filters-bar{
  position: static !important;
  top: auto !important;
  z-index: 1 !important;
}

/* Index hero: lower visual weight, no overlap, calmer editorial cover */
#home-page #hero{
  min-height: 780px !important;
  height: 100vh !important;
  align-items: center !important;
  padding-top: calc(var(--nav-h) + var(--nav-offset) + 82px) !important;
  padding-bottom: 72px !important;
}
#home-page #hero .hero-content{
  transform: none !important;
  margin-top: 36px !important;
  max-width: 780px !important;
}
#home-page #hero .hero-title{
  font-size: clamp(58px, 8.4vw, 118px) !important;
  line-height: .88 !important;
  max-width: 760px !important;
  margin-bottom: 22px !important;
}
#home-page #hero .hero-subtitle{
  max-width: 500px !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  margin-bottom: 34px !important;
}
#home-page #hero .hero-eyebrow{
  margin-bottom: 18px !important;
}
#home-page #hero .hero-badge{
  bottom: 54px !important;
}

/* Interior pages: account for inset floating header */
#properties-page,
#detail-page,
#contact-page{
  padding-top: calc(var(--nav-h) + var(--nav-offset) + 18px) !important;
}
.props-hero{
  padding-top: 74px !important;
}
.detail-back{
  padding-top: 18px !important;
}

@media(max-width:900px){
  :root{ --nav-h: 74px; --nav-offset: 14px; }
  nav,nav.scrolled,nav.dark-nav{
    grid-template-columns: 1fr auto !important;
    padding:0 22px!important;
    left:var(--nav-offset)!important;
    right:var(--nav-offset)!important;
  }
  .logo-img,nav.scrolled .logo-img{height:44px!important;max-width:150px!important;}
  .nav-mobile-toggle{display:flex!important;justify-self:end!important;}
  .nav-links{display:none!important;}
  .nav-cta{display:none!important;}
  .nav-links.mobile-active{
    display:flex!important;
    position:fixed!important;
    top:calc(var(--nav-offset) + var(--nav-h))!important;
    left:var(--nav-offset)!important;
    right:var(--nav-offset)!important;
    background:rgba(5,8,10,.96)!important;
    flex-direction:column!important;
    padding:24px!important;
    gap:0!important;
    border:1px solid rgba(255,255,255,.12)!important;
  }
  .nav-cta.mobile-active{
    display:block!important;
    position:fixed!important;
    top:calc(var(--nav-offset) + var(--nav-h) + 206px)!important;
    left:calc(var(--nav-offset) + 24px)!important;
    right:calc(var(--nav-offset) + 24px)!important;
    text-align:center!important;
    background:#fff!important;
    color:#0A0A0A!important;
  }
  #home-page #hero{
    min-height:740px!important;
    padding-top:calc(var(--nav-h) + var(--nav-offset) + 72px)!important;
  }
  #home-page #hero .hero-content{margin-top:18px!important;}
  #home-page #hero .hero-title{font-size:clamp(52px,15vw,82px)!important;}
}

@media(max-width:560px){
  :root{ --nav-h: 70px; --nav-offset: 10px; }
  nav,nav.scrolled,nav.dark-nav{padding:0 16px!important;}
  .logo-img,nav.scrolled .logo-img{height:40px!important;max-width:132px!important;}
  #home-page #hero{
    min-height:720px!important;
    padding-top:calc(var(--nav-h) + var(--nav-offset) + 62px)!important;
    padding-bottom:52px!important;
  }
  #home-page #hero .hero-title{font-size:50px!important;line-height:.9!important;}
  #home-page #hero .hero-subtitle{font-size:14px!important;}
}


/* =========================================================
   HOTFIX V10 — Bigger logos + clean form delivery styling
   ========================================================= */
nav, nav.scrolled, nav.dark-nav{
  grid-template-columns: minmax(270px, 330px) 1fr minmax(210px, 250px) !important;
}
.logo-img,
nav.scrolled .logo-img{
  height: 74px !important;
  max-width: 300px !important;
  width: auto !important;
  object-fit: contain !important;
}
.footer-logo-img,
.site-footer .footer-logo-img,
footer .footer-logo-img{
  height: 128px !important;
  max-width: 360px !important;
  width: auto !important;
  object-fit: contain !important;
}
.property-lead-form .form-input,
.property-lead-form .form-textarea,
.contact-form .form-input,
.contact-form .form-textarea,
.contact-form .form-select{
  width: 100% !important;
}
@media(max-width:900px){
  .logo-img, nav.scrolled .logo-img{
    height: 56px !important;
    max-width: 220px !important;
  }
  .footer-logo-img,
  .site-footer .footer-logo-img,
  footer .footer-logo-img{
    height: 104px !important;
    max-width: 300px !important;
  }
}
@media(max-width:560px){
  .logo-img, nav.scrolled .logo-img{
    height: 48px !important;
    max-width: 190px !important;
  }
  .footer-logo-img,
  .site-footer .footer-logo-img,
  footer .footer-logo-img{
    height: 92px !important;
    max-width: 260px !important;
  }
}

/* ===================== HUBSPOT CUSTOM FORM STATUS ===================== */
.form-status{
  display:none;
  margin-top:18px;
  padding:16px 18px;
  border:1px solid rgba(10,10,10,.14);
  border-radius:12px;
  background:#f7f7f5;
  color:#111;
  font-family:var(--sans);
  font-size:.86rem;
  line-height:1.55;
}
.form-status.show{display:block;animation:formFadeIn .28s ease;}
.form-status.success{border-color:rgba(10,10,10,.18);background:#f7f7f5;color:#111;}
.form-status.loading{border-color:rgba(10,10,10,.12);background:#f3f3f0;color:#333;}
.form-status.error{border-color:rgba(150,30,30,.25);background:#fff7f7;color:#7a1f1f;}
.hubspot-custom-form button[disabled]{opacity:.65;cursor:not-allowed;}
@keyframes formFadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}


/* V13 robust gallery collapse */
.full-gallery > .extra-photo { display: none !important; }
.full-gallery.show-all > .extra-photo,
.full-gallery.expanded > .extra-photo { display: block !important; }
.btn-show-gallery { display: inline-flex; align-items: center; justify-content: center; }
