/* Vercetti Propiedades 2.8.2.4 · Sistema visual y voz unificados
   Cargado al final del <head>. No se aplica al panel Admin. */
:root{
  --vc-ui-font:"Roboto",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --vc-ui-title:#1d1a20;
  --vc-ui-body:#655f69;
  --vc-ui-purple:#520b7c;
  --vc-ui-button-radius:999px;
}

/* Una sola familia tipográfica para todo el texto público. */
html,body,
main,header,footer,
p,li,dt,dd,label,
input,select,textarea,button,
h1,h2,h3,h4,h5,h6,
[class*="heading-"],
.font-sec,.big,
.block-info-2-title > *,
.block-callboard-tell,.block-callboard-mail,
.box-counter-main,
.list-terms-1 dd,
.list-marked-3,
.table-custom th,
.form-wrap-list span,
.post-default-time,
.post-simple-time .time,
.quote-modern-time,
.breadcrumbs-custom-path,
.pagination-custom a,
.product-classic-price,
.rd-search-results-live .search-title,
.isotope-filters-line a,
.tabs-line .nav-link,
.card-corporate .card-title a,
.progress-linear .progress-header,
.slick-slider-1 .slick-slider-price,
.rd-file-drop,
.vc-privacy-copy strong{
  font-family:var(--vc-ui-font)!important;
}

body{
  letter-spacing:.01em!important;
}
p,li,dd,dt,label,.big,.small,small{
  letter-spacing:.008em;
}


/* Texto de lectura: peso normal para sostener contraste con los títulos. */
p,li,dd,dt,label,.big,.small,small{
  font-weight:400;
}

/* Jerarquía de títulos aprobada: editorial, con peso medio y contraste consistente. */
h1,.heading-1{
  font-weight:500!important;
  line-height:1.08!important;
  letter-spacing:-.034em!important;
}
h2,.heading-2,
.heading-decoration-2 .heading-inner{
  font-weight:500!important;
  line-height:1.14!important;
  letter-spacing:-.026em!important;
}
h3,.heading-3{
  font-weight:500!important;
  line-height:1.25!important;
  letter-spacing:-.014em!important;
}
h4,.heading-4{
  font-weight:400!important;
  line-height:1.34!important;
  letter-spacing:-.006em!important;
}
h5,.heading-5,h6,.heading-6,.heading-7{
  font-weight:500!important;
  letter-spacing:0!important;
}

/* Las clases históricas 'bold' no deben endurecer los encabezados. */
h1.font-weight-bold,h1 .font-weight-bold,
h2.font-weight-bold,h2 .font-weight-bold,
h3.font-weight-bold,h3 .font-weight-bold,
h4.font-weight-bold,h4 .font-weight-bold,
.heading-inner.font-weight-bold,
.heading-decoration-2 .font-weight-bold{
  font-weight:inherit!important;
}
.heading-decoration-2 .heading-inner.font-weight-bold{
  font-weight:500!important;
}

/* Títulos de tarjetas y módulos: estructura intermedia, no peso excesivo. */
.product-classic-title,
.box-modern-title,
.block-agent-title,
.block-agent-horizontal-title,
.card-corporate .card-title a,
.rd-search-results-live .search-title{
  font-family:var(--vc-ui-font)!important;
  letter-spacing:-.006em!important;
}
.box-modern-title,
.block-agent-title,
.block-agent-horizontal-title,
.card-corporate .card-title a,
.rd-search-results-live .search-title{
  font-weight:500!important;
}
.product-classic-title{
  font-weight:400!important;
  color:var(--vc-ui-body)!important;
}
.vc-card-display-title,
.vc-card-display-title a,
.product-classic .vc-card-display-title,
.product-classic .vc-card-display-title a{
  font-weight:500!important;
  color:var(--vc-ui-title)!important;
}
.box-modern-title .font-weight-bold,
.box-modern-title.font-weight-bold{
  font-weight:500!important;
}
.box-modern-main .product-classic-title,
.heading-decoration-2 + .product-classic-title,
.heading-decoration-2 ~ .product-classic-title:first-of-type{
  font-weight:400!important;
  color:var(--vc-ui-body)!important;
  letter-spacing:0!important;
}

/* Etiquetas editoriales: único lenguaje corporativo. */
.vc-seo-kicker,
.vc-section-kicker,
.vc-zone-kicker,
.vc-zone-resource-eyebrow,
.vc-agent-eyebrow,
.vc-agent-contact-kicker,
.vc-agent-properties-kicker,
.vc-agents-kicker,
.vc-property-kicker,
.vc-home-hero-kicker{
  font-family:var(--vc-ui-font)!important;
  font-size:12px!important;
  line-height:1.4!important;
  font-weight:700!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}

/* Botones de texto: tono natural, menos duro y forma común. */
.button,
a.button,
button.button,
input.button,
.vc-home-search-submit,
.vc-alert-button,
.vc-modal-primary-action,
.vc-publish-primary,
.vc-publish-secondary,
.vc-agent-submit,
.vc-valuation-submit,
.vc-privacy-btn-primary,
.vc-privacy-btn-secondary,
.vc-side-action,
.vc-outline-action,
.vc-zone-secondary-link,
.vc-zone-service-action,
.vc-hero-action,
.vc-dossier-action,
.vc-closed-similar-action,
.vc-agents-profile-button,
.vc-link-button{
  font-family:var(--vc-ui-font)!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

/* CTA convencionales: redondeados. Los controles cuadrados/iconográficos se respetan. */
.button:not(.button-square),
a.button:not(.button-square),
button.button:not(.button-square),
input.button:not(.button-square),
.vc-home-search-submit,
.vc-alert-button,
.vc-modal-primary-action,
.vc-publish-primary,
.vc-publish-secondary,
.vc-agent-submit,
.vc-valuation-submit,
.vc-privacy-btn-primary,
.vc-privacy-btn-secondary,
.vc-side-action,
.vc-outline-action,
.vc-zone-secondary-link,
.vc-zone-service-action,
.vc-hero-action,
.vc-dossier-action,
.vc-closed-similar-action,
.vc-agents-profile-button,
.vc-link-button{
  border-radius:var(--vc-ui-button-radius)!important;
}
.button:not(.button-square),a.button:not(.button-square),button.button:not(.button-square){
  border-width:1.5px!important;
}

/* Mantiene geometría en grupos de botones conectados. */
.button-group .button:not(:first-child){
  border-top-left-radius:0!important;
  border-bottom-left-radius:0!important;
}
.button-group .button:not(:last-child){
  border-top-right-radius:0!important;
  border-bottom-right-radius:0!important;
}

/* Hover sutil y coherente. */
.button:not(.button-square),
.vc-home-search-submit,
.vc-publish-primary,
.vc-publish-secondary,
.vc-agent-submit,
.vc-valuation-submit,
.vc-side-action,
.vc-outline-action,
.vc-zone-secondary-link,
.vc-zone-service-action{
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease!important;
}
.button:not(.button-square):hover,
.vc-home-search-submit:hover,
.vc-publish-primary:hover,
.vc-publish-secondary:hover,
.vc-agent-submit:hover,
.vc-valuation-submit:hover,
.vc-side-action:hover,
.vc-outline-action:hover,
.vc-zone-secondary-link:hover,
.vc-zone-service-action:hover{
  transform:translateY(-1px);
}

/* La navegación y el footer usan la misma familia, conservando su jerarquía propia. */
.rd-navbar,.rd-navbar a,.rd-navbar button,
.page-footer,.page-footer a{
  font-family:var(--vc-ui-font)!important;
}

@media(max-width:767.98px){
  h1,.heading-1{letter-spacing:-.03em!important}
  h2,.heading-2{letter-spacing:-.022em!important}
}

/* 2.8.2.3 · Contraste editorial: título > módulo > descripción */
.heading-decoration-2 .heading-inner{font-weight:500!important}
.box-modern-title{font-weight:500!important;color:var(--vc-ui-title)!important}
.box-modern-title .font-weight-bold{font-weight:500!important}
.box-modern-main h4.product-classic-title{font-weight:400!important;color:var(--vc-ui-body)!important;line-height:1.55!important}
.heading-decoration-2 + h4.product-classic-title{font-weight:400!important;color:var(--vc-ui-body)!important;line-height:1.55!important}
.section.text-center > .container > h4.product-classic-title{font-weight:400!important;color:var(--vc-ui-body)!important;line-height:1.55!important}
html[data-vc-theme="dark"] .product-classic-title,
html[data-vc-theme="dark"] .box-modern-main h4.product-classic-title,
html[data-vc-theme="dark"] .heading-decoration-2 + h4.product-classic-title{color:#bdb7c1!important}
html[data-vc-theme="dark"] .box-modern-title,
html[data-vc-theme="dark"] .vc-card-display-title,
html[data-vc-theme="dark"] .vc-card-display-title a{color:#f4f0f5!important}


/* 2.8.2.4 · Gramática común de secciones
   Patrón: kicker opcional > título > descripción > contenido > CTA. */
.heading-decoration-2{
  display:block!important;
  position:relative!important;
  margin:0 0 10px!important;
  font-size:inherit!important;
  line-height:normal!important;
  text-align:left!important;
}
.heading-decoration-2::before,
.heading-decoration-2::after{
  display:none!important;
  content:none!important;
}
.heading-decoration-2 .heading-inner{
  display:block!important;
  padding:0!important;
  margin:0!important;
  text-align:left!important;
}
.heading-decoration-2 + .product-classic-title,
.section.text-center > .container > .heading-decoration-2 + .product-classic-title{
  max-width:760px;
  margin:10px 0 0!important;
  text-align:left!important;
  color:var(--vc-ui-body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

.vc-standard-section-head{
  max-width:780px;
  margin:0 0 38px;
  text-align:left;
}
.vc-standard-section-head.is-centered{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.vc-standard-section-head .vc-section-kicker{
  display:block;
  margin-bottom:10px;
  color:var(--vc-ui-purple);
}
.vc-standard-section-head h2{
  margin:0;
  color:var(--vc-ui-title);
}
.vc-standard-section-head p{
  margin:10px 0 0;
  max-width:720px;
  color:var(--vc-ui-body);
  font-size:16px;
  line-height:1.65;
}
.vc-standard-section-head.is-centered p{margin-left:auto;margin-right:auto}

/* La Home conserva contenidos centrados cuando corresponde, pero el encabezado editorial es consistente. */
.vc-home-benefits-section .vc-standard-section-head{margin-bottom:42px}
.vc-home-benefits-section .box-modern-title{margin-top:18px}
.vc-home-benefits-section .product-classic-title{max-width:330px;margin:10px auto 0!important;color:var(--vc-ui-body)!important;font-weight:400!important;line-height:1.55!important}
.vc-home-benefits-section .box img{max-height:82px;width:auto}

.vc-home-service-copy > .vc-section-kicker{display:block;margin-bottom:10px;color:var(--vc-ui-purple)}
.vc-home-service-copy > h2{margin:0 0 18px}
.vc-home-service-copy > .product-classic-title{margin-top:0!important;color:var(--vc-ui-body)!important;font-weight:400!important;line-height:1.6!important}
.vc-home-service-copy .list-marked-3{margin-top:18px}
.vc-home-service-copy .group{margin-top:24px}

/* Sistema de CTA: primario púrpura + secundario outline, ambos con lenguaje natural. */
.vc-cta-outline,
.button.vc-cta-outline{
  color:var(--vc-ui-purple)!important;
  background:#fff!important;
  border:1.5px solid #cbb6d7!important;
  box-shadow:none!important;
}
.vc-cta-outline:hover,
.button.vc-cta-outline:hover{
  color:var(--vc-ui-purple)!important;
  background:#f7f2fa!important;
  border-color:var(--vc-ui-purple)!important;
}

/* Títulos antiguos de módulos ya no fuerzan un lenguaje visual distinto. */
.section.text-center .heading-decoration-2{max-width:780px}
.section.text-center .heading-decoration-2 ~ .owl-carousel,
.section.text-center .heading-decoration-2 ~ .slick-slider,
.section.text-center .heading-decoration-2 ~ .row{margin-top:42px}

/* Copys y enlaces de tarjetas: frase natural, sin mayúsculas artificiales. */
.post-corporate-title,
.post-corporate-title a,
.block-person-title,
.block-person-title a,
.quote-light-cite,
.box-counter h4,
.vc-home-seo-zone-card > span{
  font-weight:500!important;
  text-transform:none!important;
}

/* Navegación de tabs en frase natural. */
.tabs-line .nav-link,
.tabs-corporate .nav-link{
  text-transform:none!important;
  letter-spacing:0!important;
  font-weight:500!important;
}

/* Modo oscuro para los nuevos encabezados y CTA outline. */
html[data-vc-theme="dark"] .vc-standard-section-head h2,
html[data-vc-theme="dark"] .vc-home-service-copy > h2{color:#f4f0f5!important}
html[data-vc-theme="dark"] .vc-standard-section-head p,
html[data-vc-theme="dark"] .vc-home-service-copy > .product-classic-title{color:#bdb7c1!important}
html[data-vc-theme="dark"] .vc-cta-outline,
html[data-vc-theme="dark"] .button.vc-cta-outline{background:#201c24!important;border-color:#5b4a66!important;color:#e0c8eb!important}
html[data-vc-theme="dark"] .vc-cta-outline:hover,
html[data-vc-theme="dark"] .button.vc-cta-outline:hover{background:#29232f!important;border-color:#a278b7!important;color:#fff!important}

@media(max-width:767.98px){
  .vc-standard-section-head{margin-bottom:28px}
  .vc-standard-section-head p{font-size:15px}
  .vc-home-service-copy .group{display:grid;grid-template-columns:1fr;gap:10px}
  .vc-home-service-copy .group .button{width:100%;margin:0!important}
}

/* 2.8.2.4 · Color de acciones consistente */
.button-secondary:not(.button-square){
  color:var(--vc-ui-purple)!important;
  background:#fff!important;
  border:1.5px solid #cbb6d7!important;
  box-shadow:none!important;
}
.button-secondary:not(.button-square):hover,
.button-secondary:not(.button-square):focus{
  color:var(--vc-ui-purple)!important;
  background:#f7f2fa!important;
  border-color:var(--vc-ui-purple)!important;
}
.button-secondary.button-square{
  color:#fff!important;
  background:var(--vc-ui-purple)!important;
  border-color:var(--vc-ui-purple)!important;
}
.button-secondary.button-square:hover,
.button-secondary.button-square:focus{
  color:#fff!important;
  background:#651196!important;
  border-color:#651196!important;
}
html[data-vc-theme="dark"] .button-secondary:not(.button-square){
  color:#e0c8eb!important;
  background:#201c24!important;
  border-color:#5b4a66!important;
}
html[data-vc-theme="dark"] .button-secondary:not(.button-square):hover,
html[data-vc-theme="dark"] .button-secondary:not(.button-square):focus{
  color:#fff!important;
  background:#29232f!important;
  border-color:#a278b7!important;
}
