/* =========================================================================
   Formulario de contacto (ver inc/contact-form.php).
   ========================================================================= */
.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: start;
}

.contact-intro p {
  max-width: 380px;
  color: #5f584f;
  font-size: 14px;
  line-height: 1.65;
}

.contact-direct a {
  color: var(--store-accent, #9a7b5a);
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Avisos ------------------------------------------------------------------ */
.contact-notice {
  margin: 0 0 22px;
  padding: 15px 18px;
  border-left: 2px solid var(--store-accent, #9a7b5a);
  background: #faf8f5;
  color: #45423e;
  font-size: 13px;
}

.contact-notice--error {
  border-left-color: #a5563d;
}

.contact-notice a {
  color: var(--store-accent, #9a7b5a);
}

/* Campos ------------------------------------------------------------------ */
.contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
}

.contact-field {
  margin: 0 0 18px;
}

.contact-field label {
  display: block;
  margin-bottom: 6px;
  color: #45423e;
  font-size: 12px;
}

.contact-field label small {
  color: #8b847b;
}

.contact-field label span {
  color: var(--store-accent, #9a7b5a);
}

.contact-field input,
.contact-field textarea {
  width: 100%;
  min-height: 42px;
  padding: 10px 13px;
  border: 1px solid #cec6bb;
  border-radius: 0;
  background: #fff;
  color: #24211f;
  font: 13px/1.5 "DM Sans", sans-serif;
}

.contact-field textarea {
  min-height: 150px;
  resize: vertical;
}

.contact-field input:focus,
.contact-field textarea:focus {
  outline: 0;
  border-color: #8b7c68;
}

/* Campo señalado tras un envío incompleto. */
.contact-field [aria-invalid="true"] {
  border-color: #a5563d;
  background: #fdf9f7;
}

/* Trampa antispam: fuera de la vista pero accesible para los robots. */
.contact-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Consentimiento ---------------------------------------------------------- */
.contact-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 4px 0 22px;
}

.contact-consent label {
  color: #6b645b;
  font-size: 12px;
  line-height: 1.5;
}

.contact-consent a {
  color: var(--store-accent, #9a7b5a);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.contact-consent input {
  margin-top: 3px;
  flex: none;
}

.contact-consent.is-missing label {
  color: #a5563d;
}

/* Botón ------------------------------------------------------------------- */
.contact-submit {
  padding: 15px 32px;
  border: 0;
  border-radius: 0;
  background: #242320;
  color: #fff;
  font: 400 11px "DM Sans", sans-serif;
  letter-spacing: .06em;
  cursor: pointer;
  transition: background .18s ease;
}

.contact-submit:hover {
  background: #3c3833;
}

@media (max-width: 860px) {
  .contact-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .contact-grid {
    grid-template-columns: 1fr;
  }

  .contact-submit {
    width: 100%;
  }
}

/* Composición editorial de contacto: texto y datos a la izquierda, formulario a la derecha. */
.contact-page{background:var(--store-paper,#f7f4ef)}
.contact-form-section{width:calc(100% - 48px);max-width:1180px;min-height:680px;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(54px,8vw,118px);padding:126px 0 132px;align-items:start}
.contact-details h1{max-width:430px;margin:0 0 22px;font:400 clamp(48px,5vw,72px)/.9 "Playfair Display",Georgia,serif;letter-spacing:-.035em}
.contact-details>p:not(.contact-eyebrow){max-width:380px;margin-bottom:38px}
.contact-details__list{max-width:380px}
.contact-quick-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:28px}
.contact-quick-links a{color:var(--store-ink,#24211f);font-size:10px;font-weight:600;letter-spacing:.04em;text-decoration:none}
.contact-quick-links a span{color:var(--store-accent,#9a7b5a)}
.contact-form-heading .contact-eyebrow{margin-bottom:14px}
.contact-form-heading h2{max-width:430px;margin-bottom:12px;font-size:42px}
.contact-form-heading>p:last-child{max-width:410px;margin-bottom:28px}
.contact-form-wrap{padding:0;background:transparent;border:0}
.contact-form .contact-grid{column-gap:20px}
.contact-submit{min-width:170px}
@media(max-width:760px){.contact-form-section{display:block;width:calc(100% - 40px);min-height:0;padding:72px 0 86px}.contact-details{margin-bottom:72px}.contact-details h1{font-size:50px}.contact-form-heading h2{font-size:38px}.contact-form-wrap{padding:0}.contact-quick-links{gap:12px 18px}}

/* Página de contacto ----------------------------------------------------- */
.contact-page {
  flex: 1 0 auto;
  width: 100%;
  background: var(--store-paper, #f7f4ef);
  color: var(--store-ink, #24211f);
}

.contact-hero {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: calc(100% - 48px);
  max-width: 1180px;
  min-height: 560px;
  margin: 0 auto;
  background: var(--store-paper, #f7f4ef);
}

.contact-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(48px, 7vw, 92px) clamp(28px, 6vw, 84px);
  background: var(--store-paper, #f7f4ef);
}

.contact-eyebrow {
  margin: 0 0 15px;
  color: var(--store-accent, #9a7b5a);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.contact-hero h1 {
  max-width: 510px;
  margin: 0 0 24px;
  font: 400 clamp(48px, 6vw, 78px)/.94 "Playfair Display", Georgia, serif;
  letter-spacing: -.035em;
}

.contact-hero__copy>p:not(.contact-eyebrow):not(.contact-direct) {
  max-width: 430px;
  margin: 0;
  color: #5f584f;
  font-size: 15px;
  line-height: 1.7;
}

.contact-direct {
  max-width: 430px;
  margin: 28px 0 0;
  color: #5f584f;
  font-size: 12px;
  line-height: 1.6;
}

.contact-direct a {
  display: inline-block;
  margin-top: 4px;
  color: var(--store-ink, #24211f);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--store-accent, #9a7b5a);
  text-underline-offset: 4px;
}

.contact-quick-links {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 32px;
}

.contact-quick-links a {
  color: var(--store-ink, #24211f);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .03em;
  text-decoration: none;
}

.contact-quick-links a span {
  margin-left: 6px;
  color: var(--store-accent, #9a7b5a);
  font-size: 15px;
}

.contact-quick-links a:hover,
.contact-quick-links a:focus-visible {
  color: var(--store-accent, #9a7b5a);
}

.contact-hero__media {
  min-height: 0;
  position: relative;
  overflow: hidden;
  background: #ddd5ca;
}

.contact-hero__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(25, 19, 13, 0) 58%, rgba(25, 19, 13, .52));
  content: "";
  pointer-events: none;
}

.contact-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.2, .7, .2, 1);
}

.contact-hero__media:hover img {
  transform: scale(1.025);
}

.contact-hero__media span {
  position: absolute;
  z-index: 1;
  right: 28px;
  bottom: 25px;
  color: #fff;
  font: 400 24px/1 "Playfair Display", Georgia, serif;
}

.contact-form-section {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(32px, 5vw, 64px);
  width: calc(100% - 48px);
  max-width: 1180px;
  margin: 0 auto;
  padding: 96px 0 110px;
}

.contact-form-heading h2 {
  max-width: 330px;
  margin: 0 0 18px;
  font: 400 clamp(38px, 4vw, 58px)/.96 "Playfair Display", Georgia, serif;
  letter-spacing: -.025em;
}

.contact-form-heading>p:last-child {
  max-width: 270px;
  margin: 0;
  color: #6b645b;
  font-size: 13px;
  line-height: 1.65;
}

.contact-details {
  min-width: 0;
}

.contact-details h2 {
  max-width: 330px;
  margin: 0 0 18px;
  font: 400 clamp(38px, 4vw, 58px)/.96 "Playfair Display", Georgia, serif;
  letter-spacing: -.025em;
}

.contact-details>p:not(.contact-eyebrow) {
  max-width: 300px;
  margin: 0 0 30px;
  color: #6b645b;
  font-size: 13px;
  line-height: 1.65;
}

.contact-details__list {
  max-width: 360px;
  margin: 0;
  border-top: 1px solid var(--store-line, #ddd5cb);
}

.contact-details__list>div {
  position: relative;
  padding: 15px 0;
  border-bottom: 1px solid var(--store-line, #ddd5cb);
}

.contact-details__list>div.contact-detail--email,
.contact-details__list>div.contact-detail--phone,
.contact-details__list>div.contact-detail--hours,
.contact-details__list>div.contact-detail--location {
  padding-left: 34px;
}

.contact-details__list>div.contact-detail--email::before,
.contact-details__list>div.contact-detail--phone::before,
.contact-details__list>div.contact-detail--hours::before,
.contact-details__list>div.contact-detail--location::before {
  position: absolute;
  top: 17px;
  left: 0;
  width: 18px;
  height: 18px;
  content: "";
  background: center / contain no-repeat;
  opacity: .82;
}

.contact-details__list>div.contact-detail--email::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a7b5a' stroke-width='1.5'%3E%3Crect x='3' y='5' width='18' height='14' rx='1'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E");
}

.contact-details__list>div.contact-detail--phone::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a7b5a' stroke-width='1.5'%3E%3Crect x='7' y='3' width='10' height='18' rx='2'/%3E%3Cpath d='M10 6h4M11 18h2'/%3E%3C/svg%3E");
}

.contact-details__list>div.contact-detail--hours::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a7b5a' stroke-width='1.5'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

.contact-details__list>div.contact-detail--location::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a7b5a' stroke-width='1.5'%3E%3Cpath d='M19 10c0 5-7 11-7 11S5 15 5 10a7 7 0 1 1 14 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.2'/%3E%3C/svg%3E");
}

.contact-details__list>div.contact-detail--email dt,
.contact-details__list>div.contact-detail--phone dt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.contact-details__list dt {
  margin-bottom: 6px;
  color: var(--store-accent, #9a7b5a);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.contact-details__list dd {
  margin: 0;
  color: #5f584f;
  font-size: 12px;
  line-height: 1.55;
}

.contact-details__list a {
  color: var(--store-ink, #24211f);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--store-accent, #9a7b5a);
  text-underline-offset: 3px;
}

.contact-form-column {
  min-width: 0;
}

.contact-form-wrap {
  min-width: 0;
  padding: 30px 32px 32px;
  background: #fff;
  border: 1px solid var(--store-line, #ddd5cb);
}

.contact-form-wrap .contact-notice {
  margin-top: 0;
}

.contact-field input,
.contact-field textarea {
  background: #fcfbf9;
  font-size: 14px;
}

.contact-field input:focus,
.contact-field textarea:focus {
  border-color: var(--store-accent, #9a7b5a);
  box-shadow: 0 0 0 2px rgba(154, 123, 90, .12);
}

.contact-field input:focus-visible,
.contact-field textarea:focus-visible,
.contact-consent input:focus-visible,
.contact-submit:focus-visible,
.contact-quick-links a:focus-visible,
.contact-direct a:focus-visible {
  outline: 2px solid var(--store-accent, #9a7b5a);
  outline-offset: 3px;
}

.contact-submit {
  min-height: 48px;
  padding: 0 28px;
}

@media (max-width: 900px) {
  .contact-hero {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: none;
  }

  .contact-hero__copy {
    min-height: 410px;
  }

  .contact-hero__media,
  .contact-hero__media img {
    min-height: 390px;
  }

  .contact-form-section {
    grid-template-columns: 1fr;
    width: calc(100% - 44px);
    gap: 38px;
    padding-top: 76px;
  }

  .contact-form-heading h2,
  .contact-form-heading>p:last-child,
  .contact-details h2,
  .contact-details>p:not(.contact-eyebrow) {
    max-width: 600px;
  }
}

@media (max-width: 560px) {
  .contact-hero__copy {
    min-height: 460px;
    padding: 56px 22px 48px;
  }

  .contact-hero h1 {
    font-size: 50px;
  }

  .contact-hero__media,
  .contact-hero__media img {
    min-height: 280px;
  }

  .contact-hero__media span {
    right: 18px;
    bottom: 18px;
    font-size: 22px;
  }

  .contact-form-section {
    gap: 30px;
    width: calc(100% - 40px);
    padding: 64px 0 78px;
  }

  .contact-form-heading h2 {
    font-size: 42px;
  }

  .contact-form-wrap {
    padding: 24px 18px 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-hero__media img {
    transition: none;
  }
}

/* La página comparte ahora la composición editorial de la home y de
   “Por qué Ana Durán”: imagen a sangre, texto integrado y secciones completas. */
.contact-hero {
  position: relative;
  display: flex;
  width: 100%;
  max-width: none;
  min-height: 560px;
  margin: 0;
  overflow: hidden;
  background: #2c251f;
}

.contact-hero__copy {
  position: relative;
  z-index: 2;
  display: flex;
  width: min(calc(100% - 48px), 1180px);
  min-height: 560px;
  margin: 0 auto;
  padding: 84px 0;
  justify-content: center;
  color: #fff;
  background: transparent;
}

.contact-hero__copy>p:not(.contact-eyebrow):not(.contact-direct) {
  color: rgba(255, 255, 255, .88);
}

.contact-hero h1 {
  max-width: 590px;
  margin-bottom: 22px;
  font-size: clamp(52px, 6vw, 82px);
}

.contact-direct {
  color: rgba(255, 255, 255, .82);
}

.contact-direct a,
.contact-quick-links a {
  color: #fff;
}

.contact-quick-links a span {
  color: #ead5ba;
}

.contact-hero__media {
  position: absolute;
  z-index: 0;
  inset: 0;
  min-height: 0;
}

.contact-hero__media::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgba(25, 19, 13, .78), rgba(25, 19, 13, .24) 66%, rgba(25, 19, 13, .1));
  content: "";
}

.contact-hero__media::after {
  z-index: 2;
  background: linear-gradient(0deg, rgba(25, 19, 13, .5), transparent 42%);
}

.contact-hero__media img {
  min-height: 0;
  transition: transform .8s cubic-bezier(.2, .7, .2, 1);
}

.contact-hero__media span {
  right: max(24px, calc((100% - 1180px) / 2));
  bottom: 28px;
}

.contact-form-section {
  width: 100%;
  max-width: none;
  padding: 96px max(24px, calc((100% - 1180px) / 2)) 110px;
  background: #fff;
}

.contact-form-wrap {
  background: var(--store-paper, #f7f4ef);
}

@media (max-width: 900px) {
  .contact-hero {
    min-height: 560px;
  }

  .contact-hero__copy {
    width: calc(100% - 44px);
    min-height: 560px;
    padding: 58px 0 48px;
  }

  .contact-hero__media,
  .contact-hero__media img {
    min-height: 0;
  }

  .contact-form-section {
    width: 100%;
    padding-right: 22px;
    padding-left: 22px;
  }
}

@media (max-width: 560px) {
  .contact-hero {
    min-height: 570px;
  }

  .contact-hero__copy {
    width: calc(100% - 44px);
    min-height: 570px;
    padding: 54px 0 38px;
  }

  .contact-hero h1 {
    font-size: 52px;
  }

  .contact-form-section {
    padding: 64px 20px 78px;
  }
}

/* Contacto comparte la portada de la home para mantener continuidad visual. */
.contact-hero {
  display: block;
  min-height: 590px;
  background: linear-gradient(90deg, rgba(20, 16, 12, .74), rgba(20, 16, 12, .12)), url('assets/home/portada.jpg') center 42% / cover;
  border-bottom: 0;
}

.contact-hero__copy {
  width: min(calc(100% - 48px), 760px);
  min-height: 590px;
  padding: clamp(72px, 10vw, 126px) 0 88px;
  align-items: center;
  color: #fff;
  text-align: left;
}

.contact-hero h1 {
  max-width: 720px;
  margin-bottom: 24px;
}

.contact-hero__copy>p:not(.contact-eyebrow):not(.contact-direct),
.contact-direct {
  max-width: 570px;
  color: rgba(255, 255, 255, .9);
}

.contact-direct a,
.contact-quick-links a {
  color: #fff;
}

.contact-quick-links {
  justify-content: flex-start;
}

.contact-hero__media {
  display: none;
}

@media (max-width: 560px) {
  .contact-hero__copy {
    width: calc(100% - 40px);
    min-height: 560px;
    padding: 64px 0 62px;
  }

  .contact-hero h1 {
    font-size: 50px;
  }
}
.contact-details>p:not(.contact-eyebrow){font-size:14px}.contact-details .contact-quick-links{margin:0 0 38px}.contact-details__list{margin-top:0}.contact-form-heading h2{font-size:42px}
.contact-details__list{display:block;max-width:380px}.contact-details__list>div:nth-child(1),.contact-details__list>div:nth-child(2){padding-top:14px}.contact-details__list>div:nth-child(2),.contact-details__list>div.contact-detail--location{padding-left:34px}.contact-details__list>div:nth-child(2)::before,.contact-details__list>div.contact-detail--location::before{left:0}.contact-details__list>div.contact-detail--location{min-height:48px}.contact-details__list>div.contact-detail--location dt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.contact-details__list>div.contact-detail--hours dt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.contact-details__list>div.contact-detail--hours dd{padding-top:2px}
.contact-details__list,.contact-details__list>div{border-top:0;border-bottom:0}.contact-details__list>div{padding-top:11px;padding-bottom:11px}
.contact-details__list{max-width:440px}.contact-details__list>div{padding-top:15px;padding-bottom:15px}.contact-details__list dd{font-size:13px}.contact-details__list>div::before{width:20px;height:20px}
.contact-form-wrap{padding:0!important;background:transparent!important;border:0!important}.contact-field input,.contact-field textarea{background:transparent!important;border:0;border-bottom:1px solid #cec6bb;border-radius:0;padding:10px 0}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--store-accent,#9a7b5a);box-shadow:none}.contact-field label{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.contact-submit{margin-top:8px}
.contact-form-wrap{padding:0!important;background:transparent!important;border:0!important}.contact-field input,.contact-field textarea{background:transparent!important;border:1px solid #d8d0c5;border-radius:0;padding:14px 15px;min-height:50px}.contact-field textarea{min-height:140px;padding-top:14px}.contact-field input:focus,.contact-field textarea:focus{border-color:#9a7b5a;box-shadow:none}.contact-field label{display:block;margin-bottom:10px;color:#28241f;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.contact-submit{margin-top:8px;padding:15px 30px;background:#28241f}.contact-submit:hover{background:#98724f}
.contact-form .contact-grid .contact-field:nth-child(3){grid-column:1/-1}
.contact-details__list a{text-decoration:none!important}
.contact-page .contact-details h1{font-size:clamp(60px,6.25vw,90px)}.contact-page .contact-details>p:not(.contact-eyebrow){font-size:17.5px}.contact-page .contact-details__list dt{font-size:11.25px}.contact-page .contact-details__list dd{font-size:16.25px}.contact-page .contact-quick-links a{font-size:12.5px}.contact-page .contact-form-heading h2{font-size:52.5px}.contact-page .contact-form-heading>p:last-child{font-size:16.25px}.contact-page .contact-field label{font-size:13.75px}.contact-page .contact-field input,.contact-page .contact-field textarea{font-size:16.25px}.contact-page .contact-consent label{font-size:15px}.contact-page .contact-submit{font-size:13.75px}
@media(max-width:760px){.contact-page .contact-details h1{font-size:62.5px}.contact-page .contact-form-heading h2{font-size:47.5px}}
.contact-page .contact-details h1{max-width:470px;font-size:clamp(54px,5vw,72px);line-height:.94}.contact-page .contact-details>p:not(.contact-eyebrow){font-size:15px}.contact-page .contact-quick-links a{color:var(--store-ink,#24211f)!important;font-size:11px}.contact-page .contact-form-heading h2{font-size:clamp(38px,4vw,50px);line-height:.98}.contact-page .contact-form-heading>p:last-child{font-size:14px}
.contact-page,.contact-page .contact-form-section,.contact-page .contact-form-wrap{background:#f8f6f1!important}
.contact-details__list>div::before{filter:brightness(0);opacity:.82}
@media(min-width:761px){.contact-page .contact-form-heading h2{max-width:none;white-space:nowrap}}
.contact-page .contact-form-section{min-height:0;padding-top:88px;padding-bottom:88px;gap:clamp(48px,7vw,90px)}.contact-page .contact-details{padding-top:8px}.contact-page .contact-details>p:not(.contact-eyebrow){max-width:350px;margin-bottom:24px}.contact-page .contact-quick-links{gap:8px 20px;margin-bottom:28px}.contact-page .contact-quick-links a{display:inline-flex;align-items:center;gap:6px}.contact-page .contact-details__list{max-width:390px}.contact-page .contact-details__list>div{padding-top:9px;padding-bottom:9px}.contact-page .contact-details__list>div.contact-detail--location{min-height:34px}.contact-page .contact-form-column{max-width:560px}.contact-page .contact-form-heading{margin-bottom:26px}.contact-page .contact-form-heading h2{margin-bottom:0}.contact-page .contact-field textarea{min-height:116px}.contact-page .contact-consent{margin-top:16px;margin-bottom:18px}.contact-page .contact-submit{min-width:150px;padding:13px 24px;font-size:12px}.contact-page .contact-details__list a{transition:color .2s ease}.contact-page .contact-details__list a:hover,.contact-page .contact-details__list a:focus-visible{color:#98724f}.contact-page .contact-details__list a:focus-visible,.contact-page .contact-quick-links a:focus-visible{outline:1px solid #98724f;outline-offset:4px}
@media(max-width:760px){.contact-page .contact-form-section{padding-top:62px;padding-bottom:72px}.contact-page .contact-form-column{max-width:none}.contact-page .contact-details{padding-top:0}.contact-page .contact-details__list>div{padding-top:10px;padding-bottom:10px}}
.contact-page .contact-form-section{padding-top:72px;padding-bottom:70px}.contact-page .contact-details__list>div{padding-top:7px;padding-bottom:7px}.contact-page .contact-details__list>div.contact-detail--location{min-height:26px}.contact-page .contact-field textarea{min-height:100px}.contact-page .contact-submit{min-width:156px;padding:13px 20px}
@media(min-width:761px) and (max-width:1100px){.contact-page .contact-form-section{width:calc(100% - 56px);gap:50px;padding-top:62px;padding-bottom:60px}.contact-page .contact-details h1{font-size:clamp(50px,5vw,64px)}.contact-page .contact-form-heading h2{font-size:42px}.contact-page .contact-details__list dd{font-size:15px}}
.contact-page .contact-details__list>div.contact-detail--email,.contact-page .contact-details__list>div.contact-detail--phone,.contact-page .contact-details__list>div.contact-detail--location,.contact-page .contact-details__list>div.contact-detail--hours{position:relative;display:flex;align-items:center;min-height:38px;padding:8px 0 8px 34px}.contact-page .contact-details__list>div.contact-detail--email::before,.contact-page .contact-details__list>div.contact-detail--phone::before,.contact-page .contact-details__list>div.contact-detail--location::before,.contact-page .contact-details__list>div.contact-detail--hours::before{top:50%;left:0;transform:translateY(-50%)}.contact-page .contact-details__list dd{margin:0;line-height:1.4}.contact-page .contact-details__list dt{margin:0}
.contact-page .contact-field input:focus,.contact-page .contact-field textarea:focus{border-color:#28241f!important;box-shadow:none!important;outline:0}.contact-page .contact-field input:focus-visible,.contact-page .contact-field textarea:focus-visible{outline:1px solid #28241f;outline-offset:2px}.contact-page .contact-consent input{accent-color:#28241f}

/* Contacto: adaptación del nuevo mockup editorial. */
.contact-v2{background:#f7f5f2!important;color:#3f3a34;overflow:hidden}
.contact-v2__container{width:92%;max-width:1440px;margin:0 auto}
.contact-v2__intro{padding:clamp(46px,5vw,76px) 0 clamp(30px,3.2vw,46px)}
.contact-v2__eyebrow{margin:0;color:#9b8b76;font-size:10px;font-weight:500;letter-spacing:.28em;line-height:1.6}
.contact-v2__intro h1{margin:18px 0 0;color:#322e29;font:300 clamp(34px,3.6vw,52px)/1.16 'Cormorant Garamond',Georgia,serif}
.contact-v2__intro>div>p:last-child{max-width:520px;margin:22px 0 0;color:#6f6862;font-size:clamp(12px,1vw,13.5px);font-weight:300;line-height:2.05}
.contact-v2__main{padding:0 0 clamp(46px,5vw,76px)}
.contact-v2__grid{display:grid;grid-template-columns:.68fr 1fr;gap:clamp(40px,5vw,90px);align-items:start}
.contact-v2__info{min-width:0}
.contact-v2__info-list{display:flex;flex-direction:column;gap:clamp(26px,2.8vw,38px)}
.contact-v2__info-item{display:flex;gap:16px;align-items:flex-start}
.contact-v2__info-icon{position:relative;flex:none;width:20px;height:20px;margin-top:3px;color:#a68b6d}
.contact-v2__info-icon:before,.contact-v2__info-icon:after{position:absolute;content:''}
.contact-v2__info-icon:before,.contact-v2__info-icon:after{display:none}
.contact-v2__info-icon svg{display:block;width:20px;height:20px;color:inherit}
.contact-v2__info-item--email .contact-v2__info-icon:before{inset:3px 1px 3px;border:1.2px solid currentColor;border-radius:1px}
.contact-v2__info-item--email .contact-v2__info-icon:after{top:5px;left:2px;width:14px;height:9px;border-bottom:1.2px solid currentColor;transform:skewY(-32deg) rotate(-1deg)}
.contact-v2__info-item--phone .contact-v2__info-icon:before{top:1px;left:5px;width:10px;height:18px;border:1.2px solid currentColor;border-radius:2px}
.contact-v2__info-item--phone .contact-v2__info-icon:after{top:4px;left:8px;width:4px;border-top:1.2px solid currentColor;box-shadow:0 11px 0 -0.1px currentColor}
.contact-v2__info-item--hours .contact-v2__info-icon:before{inset:1px;border:1.2px solid currentColor;border-radius:50%}
.contact-v2__info-item--hours .contact-v2__info-icon:after{top:5px;left:9px;width:1px;height:6px;background:currentColor;transform-origin:bottom;transform:rotate(-30deg);box-shadow:3px 5px 0 -0.1px currentColor}
.contact-v2__info-item--location .contact-v2__info-icon:before{top:0;left:3px;width:13px;height:16px;border:1.2px solid currentColor;border-radius:9px 9px 10px 10px;transform:rotate(45deg)}
.contact-v2__info-item--location .contact-v2__info-icon:after{top:6px;left:8px;width:4px;height:4px;border:1.2px solid currentColor;border-radius:50%}
.contact-v2__info-item p{margin:0;color:#9b8b76;font-size:10px;font-weight:500;letter-spacing:.24em;line-height:1.6}
.contact-v2__info-item a,.contact-v2__info-item>div>span{display:block;margin-top:10px;color:#322e29;font-size:14px;font-weight:400;line-height:1.5;text-decoration:none}
.contact-v2__info-item a:hover{color:#8c7256}
.contact-v2__info-item small{display:block;margin-top:6px;color:#8f877f;font-size:10.5px;font-weight:300;line-height:1.9}
.contact-v2__note{margin-top:clamp(34px,3.6vw,50px);padding-top:clamp(26px,2.8vw,36px);border-top:1px solid #e5e0d8}
.contact-v2__note p{margin:0;color:#322e29;font:300 italic clamp(20px,1.8vw,26px)/1.45 'Cormorant Garamond',Georgia,serif}
.contact-v2__note span{display:block;max-width:340px;margin-top:14px;color:#6f6862;font-size:11px;font-weight:300;line-height:2}
.contact-v2__form-column{min-width:0;max-width:640px}
.contact-v2__form-heading h2{margin:0;color:#322e29;font:300 clamp(32px,3.2vw,46px)/1.12 'Cormorant Garamond',Georgia,serif}
.contact-v2 .contact-form-wrap{padding:0;border:0;background:transparent}
.contact-v2 .contact-form{display:flex;flex-direction:column;gap:clamp(20px,2.2vw,26px)}
.contact-v2 .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,1.8vw,24px);margin:0}
.contact-v2 .contact-field{min-width:0;margin:0}
.contact-v2 .contact-field--full{grid-column:1/-1}
.contact-v2 .contact-field label{display:block;color:#8f877f;font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.contact-v2 .contact-field label small{font-size:inherit}
.contact-v2 .contact-field input,.contact-v2 .contact-field select,.contact-v2 .contact-field textarea{display:block;width:100%;margin-top:9px;padding:13px 14px;border:1px solid #ded8cf;border-radius:2px;background:#fdfcfa;color:#3f3a34;font:300 12.5px/1.5 'Jost',sans-serif}
.contact-v2 .contact-field select{appearance:none;cursor:pointer;padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,#8f877f 50%),linear-gradient(135deg,#8f877f 50%,transparent 50%);background-position:calc(100% - 18px) 18px,calc(100% - 13px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.contact-v2 .contact-field textarea{min-height:132px;resize:vertical;line-height:1.8}
.contact-v2 .contact-field input:focus,.contact-v2 .contact-field select:focus,.contact-v2 .contact-field textarea:focus{outline:none;border-color:#a68b6d}
.contact-v2 .contact-field input::placeholder,.contact-v2 .contact-field textarea::placeholder{color:#b3aca4}
.contact-v2 .contact-consent{display:flex;align-items:flex-start;gap:11px;margin:0;cursor:pointer}
.contact-v2 .contact-consent input{width:14px;height:14px;flex:none;margin:2px 0 0;accent-color:#a68b6d}
.contact-v2 .contact-consent label{color:#7d756e;font-size:10.5px;font-weight:300;line-height:1.85}
.contact-v2 .contact-consent a{color:#6f6862;text-decoration:underline;text-underline-offset:3px}
.contact-v2 .contact-submit{min-width:150px;padding:15px 28px;border:1px solid #ddd6cc;border-radius:2px;background:#efeae2;color:#3a352f;font:500 10.5px 'Jost',sans-serif;letter-spacing:.19em;cursor:pointer}
.contact-v2 .contact-submit:hover{background:#fff}
.contact-v2 .contact-notice{margin:0 0 20px;padding:14px 16px;border:1px solid #e5e0d8;background:#f9f8f5;color:#6f6862;font-size:11px;line-height:1.7}
.contact-v2 .contact-notice--error{color:#96694f}
.contact-v2 .contact-notice--ok{color:#48634f}
.contact-v2__direct{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin-top:clamp(26px,2.8vw,36px);padding-top:clamp(20px,2.2vw,28px);border-top:1px solid #e5e0d8;color:#6f6862;font-size:11px}
.contact-v2__direct strong{color:#46403a;font-weight:400}
.contact-v2__direct a{color:#6f6862;text-decoration:underline;text-underline-offset:3px}
.contact-v2__professionals{padding:clamp(34px,3.6vw,52px) 0;background:#ece7e0}
.contact-v2__professionals-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.contact-v2__professionals h2{margin:14px 0 0;color:#322e29;font:300 clamp(23px,2.1vw,30px)/1.3 'Cormorant Garamond',Georgia,serif}
.contact-v2__professionals p:last-child{max-width:480px;margin:14px 0 0;color:#6f6862;font-size:11.5px;font-weight:300;line-height:2}
.contact-v2__button{display:inline-flex;align-items:center;justify-content:center;padding:13px 26px;border:1px solid #d6d0c7;background:#f2efe9;color:#46403a;font-size:10px;font-weight:400;letter-spacing:.19em;text-decoration:none}
.contact-v2__button:hover{background:#f8f6f2;color:#322e29}
.contact-v2__closing{padding:clamp(48px,5vw,76px) 0;text-align:center}
.contact-v2__closing p{width:92%;max-width:1440px;margin:0 auto;color:#8f877f;font:300 italic clamp(19px,1.7vw,24px)/1.4 'Cormorant Garamond',Georgia,serif}
@media(max-width:1120px) and (min-width:701px){.contact-v2__grid{grid-template-columns:1fr;gap:56px}.contact-v2__form-column{order:1;max-width:none}.contact-v2__info{order:2}}
@media(max-width:700px){.contact-v2__container{width:calc(100% - 32px)}.contact-v2__intro{padding-top:48px}.contact-v2__intro h1{font-size:46px}.contact-v2__intro>div>p:last-child{font-size:12px}.contact-v2__grid{grid-template-columns:1fr;gap:52px}.contact-v2__form-column{order:1;max-width:none}.contact-v2__info{order:2}.contact-v2 .contact-grid{grid-template-columns:1fr;gap:20px}.contact-v2 .contact-field--full{grid-column:auto}.contact-v2__professionals-grid{grid-template-columns:1fr;gap:22px}.contact-v2__button{justify-self:start}}
