
.contact-page{padding:64px clamp(20px,4vw,64px) 76px;background:#eee4da;color:#333}.contact-shell{max-width:1180px;margin:0 auto}.contact-heading{max-width:780px;margin-bottom:36px}.contact-kicker{margin:0 0 8px;font-family:"Montserrat",sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9b7a35}.contact-heading h1{margin:0 0 14px;font-family:"Montserrat",sans-serif;font-size:clamp(2rem,4vw,3.15rem);line-height:1.05;color:#2f2f2f}.contact-lead{margin:0 0 10px;max-width:760px;font-family:"Lato",sans-serif;font-size:clamp(1.05rem,1.6vw,1.28rem);line-height:1.65}.contact-sublead{margin:0;max-width:760px;font-family:"Lato",sans-serif;font-size:1rem;line-height:1.65;opacity:.84}.contact-grid{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:30px;align-items:start}.contact-aside{display:grid;gap:18px}.contact-card,.contact-form{border:1px solid rgba(88,67,52,.14);border-radius:20px;box-shadow:0 14px 34px rgba(73,52,39,.08)}.contact-card{padding:25px 24px;background:rgba(255,255,255,.52)}.contact-card h2{margin:0 0 10px;font:700 1.14rem/1.35 "Montserrat",sans-serif}.contact-card p{margin:0;font:400 .98rem/1.6 "Lato",sans-serif}.contact-details{margin:18px 0 0;display:grid;gap:13px}.contact-detail{display:grid;gap:2px}.contact-detail strong{font:700 .76rem/1.2 "Montserrat",sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#765f50}.contact-detail a,.contact-detail span{color:#333;text-decoration:none;overflow-wrap:anywhere}.contact-detail a:hover{text-decoration:underline}.contact-form{padding:clamp(24px,4vw,42px);background:rgba(255,255,255,.82)}.contact-form-header{margin-bottom:24px}.contact-required{margin:0;font:400 .88rem/1.5 "Lato",sans-serif;opacity:.72}.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.contact-field{display:grid;gap:7px}.contact-field.full{grid-column:1/-1}.contact-field label,.contact-privacy{font:600 .93rem/1.35 "Montserrat",sans-serif}.contact-field input,.contact-field select,.contact-field textarea{width:100%;box-sizing:border-box;border:1px solid #cbbfb5;border-radius:11px;background:#fff;color:#333;padding:12px 14px;font:400 1rem/1.45 "Lato",sans-serif;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.contact-field textarea{min-height:150px;resize:vertical}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:#9b7a35;box-shadow:0 0 0 3px rgba(155,122,53,.14)}.contact-field .optional{font-weight:400;opacity:.62}.email-match-note{min-height:1.15em;margin:0;font:400 .82rem/1.35 "Lato",sans-serif}.email-match-note.is-error{color:#9f2e2e}.email-match-note.is-ok{color:#3d6a46}.contact-privacy{display:flex;gap:10px;align-items:flex-start;font-weight:400;line-height:1.5}.contact-privacy input{margin-top:3px}.contact-privacy a{color:#8a6a2e}.contact-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:8px}.contact-submit{appearance:none;border:0;border-radius:999px;padding:13px 26px;background:#6f5d54;color:#fff;font:700 .98rem/1 "Montserrat",sans-serif;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.contact-submit:hover{transform:translateY(-1px);opacity:.94}.contact-spam-note{margin:0;max-width:420px;font:400 .78rem/1.5 "Lato",sans-serif;opacity:.62}.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-form [data-netlify-recaptcha="true"]{grid-column:1/-1;min-height:78px}@media(max-width:820px){.contact-page{padding:42px 20px 58px}.contact-grid{grid-template-columns:1fr}}@media(max-width:620px){.contact-page{padding-left:18px;padding-right:18px}.contact-fields{grid-template-columns:1fr;gap:16px}.contact-field.full{grid-column:auto}.contact-form{padding:22px 18px;border-radius:16px}.contact-card{border-radius:16px}.contact-actions{align-items:stretch;flex-direction:column}.contact-submit{width:100%;min-height:46px}}


/* =========================================================
   AESTHETICS MIX — CONTACT LAYOUT FIX v9
   Header width + privacy consent alignment
   ========================================================= */

/* Intro/header: avoid the narrow centered appearance */
.contact-heading {
  max-width: 920px !important;
  margin: 0 auto 38px !important;
  text-align: left !important;
}

.contact-heading .contact-kicker,
.contact-heading h1,
.contact-heading .contact-lead,
.contact-heading .contact-sublead {
  text-align: left !important;
}

.contact-heading .contact-lead,
.contact-heading .contact-sublead {
  max-width: 880px !important;
}

/* Privacy consent must behave as one horizontal flex row */
.contact-field.full .contact-privacy {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: left !important;
  white-space: normal !important;
}

.contact-field.full .contact-privacy input[type="checkbox"] {
  flex: 0 0 auto !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 2px 0 0 0 !important;
  padding: 0 !important;
}

.contact-field.full .contact-privacy > span {
  display: inline !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  line-height: 1.5 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/* Prevent inherited grid/column rules from squeezing the consent text */
.contact-field.full:has(.contact-privacy) {
  display: block !important;
  width: 100% !important;
}

/* Keep form title and required note visually aligned */
.contact-form-header {
  width: 100% !important;
  text-align: left !important;
}

.contact-required {
  text-align: left !important;
}

@media (max-width: 820px) {
  .contact-heading {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 620px) {
  .contact-heading {
    text-align: left !important;
  }

  .contact-heading .contact-kicker,
  .contact-heading h1,
  .contact-heading .contact-lead,
  .contact-heading .contact-sublead {
    text-align: left !important;
  }

  .contact-field.full .contact-privacy {
    gap: 9px !important;
  }

  .contact-field.full .contact-privacy > span {
    font-size: .92rem !important;
    line-height: 1.45 !important;
  }
}



/* =========================================================
   AESTHETICS MIX — v15.4 · CONTACTO · COHERENCIA TIPOGRÁFICA
   Referencia: "Sobre Aesthetics Mix"
   Titulares: Open Sans · Texto/UI: Montserrat
   Aplicación común a ES/EN/FR/PT/DE/IT
   ========================================================= */
.contact-page,
.contact-page input,
.contact-page select,
.contact-page textarea,
.contact-page button{
  font-family:"Montserrat",Verdana,"Segoe UI",sans-serif !important;
}

.contact-kicker,
.contact-heading h1,
.contact-card h2{
  font-family:'Open Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif !important;
}

.contact-lead,
.contact-sublead,
.contact-card p,
.contact-detail strong,
.contact-detail a,
.contact-detail span,
.contact-required,
.contact-field label,
.contact-privacy,
.contact-field input,
.contact-field select,
.contact-field textarea,
.email-match-note,
.contact-submit,
.contact-spam-note{
  font-family:"Montserrat",Verdana,"Segoe UI",sans-serif !important;
}
