/* Editorial refresh: presentation only; native Divi content remains editable.
 * The three body classes are supplied on the public site, outside the builder.
 * !important is limited to layout values that Divi writes as important rules.
 */
body.cm-design-refreshed {
  --cm-paper: #f8f6f2;
  --cm-ink: #172330;
  --cm-rust: #ad412e;
  --cm-muted: #53606b;
  --cm-rule: #e4e1db;
}
body.cm-design-refreshed .cm-d-section { --accent: var(--cm-rust); }
body.cm-design-refreshed .cm-d-header { border-bottom-color: var(--cm-rule); }
body.cm-design-refreshed .cm-d-header .et_pb_row.cm-d-shell-header-row {
  /* Keep all public native templates on the same shell width. */
  width: calc(100% - 72px) !important;
  max-width: 1180px !important;
}
body.cm-design-refreshed .cm-d-header .cm-d-shell-menu .et-menu { gap: 24px; }
body.cm-design-refreshed .cm-d-header .cm-d-shell-menu .et-menu > li:last-child > a {
  min-height: 44px;
  padding: 13px 19px;
  border: 1px solid var(--cm-ink);
  border-radius: 7px;
  background: var(--cm-ink);
  color: #fff;
}
body.cm-design-refreshed .cm-d-header .cm-d-shell-menu .et-menu > li:last-child > a:hover {
  border-color: var(--cm-rust);
  background: var(--cm-rust);
  color: #fff;
}
body.cm-design-refreshed .cm-d-header .cm-d-shell-menu .et-menu > li > a { white-space: nowrap; }
body.cm-design-refreshed .cm-d-footer { border-top: 4px solid var(--cm-rust); }
body.cm-design-refreshed .cm-d-footer .cm-d-shell-footer-link a,
body.cm-design-refreshed .cm-d-footer .cm-d-shell-legal-link a { text-underline-offset: 4px; }
body.cm-design-refreshed .cm-d-section .et_pb_button.cm-d-button,
body.cm-design-refreshed .cm-d-section .cm-d-button .et_pb_button {
  border-radius: 7px;
  min-height: 48px;
}
body.cm-design-refreshed .cm-d-section a:focus-visible,
body.cm-design-refreshed .cm-d-section button:focus-visible {
  outline: 3px solid var(--cm-rust);
  outline-offset: 4px;
}

/* Restrained improvements to the original home composition and service cards. */
body.cm-design-refreshed .cm-d-page-home.cm-d-hero { background-color: var(--cm-paper); }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-hero-row { gap: 58px; }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-h1 h1 {
  font-size: clamp(40px, 4.5vw, 61px);
  line-height: 1.08;
  letter-spacing: -.045em;
  color: var(--cm-ink);
  text-wrap: balance;
}
body.cm-design-refreshed .cm-d-page-home .cm-d-kicker {
  color: var(--cm-rust);
  font-size: 12px;
  letter-spacing: .13em;
  line-height: 1.5;
}
body.cm-design-refreshed .cm-d-page-home .cm-d-h2 h2 { letter-spacing: -.035em; line-height: 1.16; }
body.cm-design-refreshed .cm-d-page-home .cm-d-card {
  border-color: var(--cm-rule);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(23, 35, 48, .035);
}
body.cm-design-refreshed .cm-d-page-home .cm-d-card .cm-d-h3 h3 { letter-spacing: -.025em; }
body.cm-design-refreshed .cm-d-page-home.cm-d-cta .cm-d-kicker { color: #efb5a8; }

/* Blog and category introductions share the same compact editorial rhythm. */
body.cm-editorial-index .cm-d-blog,
body.cm-editorial-article #cm-main.cm-d-blog { background-color: var(--cm-paper); }
body.cm-editorial-index #cm-main.cm-d-blog {
  padding-top: 42px !important;
  padding-bottom: 24px !important;
}
body.cm-editorial-index #cm-main.cm-d-blog .et_pb_row.cm-d-row {
  max-width: 1180px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.cm-editorial-index #cm-main .cm-d-text { max-width: 960px; }
body.cm-editorial-index #cm-main .cm-d-text:has(h1) { margin-bottom: 18px !important; }
body.cm-editorial-index #cm-main .cm-d-text h1 {
  max-width: 960px;
  margin: 0;
  padding: 0;
  color: var(--cm-ink);
  font-size: clamp(34px, 4.05vw, 51px);
  line-height: 1.1;
  letter-spacing: -.04em;
  text-wrap: balance;
}
body.cm-editorial-index #cm-main .cm-d-text:not(:has(h1)) { font-size: 17px; line-height: 1.65; }
body.cm-editorial-index #cm-main .cm-d-text:first-child:not(:has(nav)) {
  margin-bottom: 16px !important;
  color: var(--cm-rust);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
}
body.cm-editorial-index #cm-main + .cm-d-blog {
  padding-top: 10px !important;
  padding-bottom: 64px !important;
}
body.cm-editorial-index #cm-main + .cm-d-blog .et_pb_row.cm-d-row {
  max-width: 1180px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.cm-editorial-index .cm-blog-topics {
  gap: 9px;
  margin-bottom: 19px;
  padding-top: 19px;
  border-top: 1px solid var(--cm-rule);
}
body.cm-editorial-index .cm-blog-topics a {
  min-height: 42px;
  padding: 9px 17px;
  border-color: var(--cm-rule);
  border-radius: 7px;
  background: transparent;
  font-size: 14px;
}
body.cm-editorial-index .cm-blog-topics a:hover { background: #fff; border-color: #c7c4bd; }
body.cm-editorial-index .cm-blog-topics a[aria-current="page"] {
  border-color: var(--cm-ink);
  background: var(--cm-ink);
  color: #fff;
}
body.cm-editorial-index .cm-blog-result-count,
body.cm-editorial-index .cm-blog-count { color: var(--cm-muted); font-size: 13px; }

/* Featured opening story: the native first article becomes a split card. */
body.cm-editorial-index .cm-blog-list .et_pb_ajax_pagination_container { gap: 30px 25px; }
body.cm-editorial-index .cm-blog-list article.et_pb_post {
  border-color: var(--cm-rule);
  border-radius: 10px;
  box-shadow: 0 3px 12px rgba(23, 35, 48, .025);
}
body.cm-editorial-index .cm-blog-list article.et_pb_post h2.entry-title {
  padding: 0 22px 12px;
  font-size: 22px;
  line-height: 1.28;
  letter-spacing: -.028em;
}
body.cm-editorial-index .cm-blog-list article.et_pb_post .post-meta { padding: 0 22px 13px; font-size: 12px; }
body.cm-editorial-index .cm-blog-list article.et_pb_post .post-content { gap: 11px; padding: 0 22px; font-size: 15px; line-height: 1.65; }
body.cm-editorial-index .cm-blog-list article.et_pb_post .entry-featured-image-url { margin-bottom: 22px; }
body.cm-editorial-index .cm-blog-list article.et_pb_post a.more-link { color: var(--cm-rust); font-size: 14px; }
body.cm-editorial-index .cm-blog-list article.et_pb_post .post-meta a { color: var(--cm-rust); }
body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type {
  display: grid;
  grid-template-columns: 1.08fr 1fr;
  grid-template-rows: auto auto 1fr;
  grid-column: 1 / -1;
  min-height: 350px;
  padding: 0;
  margin-bottom: 4px;
  border-radius: 12px;
}
body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type .entry-featured-image-url {
  grid-column: 1;
  grid-row: 1 / 4;
  height: 100%;
  min-height: 350px;
  margin: 0;
}
body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type .entry-featured-image-url img {
  width: 100%;
  height: 100%;
  min-height: 350px;
  aspect-ratio: auto;
  object-fit: cover;
}
body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type h2.entry-title {
  grid-column: 2;
  padding: 32px 34px 17px;
  font-size: clamp(27px, 2.8vw, 35px);
  line-height: 1.15;
  letter-spacing: -.035em;
}
body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type .post-meta { grid-column: 2; padding: 0 34px 16px; }
body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type .post-content {
  grid-column: 2;
  gap: 10px;
  padding: 0 34px 26px;
  font-size: 16px;
  line-height: 1.65;
}
body.cm-editorial-index .cm-blog-pagination { margin-top: 28px; }
body.cm-editorial-index .cm-blog-pagination .page-numbers a,
body.cm-editorial-index .cm-blog-pagination .page-numbers span { border-color: var(--cm-rule); background: transparent; }
body.cm-editorial-index .cm-blog-pagination .page-numbers span.current { background: var(--cm-ink); border-color: var(--cm-ink); }
body.cm-editorial-index .cm-blog-pagination .page-numbers a:hover { background: #fff; border-color: var(--cm-ink); }

/* Comfortable long-form reading: narrow copy, clear headings, stable spacing. */
body.cm-editorial-article #cm-main.cm-d-blog {
  padding-top: 28px !important;
  padding-bottom: 35px !important;
}
body.cm-editorial-article #cm-main .et_pb_row.cm-d-row {
  max-width: 960px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.cm-editorial-article #cm-main .cm-d-text { max-width: none; }
body.cm-editorial-article #cm-main .cm-d-text h1 {
  margin: 0;
  padding: 0;
  color: var(--cm-ink);
  font-size: clamp(34px, 4vw, 49px);
  line-height: 1.12;
  letter-spacing: -.038em;
  text-wrap: balance;
}
body.cm-editorial-article #cm-main .cm-d-text:has(h1) { margin-bottom: 22px !important; }
body.cm-editorial-article #cm-main .cm-d-text:last-child { color: var(--cm-muted); font-size: 14px; line-height: 1.7; }
body.cm-editorial-article .cm-blog-breadcrumbs { margin-bottom: 2px; font-size: 13px; }
body.cm-editorial-article .cm-blog-toolbar { margin-bottom: 10px; font-size: 13px; }
body.cm-editorial-article .cm-blog-toolbar a { color: var(--cm-ink); }
body.cm-editorial-article .cm-d-blog:not(#cm-main) {
  padding-top: 38px !important;
  padding-bottom: 58px !important;
  background: #fff;
}
body.cm-editorial-article .cm-d-blog:not(#cm-main) > .et_pb_row.cm-d-row {
  /* Divi's generated width/max-width rules otherwise keep the old 840px measure. */
  width: calc(100% - 48px) !important;
  max-width: 760px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-blog-image {
  margin-bottom: 30px !important;
  overflow: hidden;
  border-radius: 12px;
}
body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-blog-image img { display: block; width: 100%; height: auto; }
body.cm-editorial-article .cm-d-blog:not(#cm-main) .et_pb_text.cm-d-text {
  margin-bottom: 20px !important;
  color: var(--cm-ink);
  font-size: 17px;
  line-height: 1.75;
}
body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-text .et_pb_text_inner { line-height: 1.75; }
body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-text p { margin: 0; padding-bottom: 0; line-height: 1.75; }
body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-text p + p { margin-top: 18px; }
body.cm-editorial-article .cm-d-blog:not(#cm-main) .et_pb_text.cm-d-text:has(h2),
body.cm-editorial-article .cm-d-blog:not(#cm-main) .et_pb_text.cm-d-text:has(h3) { margin-top: 37px !important; margin-bottom: 15px !important; }
body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-text h2 {
  margin: 0;
  padding: 0;
  color: var(--cm-ink);
  font-size: 29px;
  line-height: 1.25;
  letter-spacing: -.027em;
  text-wrap: balance;
  scroll-margin-top: 28px;
}
body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-text h3 { color: var(--cm-ink); font-size: 23px; line-height: 1.3; letter-spacing: -.018em; scroll-margin-top: 28px; }
body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-text a { color: var(--cm-rust); text-underline-offset: 4px; text-decoration-thickness: 1px; }
body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-text ul,
body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-text ol { padding-left: 24px; }
body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-text li { padding: 5px 0; }
body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-table { max-width: 100%; overflow-x: auto; border: 1px solid var(--cm-rule); border-radius: 8px; }
body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-table table { min-width: 0; width: 100%; margin: 0; border: 0; border-collapse: collapse; font-size: 14px; line-height: 1.55; }
body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-table th,
body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-table td { min-width: 110px; padding: 15px; border-color: var(--cm-rule); overflow-wrap: break-word; vertical-align: top; }
body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-table th { background: var(--cm-paper); color: var(--cm-ink); }
body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-table caption { padding: 15px; font-size: 15px; line-height: 1.4; }
body.cm-editorial-article .cm-editorial-readtime { display: inline-block; margin-left: 10px; color: var(--cm-muted); white-space: nowrap; }

/* Native disclosure, never a hidden substitute for the article headings. */
body.cm-editorial-article .cm-editorial-toc {
  margin: 0 0 30px;
  padding: 9px 23px 17px;
  border: 1px solid var(--cm-rule);
  border-radius: 10px;
  background: var(--cm-paper);
  color: var(--cm-ink);
}
body.cm-editorial-article .cm-editorial-toc summary {
  min-height: 44px;
  padding: 10px 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
}
body.cm-editorial-article .cm-editorial-toc summary::marker { color: var(--cm-rust); }
body.cm-editorial-article .cm-editorial-toc ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 29px;
  margin: 7px 0 0;
  padding: 0 0 0 19px;
  list-style: decimal;
}
body.cm-editorial-article .cm-editorial-toc li { min-width: 0; padding: 3px 0 3px 2px; color: var(--cm-muted); font-size: 13px; line-height: 1.45; }
body.cm-editorial-article .cm-editorial-toc a { color: var(--cm-ink); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
body.cm-editorial-article .cm-editorial-toc a:hover { color: var(--cm-rust); }
body.cm-editorial-article .cm-editorial-toc summary:focus-visible { outline: 3px solid var(--cm-rust); outline-offset: 3px; }
body.cm-editorial-article .cm-blog-reading { margin-top: 44px; padding-top: 32px; border-top-color: var(--cm-rule); }
body.cm-editorial-article .cm-blog-reading h2 { font-size: 27px; line-height: 1.25; }
body.cm-editorial-article .cm-blog-adjacent { gap: 15px; }
body.cm-editorial-article .cm-blog-adjacent a { border-color: var(--cm-rule); background: var(--cm-paper); border-radius: 9px; padding: 21px; }
body.cm-editorial-article .cm-blog-adjacent a:hover { border-color: var(--cm-rust); }
body.cm-editorial-article .cm-blog-adjacent a small { color: var(--cm-rust); }
body.cm-editorial-article .cm-blog-related-grid { gap: 17px; }
body.cm-editorial-article .cm-blog-card { border-color: var(--cm-rule); box-shadow: none; border-radius: 9px; }
body.cm-editorial-article .cm-blog-reading .cm-blog-card h3 { padding-inline: 17px; font-size: 18px; line-height: 1.35; }
body.cm-editorial-article .cm-blog-card .cm-blog-card-category { padding-inline: 17px; font-size: 12px; }

@media (min-width: 981px) and (max-width: 1180px) {
  body.cm-design-refreshed .cm-d-header .cm-d-shell-menu .et-menu { gap: 15px; }
  body.cm-design-refreshed .cm-d-header .cm-d-shell-menu .et-menu > li > a { font-size: 13px; }
  body.cm-design-refreshed .cm-d-header .cm-d-shell-menu .et-menu > li:last-child > a { padding-inline: 14px; }
}
@media (max-width: 980px) {
  body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-hero-row { gap: 35px; }
  body.cm-editorial-index .cm-blog-list .et_pb_ajax_pagination_container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 21px; }
  body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type { grid-template-columns: 1fr 1fr; }
  body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type h2.entry-title { padding: 26px 24px 14px; font-size: 28px; }
  body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type .post-meta { padding-inline: 24px; }
  body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type .post-content { padding: 0 24px 22px; font-size: 15px; }
}
@media (max-width: 780px) {
  body.cm-design-refreshed .cm-d-header .et_pb_row.cm-d-shell-header-row { width: calc(100% - 40px) !important; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-h1 h1 { font-size: clamp(36px, 6vw, 47px); line-height: 1.1; }
  body.cm-editorial-index #cm-main.cm-d-blog { padding-top: 31px !important; padding-bottom: 18px !important; }
  body.cm-editorial-article #cm-main.cm-d-blog { padding-top: 22px !important; padding-bottom: 28px !important; }
  body.cm-editorial-article #cm-main .cm-d-text h1 { font-size: 38px; }
  body.cm-editorial-article .cm-d-blog:not(#cm-main) { padding-top: 27px !important; }
}
@media (max-width: 680px) {
  body.cm-editorial-index #cm-main .cm-d-text h1 { font-size: 35px; line-height: 1.13; }
  body.cm-editorial-index #cm-main .cm-d-text:not(:has(h1)) { font-size: 16px; }
  body.cm-editorial-index #cm-main .cm-d-text:first-child:not(:has(nav)) { font-size: 10px; letter-spacing: .1em; }
  body.cm-editorial-index .cm-blog-list .et_pb_ajax_pagination_container { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type { display: flex; min-height: 0; }
  body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type .entry-featured-image-url { height: auto; min-height: 0; margin-bottom: 22px; }
  body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type .entry-featured-image-url img { height: auto; min-height: 0; aspect-ratio: 3 / 2; }
  body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type h2.entry-title { padding: 0 22px 14px; font-size: 27px; line-height: 1.2; }
  body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type .post-meta { padding: 0 22px 14px; }
  body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type .post-content { padding: 0 22px 21px; }
  body.cm-editorial-index .cm-blog-list article.et_pb_post h2.entry-title { font-size: 23px; }
  body.cm-editorial-index .cm-blog-topics { gap: 7px; }
  body.cm-editorial-index .cm-blog-topics a { min-height: 44px; padding-inline: 13px; font-size: 13px; }
  body.cm-editorial-article #cm-main .cm-d-text h1 { font-size: 34px; line-height: 1.14; }
  body.cm-editorial-article #cm-main .cm-d-text:last-child { font-size: 13px; }
  body.cm-editorial-article .cm-d-blog:not(#cm-main) > .et_pb_row.cm-d-row { width: calc(100% - 40px) !important; }
  body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-text h2 { font-size: 27px; }
  body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-text h3 { font-size: 22px; }
  body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-table th,
  body.cm-editorial-article .cm-d-blog:not(#cm-main) .cm-d-table td { min-width: 100px; padding: 12px; font-size: 13px; }
  body.cm-editorial-article .cm-editorial-readtime { margin-left: 0; margin-right: 10px; }
  body.cm-editorial-article .cm-editorial-toc { padding-inline: 19px; }
  body.cm-editorial-article .cm-editorial-toc ol { grid-template-columns: minmax(0, 1fr); gap: 3px; }
  body.cm-editorial-article .cm-editorial-toc li { padding-block: 4px; }
  body.cm-editorial-article .cm-blog-reading .cm-blog-card h3 { font-size: 22px; }
}

/* Divi marks these per-module design values important; match that priority
   only for the refreshed presentation, never for builder content. */
body.cm-design-refreshed .cm-d-header .cm-d-shell-menu .et-menu > li:last-child > a,
body.cm-design-refreshed .cm-d-header .cm-d-shell-menu .et-menu > li:last-child > a:hover { color: #fff !important; }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero,
body.cm-editorial-index .cm-d-blog,
body.cm-editorial-article #cm-main.cm-d-blog { background-color: var(--cm-paper) !important; }
body.cm-editorial-index .cm-blog-list { background-color: transparent !important; }
body.cm-editorial-index #cm-main .cm-d-text:first-child:not(:has(nav)),
body.cm-editorial-index #cm-main .cm-d-text:first-child:not(:has(nav)) p { color: var(--cm-rust) !important; }
body.cm-editorial-index .cm-blog-list article.et_pb_post h2.entry-title { font-size: 22px !important; }
body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type h2.entry-title { font-size: clamp(27px, 2.8vw, 35px) !important; }
body.cm-editorial-article #cm-main .cm-d-text:first-child .et_pb_text_inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:0 20px; }
body.cm-editorial-article #cm-main .cm-d-text:first-child .cm-blog-breadcrumbs,
body.cm-editorial-article #cm-main .cm-d-text:first-child .cm-blog-toolbar { margin-bottom:0; }
body.cm-editorial-article .cm-d-text h2[id] { scroll-margin-top: 65px !important; }
@media (max-width: 680px) {
  body.cm-editorial-index .cm-blog-list article.et_pb_post h2.entry-title { font-size: 23px !important; }
  body.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type h2.entry-title { font-size: 27px !important; }
}

/* Keep the visible native consent checkbox; Divi's i is decorative only. */
#formulario-contacto .et_pb_contact_field[data-id="legal"] .et_pb_contact_field_checkbox input[type="checkbox"] + label > i {
  display: none !important;
}
