/* Professional native-Divi system, loaded after editorial.css.
   Existing photos, signature, content, links and form controls are untouched.
   Divi marks module typography/spacing/colors important; the matching priority
   below is restricted to those design values on the public native templates. */
body.cm-design-refreshed {
  --cm-ink: #172330;
  --cm-paper: #f8f6f2;
  --cm-rust: #ad412e;
  --cm-rule: #dedbd5;
  --cm-muted: #53606b;
}
body.cm-design-refreshed .cm-d-section { --ink: var(--cm-ink); --accent: var(--cm-rust); --line: var(--cm-rule); --soft: var(--cm-paper); }
body.cm-design-refreshed .cm-d-section .cm-d-h1 h1 { font-family: Georgia, "Times New Roman", serif !important; font-weight: 400 !important; letter-spacing: -.03em !important; }
body.cm-design-refreshed .cm-d-section .cm-d-kicker,
body.cm-design-refreshed .cm-d-section .cm-d-kicker p { color: var(--cm-rust) !important; font: 700 11px/1.5 Arial, sans-serif !important; letter-spacing: .14em !important; }
body.cm-design-refreshed .cm-d-section .cm-d-h2 h2 { font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(31px, 3.3vw, 42px) !important; font-weight: 400 !important; line-height: 1.18 !important; letter-spacing: -.03em !important; }
body.cm-design-refreshed .cm-d-section .cm-d-h3 h3 { font-size: 24px !important; line-height: 1.3 !important; letter-spacing: -.022em !important; }
body.cm-design-refreshed .cm-d-section .cm-d-text { text-wrap: pretty; }
body.cm-design-refreshed .cm-d-section .cm-d-text a { text-underline-offset: 4px; }

/* A compact, consistent masthead; no selector modifies the signature image. */
body.cm-design-refreshed .cm-d-header { padding: 0 !important; background: #fff !important; border-bottom: 1px solid var(--cm-rule); }
body.cm-design-refreshed .cm-d-header .cm-d-shell-header-row { min-height: 90px; padding-block: 12px !important; }
body.cm-design-refreshed .cm-d-header .cm-d-shell-menu .et-menu { gap: 23px; }
body.cm-design-refreshed .cm-d-header .cm-d-shell-menu .et-menu > li > a { font-size: 13px !important; font-weight: 600; letter-spacing: -.015em; }
body.cm-design-refreshed .cm-d-header .cm-d-shell-menu .et-menu > li:last-child > a { padding: 13px 20px; border-radius: 3px; background: var(--cm-ink); border-color: var(--cm-ink); color: #fff !important; }
body.cm-design-refreshed .cm-d-header .cm-d-shell-menu .et-menu > li:last-child > a:hover { background: var(--cm-rust); border-color: var(--cm-rust); }

/* Native button modules keep their destinations and editor controls. */
body.cm-design-refreshed .cm-d-section .et_pb_button.cm-d-button { border-radius: 3px !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.5 !important; }
body.cm-design-refreshed .cm-d-section:not(.cm-d-cta) .et_pb_button.cm-d-button:not(.cm-d-link-button) { padding: 14px 23px !important; background: var(--cm-ink) !important; border: 1px solid var(--cm-ink) !important; color: #fff !important; }
body.cm-design-refreshed .cm-d-section:not(.cm-d-cta) .et_pb_button.cm-d-button:not(.cm-d-link-button):hover { background: var(--cm-rust) !important; border-color: var(--cm-rust) !important; }
body.cm-design-refreshed .cm-d-section .et_pb_button.cm-d-link-button { color: var(--cm-rust) !important; text-decoration-thickness: 1px; text-underline-offset: 6px; }
body.cm-design-refreshed .cm-d-section .et_pb_button.cm-d-link-button:hover { color: var(--cm-ink) !important; }

/* Home: an editorial portrait and an assured, lighter headline. */
body.cm-design-refreshed .cm-d-page-home.cm-d-hero { padding: 54px 0 50px !important; background: var(--cm-paper) !important; border: 0 !important; }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-hero-row { align-items: center; gap: 72px; padding-block: 0 !important; }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-hero-copy { flex: 1 1 0; }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-portrait-column { flex: 1.06 1 0; }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-kicker { margin-bottom: 22px !important; }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-h1 { margin-bottom: 24px !important; }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-h1 h1 { font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(42px, 4.2vw, 56px) !important; font-weight: 400 !important; line-height: 1.08 !important; letter-spacing: -.04em !important; text-wrap: balance; }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-hero-copy > .cm-d-text:not(.cm-d-h1):not(.cm-d-kicker) { max-width: 490px; font-size: 17px !important; line-height: 1.75 !important; }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-image-hero,
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-image-hero .et_pb_image_wrap { border-radius: 3px !important; }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-image-hero img { height: 490px; object-fit: cover; object-position: 40% center; }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-portrait-note { position: static; margin: 0 !important; padding: 17px 0 0 !important; border-radius: 0; background: transparent !important; color: var(--cm-ink); }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-note-inner { align-items: baseline; }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-note-inner strong { font-size: 14px; }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-note-inner span { font-size: 12px; line-height: 1.5; }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .et_pb_button.cm-d-action-button[href$="/freelance-para-agencias/"] { background: transparent !important; color: var(--cm-ink) !important; border-color: #bdc3c7 !important; }
body.cm-design-refreshed .cm-d-page-home.cm-d-hero .et_pb_button.cm-d-action-button[href$="/freelance-para-agencias/"]:hover { background: #fff !important; border-color: var(--cm-ink) !important; }

/* Experience has a distinct, readable band between the portrait and services. */
body.cm-design-refreshed .cm-d-page-home.cm-d-trust { padding: 28px 0 !important; background: var(--cm-ink) !important; border: 0 !important; }
body.cm-design-refreshed .cm-d-page-home.cm-d-trust .cm-d-trust-row { gap: 36px; padding-block: 0 !important; }
body.cm-design-refreshed .cm-d-page-home.cm-d-trust .cm-d-trust-row > .cm-d-column + .cm-d-column { border-left: 1px solid #44505a; padding-left: 36px; }
body.cm-design-refreshed .cm-d-page-home.cm-d-trust .cm-d-trust-stat strong { color: #fff !important; font-size: 25px !important; font-weight: 400; line-height: 1.45; letter-spacing: -.025em; }
body.cm-design-refreshed .cm-d-page-home.cm-d-trust .cm-d-trust-stat span { display: block; margin-top: 5px; color: #cbd3d9 !important; font-size: 13px !important; line-height: 1.5; }

/* Main page rhythm and consistent native cards across services and projects. */
body.cm-design-refreshed .cm-d-page-home:not(.cm-d-hero):not(.cm-d-trust):not(.cm-d-cta) { padding-block: 72px !important; }
body.cm-design-refreshed #servicios.cm-d-page-home { background: #fff !important; }
body.cm-design-refreshed #servicios .cm-d-grid-row { gap: 24px; }
body.cm-design-refreshed .cm-d-section .cm-d-card { padding: 30px !important; border: 1px solid var(--cm-rule) !important; border-radius: 3px !important; background: #fff !important; box-shadow: none !important; }
body.cm-design-refreshed #servicios .cm-d-card { display: flex; flex-direction: column; border-top: 3px solid var(--cm-ink) !important; }
body.cm-design-refreshed #servicios .cm-d-card .cm-d-h3 { margin-bottom: 17px !important; }
body.cm-design-refreshed #servicios .cm-d-card .cm-d-text:not(.cm-d-h3) { font-size: 16px !important; line-height: 1.75 !important; }
body.cm-design-refreshed #servicios .cm-d-card .et_pb_button_module_wrapper { margin-top: auto !important; padding-top: 13px; }
body.cm-design-refreshed .cm-d-page-home.cm-d-bio { background: var(--cm-paper) !important; }
body.cm-design-refreshed .cm-d-page-home.cm-d-bio .cm-d-bio-row { align-items: center; gap: 64px; }
body.cm-design-refreshed .cm-d-page-home.cm-d-bio .cm-d-image-bio { border-radius: 3px; overflow: hidden; }
body.cm-design-refreshed .cm-d-page-home.cm-d-faq { background: var(--cm-paper) !important; }
body.cm-design-refreshed .cm-d-faq .cm-d-faq-question { border-color: var(--cm-rule) !important; }
/* Client marks sit directly on their white cards, including logos with baked-in white backgrounds. */
body.cm-design-refreshed .cm-d-section .cm-d-image-logo { height: 145px; padding: 22px 18px; margin-bottom: 25px !important; background: #fff; border: 0 !important; border-radius: 0; }
body.cm-design-refreshed .cm-d-section .cm-d-image-logo .et_pb_image_wrap { background: transparent; border: 0 !important; border-radius: 0; box-shadow: none !important; }
body.cm-design-refreshed .cm-d-section .cm-d-inner-hero-row .cm-d-h1 h1 { font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(37px, 4.2vw, 53px) !important; font-weight: 400 !important; line-height: 1.13 !important; letter-spacing: -.035em !important; }

/* A confident closing panel and a quieter, clearly structured footer. */
body.cm-design-refreshed .cm-d-section.cm-d-cta { padding-block: 65px !important; background: var(--cm-ink) !important; border: 0 !important; }
body.cm-design-refreshed .cm-d-section.cm-d-cta .cm-d-kicker,
body.cm-design-refreshed .cm-d-section.cm-d-cta .cm-d-kicker p { color: #e8af9f !important; }
body.cm-design-refreshed .cm-d-section.cm-d-cta .cm-d-h2 h2 { color: #fff !important; }
body.cm-design-refreshed .cm-d-section.cm-d-cta .cm-d-text:not(.cm-d-kicker):not(.cm-d-h2) { color: #d7dfe4 !important; }
body.cm-design-refreshed .cm-d-section.cm-d-cta .et_pb_button.cm-d-button { padding: 14px 23px !important; border: 1px solid #fff !important; background: #fff !important; color: var(--cm-ink) !important; }
body.cm-design-refreshed .cm-d-section.cm-d-cta .et_pb_button.cm-d-button:hover { background: var(--cm-paper) !important; }
body.cm-design-refreshed .cm-d-footer { padding: 60px 0 24px !important; background: #101a24 !important; border-top: 1px solid #39434c !important; }
body.cm-design-refreshed .cm-d-footer .cm-d-shell-footer-row { gap: 65px; }
body.cm-design-refreshed .cm-d-footer .cm-d-shell-footer-heading h3 { font-size: 12px !important; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
body.cm-design-refreshed .cm-d-footer .cm-d-shell-footer-summary { max-width: 350px; line-height: 1.8 !important; }
body.cm-design-refreshed .cm-d-footer .cm-d-shell-footer-link { font-size: 14px !important; line-height: 1.75 !important; }
body.cm-design-refreshed .cm-d-footer .cm-d-shell-footer-bottom { padding-top: 23px !important; margin-top: 43px !important; border-top-color: #34404b; }

/* Blog/category masthead: the same editorial typography with strong contrast. */
body.cm-design-refreshed.cm-editorial-index #cm-main.cm-d-blog { padding: 49px 0 46px !important; background: var(--cm-ink) !important; }
body.cm-design-refreshed.cm-editorial-index #cm-main .cm-d-text h1 { max-width: 920px; color: #fff !important; font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(36px, 4.1vw, 51px) !important; font-weight: 400 !important; line-height: 1.14 !important; letter-spacing: -.027em !important; }
body.cm-design-refreshed.cm-editorial-index #cm-main .cm-d-text:not(:has(h1)),
body.cm-design-refreshed.cm-editorial-index #cm-main .cm-d-text:not(:has(h1)) p { max-width: 900px; color: #d9e0e5 !important; }
body.cm-design-refreshed.cm-editorial-index #cm-main .cm-d-text:first-child:not(:has(nav)),
body.cm-design-refreshed.cm-editorial-index #cm-main .cm-d-text:first-child:not(:has(nav)) p { color: #e8af9f !important; font-size: 11px !important; letter-spacing: .13em !important; }
body.cm-design-refreshed.cm-editorial-index #cm-main .cm-blog-breadcrumbs a,
body.cm-design-refreshed.cm-editorial-index #cm-main .cm-blog-breadcrumbs li { color: #d9e0e5 !important; }
body.cm-design-refreshed.cm-editorial-index #cm-main + .cm-d-blog { padding-top: 28px !important; }
body.cm-design-refreshed.cm-editorial-index .cm-blog-topics { padding-top: 0; border-top: 0; margin-bottom: 24px; }
body.cm-design-refreshed.cm-editorial-index .cm-blog-topics a { border-radius: 3px; background: #fff; }
body.cm-design-refreshed.cm-editorial-index .cm-blog-topics a[aria-current="page"] { background: var(--cm-ink); }
body.cm-design-refreshed.cm-editorial-index .cm-blog-list article.et_pb_post { border-color: var(--cm-rule); border-radius: 3px; box-shadow: none; }
body.cm-design-refreshed.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type { border-radius: 3px; margin-bottom: 14px; }
body.cm-design-refreshed.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type h2.entry-title { font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(28px, 2.8vw, 36px) !important; font-weight: 400 !important; line-height: 1.18; }
body.cm-design-refreshed.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type h2.entry-title a { font-family: inherit !important; font-weight: inherit !important; font-size: inherit !important; }
body.cm-design-refreshed.cm-editorial-article #cm-main .cm-d-text h1 { font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(35px, 4.2vw, 50px) !important; font-weight: 400 !important; line-height: 1.16; letter-spacing: -.025em; }
body.cm-design-refreshed.cm-editorial-article .cm-editorial-toc { border-radius: 3px; border-left: 3px solid var(--cm-rust); }

/* Selected work uses native image, text and button modules in equal columns. */
body.cm-design-refreshed .cm-d-page-home.cm-pro-selected { background: var(--cm-paper) !important; }
body.cm-design-refreshed .cm-pro-selected > .cm-d-row { max-width: 1100px !important; }
body.cm-design-refreshed .cm-pro-selected .cm-pro-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
body.cm-design-refreshed .cm-pro-selected .cm-pro-project-grid > .cm-pro-project-card { display: flex; flex-direction: column; width: auto !important; min-width: 0; margin: 0; padding: 26px !important; }
body.cm-design-refreshed .cm-pro-selected .cm-pro-project-logo { display: flex; justify-content: center; align-items: center; height: 100px; width: 100%; margin: 0 0 25px !important; border-bottom: 1px solid var(--cm-rule); padding-bottom: 20px; }
body.cm-design-refreshed .cm-pro-selected .cm-pro-project-logo .et_pb_image_wrap { display: flex; align-items: center; justify-content: center; width: 100%; }
body.cm-design-refreshed .cm-pro-selected .cm-pro-project-logo img { width: auto; height: auto; max-width: min(100%, 180px); max-height: 65px; object-fit: contain; }
body.cm-design-refreshed .cm-pro-selected .cm-pro-project-label { margin-bottom: 12px !important; }
body.cm-design-refreshed .cm-pro-selected .cm-pro-project-card .cm-d-h3 { margin-bottom: 15px !important; }
body.cm-design-refreshed .cm-pro-selected .cm-pro-project-card .cm-d-h3 h3 { font-size: 22px !important; }
body.cm-design-refreshed .cm-pro-selected .cm-pro-project-card .cm-d-text:not(.cm-d-h3):not(.cm-d-kicker) { font-size: 15px !important; line-height: 1.75 !important; }
body.cm-design-refreshed .cm-pro-selected .cm-pro-project-card .et_pb_button_module_wrapper { margin-top: auto !important; padding-top: 10px; }
body.cm-design-refreshed .cm-d-page-home.cm-pro-selected + .cm-d-page-home.cm-d-bio { background: #fff !important; }

@media (min-width: 981px) and (max-width: 1180px) {
  body.cm-design-refreshed .cm-d-header .cm-d-shell-menu .et-menu { gap: 14px; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-hero-row { gap: 40px; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-h1 h1 { font-size: 47px !important; }
}
@media (max-width: 980px) {
  body.cm-design-refreshed .cm-d-header .cm-d-shell-header-row { min-height: 80px; padding-block: 8px !important; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-hero-row { gap: 32px; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-h1 h1 { font-size: 43px !important; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-image-hero img { height: 480px; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-trust .cm-d-trust-row { gap: 20px; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-trust .cm-d-trust-row > .cm-d-column + .cm-d-column { padding-left: 20px; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-trust .cm-d-trust-stat strong { font-size: 21px !important; }
  body.cm-design-refreshed .cm-d-footer .cm-d-shell-footer-row { gap: 35px; }
}
@media (max-width: 780px) {
  body.cm-design-refreshed .cm-d-page-home.cm-d-hero { padding: 37px 0 34px !important; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-hero-row { gap: 32px; align-items: stretch; }
  /* The row stacks vertically here: desktop zero flex-bases must not become
     zero heights. Keep both columns in normal flow at their content height. */
  body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-hero-copy,
  body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-portrait-column {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    min-height: 0;
  }
  body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-h1 h1 { max-width: 620px; font-size: clamp(36px, 6vw, 45px) !important; line-height: 1.12 !important; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-hero-copy > .cm-d-text:not(.cm-d-h1):not(.cm-d-kicker) { max-width: 620px; font-size: 16px !important; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-hero .cm-d-image-hero img { height: auto; max-height: 510px; aspect-ratio: 1.15; object-position: 40% center; }
  body.cm-design-refreshed .cm-d-page-home:not(.cm-d-hero):not(.cm-d-trust):not(.cm-d-cta) { padding-block: 48px !important; }
  body.cm-design-refreshed .cm-d-section .cm-d-card { padding: 25px !important; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-bio .cm-d-bio-row { gap: 32px; }
  body.cm-design-refreshed .cm-d-section.cm-d-cta { padding-block: 48px !important; }
  body.cm-design-refreshed .cm-d-footer { padding-top: 45px !important; }
  body.cm-design-refreshed .cm-pro-selected .cm-pro-project-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  body.cm-design-refreshed .cm-pro-selected .cm-pro-project-logo { height: 90px; }
}
@media (max-width: 600px) {
  body.cm-design-refreshed .cm-d-page-home.cm-d-hero .et_pb_button_module_wrapper:has(.cm-d-action-button) { display: block; width: 100%; margin-right: 0 !important; margin-bottom: 12px !important; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-hero .et_pb_button.cm-d-action-button { display: block; width: 100%; text-align: center; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-trust .cm-d-trust-row { flex-direction: column; gap: 19px; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-trust .cm-d-trust-row > .cm-d-column { flex: none; width: 100%; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-trust .cm-d-trust-row > .cm-d-column + .cm-d-column { padding: 18px 0 0; border-left: 0; border-top: 1px solid #44505a; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-trust .cm-d-trust-stat strong { font-size: 23px !important; }
  body.cm-design-refreshed .cm-d-page-home.cm-d-trust .cm-d-trust-stat span { font-size: 13px !important; }
  body.cm-design-refreshed.cm-editorial-index #cm-main.cm-d-blog { padding: 34px 0 33px !important; }
  body.cm-design-refreshed.cm-editorial-index #cm-main .cm-d-text h1 { font-size: 35px !important; }
  body.cm-design-refreshed.cm-editorial-featured .cm-blog-list article.et_pb_post:first-of-type h2.entry-title { font-size: 29px !important; }
  body.cm-design-refreshed.cm-editorial-article #cm-main .cm-d-text h1 { font-size: 35px !important; }
  body.cm-design-refreshed .cm-d-footer .cm-d-shell-footer-row { gap: 28px; }
}
