/* Rediseño de contacto — look limpio, premium y con acentos dorados muy sutiles */
.contact-page{
  background:#ffffff !important;
}
.contact-horizontal{
  background:
    radial-gradient(circle at top left, rgba(0,0,0,.03), transparent 0 22%),
    linear-gradient(180deg, #ffffff 0%, #fbfbfa 48%, #ffffff 100%) !important;
}

.contact-intro-panel,
.contact-form-panel{
  background:transparent !important;
}

.contact-intro-panel{
  padding:0 clamp(42px,5vw,92px) !important;
}
.contact-form-panel{
  padding:0 clamp(42px,5vw,92px) !important;
}

.contact-intro-inner,
.contact-form-inner{
  max-width:1380px !important;
}

.contact-kicker,
.contact-section-num{
  color:#4d4a45 !important;
  letter-spacing:.18em !important;
}

.contact-intro-inner h1{
  color:#111111 !important;
  text-wrap:balance;
  text-shadow:none !important;
}

.contact-intro-bottom{
  margin-top:clamp(46px,6vh,86px) !important;
  padding-top:30px !important;
  border-top:1px solid rgba(0,0,0,.10) !important;
}

.contact-lead{
  color:#141414 !important;
  max-width:760px !important;
}

.contact-scroll-hint{
  color:#58534d !important;
}
.contact-scroll-hint span{
  color:#111111 !important;
}

.contact-locations-block{
  margin-top:clamp(28px,4vh,52px) !important;
  padding-top:0 !important;
}

.contact-location-heading{
  align-items:flex-end !important;
  gap:28px !important;
  margin-bottom:20px !important;
}

.locations-label{
  color:#4e4942 !important;
}
.locations-label span{
  width:34px !important;
  height:34px !important;
  border:1px solid rgba(0,0,0,.16) !important;
  color:#111111 !important;
  background:#faf9f7 !important;
}

.contact-locations-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
}

.location-card{
  min-height:198px !important;
  padding:20px 18px 18px !important;
  border:1px solid rgba(0,0,0,.10) !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.92) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.05) !important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.location-card:hover{
  transform:translateY(-5px) !important;
  border-color:rgba(0,0,0,.18) !important;
  box-shadow:0 24px 46px rgba(0,0,0,.10) !important;
  background:#ffffff !important;
}
.location-card-top{
  padding-bottom:12px !important;
  margin-bottom:14px !important;
  border-bottom:1px solid rgba(0,0,0,.08) !important;
}
.location-pin,
.location-arrow{
  color:#111111 !important;
}
.location-card-top b,
.location-card strong{
  color:#111111 !important;
}
.location-card p{
  color:#5f5953 !important;
  font-size:10px !important;
  line-height:1.65 !important;
}

.contact-form-inner{
  grid-template-columns:minmax(320px,.62fr) minmax(620px,1.38fr) !important;
  gap:clamp(44px,6vw,100px) !important;
}

.contact-form-copy h2{
  color:#111111 !important;
}
.contact-form-copy > p{
  color:#5f5953 !important;
  max-width:520px !important;
}
.contact-rule{
  width:96px !important;
  background:linear-gradient(90deg,#111111 0%, rgba(17,17,17,.28) 72%, transparent 100%) !important;
}
.contact-form-copy small{
  color:#6f6963 !important;
}

.legal-contact-form{
  padding:clamp(34px,4vw,54px) !important;
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 28px 70px rgba(0,0,0,.08) !important;
  overflow:hidden !important;
}
.legal-contact-form:before{
  height:4px !important;
  background:linear-gradient(90deg,#111111 0%, #111111 82%, rgba(198,161,91,.55) 100%) !important;
}
.form-row{
  gap:20px !important;
  margin-bottom:24px !important;
}
.legal-contact-form label > span{
  color:#222222 !important;
  letter-spacing:.14em !important;
}
.legal-contact-form input,
.legal-contact-form select,
.legal-contact-form textarea{
  border:1px solid rgba(0,0,0,.09) !important;
  border-bottom:1px solid rgba(0,0,0,.12) !important;
  border-radius:16px !important;
  background:#faf9f7 !important;
  padding:14px 16px !important;
  color:#151515 !important;
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease !important;
}
.legal-contact-form textarea{
  min-height:132px !important;
}
.legal-contact-form input::placeholder,
.legal-contact-form textarea::placeholder{
  color:#99918a !important;
}
.legal-contact-form select{
  background-image:linear-gradient(45deg,transparent 50%,#111111 50%),linear-gradient(135deg,#111111 50%,transparent 50%) !important;
  background-position:calc(100% - 18px) 52%,calc(100% - 12px) 52% !important;
  background-size:6px 6px,6px 6px !important;
  background-repeat:no-repeat !important;
  padding-right:34px !important;
}
.legal-contact-form input:focus,
.legal-contact-form select:focus,
.legal-contact-form textarea:focus{
  background:#ffffff !important;
  border-color:rgba(0,0,0,.24) !important;
  box-shadow:0 0 0 4px rgba(0,0,0,.04) !important;
}

.form-submit-row{
  gap:20px !important;
  border-top:1px solid rgba(0,0,0,.08) !important;
  padding-top:22px !important;
}
.form-submit-row p{
  color:#767069 !important;
  max-width:450px !important;
}
.form-submit-row button{
  min-height:54px !important;
  padding:0 24px !important;
  border:1px solid #111111 !important;
  border-radius:999px !important;
  background:#111111 !important;
  color:#ffffff !important;
  box-shadow:none !important;
}
.form-submit-row button:hover{
  background:#232323 !important;
  border-color:#232323 !important;
  transform:translateY(-2px) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.12) !important;
}
.form-submit-row button b{
  margin-left:12px !important;
}

@media (min-width:1025px) and (max-width:1280px){
  .contact-locations-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  .location-card{
    min-height:186px !important;
    padding:18px 16px 16px !important;
  }
}

@media (max-width:1024px){
  .contact-intro-panel,
  .contact-form-panel{
    padding:74px 24px !important;
  }
  .contact-locations-grid{
    grid-template-columns:1fr 1fr !important;
    gap:14px !important;
  }
  .contact-form-inner{
    grid-template-columns:1fr !important;
    gap:36px !important;
  }
}

@media (max-width:700px){
  .contact-intro-panel,
  .contact-form-panel{
    padding:58px 18px !important;
  }
  .contact-locations-grid{
    grid-template-columns:1fr !important;
  }
  .location-card{
    min-height:0 !important;
  }
  .legal-contact-form{
    border-radius:22px !important;
    padding:26px 18px !important;
  }
}
