:root {
  --mcp-i-wa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.47 14.38c-.3-.15-1.75-.86-2.02-.96-.27-.1-.47-.15-.67.15-.2.3-.77.96-.94 1.16-.17.2-.35.22-.64.07-.3-.15-1.25-.46-2.38-1.47-.88-.79-1.47-1.76-1.65-2.06-.17-.3-.02-.46.13-.6.13-.14.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.92-2.2-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.02-1.04 2.48 0 1.46 1.07 2.88 1.21 3.07.15.2 2.1 3.2 5.08 4.49.71.3 1.26.49 1.7.63.71.22 1.36.19 1.87.12.57-.09 1.75-.72 2-1.41.25-.69.25-1.29.17-1.41-.07-.12-.27-.2-.57-.35zM12.04 21.5h-.01a9.43 9.43 0 0 1-4.81-1.32l-.34-.2-3.58.94.96-3.49-.23-.36a9.43 9.43 0 0 1-1.45-5.03c0-5.21 4.24-9.45 9.46-9.45 2.53 0 4.9.99 6.69 2.78a9.4 9.4 0 0 1 2.77 6.69c0 5.21-4.25 9.45-9.46 9.45zm8.05-17.5A11.32 11.32 0 0 0 12.04.66C5.77.66.66 5.77.66 12.04c0 2 .52 3.96 1.52 5.69L.57 23.6l6.02-1.58a11.36 11.36 0 0 0 5.44 1.39h.01c6.27 0 11.38-5.11 11.38-11.38 0-3.04-1.18-5.9-3.33-8.04z'/%3E%3C/svg%3E");
  --mcp-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --mcp-i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3.5h3l1.6 4.2-2 1.4a12 12 0 0 0 5.3 5.3l1.4-2 4.2 1.6v3a2 2 0 0 1-2.2 2A17 17 0 0 1 3 5.7a2 2 0 0 1 2-2.2z'/%3E%3C/svg%3E");
  --mcp-i-tel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M5 3.5h3l1.6 4.2-2 1.4a12 12 0 0 0 5.3 5.3l1.4-2 4.2 1.6v3a2 2 0 0 1-2.2 2A17 17 0 0 1 3 5.7a2 2 0 0 1 2-2.2z'/%3E%3C/svg%3E");
  --mcp-i-nav: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 3L3 10.5l7.5 2.9L13.5 21 21 3z'/%3E%3C/svg%3E");
  --mcp-i-send: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.5 2.5L10.5 13.5'/%3E%3Cpath d='M21.5 2.5l-7 19-4-8-8-4 19-7z'/%3E%3C/svg%3E");
  --mcp-i-headset: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14v-2a8 8 0 0 1 16 0v2'/%3E%3Crect x='3' y='13' width='4' height='6' rx='1.5'/%3E%3Crect x='17' y='13' width='4' height='6' rx='1.5'/%3E%3Cpath d='M19 19c0 1.5-2 2.5-5 2.5'/%3E%3C/svg%3E");
  --mcp-i-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c.8-4 4-6 8-6s7.2 2 8 6'/%3E%3C/svg%3E");
  --mcp-i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3.5 6.5L12 13l8.5-6.5'/%3E%3C/svg%3E");
  --mcp-i-chat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3Cpath d='M8 9.5h8M8 12.5h5'/%3E%3C/svg%3E");
  --mcp-i-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.2 7-11.5A7 7 0 0 0 5 9.5C5 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
  --mcp-i-people: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c.6-3.6 3.2-5.5 6.5-5.5s5.9 1.9 6.5 5.5'/%3E%3Ccircle cx='17' cy='9' r='2.6'/%3E%3Cpath d='M16.5 14.6c2.6.2 4.4 1.9 5 4.9'/%3E%3C/svg%3E");
  --mcp-i-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7'/%3E%3Cpath d='M5 9.5V20h14V9.5'/%3E%3Cpath d='M12 17.5s-3-1.8-3-3.8a1.6 1.6 0 0 1 3-.8 1.6 1.6 0 0 1 3 .8c0 2-3 3.8-3 3.8z'/%3E%3C/svg%3E");
  --mcp-i-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4.5-3 7.8-7 9-4-1.2-7-4.5-7-9V6l7-3z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E");
  --mcp-i-truck: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6h11v10H2zM13 9h4l4 4v3h-8'/%3E%3Ccircle cx='6' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E");
}

/* ===================== Contáctanos (mod_mccontactpage) ===================== */
.mcp-hero, .mcp-body {
  --mcp-green: var(--cd-green, #8a9a1c); --mcp-green-700: var(--cd-green-700, #6f7d14); --mcp-green-900: var(--cd-green-900, #4f5a0d);
  --mcp-lime: var(--cd-lime, #b9cc3a); --mcp-lime-200: var(--cd-lime-200, #e7edc0); --mcp-ink: var(--cd-ink, #23271d);
  --mcp-text: var(--cd-text, #4b5045); --mcp-muted: var(--cd-muted, #80857a); --mcp-line: var(--cd-line, #e5e3da);
  --mcp-bg: var(--cd-bg, #f6f5f0); --mcp-card: #fff; --mcp-radius: 12px;
  --mcp-serif: var(--cd-serif, "Merriweather", Georgia, serif); --mcp-sans: var(--cd-sans, "Inter", Arial, sans-serif); --mcp-script-font: var(--cd-script, "Allura", cursive);
  font-family: var(--mcp-sans); color: var(--mcp-text); box-sizing: border-box;
}
.mcp-hero *, .mcp-body * { box-sizing: border-box; }
.mcp-body ul { list-style: none; margin: 0; padding: 0; }
.mcp-body li { margin: 0; }
.mcp-body h2, .mcp-body h3, .mcp-hero h1 { letter-spacing: 0; text-transform: none; }
.mcp-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mcp-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }

/* Íconos (máscaras: toman el color del texto) */
.mcp-ico { display: inline-block; width: 16px; height: 16px; flex: 0 0 auto; background: currentColor; vertical-align: -3px;
  -webkit-mask: var(--mcp-i) no-repeat center / contain; mask: var(--mcp-i) no-repeat center / contain; }
.mcp-ico-wa { --mcp-i: var(--mcp-i-wa); } .mcp-ico-arrow { --mcp-i: var(--mcp-i-arrow); } .mcp-ico-phone { --mcp-i: var(--mcp-i-phone); }
.mcp-ico-tel { --mcp-i: var(--mcp-i-tel); } .mcp-ico-nav { --mcp-i: var(--mcp-i-nav); } .mcp-ico-send { --mcp-i: var(--mcp-i-send); }
.mcp-ico-headset { --mcp-i: var(--mcp-i-headset); }

/* Textos comunes */
.mcp-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; font-size: 11.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--mcp-text); }
.mcp-eyebrow::before { content: ""; width: 26px; height: 2px; border-radius: 2px; background: var(--mcp-lime); }
.mcp-eyebrow-light { color: var(--mcp-lime); }
.mcp-eyebrow-soft { letter-spacing: .02em; text-transform: none; font-weight: 500; font-size: 12.5px; }
.mcp-h2 { font-family: var(--mcp-serif); font-weight: 700; font-size: clamp(26px, 2.6vw, 34px); line-height: 1.2; color: var(--mcp-ink); margin: 0 0 8px; }
.mcp-h3 { font-family: var(--mcp-serif); font-weight: 700; font-size: clamp(21px, 2vw, 26px); line-height: 1.25; color: var(--mcp-ink); margin: 0 0 8px; }
.mcp-h2-line { position: relative; padding-top: 16px; }
.mcp-h2-line::before { content: ""; position: absolute; left: 0; top: 0; width: 26px; height: 2px; border-radius: 2px; background: var(--mcp-lime); }
.mcp-lead { margin: 0 0 22px; font-family: var(--mcp-serif); font-size: 15px; line-height: 1.6; color: var(--mcp-muted); }
.mcp-lead-line { position: relative; padding-top: 12px; }
.mcp-lead-line::before { content: ""; position: absolute; left: 0; top: 0; width: 26px; height: 2px; border-radius: 2px; background: var(--mcp-lime); }
.mcp-script { position: relative; display: inline-block; margin: 22px 0 0; padding-bottom: 10px; font-family: var(--mcp-script-font); font-size: 30px; line-height: 1; transform: rotate(-4deg); transform-origin: left; }
.mcp-script::after { content: ""; position: absolute; left: 4%; right: -6%; bottom: 0; height: 8px; border-bottom: 2px solid var(--mcp-lime); border-radius: 0 0 60% 40% / 0 0 100% 100%; }
.mcp-script-light { color: #fff; }

/* Botones */
.mcp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 999px; padding: 12px 22px;
  font-family: var(--mcp-sans); font-size: 14px; font-weight: 600; line-height: 1.2; text-decoration: none !important; cursor: pointer;
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease, color .2s ease; white-space: nowrap; }
.mcp-btn:hover { transform: translateY(-1px); }
.mcp-btn-sm { padding: 9px 14px; font-size: 12px; gap: 6px; }
.mcp-btn-sm .mcp-ico { width: 14px; height: 14px; }
.mcp-btn-dark { background: var(--mcp-green-900); color: #fff !important; }
.mcp-btn-dark:hover { background: var(--mcp-ink); }
.mcp-btn-lime { background: var(--mcp-lime); color: var(--mcp-ink) !important; padding: 13px 20px; }
.mcp-btn-lime:hover { background: #cddc5c; box-shadow: 0 8px 20px rgba(0,0,0,.25); }
.mcp-btn-outline { background: #fff; color: var(--mcp-green-900) !important; box-shadow: inset 0 0 0 1.5px var(--mcp-green-700); }
.mcp-btn-outline:hover { background: var(--mcp-green-900); color: #fff !important; }
.mcp-btn-green { background: linear-gradient(180deg, var(--mcp-green), var(--mcp-green-700)); color: #fff !important; padding: 15px 22px; font-size: 15px; box-shadow: 0 6px 16px rgba(111,125,20,.28); }
.mcp-btn-green:hover { box-shadow: 0 10px 22px rgba(111,125,20,.36); }
.mcp-btn-block { display: flex; width: 100%; }
.mcp-btn[disabled] { opacity: .7; cursor: wait; transform: none; }

/* ---------- Encabezado ---------- */
.mcp-hero { position: relative; overflow: hidden; color: #fff; min-height: clamp(360px, 46vw, 470px); display: flex; align-items: center;
  background: #2c2f22 var(--mcp-hero-img) no-repeat 70% center / cover; }
.mcp-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(23,25,17,.88) 0%, rgba(23,25,17,.72) 32%, rgba(23,25,17,.25) 62%, rgba(23,25,17,0) 82%); }
.mcp-wrap { position: relative; width: 100%; max-width: var(--cd-max, 1240px); margin: 0 auto; padding: 56px var(--cd-gutter, 24px); }
.mcp-hero-title { font-family: var(--mcp-serif); font-weight: 700; font-size: clamp(34px, 4.4vw, 56px); line-height: 1.12; color: #fff; margin: 4px 0 18px; max-width: 640px; }
.mcp-hero-title span { display: block; color: #c9d76a; }
.mcp-hero-text { max-width: 430px; margin: 0; font-size: 16px; line-height: 1.65; color: rgba(255,255,255,.9); }
/* La plantilla pone el encabezado dentro de un contenedor con relleno: aquí ocupa todo el ancho */
.cd-hero:has(.mcp-hero) #header, #header:has(.mcp-hero) { padding: 0 !important; background: none !important; }
#header:has(.mcp-hero) > .container { width: 100% !important; max-width: none !important; padding: 0 !important; }
#header:has(.mcp-hero) .row, #header:has(.mcp-hero) .column, #header:has(.mcp-hero) .block, #header:has(.mcp-hero) .moduletable { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; float: none !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; }

/* ---------- Cuerpo ---------- */
.mcp-body { width: 100%; padding: 12px 0 8px; }
.mcp-row { display: grid; gap: 28px; margin: 0 0 44px; align-items: start; }
.mcp-row-team { grid-template-columns: minmax(0, 1fr) 300px; }
.mcp-row-visit { grid-template-columns: minmax(0, 1.42fr) minmax(320px, 1fr); }
.mcp-row-visit.is-single { grid-template-columns: 1fr; }

/* Asesores */
.mcp-advisors { display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 16px; }
.mcp-advisor { display: flex; flex-direction: column; align-items: flex-start; text-align: left; background: var(--mcp-card); border: 1px solid var(--mcp-line); border-radius: var(--mcp-radius); padding: 14px 14px 18px; box-shadow: 0 1px 2px rgba(35,39,29,.04); transition: box-shadow .25s ease, transform .25s ease; }
.mcp-advisor:hover { box-shadow: 0 12px 28px rgba(35,39,29,.10); transform: translateY(-2px); }
.mcp-avatar { position: relative; align-self: center; display: grid; place-items: center; width: 96px; height: 96px; margin: 0 0 14px; border-radius: 50%; background: var(--mcp-lime-200); color: var(--mcp-green-900) !important; text-decoration: none !important; }
.mcp-avatar img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center 22%; border-radius: 50%; }
.mcp-avatar span { font-family: var(--mcp-serif); font-size: 28px; font-weight: 700; }
.mcp-avatar.is-icon .mcp-ico { width: 40px; height: 40px; }
.mcp-badge { position: absolute; right: -2px; bottom: 4px; width: 26px; height: 26px; border-radius: 50%; background: var(--mcp-green-700); border: 2px solid #fff; }
.mcp-badge::after { content: ""; position: absolute; inset: 5px; background: #fff; -webkit-mask: var(--mcp-i-wa) no-repeat center / contain; mask: var(--mcp-i-wa) no-repeat center / contain; }
.mcp-name { font-family: var(--mcp-sans) !important; font-size: 15.5px !important; font-weight: 600 !important; line-height: 1.3; color: var(--mcp-ink) !important; margin: 0 0 3px !important; }
.mcp-role { margin: 0 0 14px; font-size: 12.5px; color: var(--mcp-muted); }
.mcp-phone { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 16px; font-size: 14px; font-weight: 600; color: var(--mcp-ink) !important; text-decoration: none !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
.mcp-phone .mcp-ico { width: 17px; height: 17px; color: var(--mcp-green-700); }
.mcp-advisor .mcp-btn { margin-top: auto; align-self: stretch; }

/* Ayuda inmediata */
.mcp-help { position: relative; overflow: hidden; border-radius: var(--mcp-radius); padding: 30px 26px 26px; color: rgba(255,255,255,.9);
  background: #3b4419 var(--mcp-help-img) no-repeat center / cover; box-shadow: 0 14px 34px rgba(35,39,29,.22); }
.mcp-help::before { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(56,66,18,.94) 0%, rgba(56,66,18,.86) 55%, rgba(40,46,14,.72) 100%); }
.mcp-help > * { position: relative; }
.mcp-help-ico { display: block; width: 46px; height: 46px; margin: 0 0 16px; background: #fff; -webkit-mask: var(--mcp-i-wa) no-repeat center / contain; mask: var(--mcp-i-wa) no-repeat center / contain; }
.mcp-help-title { font-family: var(--mcp-serif) !important; font-size: clamp(24px, 2.2vw, 30px) !important; font-weight: 700; line-height: 1.2; color: #fff !important; margin: 0 0 14px !important; }
.mcp-help p { margin: 0 0 22px; font-size: 14.5px; line-height: 1.6; }
.mcp-help .mcp-btn { white-space: normal; }
.mcp-help .mcp-script { margin-top: 10px; font-size: 32px; }

/* Sedes */
.mcp-sedes { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 18px; }
.mcp-sede { display: flex; flex-direction: column; overflow: hidden; background: var(--mcp-card); border: 1px solid var(--mcp-line); border-radius: var(--mcp-radius); box-shadow: 0 1px 2px rgba(35,39,29,.04); }
.mcp-sede-img { aspect-ratio: 16 / 9.6; background: var(--mcp-bg); overflow: hidden; }
.mcp-sede-img img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .6s ease; }
.mcp-sede:hover .mcp-sede-img img { transform: scale(1.04); }
.mcp-sede-img.is-empty { display: grid; place-items: center; background: linear-gradient(135deg, var(--mcp-lime-200), #f3f5e3); }
.mcp-sede-img.is-empty::after { content: ""; width: 44px; height: 44px; background: var(--mcp-green-700); opacity: .55; -webkit-mask: var(--mcp-i-pin) no-repeat center / contain; mask: var(--mcp-i-pin) no-repeat center / contain; }
.mcp-sede-body { display: flex; flex-direction: column; flex: 1; padding: 18px 20px 22px; }
.mcp-sede-name { display: flex; align-items: center; gap: 12px; font-family: var(--mcp-sans) !important; font-size: 16px !important; font-weight: 600 !important; color: var(--mcp-ink) !important; margin: 0 0 10px !important; }
.mcp-pin { position: relative; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; background: var(--mcp-lime-200); }
.mcp-pin::after { content: ""; position: absolute; inset: 6px; background: var(--mcp-green-900); -webkit-mask: var(--mcp-i-pin) no-repeat center / contain; mask: var(--mcp-i-pin) no-repeat center / contain; }
.mcp-sede-line { margin: 0 0 2px 42px; font-size: 13px; line-height: 1.55; color: var(--mcp-muted); }
.mcp-sede-phone { display: inline-flex; align-items: center; gap: 9px; margin: 12px 0 18px 42px; font-size: 13.5px; font-weight: 600; color: var(--mcp-ink) !important; text-decoration: none !important; }
.mcp-sede-phone .mcp-ico { width: 15px; height: 15px; color: var(--mcp-green-700); }
.mcp-sede .mcp-btn { margin-top: auto; align-self: center; }

/* Formulario */
.mcp-form-card { background: var(--mcp-card); border: 1px solid var(--mcp-line); border-radius: var(--mcp-radius); padding: 28px 26px 26px; box-shadow: 0 1px 2px rgba(35,39,29,.04), 0 10px 30px rgba(35,39,29,.06); }
.mcp-form { display: grid; gap: 12px; margin: 0; }
.mcp-field { position: relative; display: block; margin: 0; }
.mcp-field::before { content: ""; position: absolute; left: 15px; top: 15px; width: 17px; height: 17px; background: var(--mcp-muted); -webkit-mask: var(--mcp-fi) no-repeat center / contain; mask: var(--mcp-fi) no-repeat center / contain; pointer-events: none; }
.mcp-f-user { --mcp-fi: var(--mcp-i-user); } .mcp-f-mail { --mcp-fi: var(--mcp-i-mail); } .mcp-f-tel { --mcp-fi: var(--mcp-i-phone); } .mcp-f-msg { --mcp-fi: var(--mcp-i-chat); }
.mcp-form input[type="text"], .mcp-form input[type="email"], .mcp-form input[type="tel"], .mcp-form textarea {
  display: block; width: 100% !important; max-width: none; height: auto; margin: 0 !important; padding: 13px 14px 13px 44px !important;
  font-family: var(--mcp-sans); font-size: 14px; line-height: 1.4; color: var(--mcp-ink);
  background: #f9f8f4 !important; border: 1px solid var(--mcp-line) !important; border-radius: 8px !important; box-shadow: none !important; transition: border-color .2s, background-color .2s, box-shadow .2s; }
.mcp-form textarea { min-height: 112px; resize: vertical; }
.mcp-form input:focus, .mcp-form textarea:focus { outline: 0; background: #fff !important; border-color: var(--mcp-green) !important; box-shadow: 0 0 0 3px rgba(185,204,58,.28) !important; }
.mcp-form ::placeholder { color: var(--mcp-muted); opacity: 1; }
.mcp-field.is-invalid input, .mcp-field.is-invalid textarea { border-color: #c2410c !important; background: #fff7f3 !important; }
.mcp-form .mcp-btn { margin-top: 6px; }
.mcp-form-msg { margin: 4px 0 0; padding: 10px 14px; border-radius: 8px; font-size: 14px; line-height: 1.45; }
.mcp-form-msg.is-ok { background: #eef7e9; color: #2c6b16; }
.mcp-form-msg.is-error { background: #fdecea; color: #b42318; }

/* Beneficios */
.mcp-benefits { position: relative; display: grid; grid-template-columns: minmax(200px, 1.15fr) 2.6fr minmax(200px, 1.55fr); align-items: center; gap: 20px;
  overflow: hidden; margin: 0 0 20px; padding: 26px 0 26px 34px; min-height: 148px; border-radius: var(--mcp-radius); background: var(--cd-bg-2, #efeee6); }
.mcp-ben-head .mcp-h3 { margin: 0; font-size: clamp(20px, 1.8vw, 24px); }
.mcp-ben-head .mcp-eyebrow { margin-bottom: 8px; }
.mcp-ben-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mcp-ben-list li { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 4px 12px; text-align: center; font-size: 13px; line-height: 1.4; color: var(--mcp-text); border-left: 1px solid #dcdacd; }
.mcp-ben-list li:first-child { border-left: 0; }
.mcp-bico { display: block; width: 34px; height: 34px; background: var(--mcp-green-700); -webkit-mask: var(--mcp-bi) no-repeat center / contain; mask: var(--mcp-bi) no-repeat center / contain; }
.mcp-bico-people { --mcp-bi: var(--mcp-i-people); } .mcp-bico-home { --mcp-bi: var(--mcp-i-home); } .mcp-bico-shield { --mcp-bi: var(--mcp-i-shield); } .mcp-bico-truck { --mcp-bi: var(--mcp-i-truck); }
.mcp-ben-img { position: absolute; top: 0; right: 0; bottom: 0; width: 30%; background: var(--mcp-ben-img) no-repeat center / cover; clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%); }
.mcp-ben-img::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 22%; background: var(--mcp-green); clip-path: polygon(82% 0, 100% 0, 18% 100%, 0 100%); }

/* La página de Contáctanos no usa la tarjeta blanca del artículo ni la ruta de navegación bajo el encabezado */
body:has(.mcp-hero) #breadcrumbs { display: none !important; }
#middle-wrap:has(.mcp-hide-article) #main { display: none !important; }
#main-top:has(.mcp-body), #main-bottom:has(.mcp-body) { display: block !important; }
#main-top:has(.mcp-body) .column, #main-top:has(.mcp-body) .block, #main-top:has(.mcp-body) .moduletable,
#main-bottom:has(.mcp-body) .column, #main-bottom:has(.mcp-body) .block, #main-bottom:has(.mcp-body) .moduletable { width: 100% !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; }
#component .mcp-body { padding: 0; }
#component > .block:has(.mcp-body) { background: none !important; box-shadow: none !important; padding: 0 !important; }

/* ---------- Tableta ---------- */
@media (max-width: 1100px) {
  .mcp-row-team { grid-template-columns: 1fr; }
  .mcp-help { min-height: 0; display: grid; grid-template-columns: auto 1fr; column-gap: 20px; align-items: center; }
  .mcp-help-ico { grid-row: span 2; margin: 0; }
  .mcp-help-title, .mcp-help p, .mcp-help .mcp-btn, .mcp-help .mcp-script { grid-column: 2; justify-self: start; }
  .mcp-row-visit { grid-template-columns: 1fr; }
  .mcp-benefits { grid-template-columns: 1fr; padding: 26px 24px; }
  .mcp-ben-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .mcp-ben-img { display: none; }
}

/* ---------- Celular ---------- */
@media (max-width: 640px) {
  .mcp-wrap { padding: 44px 18px; }
  .mcp-hero { min-height: 400px; background-position: 64% center; }
  .mcp-hero::before { background: linear-gradient(180deg, rgba(23,25,17,.55) 0%, rgba(23,25,17,.82) 100%); }
  .mcp-row { gap: 22px; margin-bottom: 34px; }
  .mcp-advisors { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .mcp-advisor { padding: 14px 10px 14px; align-items: center; text-align: center; }
  .mcp-avatar { width: 80px; height: 80px; }
  .mcp-name { font-size: 14.5px !important; }
  .mcp-phone { font-size: 12.5px; gap: 5px; letter-spacing: -.01em; }
  .mcp-phone .mcp-ico { width: 14px; height: 14px; }
  .mcp-advisor .mcp-btn-sm { padding: 9px 8px; font-size: 11px; white-space: normal; }
  .mcp-help { display: block; padding: 26px 22px; }
  .mcp-help-ico { margin: 0 0 14px; }
  .mcp-sedes { grid-template-columns: 1fr; }
  .mcp-form-card { padding: 24px 18px 20px; }
  .mcp-ben-list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 18px; }
  .mcp-ben-list li:nth-child(3) { border-left: 0; }
}

/* 2.7: tarjetas de asesores centradas, foto siempre redonda y con aire, correo opcional */
.mcp-ico-mail { --mcp-i: var(--mcp-i-mail); }
.mcp-advisor { align-items: center; text-align: center; padding: 20px 14px 18px; }
.mcp-avatar { width: 96px !important; height: 96px !important; min-width: 96px; flex: 0 0 96px; margin: 0 auto 18px !important; padding: 0 !important; border-radius: 50% !important; box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--mcp-line), 0 6px 16px rgba(35,39,29,.10); }
.mcp-avatar img { width: 96px !important; height: 96px !important; max-width: none !important; max-height: none !important; aspect-ratio: 1 / 1; object-fit: cover !important; border-radius: 50% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; float: none !important; }
.mcp-advisor .mcp-name { margin-top: 2px !important; }
.mcp-advisor .mcp-role { margin-bottom: 12px; }
.mcp-phone, .mcp-mail { justify-content: center; }
.mcp-mail { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; margin: -8px 0 14px; font-size: 12.5px; color: var(--mcp-text) !important; text-decoration: none !important; }
.mcp-mail .mcp-ico { width: 15px; height: 15px; color: var(--mcp-green-700); }
.mcp-mail { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mcp-sede-contact { display: flex; flex-direction: column; gap: 6px; margin: 10px 0 18px 42px; }
.mcp-sede-contact .mcp-sede-phone { margin: 0; }
.mcp-sede-hours { font-style: italic; }
@media (max-width: 640px) {
  .mcp-avatar, .mcp-avatar img { width: 80px !important; height: 80px !important; flex-basis: 80px; min-width: 80px; }
  .mcp-mail { font-size: 11.5px; }
}
