/* =========================================================
   APMERR V4
   Dirección visual corporativa
   ========================================================= */

:root {
  --apmerr-wine: #630404;
  --apmerr-wine-hover: #520303;
  --apmerr-deep: #630404;
  --apmerr-deeper: #260101;

  --apmerr-ink: #1e1d21;
  --apmerr-muted: #68646b;

  --apmerr-white: #ffffff;
  --apmerr-cream: #f7f3ef;
  --apmerr-warm: #efe9e4;
  --apmerr-soft: #f3f1ef;

  --apmerr-line: rgba(58, 39, 44, .12);
  --apmerr-line-light: rgba(255,255,255,.16);

  --apmerr-radius-s: 10px;
  --apmerr-radius-m: 18px;
  --apmerr-radius-l: 28px;

  --apmerr-container: 1200px;

  --apmerr-shadow:
    0 18px 50px rgba(35, 20, 25, .08);
}


/* =========================================================
   BASE
   ========================================================= */

html {
  scroll-behavior: smooth;
}

body.apmerr-v31 {
  margin: 0;
  overflow-x: hidden;

  background:
    var(--apmerr-white);

  color:
    var(--apmerr-ink);

  font-family:
    Inter,
    ui-sans-serif,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}

body.apmerr-v31 *,
body.apmerr-v31 *::before,
body.apmerr-v31 *::after {
  box-sizing: border-box;
}

body.apmerr-v31 main {
  overflow: clip;
}

body.apmerr-v31 main p {
  color:
    var(--apmerr-muted);

  font-size:
    1rem;

  line-height:
    1.72;
}

body.apmerr-v31 main h1,
body.apmerr-v31 main h2,
body.apmerr-v31 main h3,
body.apmerr-v31 main h4 {
  margin-top: 0;

  color:
    var(--apmerr-ink);

  font-family:
    inherit;

  letter-spacing:
    -.035em;

  text-wrap:
    balance;
}

body.apmerr-v31 main h1 {
  line-height: 1.02;
}

body.apmerr-v31 main h2 {
  line-height: 1.06;
}

body.apmerr-v31 main h3 {
  line-height: 1.15;
}

body.apmerr-v31 img {
  max-width: 100%;
  height: auto;
}


/* =========================================================
   HEADER
   ========================================================= */

body.apmerr-v31
.wp-site-blocks > header,
body.apmerr-v31
header.wp-block-template-part {
  position: sticky !important;
  top: 0;
  z-index: 9999;

  background:
    rgba(255,255,255,.94) !important;

  border-bottom:
    1px solid var(--apmerr-line) !important;

  box-shadow:
    none !important;

  backdrop-filter:
    blur(18px);
}

body.apmerr-v31
.wp-site-blocks > header > *,
body.apmerr-v31
header.wp-block-template-part > * {
  width:
    min(
      calc(100% - 48px),
      var(--apmerr-container)
    );

  margin-left:
    auto !important;

  margin-right:
    auto !important;
}

body.apmerr-v31
header img,
body.apmerr-v31
.wp-site-blocks > header img {
  background:
    transparent !important;

  border:
    0 !important;

  box-shadow:
    none !important;
}

body.apmerr-v31
header a,
body.apmerr-v31
header button,
body.apmerr-v31
.wp-block-navigation__responsive-container-open,
body.apmerr-v31
.wp-block-navigation__responsive-container-close {
  -webkit-tap-highlight-color:
    transparent;
}

body.apmerr-v31
header nav,
body.apmerr-v31
.wp-block-navigation {
  gap:
    30px !important;
}

body.apmerr-v31
header nav a,
body.apmerr-v31
.wp-block-navigation a,
body.apmerr-v31
header nav a.apmerr-v31-header-action,
body.apmerr-v31
.wp-block-navigation a.apmerr-v31-header-action {
  position: relative;

  display: inline-flex !important;

  min-height:
    auto !important;

  align-items:
    center;

  justify-content:
    center;

  padding:
    12px 0 !important;

  background:
    transparent !important;

  border:
    0 !important;

  border-radius:
    0 !important;

  box-shadow:
    none !important;

  color:
    #2b292d !important;

  font-family:
    inherit !important;

  font-size:
    .92rem !important;

  font-weight:
    560 !important;

  line-height:
    1.2 !important;

  letter-spacing:
    -.01em;

  text-decoration:
    none !important;

  white-space:
    nowrap;

  transition:
    color .18s ease;
}

body.apmerr-v31
header nav a::after,
body.apmerr-v31
.wp-block-navigation a::after,
body.apmerr-v31
header nav a.apmerr-v31-header-action::after,
body.apmerr-v31
.wp-block-navigation a.apmerr-v31-header-action::after {
  content: "";

  position: absolute;

  right: 0;
  bottom: 4px;
  left: 0;

  height: 1.5px;

  background:
    var(--apmerr-wine);

  transform:
    scaleX(0);

  transform-origin:
    center;

  transition:
    transform .18s ease;
}

body.apmerr-v31
header nav a:hover,
body.apmerr-v31
header nav a:focus-visible,
body.apmerr-v31
header nav a[aria-current="page"],
body.apmerr-v31
.wp-block-navigation a:hover,
body.apmerr-v31
.wp-block-navigation a[aria-current="page"] {
  color:
    var(--apmerr-wine) !important;
}

body.apmerr-v31
header a:focus-visible,
body.apmerr-v31
.wp-block-site-logo a:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

body.apmerr-v31
.wp-block-site-logo a:focus-visible img {
  opacity: .78;
  filter: drop-shadow(0 3px 0 rgba(99, 4, 4, .42));
}

body.apmerr-v31
header a:focus:not(:focus-visible),
body.apmerr-v31
header button:focus:not(:focus-visible) {
  outline:
    none !important;

  box-shadow:
    none !important;
}

body.apmerr-v31
header nav a:hover::after,
body.apmerr-v31
header nav a:focus-visible::after,
body.apmerr-v31
header nav a[aria-current="page"]::after,
body.apmerr-v31
.wp-block-navigation a:hover::after,
body.apmerr-v31
.wp-block-navigation a[aria-current="page"]::after {
  transform:
    scaleX(1);
}

.apmerr-v31-nav-hidden,
.apmerr-v31-nav-hidden[hidden] {
  display:
    none !important;
}


/* =========================================================
   HOME SHELL
   ========================================================= */

.apmerr-v31-home-shell {
  width: 100%;
  margin: 0;
  padding: 0;
}


/* =========================================================
   HERO V4
   ========================================================= */

.apmerr-v31-hero--statement {
  position: relative;

  display: flex;

  min-height:
    535px;

  align-items:
    flex-end;

  overflow:
    hidden;

  padding:
    84px
    max(
      40px,
      calc((100vw - var(--apmerr-container)) / 2)
    )
    82px;

  border:
    0;

  border-radius:
    0;

  background:
    linear-gradient(
      118deg,
      var(--apmerr-deeper) 0%,
      var(--apmerr-deep) 52%,
      #7A0A0A 100%
    );
}


/* arquitectura abstracta */

.apmerr-v31-hero--statement::before {
  content: "";

  position:
    absolute;

  top:
    0;

  right:
    0;

  width:
    min(47vw, 690px);

  height:
    100%;

  opacity:
    .52;

  background:
    linear-gradient(
      90deg,
      transparent 0 12%,
      rgba(255,255,255,.10) 12% 12.15%,
      transparent 12.15% 31%,
      rgba(255,255,255,.10) 31% 31.15%,
      transparent 31.15% 52%,
      rgba(255,255,255,.10) 52% 52.15%,
      transparent 52.15% 74%,
      rgba(255,255,255,.10) 74% 74.15%,
      transparent 74.15%
    );
}

.apmerr-v31-hero--statement::after {
  content: "";

  position:
    absolute;

  width:
    490px;

  height:
    490px;

  right:
    -90px;

  bottom:
    -245px;

  border:
    1px solid
    rgba(255,255,255,.24);

  border-radius:
    50%;

  box-shadow:
    0 0 0 90px
    rgba(255,255,255,.025);
}

.apmerr-v31-hero-news {
  position: relative;
  z-index: 3;
  right: auto;
  bottom: auto;
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  margin: 28px auto 0;
  padding: 0 27px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 999px;
  background: var(--apmerr-white);
  color: var(--apmerr-wine) !important;
  font-weight: 650;
  line-height: 1;
  text-decoration: none !important;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

.apmerr-v31-hero-news:hover {
  background: transparent;
  color: var(--apmerr-white) !important;
  transform: translateY(-2px);
}

.apmerr-v31-hero-slogan {
  position:
    relative;

  z-index:
    2;

  width:
    min(850px, 72%);

  margin:
    0 !important;

  color:
    var(--apmerr-white) !important;

  font-size:
    clamp(
      2.65rem,
      4.5vw,
      4.45rem
    ) !important;

  font-weight:
    590 !important;

  line-height:
    1.04 !important;

  letter-spacing:
    -.045em !important;

  text-wrap:
    balance;
}

.apmerr-v31-hero-slogan::before {
  content:
    "APMERR";

  display:
    block;

  margin-bottom:
    28px;

  color:
    rgba(255,255,255,.58);

  font-size:
    .74rem;

  font-weight:
    720;

  letter-spacing:
    .16em;

  line-height:
    1;

  text-transform:
    uppercase;
}


/* =========================================================
   GENERIC SECTION SYSTEM
   ========================================================= */

.apmerr-v31-section {
  position:
    relative;

  width:
    min(
      calc(100% - 48px),
      var(--apmerr-container)
    );

  margin:
    0 auto;

  padding:
    110px 0;

  border:
    0;
}

.apmerr-v31-heading {
  max-width:
    780px;

  margin-bottom:
    54px;
}

.apmerr-v31-kicker {
  display:
    inline-flex;

  margin-bottom:
    18px;

  align-items:
    center;

  color:
    var(--apmerr-wine);

  font-size:
    .72rem;

  font-weight:
    720;

  letter-spacing:
    .145em;

  text-transform:
    uppercase;
}

.apmerr-v31-kicker::before {
  content: "";

  width:
    26px;

  height:
    1px;

  margin-right:
    10px;

  background:
    currentColor;
}

.apmerr-v31-heading h2,
.apmerr-v31-commitment__intro h2 {
  margin:
    0;

  font-size:
    clamp(
      2.3rem,
      4vw,
      4rem
    );

  font-weight:
    560;

  line-height:
    1.03;
}


/* =========================================================
   FOCUS
   ========================================================= */

body.apmerr-v31 a:focus-visible,
body.apmerr-v31 button:focus-visible,
body.apmerr-v31 input:focus-visible,
body.apmerr-v31 textarea:focus-visible,
body.apmerr-v31 select:focus-visible {
  outline:
    3px solid
    rgba(99, 4, 4, .24) !important;

  outline-offset:
    4px !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  body.apmerr-v31
  header nav,
  body.apmerr-v31
  .wp-block-navigation {
    gap:
      18px !important;
  }

  .apmerr-v31-hero--statement {
    min-height:
      470px;

    padding-top:
      72px;

    padding-bottom:
      72px;
  }

  .apmerr-v31-hero-slogan {
    width:
      min(820px, 82%);

    font-size:
      clamp(
        2.4rem,
        5vw,
        3.7rem
      ) !important;
  }

  .apmerr-v31-section {
    padding:
      88px 0;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 780px) {

  body.apmerr-v31
  .wp-site-blocks > header > *,
  body.apmerr-v31
  header.wp-block-template-part > * {
    width:
      min(
        calc(100% - 28px),
        var(--apmerr-container)
      );
  }

  .apmerr-v31-hero--statement {
    min-height:
      430px;

    align-items:
      flex-end;

    padding:
      64px
      24px
      54px;
  }

  .apmerr-v31-hero--statement::before {
    width:
      76vw;
  }

  .apmerr-v31-hero--statement::after {
    width:
      300px;

    height:
      300px;

    right:
      -100px;

    bottom:
      -150px;
  }

  .apmerr-v31-hero-slogan {
    width:
      100%;

    font-size:
      clamp(
        2.15rem,
        9vw,
        3.05rem
      ) !important;

    line-height:
      1.07 !important;
  }

  .apmerr-v31-hero-slogan::before {
    margin-bottom:
      22px;
  }

  .apmerr-v31-section {
    width:
      min(
        calc(100% - 28px),
        var(--apmerr-container)
      );

    padding:
      68px 0;
  }

  .apmerr-v31-heading {
    margin-bottom:
      38px;
  }

}


/* =========================================================
   APMERR V4 · BLOQUE 2
   Secciones principales y footer
   ========================================================= */


/* =========================================================
   BUTTON SYSTEM
   ========================================================= */

.apmerr-v31-btn,
body.apmerr-v31 main .wp-block-button__link,
body.apmerr-v31 main button[type="submit"],
body.apmerr-v31 main input[type="submit"] {
  display:
    inline-flex;

  min-height:
    46px;

  align-items:
    center;

  justify-content:
    center;

  gap:
    8px;

  padding:
    11px 17px !important;

  border:
    1px solid
    var(--apmerr-wine);

  border-radius:
    var(--apmerr-radius-s) !important;

  background:
    var(--apmerr-wine);

  color:
    var(--apmerr-white) !important;

  font-family:
    inherit;

  font-size:
    .92rem;

  font-weight:
    620;

  line-height:
    1.15;

  letter-spacing:
    -.01em;

  text-decoration:
    none !important;

  box-shadow:
    none !important;

  cursor:
    pointer;

  transition:
    transform .18s ease,
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease;
}

.apmerr-v31-btn:hover,
body.apmerr-v31 main .wp-block-button__link:hover,
body.apmerr-v31 main button[type="submit"]:hover,
body.apmerr-v31 main input[type="submit"]:hover {
  transform:
    translateY(-1px);

  background:
    var(--apmerr-wine-hover);

  border-color:
    var(--apmerr-wine-hover);
}

.apmerr-v31-btn--secondary {
  background:
    transparent;

  border-color:
    rgba(99, 4, 4, .42);

  color:
    var(--apmerr-wine) !important;
}

.apmerr-v31-btn--secondary:hover {
  background:
    rgba(99, 4, 4, .055);

  border-color:
    var(--apmerr-wine);

  color:
    var(--apmerr-wine-hover) !important;
}


/* =========================================================
   NUESTRA ESENCIA
   ========================================================= */

.apmerr-v31-about {
  display:
    grid;

  grid-template-columns:
    minmax(260px, .72fr)
    minmax(0, 1.28fr);

  gap:
    clamp(
      54px,
      8vw,
      112px
    );

  align-items:
    start;
}

.apmerr-v31-about
.apmerr-v31-heading {
  position:
    sticky;

  top:
    126px;

  margin:
    0;
}

.apmerr-v31-about
.apmerr-v31-heading h2 {
  max-width:
    460px;

  font-size:
    clamp(
      2.65rem,
      4.7vw,
      4.6rem
    );

  font-weight:
    540;
}

.apmerr-v31-about-grid {
  display:
    block;

  border-top:
    1px solid
    var(--apmerr-line);
}

.apmerr-v31-about-grid article {
  position:
    relative;

  display:
    grid;

  grid-template-columns:
    64px
    minmax(0, 1fr);

  gap:
    24px;

  min-width:
    0;

  padding:
    34px 0;

  border:
    0;

  border-bottom:
    1px solid
    var(--apmerr-line);

  transition:
    padding-left .18s ease,
    background-color .18s ease;
}

.apmerr-v31-about-grid article:hover {
  padding-left:
    12px;

  background:
    linear-gradient(
      90deg,
      rgba(99, 4, 4, .035),
      transparent 72%
    );
}

.apmerr-v31-index {
  display:
    block;

  padding-top:
    4px;

  color:
    var(--apmerr-wine);

  font-size:
    .7rem;

  font-weight:
    720;

  letter-spacing:
    .15em;
}

.apmerr-v31-about-grid p {
  max-width:
    670px;

  margin:
    0;

  color:
    var(--apmerr-ink) !important;

  font-size:
    clamp(
      1.02rem,
      1.35vw,
      1.16rem
    );

  line-height:
    1.68;
}


/* =========================================================
   CAE + PLAN VIVIENDA
   FULL-BLEED DARK SECTION
   ========================================================= */

.apmerr-v31-programs {
  width:
    100vw;

  max-width:
    none;

  margin-left:
    calc(50% - 50vw);

  margin-right:
    calc(50% - 50vw);

  padding:
    108px
    max(
      40px,
      calc((100vw - var(--apmerr-container)) / 2)
    );

  overflow:
    hidden;

  background:
    linear-gradient(
      145deg,
      #260101 0%,
      var(--apmerr-deep) 52%,
      #7A0A0A 100%
    );

  color:
    var(--apmerr-white);
}

.apmerr-v31-programs::before {
  content: "";

  position:
    absolute;

  width:
    560px;

  height:
    560px;

  top:
    -300px;

  right:
    -150px;

  border:
    1px solid
    rgba(255,255,255,.12);

  border-radius:
    50%;

  box-shadow:
    0 0 0 90px
    rgba(255,255,255,.018);
}

.apmerr-v31-programs
.apmerr-v31-heading {
  position:
    relative;

  z-index:
    2;

  max-width:
    820px;
}

.apmerr-v31-programs
.apmerr-v31-kicker {
  color:
    rgba(255,255,255,.56);
}

.apmerr-v31-programs
.apmerr-v31-heading h2 {
  color:
    var(--apmerr-white);

  font-weight:
    530;
}

.apmerr-v31-program-grid {
  position:
    relative;

  z-index:
    2;

  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap:
    18px;

  max-width:
    var(--apmerr-container);

  margin:
    0 auto;
}

.apmerr-v31-program {
  position:
    relative;

  display:
    flex;

  min-height:
    360px;

  flex-direction:
    column;

  align-items:
    flex-start;

  justify-content:
    space-between;

  overflow:
    hidden;

  padding:
    36px;

  border:
    1px solid
    rgba(255,255,255,.16);

  border-radius:
    var(--apmerr-radius-m);

  background:
    rgba(255,255,255,.055);

  backdrop-filter:
    blur(10px);

  transition:
    transform .2s ease,
    border-color .2s ease,
    background-color .2s ease;
}

.apmerr-v31-program:hover {
  transform:
    translateY(-4px);

  border-color:
    rgba(255,255,255,.27);

  background:
    rgba(255,255,255,.075);
}

.apmerr-v31-program--featured {
  background:
    rgba(255,255,255,.085);
}

.apmerr-v31-program__label {
  display:
    inline-flex;

  min-height:
    30px;

  align-items:
    center;

  padding:
    0 11px;

  border:
    1px solid
    rgba(255,255,255,.16);

  border-radius:
    999px;

  background:
    rgba(255,255,255,.065);

  color:
    rgba(255,255,255,.72);

  font-size:
    .68rem;

  font-weight:
    720;

  letter-spacing:
    .11em;

  text-transform:
    uppercase;
}

.apmerr-v31-program h3 {
  max-width:
    540px;

  margin:
    30px 0 13px;

  color:
    var(--apmerr-white);

  font-size:
    clamp(
      1.7rem,
      2.6vw,
      2.55rem
    );

  font-weight:
    520;

  line-height:
    1.08;
}

.apmerr-v31-program p {
  max-width:
    530px;

  margin:
    0 0 32px;

  color:
    rgba(255,255,255,.61) !important;
}

.apmerr-v31-programs
.apmerr-v31-btn--secondary {
  border-color:
    rgba(255,255,255,.32);

  color:
    var(--apmerr-white) !important;
}

.apmerr-v31-programs
.apmerr-v31-btn--secondary:hover {
  background:
    var(--apmerr-white);

  border-color:
    var(--apmerr-white);

  color:
    var(--apmerr-deep) !important;
}


/* =========================================================
   COMPROMISO Y EXCELENCIA
   ========================================================= */

.apmerr-v31-commitment {
  display:
    grid;

  grid-template-columns:
    minmax(0, .82fr)
    minmax(0, 1.18fr);

  gap:
    clamp(
      54px,
      9vw,
      120px
    );

  align-items:
    start;

  padding-top:
    116px;

  padding-bottom:
    116px;
}

.apmerr-v31-commitment__intro {
  position:
    sticky;

  top:
    126px;
}

.apmerr-v31-commitment__intro p {
  max-width:
    520px;

  margin:
    27px 0 0;

  color:
    var(--apmerr-muted);

  font-size:
    1.04rem;

  line-height:
    1.72;
}

.apmerr-v31-services {
  border-top:
    1px solid
    var(--apmerr-line);
}

.apmerr-v31-services article {
  position:
    relative;

  display:
    grid;

  grid-template-columns:
    54px
    minmax(0, 1fr);

  gap:
    22px;

  padding:
    30px 0;

  border-bottom:
    1px solid
    var(--apmerr-line);

  transition:
    padding-left .18s ease;
}

.apmerr-v31-services article:hover {
  padding-left:
    10px;
}

.apmerr-v31-service-icon {
  display:
    inline-flex;

  width:
    40px;

  height:
    40px;

  align-items:
    center;

  justify-content:
    center;

  border:
    1px solid
    rgba(99, 4, 4, .22);

  border-radius:
    50%;

  background:
    rgba(99, 4, 4, .045);

  color:
    var(--apmerr-wine);

  font-size:
    .68rem;

  font-weight:
    720;

  letter-spacing:
    .06em;
}

.apmerr-v31-services h3 {
  margin:
    1px 0 8px;

  color:
    var(--apmerr-ink);

  font-size:
    clamp(
      1.2rem,
      1.7vw,
      1.55rem
    );

  font-weight:
    580;
}

.apmerr-v31-services p {
  max-width:
    660px;

  margin:
    0;

  color:
    var(--apmerr-muted);
}


/* =========================================================
   FOOTER
   ========================================================= */

body.apmerr-v31
.wp-site-blocks > footer,
body.apmerr-v31
footer.wp-block-template-part {
  position:
    relative;

  margin-top:
    0 !important;

  overflow:
    hidden;

  border-top:
    0 !important;

  background:
    linear-gradient(
      145deg,
      var(--apmerr-deeper),
      var(--apmerr-deep)
    ) !important;

  color:
    rgba(255,255,255,.68) !important;

  box-shadow:
    none !important;
}

body.apmerr-v31
footer.wp-block-template-part::before,
body.apmerr-v31
.wp-site-blocks > footer::before {
  content: "";

  position:
    absolute;

  width:
    420px;

  height:
    420px;

  right:
    -180px;

  top:
    -190px;

  border:
    1px solid
    rgba(255,255,255,.10);

  border-radius:
    50%;
}

body.apmerr-v31
footer .wp-block-group,
body.apmerr-v31
footer .wp-block-columns {
  background:
    transparent !important;
}

body.apmerr-v31
footer p,
body.apmerr-v31
footer li,
body.apmerr-v31
footer span {
  color:
    rgba(255,255,255,.62) !important;
}

body.apmerr-v31
footer h1,
body.apmerr-v31
footer h2,
body.apmerr-v31
footer h3,
body.apmerr-v31
footer h4 {
  color:
    var(--apmerr-white) !important;
}

body.apmerr-v31
footer a {
  color:
    rgba(255,255,255,.78) !important;

  text-decoration:
    none !important;

  transition:
    color .18s ease;
}

body.apmerr-v31
footer a:hover {
  color:
    var(--apmerr-white) !important;
}

body.apmerr-v31
footer img {
  background:
    transparent !important;

  border:
    0 !important;

  box-shadow:
    none !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  .apmerr-v31-about {
    gap:
      54px;
  }

  .apmerr-v31-programs {
    padding-top:
      90px;

    padding-bottom:
      90px;
  }

  .apmerr-v31-commitment {
    gap:
      54px;

    padding-top:
      90px;

    padding-bottom:
      90px;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 780px) {

  .apmerr-v31-about,
  .apmerr-v31-commitment {
    grid-template-columns:
      1fr;

    gap:
      38px;
  }

  .apmerr-v31-about
  .apmerr-v31-heading,
  .apmerr-v31-commitment__intro {
    position:
      static;
  }

  .apmerr-v31-about-grid article {
    grid-template-columns:
      44px
      minmax(0, 1fr);

    gap:
      16px;

    padding:
      25px 0;
  }

  .apmerr-v31-programs {
    padding:
      72px
      20px;
  }

  .apmerr-v31-program-grid {
    grid-template-columns:
      1fr;
  }

  .apmerr-v31-program {
    min-height:
      300px;

    padding:
      28px;
  }

  .apmerr-v31-commitment {
    padding-top:
      72px;

    padding-bottom:
      72px;
  }

  .apmerr-v31-services article {
    grid-template-columns:
      46px
      minmax(0, 1fr);

    gap:
      16px;

    padding:
      24px 0;
  }

}


/* =========================================================
   APMERR V4 · BLOQUE 3
   Interiores, formularios, modales y responsive
   ========================================================= */


/* =========================================================
   INTERIOR PAGES
   ========================================================= */

body.apmerr-v31:not(.apmerr-v31-home) main {
  background:
    var(--apmerr-white);
}

body.apmerr-v31:not(.apmerr-v31-home)
.apmerr-v31-interior-hero {
  position:
    relative;

  width:
    min(
      calc(100% - 48px),
      var(--apmerr-container)
    );

  min-height:
    320px !important;

  margin:
    46px
    auto
    76px !important;

  padding:
    68px
    clamp(42px, 6vw, 76px) !important;

  overflow:
    hidden;

  border:
    1px solid
    var(--apmerr-line) !important;

  border-radius:
    var(--apmerr-radius-l) !important;

  background:
    linear-gradient(
      128deg,
      var(--apmerr-cream) 0%,
      #f2ede9 68%,
      #ece5e0 100%
    ) !important;

  background-image:
    none !important;

  box-shadow:
    none !important;
}

body.apmerr-v31:not(.apmerr-v31-home)
.apmerr-v31-interior-hero::before {
  content: "";

  position:
    absolute;

  width:
    360px;

  height:
    360px;

  right:
    -150px;

  bottom:
    -210px;

  border:
    1px solid
    rgba(99, 4, 4, .13);

  border-radius:
    50%;
}

body.apmerr-v31:not(.apmerr-v31-home)
.apmerr-v31-interior-hero::after {
  content: "";

  position:
    absolute;

  top:
    62px;

  left:
    0;

  width:
    4px;

  height:
    78px;

  background:
    var(--apmerr-wine);
}

body.apmerr-v31:not(.apmerr-v31-home)
.apmerr-v31-interior-hero h1,
body.apmerr-v31:not(.apmerr-v31-home)
.apmerr-v31-interior-hero h2 {
  position:
    relative;

  z-index:
    1;

  max-width:
    850px !important;

  margin:
    0 0 20px !important;

  color:
    var(--apmerr-ink) !important;

  font-size:
    clamp(
      2.55rem,
      4.8vw,
      4.6rem
    ) !important;

  font-weight:
    540 !important;

  line-height:
    1.02 !important;

  text-align:
    left !important;
}

body.apmerr-v31:not(.apmerr-v31-home)
.apmerr-v31-interior-hero p {
  position:
    relative;

  z-index:
    1;

  max-width:
    720px;

  margin:
    0 !important;

  color:
    var(--apmerr-muted) !important;

  text-align:
    left !important;
}


/* =========================================================
   INTERIOR CONTENT
   ========================================================= */

body.apmerr-v31:not(.apmerr-v31-home)
main > .wp-block-group,
body.apmerr-v31:not(.apmerr-v31-home)
main > .wp-block-columns {
  max-width:
    var(--apmerr-container);

  margin-left:
    auto;

  margin-right:
    auto;
}

body.apmerr-v31:not(.apmerr-v31-home)
main .wp-block-group,
body.apmerr-v31:not(.apmerr-v31-home)
main .wp-block-columns,
body.apmerr-v31:not(.apmerr-v31-home)
main .wp-block-column {
  box-shadow:
    none !important;
}

body.apmerr-v31:not(.apmerr-v31-home)
main h2 {
  font-size:
    clamp(
      2rem,
      3.3vw,
      3.2rem
    );
}

body.apmerr-v31:not(.apmerr-v31-home)
main h3 {
  font-size:
    clamp(
      1.3rem,
      2vw,
      1.8rem
    );
}

body.apmerr-v31:not(.apmerr-v31-home)
main figure img {
  border-radius:
    var(--apmerr-radius-m);

  box-shadow:
    none;
}


/* =========================================================
   EDITORIAL QUOTES
   ========================================================= */

body.apmerr-v31
.apmerr-v31-quote {
  width:
    min(
      calc(100% - 48px),
      var(--apmerr-container)
    );

  min-height:
    0 !important;

  margin:
    44px
    auto
    72px !important;

  padding:
    44px
    clamp(34px, 6vw, 72px) !important;

  border:
    1px solid
    var(--apmerr-line) !important;

  border-radius:
    var(--apmerr-radius-m) !important;

  background:
    var(--apmerr-cream) !important;

  background-image:
    none !important;

  box-shadow:
    none !important;
}

body.apmerr-v31
.apmerr-v31-quote p {
  max-width:
    820px !important;

  margin:
    0 !important;

  color:
    var(--apmerr-deep) !important;

  font-size:
    clamp(
      1.25rem,
      2.1vw,
      1.85rem
    ) !important;

  line-height:
    1.42 !important;

  text-align:
    left !important;
}


/* =========================================================
   CONTACT
   ========================================================= */

body.apmerr-v31-contacto main {
  background:
    linear-gradient(
      to bottom,
      var(--apmerr-white) 0,
      var(--apmerr-white) 28%,
      var(--apmerr-soft) 28%,
      var(--apmerr-soft) 100%
    );
}

body.apmerr-v31-contacto
main .wpforms-container {
  padding:
    clamp(
      28px,
      4vw,
      44px
    ) !important;

  border:
    1px solid
    var(--apmerr-line) !important;

  border-radius:
    var(--apmerr-radius-m) !important;

  background:
    var(--apmerr-white) !important;

  box-shadow:
    var(--apmerr-shadow) !important;
}


/* =========================================================
   WPFORMS
   ========================================================= */

body.apmerr-v31
.wpforms-container {
  width:
    100%;
}

body.apmerr-v31
.wpforms-container label,
body.apmerr-v31
.wpforms-field-label {
  color:
    var(--apmerr-ink) !important;

  font-family:
    inherit !important;

  font-size:
    .91rem !important;

  font-weight:
    620 !important;
}

body.apmerr-v31
.wpforms-container input,
body.apmerr-v31
.wpforms-container select,
body.apmerr-v31
.wpforms-container textarea {
  width:
    100%;

  min-height:
    50px;

  padding:
    12px
    14px !important;

  border:
    1px solid
    rgba(39,29,32,.17) !important;

  border-radius:
    var(--apmerr-radius-s) !important;

  background:
    #fbfaf9 !important;

  color:
    var(--apmerr-ink) !important;

  font-family:
    inherit !important;

  box-shadow:
    none !important;

  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    background-color .18s ease;
}

body.apmerr-v31
.wpforms-container textarea {
  min-height:
    150px;

  resize:
    vertical;
}

body.apmerr-v31
.wpforms-container input:hover,
body.apmerr-v31
.wpforms-container select:hover,
body.apmerr-v31
.wpforms-container textarea:hover {
  background:
    var(--apmerr-white) !important;

  border-color:
    rgba(99, 4, 4, .28) !important;
}

body.apmerr-v31
.wpforms-container input:focus,
body.apmerr-v31
.wpforms-container select:focus,
body.apmerr-v31
.wpforms-container textarea:focus {
  background:
    var(--apmerr-white) !important;

  border-color:
    var(--apmerr-wine) !important;

  outline:
    none !important;

  box-shadow:
    0 0 0 3px
    rgba(99, 4, 4, .09) !important;
}

body.apmerr-v31
.wpforms-container
.wpforms-field {
  margin-bottom:
    19px !important;
}

body.apmerr-v31
.wpforms-container
.wpforms-error {
  color:
    #a51d37 !important;

  font-size:
    .82rem !important;
}

body.apmerr-v31
.wpforms-submit-container {
  margin-top:
    24px !important;
}


/* =========================================================
   MODALS
   ========================================================= */

body.apmerr-v31-modal-open {
  overflow:
    hidden;
}

.apmerr-v31-modal[hidden] {
  display:
    none !important;
}

.apmerr-v31-modal {
  position:
    fixed;

  inset:
    0;

  z-index:
    100000;

  display:
    grid;

  place-items:
    center;

  padding:
    28px;
}

.apmerr-v31-modal__backdrop {
  position:
    absolute;

  inset:
    0;

  background:
    rgba(20,11,14,.76);

  backdrop-filter:
    blur(7px);

  opacity:
    0;

  transition:
    opacity .18s ease;
}

.apmerr-v31-modal__dialog {
  position:
    relative;

  z-index:
    1;

  display:
    grid;

  grid-template-rows:
    auto
    minmax(0, 1fr);

  width:
    min(1180px, 96vw);

  height:
    min(860px, 91vh);

  overflow:
    hidden;

  border:
    1px solid
    rgba(255,255,255,.15);

  border-radius:
    20px;

  background:
    var(--apmerr-white);

  box-shadow:
    0 34px 100px
    rgba(15,5,8,.32);

  opacity:
    0;

  transform:
    translateY(10px)
    scale(.99);

  transition:
    opacity .18s ease,
    transform .18s ease;
}

.apmerr-v31-modal.is-open
.apmerr-v31-modal__backdrop {
  opacity:
    1;
}

.apmerr-v31-modal.is-open
.apmerr-v31-modal__dialog {
  opacity:
    1;

  transform:
    none;
}

.apmerr-v31-modal__header {
  display:
    flex;

  min-height:
    70px;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    20px;

  padding:
    13px
    17px
    13px
    26px;

  border-bottom:
    1px solid
    var(--apmerr-line);

  background:
    var(--apmerr-white);
}

.apmerr-v31-modal__header h2 {
  margin:
    0;

  color:
    var(--apmerr-ink);

  font-family:
    inherit;

  font-size:
    1.22rem;

  font-weight:
    600;

  letter-spacing:
    -.025em;
}

.apmerr-v31-modal__close {
  display:
    inline-flex;

  width:
    42px;

  height:
    42px;

  align-items:
    center;

  justify-content:
    center;

  padding:
    0;

  border:
    1px solid
    var(--apmerr-line);

  border-radius:
    50%;

  background:
    var(--apmerr-white);

  color:
    var(--apmerr-ink);

  font-size:
    1.55rem;

  cursor:
    pointer;

  transition:
    border-color .18s ease,
    color .18s ease,
    background-color .18s ease;
}

.apmerr-v31-modal__close:hover {
  border-color:
    rgba(99, 4, 4, .28);

  background:
    var(--apmerr-cream);

  color:
    var(--apmerr-wine);
}

.apmerr-v31-modal__body {
  min-height:
    0;

  overflow:
    hidden;
}

.apmerr-v31-modal__frame {
  display:
    block;

  width:
    100%;

  height:
    100%;

  border:
    0;

  background:
    var(--apmerr-white);
}


/* =========================================================
   CONTACT FORM EMBED
   ========================================================= */

body.apmerr-v31-contact-embedded {
  min-height:
    100vh;

  margin:
    0 !important;

  padding:
    0 !important;

  overflow-x:
    hidden;

  background:
    var(--apmerr-soft) !important;
}

body.apmerr-v31-contact-embedded
> *:not(.apmerr-v31-form-embed) {
  display:
    none !important;
}

.apmerr-v31-form-embed {
  display:
    block !important;

  width:
    min(
      760px,
      calc(100% - 36px)
    );

  margin:
    0 auto;

  padding:
    38px
    0
    58px;
}

.apmerr-v31-form-embed__heading {
  margin-bottom:
    25px;
}

.apmerr-v31-form-embed__heading span {
  color:
    var(--apmerr-wine);

  font-size:
    .7rem;

  font-weight:
    720;

  letter-spacing:
    .15em;
}

.apmerr-v31-form-embed__heading h1 {
  margin:
    7px 0 0;

  color:
    var(--apmerr-ink);

  font-size:
    clamp(
      1.9rem,
      4vw,
      2.7rem
    );

  font-weight:
    560;

  letter-spacing:
    -.035em;

  line-height:
    1.05;
}

.apmerr-v31-form-embed
.wpforms-container {
  margin:
    0 !important;

  padding:
    clamp(
      24px,
      4vw,
      36px
    ) !important;

  border:
    1px solid
    var(--apmerr-line) !important;

  border-radius:
    var(--apmerr-radius-m) !important;

  background:
    var(--apmerr-white) !important;

  box-shadow:
    var(--apmerr-shadow) !important;
}


/* =========================================================
   MOBILE NAVIGATION
   ========================================================= */

body.apmerr-v31
.wp-block-navigation__responsive-container.is-menu-open {
  padding:
    26px !important;

  background:
    var(--apmerr-white) !important;
}

body.apmerr-v31
.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__container {
  gap:
    4px !important;

  align-items:
    stretch !important;
}

body.apmerr-v31
.wp-block-navigation__responsive-container.is-menu-open
a,
body.apmerr-v31
.wp-block-navigation__responsive-container.is-menu-open
a.apmerr-v31-header-action {
  width:
    100%;

  justify-content:
    flex-start;

  padding:
    14px
    0 !important;

  border-bottom:
    1px solid
    var(--apmerr-line) !important;

  color:
    var(--apmerr-ink) !important;

  font-size:
    1rem !important;
}

body.apmerr-v31
.wp-block-navigation__responsive-container.is-menu-open
a::after {
  display:
    none !important;
}


/* =========================================================
   HIDDEN DUPLICATE ACTIONS
   ========================================================= */

.apmerr-v31-content-action-hidden {
  display:
    none !important;
}


/* =========================================================
   RESPONSIVE · TABLET
   ========================================================= */

@media (max-width: 1024px) {

  body.apmerr-v31:not(.apmerr-v31-home)
  .apmerr-v31-interior-hero {
    width:
      min(
        calc(100% - 40px),
        var(--apmerr-container)
      );

    margin-top:
      32px !important;

    margin-bottom:
      58px !important;
  }

}


/* =========================================================
   RESPONSIVE · MOBILE
   ========================================================= */

@media (max-width: 780px) {

  body.apmerr-v31:not(.apmerr-v31-home)
  .apmerr-v31-interior-hero {
    width:
      min(
        calc(100% - 28px),
        var(--apmerr-container)
      );

    min-height:
      0 !important;

    margin-top:
      22px !important;

    margin-bottom:
      42px !important;

    padding:
      42px
      26px !important;

    border-radius:
      var(--apmerr-radius-m) !important;
  }

  body.apmerr-v31:not(.apmerr-v31-home)
  .apmerr-v31-interior-hero h1,
  body.apmerr-v31:not(.apmerr-v31-home)
  .apmerr-v31-interior-hero h2 {
    font-size:
      clamp(
        2.1rem,
        9.5vw,
        3.2rem
      ) !important;
  }

  body.apmerr-v31
  .apmerr-v31-quote {
    width:
      min(
        calc(100% - 28px),
        var(--apmerr-container)
      );

    padding:
      32px
      24px !important;
  }

  .apmerr-v31-modal {
    padding:
      0;
  }

  .apmerr-v31-modal__dialog {
    width:
      100vw;

    height:
      100dvh;

    max-width:
      none;

    max-height:
      none;

    border:
      0;

    border-radius:
      0;
  }

  .apmerr-v31-modal__header {
    min-height:
      64px;

    padding:
      10px
      12px
      10px
      18px;
  }

  .apmerr-v31-form-embed {
    width:
      min(
        calc(100% - 24px),
        760px
      );

    padding-top:
      24px;
  }

}


/* =========================================================
   VERY SMALL
   ========================================================= */

@media (max-width: 480px) {

  .apmerr-v31-modal__header h2 {
    font-size:
      1.04rem;
  }

  .apmerr-v31-form-embed
  .wpforms-container {
    padding:
      20px !important;
  }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    scroll-behavior:
      auto !important;

    animation-duration:
      .001ms !important;

    animation-iteration-count:
      1 !important;

    transition-duration:
      .001ms !important;
  }

}
/* APMERR V4.1 · USER REFINEMENTS */


/* =========================================================
   1. HEADER MÁS COMPACTO + LOGO MÁS PEQUEÑO
   ========================================================= */

body.apmerr-v31
.wp-site-blocks > header
.wp-block-site-logo img,
body.apmerr-v31
header.wp-block-template-part
.wp-block-site-logo img,
body.apmerr-v31
.wp-site-blocks > header
.custom-logo,
body.apmerr-v31
header.wp-block-template-part
.custom-logo {
  width:
    220px !important;

  max-width:
    220px !important;

  max-height:
    66px !important;

  object-fit:
    contain;
}

body.apmerr-v31
.wp-site-blocks > header
> .wp-block-group,
body.apmerr-v31
header.wp-block-template-part
> .wp-block-group {
  min-height:
    94px !important;

  padding-top:
    10px !important;

  padding-bottom:
    8px !important;
}

body.apmerr-v31
.wp-site-blocks > header
.wp-block-site-logo,
body.apmerr-v31
header.wp-block-template-part
.wp-block-site-logo {
  margin-top:
    0 !important;

  margin-bottom:
    0 !important;
}


/* =========================================================
   2. ELIMINAR "APMERR" SOBRE EL ESLOGAN
   ========================================================= */

.apmerr-v31-hero-slogan::before {
  display:
    none !important;

  content:
    none !important;
}


/* =========================================================
   3. HERO MÁS ELEGANTE · TEXTO MENOR Y A LA DERECHA
   ========================================================= */

.apmerr-v31-hero--statement {
  min-height:
    455px;

  align-items:
    center;

  padding-top:
    62px;

  padding-bottom:
    62px;
}

.apmerr-v31-hero-slogan {
  width:
    min(760px, 68%) !important;

  max-width:
    760px !important;

  margin-left:
    auto !important;

  margin-right:
    0 !important;

  color:
    #ffffff !important;

  font-size:
    clamp(
      2.2rem,
      3.45vw,
      3.55rem
    ) !important;

  font-weight:
    560 !important;

  line-height:
    1.08 !important;

  letter-spacing:
    -.04em !important;

  text-align:
    right !important;

  text-wrap:
    balance;
}


/* =========================================================
   4. EVALUACIÓN · CAE + PLAN VIVIENDA
   ========================================================= */

.apmerr-v31-programs
.apmerr-v31-heading {
  max-width:
    950px;
}

.apmerr-v31-programs
.apmerr-v31-heading h2 {
  max-width:
    950px;

  font-size:
    clamp(
      2.4rem,
      3.8vw,
      3.8rem
    ) !important;

  color:
    #ffffff !important;
}

body.apmerr-v31
.apmerr-v31-programs
.apmerr-v31-program {
  min-height:
    330px;
}

body.apmerr-v31
.apmerr-v31-programs
.apmerr-v31-program h3 {
  color:
    #ffffff !important;

  font-size:
    clamp(
      1.55rem,
      2.25vw,
      2.2rem
    ) !important;

  font-weight:
    540 !important;
}

body.apmerr-v31
.apmerr-v31-programs
.apmerr-v31-program p {
  max-width:
    560px;

  margin-bottom:
    0 !important;

  color:
    rgba(255,255,255,.72) !important;

  font-size:
    1rem !important;

  line-height:
    1.66 !important;
}

body.apmerr-v31
.apmerr-v31-programs
.apmerr-v31-program__label {
  color:
    rgba(255,255,255,.78) !important;

  border-color:
    rgba(255,255,255,.20) !important;

  background:
    rgba(255,255,255,.07) !important;
}

.apmerr-v31-programs__actions {
  position:
    relative;

  z-index:
    3;

  display:
    flex;

  max-width:
    var(--apmerr-container);

  margin:
    34px
    auto
    0;

  justify-content:
    flex-end;
}

body.apmerr-v31
.apmerr-v31-programs
.apmerr-v31-programs__cta {
  min-height:
    48px;

  padding:
    12px
    20px !important;

  border:
    1px solid
    rgba(255,255,255,.88) !important;

  background:
    #ffffff !important;

  color:
    var(--apmerr-deep) !important;

  font-weight:
    650 !important;
}

body.apmerr-v31
.apmerr-v31-programs
.apmerr-v31-programs__cta:hover {
  transform:
    translateY(-2px);

  border-color:
    #ffffff !important;

  background:
    var(--apmerr-cream) !important;

  color:
    var(--apmerr-deeper) !important;
}


/* =========================================================
   5. FOOTER MÁS COMPACTO Y LEGIBLE
   ========================================================= */

body.apmerr-v31
.wp-site-blocks > footer
> .wp-block-group,
body.apmerr-v31
footer.wp-block-template-part
> .wp-block-group {
  padding-top:
    34px !important;

  padding-bottom:
    24px !important;
}

body.apmerr-v31
footer
.wp-block-site-logo {
  margin-top:
    0 !important;

  margin-bottom:
    22px !important;
}

body.apmerr-v31
footer
.wp-block-site-logo img {
  width:
    220px !important;

  max-width:
    220px !important;

  height:
    auto !important;

  filter:
    brightness(0)
    invert(1) !important;

  opacity:
    .96;
}

body.apmerr-v31
footer p,
body.apmerr-v31
footer li,
body.apmerr-v31
footer span,
body.apmerr-v31
footer strong {
  color:
    rgba(255,255,255,.82) !important;
}

body.apmerr-v31
footer strong {
  color:
    #ffffff !important;

  font-weight:
    650 !important;
}

body.apmerr-v31
footer a {
  color:
    rgba(255,255,255,.88) !important;
}

body.apmerr-v31
footer a:hover {
  color:
    #ffffff !important;
}

body.apmerr-v31
footer
.wp-block-social-links {
  gap:
    10px !important;
}

body.apmerr-v31
footer
.wp-block-social-link {
  background:
    transparent !important;
}

body.apmerr-v31
footer
.wp-block-social-link svg {
  fill:
    #ffffff !important;

  color:
    #ffffff !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  body.apmerr-v31
  .wp-site-blocks > header
  .wp-block-site-logo img,
  body.apmerr-v31
  header.wp-block-template-part
  .wp-block-site-logo img {
    width:
      195px !important;

    max-width:
      195px !important;
  }

  .apmerr-v31-hero-slogan {
    width:
      min(720px, 76%) !important;

    font-size:
      clamp(
        2.15rem,
        4.4vw,
        3.15rem
      ) !important;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 780px) {

  body.apmerr-v31
  .wp-site-blocks > header
  .wp-block-site-logo img,
  body.apmerr-v31
  header.wp-block-template-part
  .wp-block-site-logo img {
    width:
      170px !important;

    max-width:
      170px !important;
  }

  .apmerr-v31-hero--statement {
    min-height:
      390px;

    padding-top:
      52px;

    padding-bottom:
      52px;
  }

  .apmerr-v31-hero-slogan {
    width:
      100% !important;

    max-width:
      100% !important;

    font-size:
      clamp(
        1.95rem,
        8vw,
        2.65rem
      ) !important;

    line-height:
      1.1 !important;

    text-align:
      right !important;
  }

  .apmerr-v31-programs__actions {
    justify-content:
      stretch;
  }

  body.apmerr-v31
  .apmerr-v31-programs
  .apmerr-v31-programs__cta {
    width:
      100%;

    justify-content:
      center;
  }

  body.apmerr-v31
  footer
  .wp-block-site-logo img {
    width:
      175px !important;

    max-width:
      175px !important;
  }

}
/* APMERR V4.2 · VISUAL FINE TUNING */


/* =========================================================
   1. HERO · ESLOGAN CENTRADO, ENTRE COMILLAS Y MÁS LIGERO
   ========================================================= */

.apmerr-v31-hero--statement {
  min-height:
    420px !important;

  align-items:
    center !important;

  justify-content:
    center !important;

  padding-top:
    58px !important;

  padding-bottom:
    58px !important;
}

.apmerr-v31-hero-slogan {
  width:
    min(900px, 82%) !important;

  max-width:
    900px !important;

  margin-left:
    auto !important;

  margin-right:
    auto !important;

  color:
    #ffffff !important;

  font-size:
    clamp(
      2rem,
      3vw,
      3.15rem
    ) !important;

  font-weight:
    420 !important;

  font-style:
    italic !important;

  line-height:
    1.15 !important;

  letter-spacing:
    -.025em !important;

  text-align:
    center !important;

  text-wrap:
    balance;
}

.apmerr-v31-hero-slogan::before {
  display:
    inline !important;

  content:
    "“" !important;

  margin:
    0 !important;

  color:
    rgba(255,255,255,.82) !important;

  font: inherit !important;
}

.apmerr-v31-hero-slogan::after {
  display:
    inline !important;

  content:
    "”" !important;

  color:
    rgba(255,255,255,.82) !important;

  font: inherit !important;
}


/* =========================================================
   2. HEADER MÁS FINO Y CONTENIDO CENTRADO VERTICALMENTE
   ========================================================= */

body.apmerr-v31
.wp-site-blocks > header
> .wp-block-group,
body.apmerr-v31
header.wp-block-template-part
> .wp-block-group {
  display:
    flex !important;

  min-height:
    82px !important;

  align-items:
    center !important;

  justify-content:
    space-between !important;

  padding-top:
    4px !important;

  padding-bottom:
    4px !important;
}

body.apmerr-v31
.wp-site-blocks > header
.wp-block-site-logo,
body.apmerr-v31
header.wp-block-template-part
.wp-block-site-logo {
  display:
    flex !important;

  align-items:
    center !important;

  margin-top:
    0 !important;

  margin-bottom:
    0 !important;
}

body.apmerr-v31
.wp-site-blocks > header
.wp-block-site-logo img,
body.apmerr-v31
header.wp-block-template-part
.wp-block-site-logo img,
body.apmerr-v31
.wp-site-blocks > header
.custom-logo,
body.apmerr-v31
header.wp-block-template-part
.custom-logo {
  width:
    200px !important;

  max-width:
    200px !important;

  max-height:
    56px !important;

  object-fit:
    contain !important;
}

body.apmerr-v31
.wp-site-blocks > header nav,
body.apmerr-v31
header.wp-block-template-part nav,
body.apmerr-v31
.wp-site-blocks > header
.wp-block-navigation {
  align-self:
    center !important;

  margin-top:
    0 !important;

  margin-bottom:
    0 !important;
}


/* =========================================================
   3. TÍTULO EVALUACIÓN A LO LARGO
   ========================================================= */

.apmerr-v31-programs
.apmerr-v31-heading {
  width:
    100% !important;

  max-width:
    var(--apmerr-container) !important;

  margin-left:
    auto !important;

  margin-right:
    auto !important;

  text-align:
    center !important;
}

.apmerr-v31-programs
.apmerr-v31-kicker {
  justify-content:
    center !important;
}

.apmerr-v31-programs
.apmerr-v31-heading h2 {
  width:
    100% !important;

  max-width:
    none !important;

  margin-left:
    auto !important;

  margin-right:
    auto !important;

  color:
    #ffffff !important;

  font-size:
    clamp(
      2.25rem,
      3.25vw,
      3.35rem
    ) !important;

  line-height:
    1.08 !important;

  text-align:
    center !important;

  white-space:
    nowrap;
}


/* =========================================================
   4. BOTÓN SIMULA Y SOLICITA CENTRADO Y PROPORCIONADO
   ========================================================= */

.apmerr-v31-programs__actions {
  display:
    flex !important;

  width:
    100% !important;

  max-width:
    var(--apmerr-container) !important;

  margin:
    36px
    auto
    0 !important;

  align-items:
    center !important;

  justify-content:
    center !important;
}

body.apmerr-v31
.apmerr-v31-programs
.apmerr-v31-programs__cta {
  width:
    min(310px, 100%) !important;

  min-width:
    250px !important;

  min-height:
    50px !important;

  justify-content:
    center !important;

  padding:
    13px
    26px !important;

  text-align:
    center !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  body.apmerr-v31
  .wp-site-blocks > header
  .wp-block-site-logo img,
  body.apmerr-v31
  header.wp-block-template-part
  .wp-block-site-logo img {
    width:
      185px !important;

    max-width:
      185px !important;
  }

  .apmerr-v31-programs
  .apmerr-v31-heading h2 {
    font-size:
      clamp(
        2rem,
        4vw,
        2.8rem
      ) !important;

    white-space:
      normal;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 780px) {

  body.apmerr-v31
  .wp-site-blocks > header
  > .wp-block-group,
  body.apmerr-v31
  header.wp-block-template-part
  > .wp-block-group {
    min-height:
      72px !important;
  }

  body.apmerr-v31
  .wp-site-blocks > header
  .wp-block-site-logo img,
  body.apmerr-v31
  header.wp-block-template-part
  .wp-block-site-logo img {
    width:
      160px !important;

    max-width:
      160px !important;

    max-height:
      48px !important;
  }

  .apmerr-v31-hero--statement {
    min-height:
      360px !important;

    padding-top:
      46px !important;

    padding-bottom:
      46px !important;
  }

  .apmerr-v31-hero-slogan {
    width:
      100% !important;

    max-width:
      100% !important;

    font-size:
      clamp(
        1.8rem,
        7.2vw,
        2.4rem
      ) !important;

    line-height:
      1.14 !important;

    text-align:
      center !important;
  }

  .apmerr-v31-programs
  .apmerr-v31-heading h2 {
    white-space:
      normal;

    font-size:
      clamp(
        1.95rem,
        7.7vw,
        2.5rem
      ) !important;
  }

  body.apmerr-v31
  .apmerr-v31-programs
  .apmerr-v31-programs__cta {
    width:
      min(300px, 100%) !important;

    min-width:
      0 !important;
  }

}
/* APMERR V4.3 · HEADER ALIGNMENT */

/* Logo a la izquierda · navegación a la derecha */

body.apmerr-v31
header
.wp-block-group:has(.wp-block-site-logo):has(.wp-block-navigation),
body.apmerr-v31
.wp-site-blocks > header
.wp-block-group:has(.wp-block-site-logo):has(.wp-block-navigation) {
  width:
    min(
      calc(100% - 48px),
      var(--apmerr-container)
    ) !important;

  max-width:
    var(--apmerr-container) !important;

  margin-left:
    auto !important;

  margin-right:
    auto !important;

  display:
    flex !important;

  align-items:
    center !important;

  justify-content:
    space-between !important;

  gap:
    40px !important;
}

body.apmerr-v31
header
.wp-block-site-logo {
  flex:
    0 0 auto !important;

  margin-left:
    0 !important;

  margin-right:
    auto !important;
}

body.apmerr-v31
header
.wp-block-navigation {
  flex:
    0 0 auto !important;

  margin-left:
    auto !important;

  margin-right:
    0 !important;
}


/* Tablet */

@media (max-width: 1024px) {

  body.apmerr-v31
  header
  .wp-block-group:has(.wp-block-site-logo):has(.wp-block-navigation),
  body.apmerr-v31
  .wp-site-blocks > header
  .wp-block-group:has(.wp-block-site-logo):has(.wp-block-navigation) {
    width:
      min(
        calc(100% - 36px),
        var(--apmerr-container)
      ) !important;

    gap:
      24px !important;
  }

}


/* Móvil */

@media (max-width: 780px) {

  body.apmerr-v31
  header
  .wp-block-group:has(.wp-block-site-logo):has(.wp-block-navigation),
  body.apmerr-v31
  .wp-site-blocks > header
  .wp-block-group:has(.wp-block-site-logo):has(.wp-block-navigation) {
    width:
      calc(100% - 28px) !important;

    gap:
      16px !important;
  }

}
/* APMERR V4.4 · SECTION LAYOUT */


/* =========================================================
   1. HEADER
   Logo ligeramente a la izquierda.
   Navegación ligeramente a la derecha.
   Tamaños y estilos se conservan.
   ========================================================= */

body.apmerr-v31
header
.wp-block-site-logo {
  transform:
    translateX(-22px) !important;
}

body.apmerr-v31
header
.wp-block-navigation {
  transform:
    translateX(22px) !important;
}


/* =========================================================
   2. NUESTRA ESENCIA
   Título horizontal y centrado como Evaluación.
   Los 01 / 02 / 03 siguen uno debajo del otro.
   ========================================================= */

.apmerr-v31-about {
  display:
    grid !important;

  grid-template-columns:
    minmax(0, 1fr) !important;

  gap:
    0 !important;
}

.apmerr-v31-about
.apmerr-v31-heading {
  position:
    static !important;

  top:
    auto !important;

  width:
    100% !important;

  max-width:
    none !important;

  margin:
    0
    0
    52px !important;

  text-align:
    center !important;
}

.apmerr-v31-about
.apmerr-v31-kicker {
  width:
    max-content;

  margin-left:
    auto !important;

  margin-right:
    auto !important;

  justify-content:
    center !important;

  color:
    var(--apmerr-wine) !important;
}

.apmerr-v31-about
.apmerr-v31-heading h2 {
  width:
    100% !important;

  max-width:
    none !important;

  margin-left:
    auto !important;

  margin-right:
    auto !important;

  color:
    var(--apmerr-ink) !important;

  font-size:
    clamp(
      2.25rem,
      3.25vw,
      3.35rem
    ) !important;

  font-weight:
    540 !important;

  line-height:
    1.08 !important;

  text-align:
    center !important;

  white-space:
    nowrap;
}

.apmerr-v31-about-grid {
  width:
    100% !important;

  max-width:
    none !important;
}

.apmerr-v31-about-grid article {
  width:
    100% !important;
}

.apmerr-v31-about-grid article p {
  width:
    100% !important;

  max-width:
    none !important;
}


/* =========================================================
   3. COMPROMISO Y EXCELENCIA
   Título horizontal como Evaluación.
   Servicios 01 / 02 / 03 en una fila.
   Texto introductorio debajo.
   ========================================================= */

.apmerr-v31-commitment {
  display:
    grid !important;

  grid-template-columns:
    minmax(0, 1fr) !important;

  gap:
    0 !important;
}

.apmerr-v31-commitment__intro {
  display:
    contents !important;

  position:
    static !important;
}


/* Kicker */

.apmerr-v31-commitment__intro
.apmerr-v31-kicker {
  grid-column:
    1 / -1;

  order:
    1;

  width:
    max-content;

  margin-left:
    auto !important;

  margin-right:
    auto !important;

  margin-bottom:
    18px !important;

  justify-content:
    center !important;

  color:
    var(--apmerr-wine) !important;
}


/* Título */

.apmerr-v31-commitment__intro h2 {
  grid-column:
    1 / -1;

  order:
    2;

  width:
    100% !important;

  max-width:
    none !important;

  margin:
    0
    auto
    52px !important;

  color:
    var(--apmerr-ink) !important;

  font-size:
    clamp(
      2.25rem,
      3.25vw,
      3.35rem
    ) !important;

  font-weight:
    540 !important;

  line-height:
    1.08 !important;

  text-align:
    center !important;

  white-space:
    nowrap;
}


/* Servicios uno al lado del otro */

.apmerr-v31-services {
  grid-column:
    1 / -1;

  order:
    3;

  display:
    grid !important;

  grid-template-columns:
    repeat(
      3,
      minmax(0, 1fr)
    ) !important;

  gap:
    30px !important;

  width:
    100% !important;
}

.apmerr-v31-services article {
  min-width:
    0 !important;
}


/* Texto Desde APMERR debajo */

.apmerr-v31-commitment__intro > p {
  grid-column:
    1 / -1;

  order:
    4;

  width:
    100% !important;

  max-width:
    none !important;

  margin:
    38px
    0
    0 !important;

  color:
    var(--apmerr-muted) !important;

  line-height:
    1.72 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  body.apmerr-v31
  header
  .wp-block-site-logo {
    transform:
      translateX(-10px) !important;
  }

  body.apmerr-v31
  header
  .wp-block-navigation {
    transform:
      translateX(10px) !important;
  }

  .apmerr-v31-about
  .apmerr-v31-heading h2,
  .apmerr-v31-commitment__intro h2 {
    white-space:
      normal;
  }

  .apmerr-v31-services {
    gap:
      22px !important;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 780px) {

  body.apmerr-v31
  header
  .wp-block-site-logo,
  body.apmerr-v31
  header
  .wp-block-navigation {
    transform:
      none !important;
  }

  .apmerr-v31-about
  .apmerr-v31-heading,
  .apmerr-v31-commitment__intro h2 {
    margin-bottom:
      38px !important;
  }

  .apmerr-v31-about
  .apmerr-v31-heading h2,
  .apmerr-v31-commitment__intro h2 {
    font-size:
      clamp(
        1.95rem,
        7.7vw,
        2.5rem
      ) !important;

    white-space:
      normal;
  }

  .apmerr-v31-services {
    grid-template-columns:
      minmax(0, 1fr) !important;

    gap:
      0 !important;
  }

  .apmerr-v31-commitment__intro > p {
    margin-top:
      30px !important;
  }

}
/* APMERR V4.5 · HEADER FOOTER SPACING */


/* =========================================================
   1. HEADER
   Abrir ligeramente más los extremos.
   ========================================================= */

body.apmerr-v31
header
.wp-block-site-logo {
  transform:
    translateX(-38px) !important;
}

body.apmerr-v31
header
.wp-block-navigation {
  transform:
    translateX(38px) !important;
}


/* =========================================================
   2. FOOTER
   Más respiración entre la banda de logos
   y la línea/contactos inferiores.
   ========================================================= */

body.apmerr-v31
footer
.wp-block-separator {
  margin-top:
    30px !important;

  margin-bottom:
    18px !important;
}


/*
   Si la banda institucional está dentro de figure,
   evitamos que quede pegada al separador.
*/

body.apmerr-v31
footer figure {
  margin-bottom:
    26px !important;
}


/*
   Más aire para la fila final de
   correo, WhatsApp y redes sociales.
*/

body.apmerr-v31
footer
.wp-block-separator
+ * {
  margin-top:
    0 !important;
}

body.apmerr-v31
footer
.wp-block-social-links {
  margin-top:
    4px !important;

  margin-bottom:
    4px !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  body.apmerr-v31
  header
  .wp-block-site-logo {
    transform:
      translateX(-20px) !important;
  }

  body.apmerr-v31
  header
  .wp-block-navigation {
    transform:
      translateX(20px) !important;
  }

}


/* =========================================================
   MOBILE
   Sin desplazamientos laterales para evitar desbordes.
   ========================================================= */

@media (max-width: 780px) {

  body.apmerr-v31
  header
  .wp-block-site-logo,
  body.apmerr-v31
  header
  .wp-block-navigation {
    transform:
      none !important;
  }

  body.apmerr-v31
  footer
  .wp-block-separator {
    margin-top:
      24px !important;

    margin-bottom:
      16px !important;
  }

}
/* APMERR V4.6 · HEADER FOOTER MODAL */


/* =========================================================
   1. LOGO SUPERIOR MÁS A LA DERECHA
   Navegación: NO se modifica.
   ========================================================= */

body.apmerr-v31
header
.wp-block-site-logo {
  transform:
    translateX(20px) !important;
}


/* =========================================================
   2. MÁS AIRE ENTRE LA LÍNEA DEL FOOTER
   Y CORREO / WHATSAPP / REDES
   ========================================================= */

body.apmerr-v31
footer
.wp-block-separator {
  margin-bottom:
    26px !important;
}

body.apmerr-v31
footer
.wp-block-separator
+ * {
  margin-top:
    8px !important;
}


/* =========================================================
   3. MODAL COLABORACIÓN
   Reutiliza exactamente el sistema visual del modal actual.
   ========================================================= */

.apmerr-v31-modal--colaboracion
.apmerr-v31-modal__dialog {
  width:
    min(1080px, 94vw);

  height:
    min(820px, 90vh);
}


/* TABLET */

@media (max-width: 1024px) {

  body.apmerr-v31
  header
  .wp-block-site-logo {
    transform:
      translateX(10px) !important;
  }

}


/* MOBILE */

@media (max-width: 780px) {

  body.apmerr-v31
  header
  .wp-block-site-logo {
    transform:
      none !important;
  }

  body.apmerr-v31
  footer
  .wp-block-separator {
    margin-bottom:
      22px !important;
  }

}
/* APMERR V4.7 · HEADER REFINEMENT */


/* =========================================================
   LOGO MUCHO MÁS HACIA LA IZQUIERDA
   Navegación: exactamente donde está ahora.
   ========================================================= */

body.apmerr-v31
header
.wp-block-site-logo {
  transform:
    translateX(-60px) !important;
}


/* =========================================================
   CONTACTO
   Mismo peso tipográfico que los demás enlaces.
   ========================================================= */

body.apmerr-v31
header
.wp-block-navigation
a[href*="/contacto"],
body.apmerr-v31
header
.wp-block-navigation
a[href*="/contacto"] *,
body.apmerr-v31
header
nav
a[href*="/contacto"],
body.apmerr-v31
header
nav
a[href*="/contacto"] * {
  font-weight:
    560 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  body.apmerr-v31
  header
  .wp-block-site-logo {
    transform:
      translateX(-24px) !important;
  }

}


/* =========================================================
   MOBILE
   Evitar desbordamiento.
   ========================================================= */

@media (max-width: 780px) {

  body.apmerr-v31
  header
  .wp-block-site-logo {
    transform:
      none !important;
  }

}
/* APMERR V4.8 · CONTACT REDESIGN */


/* =========================================================
   1. LOGO UN POCO MÁS A LA IZQUIERDA
   Navegación sin mover.
   ========================================================= */

body.apmerr-v31
header
.wp-block-site-logo {
  transform:
    translateX(-82px) !important;
}


/* =========================================================
   CONTACTO · RESET DE LA PÁGINA ANTERIOR
   ========================================================= */

body.apmerr-v48-contact-ready
main {
  overflow:
    hidden !important;

  background:
    #ffffff !important;
}

body.apmerr-v48-contact-ready
.apmerr-v48-contact-shell {
  width:
    100%;

  margin:
    0;

  padding:
    0;
}


/* =========================================================
   HERO
   ========================================================= */

.apmerr-v48-contact-hero {
  position:
    relative;

  width:
    100vw;

  margin-left:
    calc(50% - 50vw);

  overflow:
    hidden;

  background:
    linear-gradient(
      118deg,
      #260101 0%,
      #630404 52%,
      #7A0A0A 100%
    );
}

.apmerr-v48-contact-hero::before {
  content:
    "";

  position:
    absolute;

  width:
    500px;

  height:
    500px;

  right:
    -130px;

  bottom:
    -290px;

  border:
    1px solid
    rgba(255,255,255,.18);

  border-radius:
    50%;

  box-shadow:
    0 0 0 90px
    rgba(255,255,255,.018);
}

.apmerr-v48-contact-hero::after {
  content:
    "";

  position:
    absolute;

  top:
    0;

  right:
    12%;

  width:
    1px;

  height:
    100%;

  background:
    rgba(255,255,255,.08);
}

.apmerr-v48-contact-hero__inner {
  position:
    relative;

  z-index:
    1;

  width:
    min(
      calc(100% - 48px),
      var(--apmerr-container)
    );

  margin:
    0 auto;

  padding:
    96px
    0
    102px;
}

.apmerr-v48-eyebrow {
  display:
    inline-flex;

  align-items:
    center;

  gap:
    10px;

  margin-bottom:
    20px;

  color:
    var(--apmerr-wine);

  font-size:
    .7rem;

  font-weight:
    720;

  letter-spacing:
    .15em;

  line-height:
    1;

  text-transform:
    uppercase;
}

.apmerr-v48-eyebrow::before {
  content:
    "";

  width:
    26px;

  height:
    1px;

  background:
    currentColor;
}

.apmerr-v48-contact-hero
.apmerr-v48-eyebrow {
  color:
    rgba(255,255,255,.58);
}

.apmerr-v48-contact-hero h1 {
  max-width:
    780px;

  margin:
    0 !important;

  color:
    #ffffff !important;

  font-size:
    clamp(
      3.1rem,
      5.8vw,
      5.9rem
    ) !important;

  font-weight:
    520 !important;

  line-height:
    .98 !important;

  letter-spacing:
    -.055em !important;
}

.apmerr-v48-contact-hero p {
  max-width:
    630px;

  margin:
    28px
    0
    0 !important;

  color:
    rgba(255,255,255,.68) !important;

  font-size:
    1.06rem !important;

  line-height:
    1.68 !important;
}


/* =========================================================
   APP APMERR
   ========================================================= */

.apmerr-v48-app {
  width:
    min(
      calc(100% - 48px),
      var(--apmerr-container)
    );

  margin:
    0 auto;

  padding:
    110px
    0;

  border-bottom:
    1px solid
    var(--apmerr-line);
}

.apmerr-v48-app__inner {
  display:
    grid;

  grid-template-columns:
    minmax(0, 1.08fr)
    minmax(320px, .92fr);

  gap:
    clamp(
      56px,
      8vw,
      112px
    );

  align-items:
    start;
}

.apmerr-v48-app
.apmerr-v48-eyebrow {
  grid-column:
    1 / -1;

  width:
    max-content;

  margin-left:
    0 !important;

  margin-right:
    0 !important;

  margin-bottom:
    -18px !important;

  justify-content:
    flex-start !important;
}

.apmerr-v48-app h2 {
  max-width:
    720px;

  margin:
    0 !important;

  color:
    var(--apmerr-ink) !important;

  font-size:
    clamp(
      2.55rem,
      4.7vw,
      4.7rem
    ) !important;

  font-weight:
    540 !important;

  line-height:
    1.02 !important;

  letter-spacing:
    -.05em !important;
}

.apmerr-v48-app__copy {
  padding:
    4px
    0
    4px
    30px;

  border-left:
    2px solid
    var(--apmerr-wine);
}

.apmerr-v48-app__copy p {
  margin:
    0
    0
    20px !important;

  color:
    var(--apmerr-muted) !important;

  font-size:
    1.02rem !important;

  line-height:
    1.72 !important;
}

.apmerr-v48-app__copy
.apmerr-v48-app__highlight {
  margin:
    34px
    0
    20px !important;

  color:
    var(--apmerr-wine) !important;

  font-size:
    clamp(
      1.35rem,
      2vw,
      1.8rem
    ) !important;

  font-weight:
    650 !important;

  line-height:
    1.28 !important;
}

.apmerr-v48-app__copy
.apmerr-v48-app__closing {
  margin-bottom:
    0 !important;

  color:
    var(--apmerr-ink) !important;

  font-weight:
    600 !important;
}


/* =========================================================
   CAMPAÑA INFORMATIVA
   ========================================================= */

.apmerr-v48-campaign {
  display:
    grid;

  grid-template-columns:
    minmax(0, .92fr)
    minmax(0, 1.08fr);

  gap:
    clamp(
      56px,
      9vw,
      120px
    );

  width:
    min(
      calc(100% - 48px),
      var(--apmerr-container)
    );

  margin:
    0 auto;

  padding:
    110px
    0;
}

.apmerr-v48-section-heading h2,
.apmerr-v48-form-intro h2 {
  margin:
    0 !important;

  color:
    var(--apmerr-ink) !important;

  font-size:
    clamp(
      2.3rem,
      4vw,
      4rem
    ) !important;

  font-weight:
    540 !important;

  line-height:
    1.04 !important;

  letter-spacing:
    -.045em !important;
}

.apmerr-v48-campaign__copy {
  align-self:
    end;

  padding-top:
    46px;

  border-top:
    1px solid
    var(--apmerr-line);
}

.apmerr-v48-campaign__copy p {
  max-width:
    650px;

  margin:
    0 !important;

  color:
    var(--apmerr-muted) !important;

  font-size:
    1.06rem !important;

  line-height:
    1.76 !important;
}

.apmerr-v48-campaign__copy
.apmerr-v48-campaign__highlight {
  margin-top:
    28px !important;

  color:
    var(--apmerr-wine) !important;

  font-size:
    1.1rem !important;

  font-weight:
    650;
}


/* =========================================================
   PIDE MÁS INFORMACIÓN
   ========================================================= */

.apmerr-v48-form-section {
  width:
    100vw;

  margin-left:
    calc(50% - 50vw);

  background:
    var(--apmerr-cream);
}

.apmerr-v48-form-section__inner {
  display:
    grid;

  grid-template-columns:
    minmax(250px, .7fr)
    minmax(0, 1.3fr);

  gap:
    clamp(
      54px,
      8vw,
      110px
    );

  width:
    min(
      calc(100% - 48px),
      var(--apmerr-container)
    );

  margin:
    0 auto;

  padding:
    104px
    0;
}

.apmerr-v48-form-intro {
  padding-top:
    16px;
}

.apmerr-v48-form-intro p {
  max-width:
    410px;

  margin:
    26px
    0
    0 !important;

  color:
    var(--apmerr-muted) !important;

  line-height:
    1.72 !important;
}

.apmerr-v48-form-card {
  min-width:
    0;

  padding:
    clamp(
      28px,
      4vw,
      44px
    );

  border:
    1px solid
    var(--apmerr-line);

  border-radius:
    22px;

  background:
    #ffffff;

  box-shadow:
    0 24px 70px
    rgba(42,24,29,.07);
}


/*
   Reutilizamos el WPForms REAL.
   Solo cambia su presentación.
*/

body.apmerr-v48-contact-ready
.apmerr-v48-form-card
.wpforms-container {
  margin:
    0 !important;

  padding:
    0 !important;

  border:
    0 !important;

  border-radius:
    0 !important;

  background:
    transparent !important;

  box-shadow:
    none !important;
}

body.apmerr-v48-contact-ready
.apmerr-v48-form-card
.wpforms-field {
  margin-bottom:
    22px !important;
}

body.apmerr-v48-contact-ready
.apmerr-v48-form-card
.wpforms-field-label {
  margin-bottom:
    8px !important;

  color:
    var(--apmerr-ink) !important;

  font-size:
    .9rem !important;

  font-weight:
    620 !important;
}

body.apmerr-v48-contact-ready
.apmerr-v48-form-card
input,
body.apmerr-v48-contact-ready
.apmerr-v48-form-card
textarea,
body.apmerr-v48-contact-ready
.apmerr-v48-form-card
select {
  width:
    100% !important;

  max-width:
    none !important;

  border:
    1px solid
    rgba(39,29,32,.14) !important;

  border-radius:
    10px !important;

  background:
    #fbfaf9 !important;
}

body.apmerr-v48-contact-ready
.apmerr-v48-form-card
input:focus,
body.apmerr-v48-contact-ready
.apmerr-v48-form-card
textarea:focus,
body.apmerr-v48-contact-ready
.apmerr-v48-form-card
select:focus {
  border-color:
    var(--apmerr-wine) !important;

  background:
    #ffffff !important;

  box-shadow:
    0 0 0 3px
    rgba(99, 4, 4, .08) !important;
}

body.apmerr-v48-contact-ready
.apmerr-v48-form-card
button[type="submit"],
body.apmerr-v48-contact-ready
.apmerr-v48-form-card
input[type="submit"] {
  min-width:
    150px;

  border:
    1px solid
    var(--apmerr-wine) !important;

  border-radius:
    10px !important;

  background:
    var(--apmerr-wine) !important;

  color:
    #ffffff !important;
}


/* =========================================================
   CONTACTOS
   ========================================================= */

.apmerr-v48-contacts {
  width:
    min(
      calc(100% - 48px),
      var(--apmerr-container)
    );

  margin:
    0 auto;

  padding:
    108px
    0
    118px;
}

.apmerr-v48-contacts
.apmerr-v48-section-heading {
  max-width:
    830px;

  margin-bottom:
    54px;
}

.apmerr-v48-contact-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0, 1fr)
    );

  border-top:
    1px solid
    var(--apmerr-line);
}

.apmerr-v48-contact-card {
  position:
    relative;

  display:
    flex;

  min-height:
    250px;

  min-width:
    0;

  flex-direction:
    column;

  align-items:
    flex-start;

  justify-content:
    flex-end;

  padding:
    30px
    30px
    32px;

  border-right:
    1px solid
    var(--apmerr-line);

  border-bottom:
    1px solid
    var(--apmerr-line);

  background:
    #ffffff;

  color:
    var(--apmerr-ink) !important;

  text-decoration:
    none !important;

  transition:
    background-color .18s ease,
    transform .18s ease;
}

.apmerr-v48-contact-card:first-child {
  border-left:
    1px solid
    var(--apmerr-line);
}

a.apmerr-v48-contact-card:hover,
.apmerr-v48-contact-card:active {
  transform:
    translateY(-3px);

  background:
    var(--apmerr-cream);
}

.apmerr-v48-contact-card__index {
  position:
    absolute;

  top:
    28px;

  left:
    30px;

  color:
    var(--apmerr-wine);

  font-size:
    .68rem;

  font-weight:
    720;

  letter-spacing:
    .12em;
}

.apmerr-v48-contact-card__label {
  margin-bottom:
    10px;

  color:
    var(--apmerr-muted);

  font-size:
    .8rem;

  font-weight:
    600;

  letter-spacing:
    .02em;
}

.apmerr-v48-contact-card strong {
  max-width:
    100%;

  overflow-wrap:
    anywhere;

  color:
    var(--apmerr-ink) !important;

  font-size:
    clamp(
      1.15rem,
      1.7vw,
      1.5rem
    );

  font-weight:
    580;
}

.apmerr-v48-contact-card__arrow {
  position:
    absolute;

  top:
    27px;

  right:
    28px;

  color:
    var(--apmerr-wine);

  font-size:
    1.05rem;
}

.apmerr-v48-socials {
  display:
    flex;

  gap:
    10px;

  margin-top:
    20px;
}

.apmerr-v48-socials a {
  display:
    inline-flex !important;

  width:
    44px;

  height:
    44px;

  align-items:
    center;

  justify-content:
    center;

  margin:
    0 !important;

  padding:
    0 !important;

  border:
    1px solid
    rgba(99, 4, 4, .20);

  border-radius:
    50%;

  background:
    rgba(99, 4, 4, .045);

  color:
    var(--apmerr-wine) !important;

  text-decoration:
    none !important;
}

.apmerr-v48-socials svg {
  width:
    20px !important;

  height:
    20px !important;

  fill:
    var(--apmerr-wine) !important;

  color:
    var(--apmerr-wine) !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  body.apmerr-v31
  header
  .wp-block-site-logo {
    transform:
      translateX(-32px) !important;
  }

  .apmerr-v48-campaign,
  .apmerr-v48-app__inner,
  .apmerr-v48-form-section__inner {
    gap:
      54px;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 780px) {

  body.apmerr-v31
  header
  .wp-block-site-logo {
    transform:
      none !important;
  }

  .apmerr-v48-contact-hero__inner {
    width:
      calc(100% - 32px);

    padding:
      68px
      0
      74px;
  }

  .apmerr-v48-contact-hero h1 {
    font-size:
      clamp(
        2.8rem,
        14vw,
        4.5rem
      ) !important;
  }

  .apmerr-v48-campaign,
  .apmerr-v48-app,
  .apmerr-v48-form-section__inner {
    grid-template-columns:
      1fr;

    gap:
      38px;

    width:
      calc(100% - 32px);

    padding:
      70px
      0;
  }

  .apmerr-v48-campaign__copy {
    padding-top:
      28px;
  }

  .apmerr-v48-app__inner {
    grid-template-columns:
      1fr;

    gap:
      34px;
  }

  .apmerr-v48-app
  .apmerr-v48-eyebrow {
    margin-bottom:
      -8px !important;
  }

  .apmerr-v48-app h2 {
    font-size:
      clamp(
        2.2rem,
        10vw,
        3.35rem
      ) !important;
  }

  .apmerr-v48-app__copy {
    padding-left:
      22px;
  }

  .apmerr-v48-form-card {
    padding:
      24px;
  }

  .apmerr-v48-contacts {
    width:
      calc(100% - 32px);

    padding:
      72px
      0
      82px;
  }

  .apmerr-v48-contact-grid {
    grid-template-columns:
      1fr;
  }

  .apmerr-v48-contact-card,
  .apmerr-v48-contact-card:first-child {
    min-height:
      205px;

    border-left:
      1px solid
      var(--apmerr-line);
  }

}
/* APMERR V4.9 · CONTACT LAYOUT HOME SLOGAN */


/* =========================================================
   1. INICIO
   Nuevo eslogan sin comillas ni cursiva.
   Resto del hero permanece igual.
   ========================================================= */

.apmerr-v31-hero-slogan {
  width:
    min(980px, 86%) !important;

  max-width:
    980px !important;

  margin-left:
    auto !important;

  margin-right:
    auto !important;

  font-style:
    normal !important;

  font-weight:
    500 !important;

  font-size:
    clamp(
      2.25rem,
      3.5vw,
      3.65rem
    ) !important;

  line-height:
    1.08 !important;

  letter-spacing:
    -.035em !important;

  text-align:
    center !important;
}

.apmerr-v31-hero-slogan::before,
.apmerr-v31-hero-slogan::after {
  display:
    none !important;

  content:
    none !important;
}


/* =========================================================
   2. CONTACTO
   Los tres encabezados adoptan la misma composición
   de Nuestra esencia / Evaluación / Compromiso.
   ========================================================= */

body.apmerr-v48-contact-ready
.apmerr-v48-campaign,
body.apmerr-v48-contact-ready
.apmerr-v48-form-section__inner {
  display:
    grid !important;

  grid-template-columns:
    minmax(0, 1fr) !important;

  gap:
    0 !important;
}


/* Los tres bloques de título */

body.apmerr-v48-contact-ready
.apmerr-v48-campaign
.apmerr-v48-section-heading,
body.apmerr-v48-contact-ready
.apmerr-v48-form-intro,
body.apmerr-v48-contact-ready
.apmerr-v48-contacts
.apmerr-v48-section-heading {
  width:
    100% !important;

  max-width:
    none !important;

  margin:
    0
    auto
    52px !important;

  padding:
    0 !important;

  text-align:
    center !important;
}


/* PRÓXIMAMENTE / INFORMACIÓN / CONTACTOS */

body.apmerr-v48-contact-ready
.apmerr-v48-eyebrow {
  width:
    max-content;

  margin-left:
    auto !important;

  margin-right:
    auto !important;

  margin-bottom:
    18px !important;

  justify-content:
    center !important;

  /*
    Se conservan los colores actuales.
  */
}


/* Títulos grandes */

body.apmerr-v48-contact-ready
.apmerr-v48-section-heading h2,
body.apmerr-v48-contact-ready
.apmerr-v48-form-intro h2 {
  width:
    100% !important;

  max-width:
    none !important;

  margin:
    0
    auto !important;

  color:
    var(--apmerr-ink) !important;

  font-size:
    clamp(
      2.25rem,
      3.25vw,
      3.35rem
    ) !important;

  font-weight:
    540 !important;

  line-height:
    1.08 !important;

  letter-spacing:
    -.035em !important;

  text-align:
    center !important;

  white-space:
    nowrap;
}


/* =========================================================
   3. PRÓXIMAMENTE
   Información debajo del título, a lo ancho.
   ========================================================= */

body.apmerr-v48-contact-ready
.apmerr-v48-campaign__copy {
  width:
    100% !important;

  max-width:
    none !important;

  margin:
    0 !important;

  padding:
    34px
    0
    0 !important;

  border-top:
    1px solid
    var(--apmerr-line) !important;

  text-align:
    center;
}

body.apmerr-v48-contact-ready
.apmerr-v48-campaign__copy p {
  width:
    min(100%, 980px) !important;

  max-width:
    980px !important;

  margin-left:
    auto !important;

  margin-right:
    auto !important;

  text-align:
    center !important;
}

body.apmerr-v48-contact-ready
.apmerr-v48-campaign__copy
.apmerr-v48-campaign__highlight {
  margin-top:
    22px !important;
}


/* =========================================================
   4. PIDE MÁS INFORMACIÓN
   Texto y formulario debajo del título.
   ========================================================= */

body.apmerr-v48-contact-ready
.apmerr-v48-form-intro p {
  width:
    min(100%, 820px) !important;

  max-width:
    820px !important;

  margin:
    24px
    auto
    0 !important;

  text-align:
    center !important;
}

body.apmerr-v48-contact-ready
.apmerr-v48-form-card {
  width:
    min(100%, 940px) !important;

  max-width:
    940px !important;

  margin-left:
    auto !important;

  margin-right:
    auto !important;
}


/* =========================================================
   5. CONTACTOS
   Título centrado; tarjetas debajo.
   ========================================================= */

body.apmerr-v48-contact-ready
.apmerr-v48-contacts
.apmerr-v48-section-heading {
  max-width:
    none !important;
}


/* Eliminar 01 / 02 / 03 */

body.apmerr-v48-contact-ready
.apmerr-v48-contact-card__index {
  display:
    none !important;
}


/* Eliminar flechas */

body.apmerr-v48-contact-ready
.apmerr-v48-contact-card__arrow {
  display:
    none !important;
}


/*
   Reducimos SOLO la altura.
   La distribución horizontal sigue siendo 3 columnas.
*/

body.apmerr-v48-contact-ready
.apmerr-v48-contact-card {
  min-height:
    172px !important;

  justify-content:
    center !important;

  padding:
    24px
    30px !important;
}

body.apmerr-v48-contact-ready
.apmerr-v48-contact-card__label {
  margin-top:
    0 !important;
}

body.apmerr-v48-contact-ready
.apmerr-v48-socials {
  margin-top:
    14px !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  body.apmerr-v48-contact-ready
  .apmerr-v48-section-heading h2,
  body.apmerr-v48-contact-ready
  .apmerr-v48-form-intro h2 {
    white-space:
      normal;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 780px) {

  .apmerr-v31-hero-slogan {
    width:
      100% !important;

    max-width:
      100% !important;

    font-size:
      clamp(
        2rem,
        8vw,
        2.7rem
      ) !important;
  }

  body.apmerr-v48-contact-ready
  .apmerr-v48-campaign
  .apmerr-v48-section-heading,
  body.apmerr-v48-contact-ready
  .apmerr-v48-form-intro,
  body.apmerr-v48-contact-ready
  .apmerr-v48-contacts
  .apmerr-v48-section-heading {
    margin-bottom:
      38px !important;
  }

  body.apmerr-v48-contact-ready
  .apmerr-v48-section-heading h2,
  body.apmerr-v48-contact-ready
  .apmerr-v48-form-intro h2 {
    font-size:
      clamp(
        1.95rem,
        7.7vw,
        2.5rem
      ) !important;

    white-space:
      normal;
  }

  body.apmerr-v48-contact-ready
  .apmerr-v48-contact-card {
    min-height:
      150px !important;
  }

}
/* APMERR V4.11 · RESPONSIVE STABILITY */


/* =========================================================
   B. PROTECCIÓN GENERAL RESPONSIVE
   ========================================================= */

html,
body {
  width:
    100%;

  max-width:
    100%;

  overflow-x:
    hidden;
}

@supports (overflow: clip) {

  html,
  body {
    overflow-x:
      clip;
  }

}

body.apmerr-v31
.wp-site-blocks,
body.apmerr-v31
main {
  max-width:
    100%;
}

body.apmerr-v31
img,
body.apmerr-v31
svg,
body.apmerr-v31
video,
body.apmerr-v31
canvas {
  max-width:
    100%;

  height:
    auto;
}

body.apmerr-v31
iframe {
  max-width:
    100%;
}

body.apmerr-v31
input,
body.apmerr-v31
textarea,
body.apmerr-v31
select,
body.apmerr-v31
button {
  max-width:
    100%;
}

body.apmerr-v31
p,
body.apmerr-v31
li,
body.apmerr-v31
a,
body.apmerr-v31
strong,
body.apmerr-v31
h1,
body.apmerr-v31
h2,
body.apmerr-v31
h3 {
  overflow-wrap:
    break-word;
}

.apmerr-v31-program,
.apmerr-v31-services article,
.apmerr-v31-about-grid article,
.apmerr-v48-contact-card,
.apmerr-v48-form-card {
  min-width:
    0;
}


/* =========================================================
   C. HEADER · ADAPTACIÓN PROGRESIVA
   El escritorio aprobado NO cambia.
   ========================================================= */

@media (max-width: 1180px) {

  body.apmerr-v31
  header
  .wp-block-site-logo {
    transform:
      translateX(-48px) !important;
  }

  body.apmerr-v31
  header
  .wp-block-navigation {
    transform:
      translateX(24px) !important;

    gap:
      18px !important;
  }

}


@media (max-width: 1024px) {

  body.apmerr-v31
  header
  .wp-block-site-logo {
    transform:
      translateX(-28px) !important;
  }

  body.apmerr-v31
  header
  .wp-block-navigation {
    transform:
      translateX(14px) !important;

    gap:
      15px !important;
  }

  body.apmerr-v31
  header nav a,
  body.apmerr-v31
  .wp-block-navigation a {
    font-size:
      .88rem !important;
  }

}


@media (max-width: 900px) {

  body.apmerr-v31
  header
  .wp-block-site-logo {
    transform:
      translateX(-10px) !important;
  }

  body.apmerr-v31
  header
  .wp-block-navigation {
    transform:
      none !important;

    gap:
      11px !important;
  }

  body.apmerr-v31
  header
  .wp-block-site-logo img {
    width:
      170px !important;

    max-width:
      170px !important;
  }

}


/* =========================================================
   D. HOME
   ========================================================= */

.apmerr-v31-home-shell,
.apmerr-v31-about,
.apmerr-v31-commitment,
.apmerr-v31-program-grid {
  min-width:
    0;
}

@media (max-width: 900px) {

  .apmerr-v31-hero--statement {
    min-height:
      360px !important;
  }

  .apmerr-v31-hero-slogan {
    width:
      min(860px, 90%) !important;
  }

  .apmerr-v31-about-grid article,
  .apmerr-v31-services article {
    min-width:
      0;
  }

}


@media (max-width: 780px) {

  body.apmerr-v31
  header
  .wp-block-site-logo,
  body.apmerr-v31
  header
  .wp-block-navigation {
    transform:
      none !important;
  }

  .apmerr-v31-section {
    width:
      calc(100% - 32px) !important;
  }

  .apmerr-v31-programs {
    padding-left:
      16px !important;

    padding-right:
      16px !important;
  }

  .apmerr-v31-program {
    min-height:
      auto !important;
  }

  .apmerr-v31-about-grid article,
  .apmerr-v31-services article {
    width:
      100% !important;
  }

}


@media (max-width: 640px) {

  .apmerr-v31-hero--statement {
    min-height:
      330px !important;

    padding-left:
      20px !important;

    padding-right:
      20px !important;
  }

  .apmerr-v31-hero-slogan {
    width:
      100% !important;

    max-width:
      100% !important;
  }

  .apmerr-v31-about-grid article {
    grid-template-columns:
      36px
      minmax(0, 1fr) !important;

    gap:
      12px !important;
  }

  .apmerr-v31-programs {
    padding-top:
      60px !important;

    padding-bottom:
      60px !important;
  }

  .apmerr-v31-program {
    padding:
      24px !important;
  }

  .apmerr-v31-programs__actions {
    width:
      100% !important;
  }

  .apmerr-v31-programs__cta {
    max-width:
      300px !important;
  }

}


/* =========================================================
   E. CONTACTO
   ========================================================= */

.apmerr-v48-contact-shell,
.apmerr-v48-contact-hero,
.apmerr-v48-app,
.apmerr-v48-app__inner,
.apmerr-v48-campaign,
.apmerr-v48-form-section,
.apmerr-v48-form-section__inner,
.apmerr-v48-contacts,
.apmerr-v48-contact-grid {
  min-width:
    0;
}

@media (max-width: 900px) {

  .apmerr-v48-contact-hero__inner,
  .apmerr-v48-app,
  .apmerr-v48-campaign,
  .apmerr-v48-form-section__inner,
  .apmerr-v48-contacts {
    width:
      calc(100% - 40px) !important;
  }

  .apmerr-v48-contact-card strong {
    font-size:
      1.08rem;
  }

}


@media (max-width: 780px) {

  .apmerr-v48-contact-grid {
    grid-template-columns:
      1fr !important;
  }

  .apmerr-v48-form-card {
    width:
      100% !important;
  }

}


@media (max-width: 640px) {

  .apmerr-v48-contact-hero__inner,
  .apmerr-v48-app,
  .apmerr-v48-campaign,
  .apmerr-v48-form-section__inner,
  .apmerr-v48-contacts {
    width:
      calc(100% - 28px) !important;
  }

  .apmerr-v48-form-card {
    padding:
      20px !important;
  }

  .apmerr-v48-contact-card {
    min-height:
      140px !important;

    padding:
      22px !important;
  }

}


/* =========================================================
   F. FOOTER
   ========================================================= */

body.apmerr-v31
footer figure,
body.apmerr-v31
footer .wp-block-image,
body.apmerr-v31
footer .wp-block-group,
body.apmerr-v31
footer .wp-block-columns {
  max-width:
    100%;
}

body.apmerr-v31
footer img {
  max-width:
    100% !important;

  height:
    auto !important;

  object-fit:
    contain;
}

body.apmerr-v31
footer p,
body.apmerr-v31
footer a,
body.apmerr-v31
footer strong {
  overflow-wrap:
    anywhere;
}

@media (max-width: 780px) {

  body.apmerr-v31
  footer
  .wp-block-columns {
    flex-wrap:
      wrap !important;
  }

  body.apmerr-v31
  footer
  .wp-block-column {
    min-width:
      min(100%, 240px) !important;
  }

}


/* =========================================================
   G. MODALES
   ========================================================= */

.apmerr-v31-modal__dialog {
  max-width:
    calc(100vw - 32px);

  max-height:
    calc(100dvh - 32px);
}

@media (max-width: 780px) {

  .apmerr-v31-modal__dialog {
    width:
      100vw !important;

    max-width:
      100vw !important;

    height:
      100dvh !important;

    max-height:
      100dvh !important;
  }

}


/* =========================================================
   H. PANTALLAS MUY PEQUEÑAS
   ========================================================= */

@media (max-width: 480px) {

  body.apmerr-v31
  header
  .wp-block-site-logo img {
    width:
      148px !important;

    max-width:
      148px !important;
  }

  .apmerr-v31-hero-slogan {
    font-size:
      clamp(
        1.9rem,
        9vw,
        2.4rem
      ) !important;
  }

  .apmerr-v48-form-card {
    padding:
      18px !important;
  }

  .apmerr-v48-socials {
    flex-wrap:
      wrap;
  }

}


@media (max-width: 360px) {

  .apmerr-v31-section,
  .apmerr-v48-contact-hero__inner,
  .apmerr-v48-app,
  .apmerr-v48-campaign,
  .apmerr-v48-form-section__inner,
  .apmerr-v48-contacts {
    width:
      calc(100% - 20px) !important;
  }

  .apmerr-v31-program {
    padding:
      20px !important;
  }

  .apmerr-v48-contact-card {
    padding:
      18px !important;
  }

}


/* =========================================================
   I. PANTALLAS GRANDES
   ========================================================= */

@media (min-width: 1800px) {

  .apmerr-v31-hero--statement,
  .apmerr-v48-contact-hero {
    min-height:
      430px;
  }

}

/* =========================================================
   NOVEDADES · APP APMERR
   Composición aprobada: contenido real + visual fotográfico.
   ========================================================= */

body.apmerr-v48-novedades-ready
.apmerr-v48-app {
  width:
    min(
      calc(100% - 64px),
      1520px
    ) !important;

  padding:
    clamp(64px, 7vw, 104px)
    0 !important;

  overflow:
    hidden;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-app__inner {
  display:
    grid;

  grid-template-columns:
    minmax(420px, .78fr)
    minmax(560px, 1.22fr) !important;

  gap:
    clamp(44px, 5vw, 78px) !important;

  align-items:
    center !important;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-app__content {
  min-width:
    0;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-app
.apmerr-v48-eyebrow,
body.apmerr-v48-novedades-ready
.apmerr-v48-campaign
.apmerr-v48-eyebrow {
  display:
    inline-flex;

  grid-column:
    auto;

  margin:
    0
    0
    clamp(26px, 2.6vw, 38px) !important;

  padding:
    10px
    15px !important;

  border:
    0 !important;

  border-radius:
    6px !important;

  background:
    #f6e9e7 !important;

  color:
    var(--apmerr-wine) !important;

  font-size:
    .78rem !important;

  font-weight:
    750 !important;

  letter-spacing:
    .08em !important;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-app h2 {
  max-width:
    650px;

  margin:
    0 !important;

  font-size:
    clamp(3.25rem, 4.6vw, 5.35rem) !important;

  font-weight:
    570 !important;

  line-height:
    .98 !important;

  letter-spacing:
    -.055em !important;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-app h2 strong {
  color:
    var(--apmerr-wine);

  font-weight:
    690;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-app__lead {
  max-width:
    600px;

  margin:
    clamp(22px, 2.4vw, 34px)
    0
    0 !important;

  color:
    var(--apmerr-muted) !important;

  font-size:
    clamp(1.35rem, 1.9vw, 2rem) !important;

  font-weight:
    430 !important;

  line-height:
    1.28 !important;

  letter-spacing:
    -.025em !important;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-app__benefits {
  display:
    grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap:
    clamp(18px, 2.2vw, 34px);

  margin-top:
    clamp(34px, 4vw, 58px);
}

body.apmerr-v48-novedades-ready
.apmerr-v48-app__benefit {
  display:
    grid;

  align-content:
    start;

  gap:
    12px;

  color:
    var(--apmerr-ink);

  font-size:
    clamp(.86rem, 1vw, 1rem);

  line-height:
    1.35;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-app__icon {
  display:
    grid;

  width:
    56px;

  height:
    56px;

  place-items:
    center;

  border-radius:
    50%;

  background:
    #f7e9e7;

  color:
    var(--apmerr-wine);
}

body.apmerr-v48-novedades-ready
.apmerr-v48-app__icon svg {
  width:
    31px;

  height:
    31px;

  fill:
    none;

  stroke:
    currentColor;

  stroke-width:
    2;

  stroke-linecap:
    round;

  stroke-linejoin:
    round;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-app__visual,
body.apmerr-v48-novedades-ready
.apmerr-v48-app__visual picture {
  display:
    block;

  min-width:
    0;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-app__visual img {
  display:
    block;

  width:
    100%;

  height:
    auto;

  aspect-ratio:
    894 / 744;

  border-radius:
    clamp(22px, 2vw, 34px);

  object-fit:
    contain;
}

@media (max-width: 1180px) {

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app__inner {
    grid-template-columns:
      minmax(350px, .82fr)
      minmax(470px, 1.18fr) !important;

    gap:
      38px !important;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app h2 {
    font-size:
      clamp(3rem, 5vw, 4.3rem) !important;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app__benefits {
    gap:
      16px;
  }

}

@media (max-width: 900px) {

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app {
    width:
      calc(100% - 40px) !important;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app__inner {
    grid-template-columns:
      1fr !important;

    gap:
      50px !important;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app__content {
    max-width:
      720px;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app__visual {
    width:
      100%;
  }

}

@media (max-width: 640px) {

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app {
    width:
      calc(100% - 28px) !important;

    padding:
      58px
      0 !important;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app__inner {
    gap:
      36px !important;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app h2 {
    font-size:
      clamp(2.65rem, 13vw, 4rem) !important;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app__lead {
    font-size:
      1.3rem !important;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app__benefits {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));

    gap:
      12px;

    margin-top:
      34px;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app__benefit {
    gap:
      9px;

    font-size:
      .76rem;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app__icon {
    width:
      48px;

    height:
      48px;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app__icon svg {
    width:
      27px;

    height:
      27px;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app__visual img {
    border-radius:
      20px;
  }

}

@media (max-width: 430px) {

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app__benefits {
    grid-template-columns:
      1fr;

    gap:
      18px;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-app__benefit {
    grid-template-columns:
      48px
      minmax(0, 1fr);

    align-items:
      center;

    font-size:
      .92rem;
  }

}

/* APMERR V4.19 · CAMPAÑA INFORMATIVA */

body.apmerr-v48-novedades-ready
.apmerr-v48-campaign {
  display: block !important;
  width: min(calc(100% - 48px), 1380px) !important;
  margin: 0 auto !important;
  padding: clamp(82px, 8vw, 126px) 0 !important;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-campaign__inner {
  display: grid;
  grid-template-columns: minmax(390px, .86fr) minmax(480px, 1.14fr);
  gap: clamp(52px, 6vw, 94px);
  align-items: center;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-campaign__content {
  min-width: 0;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-campaign h2 {
  max-width: 680px;
  margin: 0 !important;
  color: var(--apmerr-ink) !important;
  font-size: clamp(3rem, 4.7vw, 5.1rem) !important;
  font-weight: 600 !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-campaign__lead {
  max-width: 670px;
  margin: 28px 0 0 !important;
  color: #4b494e !important;
  font-size: clamp(1.18rem, 1.7vw, 1.55rem) !important;
  line-height: 1.42 !important;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-campaign__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: clamp(34px, 4vw, 52px);
}

body.apmerr-v48-novedades-ready
.apmerr-v48-campaign__fact {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 15px;
  align-items: start;
  color: #333136;
  font-size: .96rem;
  line-height: 1.5;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-campaign__fact strong {
  display: block;
  margin-bottom: 3px;
  color: var(--apmerr-ink);
  font-weight: 680;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-campaign__icon {
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border-radius: 50%;
  background: #f7e9e7;
  color: var(--apmerr-wine);
}

body.apmerr-v48-novedades-ready
.apmerr-v48-campaign__icon svg {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-campaign__closing {
  max-width: 650px;
  margin: 36px 0 0 !important;
  padding-top: 25px;
  border-top: 1px solid var(--apmerr-line);
  color: var(--apmerr-muted) !important;
  font-size: 1.02rem !important;
  line-height: 1.65 !important;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-campaign__closing strong {
  display: block;
  margin-top: 7px;
  color: var(--apmerr-wine);
  font-weight: 700;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-campaign__visual,
body.apmerr-v48-novedades-ready
.apmerr-v48-campaign__visual picture {
  display: block;
  min-width: 0;
}

body.apmerr-v48-novedades-ready
.apmerr-v48-campaign__visual img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  border-radius: clamp(22px, 2vw, 34px);
  object-fit: cover;
  object-position: center;
}

@media (max-width: 1040px) {
  body.apmerr-v48-novedades-ready
  .apmerr-v48-campaign__inner {
    grid-template-columns: minmax(340px, .9fr) minmax(410px, 1.1fr);
    gap: 38px;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-campaign h2 {
    font-size: clamp(2.75rem, 5vw, 4rem) !important;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-campaign__facts {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  body.apmerr-v48-novedades-ready
  .apmerr-v48-campaign {
    width: calc(100% - 40px) !important;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-campaign__inner {
    grid-template-columns: 1fr;
    gap: 46px;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-campaign__content {
    max-width: 720px;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-campaign__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-campaign__visual img {
    aspect-ratio: auto;
    object-fit: contain;
  }
}

@media (max-width: 560px) {
  body.apmerr-v48-novedades-ready
  .apmerr-v48-campaign {
    width: calc(100% - 28px) !important;
    padding: 70px 0 !important;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-campaign h2 {
    font-size: clamp(2.45rem, 12vw, 3.5rem) !important;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-campaign__lead {
    font-size: 1.16rem !important;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-campaign__facts {
    grid-template-columns: 1fr;
  }

  body.apmerr-v48-novedades-ready
  .apmerr-v48-campaign__visual img {
    border-radius: 20px;
  }
}
/* APMERR V4.12 · INTERACTIONS HEADER HERO */


/* =========================================================
   1. HEADER STICKY
   Recuperar el comportamiento al hacer scroll.
   ========================================================= */

/*
   La V4.11 protegía el overflow horizontal también
   sobre BODY. Eso puede impedir position:sticky.
   Dejamos el recorte en el viewport y no en BODY.
*/

html {
  overflow-x:
    hidden !important;
}

body.apmerr-v31 {
  overflow-x:
    visible !important;
}

body.apmerr-v31
.wp-site-blocks {
  overflow:
    visible !important;
}

body.apmerr-v31
.wp-site-blocks > header,
body.apmerr-v31
header.wp-block-template-part {
  position:
    sticky !important;

  top:
    0 !important;

  z-index:
    9999 !important;

  width:
    100%;

  align-self:
    flex-start;

  background:
    rgba(255,255,255,.95) !important;

  backdrop-filter:
    blur(18px);

  -webkit-backdrop-filter:
    blur(18px);
}


/* =========================================================
   2. LOGO
   Un poco más pequeño y un poco más a la izquierda.
   Navegación NO se mueve.
   ========================================================= */

body.apmerr-v31
header
.wp-block-site-logo {
  transform:
    translateX(-96px) !important;
}

body.apmerr-v31
header
.wp-block-site-logo img,
body.apmerr-v31
header
.custom-logo {
  width:
    184px !important;

  max-width:
    184px !important;

  max-height:
    54px !important;

  object-fit:
    contain !important;
}


/* =========================================================
   3. HERO
   Título a lo largo + subtítulo.
   ========================================================= */

.apmerr-v31-hero--statement {
  flex-direction:
    column !important;

  align-items:
    center !important;

  justify-content:
    center !important;
}

.apmerr-v31-hero-slogan {
  width:
    100% !important;

  max-width:
    1160px !important;

  margin:
    0 auto !important;

  color:
    #ffffff !important;

  font-size:
    clamp(
      2.15rem,
      3vw,
      3.05rem
    ) !important;

  font-style:
    normal !important;

  font-weight:
    500 !important;

  line-height:
    1.07 !important;

  letter-spacing:
    -.035em !important;

  text-align:
    center !important;
}

.apmerr-v31-hero-subtitle {
  position:
    relative;

  z-index:
    2;

  width:
    min(760px, 88%);

  margin:
    26px
    auto
    0 !important;

  color:
    rgba(255,255,255,.68) !important;

  font-size:
    clamp(
      .98rem,
      1.3vw,
      1.12rem
    ) !important;

  font-weight:
    400;

  line-height:
    1.65 !important;

  letter-spacing:
    -.01em;

  text-align:
    center;
}

@media (min-width: 1100px) {

  .apmerr-v31-hero-slogan {
    white-space:
      nowrap;
  }

}


/* =========================================================
   4. SERVICIOS
   Mantener movimiento hover sin alterar el ancho
   ni provocar que el texto se recomponga.
   ========================================================= */

.apmerr-v31-services article {
  transition:
    transform .18s ease,
    background-color .18s ease !important;
}

.apmerr-v31-services article:hover {
  padding-left:
    0 !important;

  transform:
    translateX(10px);
}


/* =========================================================
   5. CONTACTO · REDES SOCIALES
   Mismo hover que correo y WhatsApp.
   ========================================================= */

.apmerr-v48-contact-card--social {
  transition:
    background-color .18s ease,
    transform .18s ease !important;
}

.apmerr-v48-contact-card--social:hover {
  transform:
    translateY(-3px);

  background:
    var(--apmerr-cream);
}

.apmerr-v48-contact-card.is-pressing {
  transform:
    translateY(-3px);

  background:
    var(--apmerr-cream);
}

@media (hover: none), (pointer: coarse) {
  a.apmerr-v48-contact-card:hover,
  .apmerr-v48-contact-card--social:hover {
    transform:
      none;

    background:
      #ffffff;
  }

  .apmerr-v48-contact-card:active,
  .apmerr-v48-contact-card.is-pressing {
    transform:
      translateY(-3px);

    background:
      var(--apmerr-cream);
  }
}


/* =========================================================
   6. MODALES
   Formulario de colaboración = Simula y Solicita
   Mismo tamaño, movimiento y comportamiento.
   ========================================================= */

.apmerr-v31-modal--colaboracion
.apmerr-v31-modal__dialog,
.apmerr-v31-modal--expedientes
.apmerr-v31-modal__dialog {
  width:
    min(1180px, 96vw) !important;

  height:
    min(860px, 91vh) !important;

  max-width:
    calc(100vw - 32px) !important;

  max-height:
    calc(100dvh - 32px) !important;
}


/* =========================================================
   RESPONSIVE HEADER
   ========================================================= */

@media (max-width: 1180px) {

  body.apmerr-v31
  header
  .wp-block-site-logo {
    transform:
      translateX(-54px) !important;
  }

  body.apmerr-v31
  header
  .wp-block-site-logo img,
  body.apmerr-v31
  header
  .custom-logo {
    width:
      178px !important;

    max-width:
      178px !important;
  }

}


@media (max-width: 1024px) {

  body.apmerr-v31
  header
  .wp-block-site-logo {
    transform:
      translateX(-30px) !important;
  }

  body.apmerr-v31
  header
  .wp-block-site-logo img,
  body.apmerr-v31
  header
  .custom-logo {
    width:
      170px !important;

    max-width:
      170px !important;
  }

}


@media (max-width: 900px) {

  body.apmerr-v31
  header
  .wp-block-site-logo {
    transform:
      translateX(-12px) !important;
  }

  body.apmerr-v31
  header
  .wp-block-site-logo img,
  body.apmerr-v31
  header
  .custom-logo {
    width:
      164px !important;

    max-width:
      164px !important;
  }

}


/* =========================================================
   TABLET / MOBILE HERO
   ========================================================= */

@media (max-width: 1099px) {

  .apmerr-v31-hero-slogan {
    white-space:
      normal !important;
  }

}


@media (max-width: 780px) {

  body.apmerr-v31
  header
  .wp-block-site-logo {
    transform:
      none !important;
  }

  body.apmerr-v31
  header
  .wp-block-site-logo img,
  body.apmerr-v31
  header
  .custom-logo {
    width:
      156px !important;

    max-width:
      156px !important;
  }

  .apmerr-v31-hero-slogan {
    font-size:
      clamp(
        2rem,
        8vw,
        2.65rem
      ) !important;
  }

  .apmerr-v31-hero-subtitle {
    width:
      min(620px, 94%);

    margin-top:
      20px !important;
  }

  .apmerr-v31-services article:hover {
    transform:
      none;
  }

  .apmerr-v31-modal--colaboracion
  .apmerr-v31-modal__dialog,
  .apmerr-v31-modal--expedientes
  .apmerr-v31-modal__dialog {
    width:
      100vw !important;

    max-width:
      100vw !important;

    height:
      100dvh !important;

    max-height:
      100dvh !important;

    border:
      0 !important;

    border-radius:
      0 !important;
  }

}


@media (max-width: 480px) {

  body.apmerr-v31
  header
  .wp-block-site-logo img,
  body.apmerr-v31
  header
  .custom-logo {
    width:
      146px !important;

    max-width:
      146px !important;
  }

  .apmerr-v31-hero-subtitle {
    font-size:
      .95rem !important;
  }

}

@media (max-width: 780px) {
  .apmerr-v31-hero-news {
    position: relative;
    right: auto;
    bottom: auto;
    margin-top: 28px;
  }
}
/* APMERR V4.13 · FOOTER SOCIALS */

/*
   Ocultar SOLO las redes sociales del footer inferior.

   Los enlaces clonados dentro de la sección Contactos
   de /contacto/ permanecen visibles porque no están
   dentro de <footer>.
*/

body.apmerr-v31
footer
.wp-block-social-links {
  display:
    none !important;
}

body.apmerr-v31
footer
a[href*="instagram.com"],
body.apmerr-v31
footer
a[href*="tiktok.com"] {
  display:
    none !important;
}
/* APMERR V4.14 · BRAND COLOR FAMILY */


/* =========================================================
   PALETA CORPORATIVA DEFINITIVA
   ========================================================= */

:root {
  --apmerr-wine:
    #630404;

  --apmerr-wine-hover:
    #520303;

  --apmerr-deep:
    #630404;

  --apmerr-deeper:
    #260101;
}


/* =========================================================
   HERO INICIO
   ========================================================= */

.apmerr-v31-hero--statement {
  background:
    linear-gradient(
      118deg,
      #260101 0%,
      #630404 52%,
      #7A0A0A 100%
    ) !important;
}


/* =========================================================
   HERO CONTACTO
   ========================================================= */

.apmerr-v48-contact-hero {
  background:
    linear-gradient(
      118deg,
      #260101 0%,
      #630404 52%,
      #7A0A0A 100%
    ) !important;
}


/* =========================================================
   EVALUACIÓN · CAE + PLAN VIVIENDA
   ========================================================= */

.apmerr-v31-programs {
  background:
    linear-gradient(
      145deg,
      #260101 0%,
      #630404 52%,
      #7A0A0A 100%
    ) !important;
}


/* =========================================================
   FOOTER
   ========================================================= */

body.apmerr-v31
.wp-site-blocks > footer,
body.apmerr-v31
footer.wp-block-template-part {
  background:
    linear-gradient(
      145deg,
      #260101 0%,
      #630404 100%
    ) !important;
}


/* =========================================================
   BOTONES PRINCIPALES
   ========================================================= */

.apmerr-v31-btn,
body.apmerr-v31 main .wp-block-button__link,
body.apmerr-v31 main button[type="submit"],
body.apmerr-v31 main input[type="submit"] {
  background:
    #630404;

  border-color:
    #630404;
}

.apmerr-v31-btn:hover,
body.apmerr-v31 main .wp-block-button__link:hover,
body.apmerr-v31 main button[type="submit"]:hover,
body.apmerr-v31 main input[type="submit"]:hover {
  background:
    #520303;

  border-color:
    #520303;
}

/* APMERR V4.15.1 HEADER START */

/*
 * Los cuatro enlaces de navegación tienen
 * exactamente el mismo peso tipográfico.
 * Se conserva el indicador visual de página activa.
 */
header nav a,
header nav a:link,
header nav a:visited,
header nav a:hover,
header nav a:focus,
header nav a:active,
header nav a[aria-current="page"],
header nav .current-menu-item > a,
header nav .current_page_item > a,
header .wp-block-navigation a,
header .wp-block-navigation a[aria-current="page"],
header .wp-block-navigation-item__content,
header .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content,
header .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content * {
    font-weight: 500 !important;
}

/*
 * Logo ligeramente más pequeño.
 * No cambia la estructura ni la altura del header.
 */
header .custom-logo,
header .custom-logo-link img,
header .wp-block-site-logo img {
    transform: scale(0.90) !important;
    transform-origin: left center !important;
}

/* APMERR V4.15.1 HEADER END */

/* APMERR V4.16.2 FOUR SERVICES START */

.apmerr-v31-commitment .apmerr-v31-services {
  grid-template-columns:
    repeat(4, minmax(0, 1fr)) !important;
}

.apmerr-v31-commitment .apmerr-v31-services article {
  min-width: 0 !important;
}

.apmerr-v4162-empty-title {
  visibility: hidden !important;
}

@media (max-width: 1050px) {
  .apmerr-v31-commitment .apmerr-v31-services {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .apmerr-v31-commitment .apmerr-v31-services {
    grid-template-columns:
      1fr !important;
  }
}

/* APMERR V4.16.2 FOUR SERVICES END */

/* APMERR V4.16.3 CONTACT HOME LINK START */

/*
 * Únicamente en Contacto:
 * Inicio debe tener el mismo peso tipográfico
 * que el resto de enlaces del menú.
 */
body.apmerr-v31-contact
header a[href="https://apmerr.com/"],
body.apmerr-v31-contact
header a[href="https://apmerr.com"],
body.apmerr-v31-contact
header a[href="/"] {
    font-weight: 500 !important;
}

/* APMERR V4.16.3 CONTACT HOME LINK END */

/* APMERR V4.16.4 INICIO WEIGHT START */

/*
 * ÚNICO OBJETIVO:
 * que "Inicio" tenga exactamente el mismo
 * peso tipográfico que el resto del menú.
 *
 * Se cubre también cualquier span/strong interno
 * que pudiera estar aplicando negrita propia.
 */
header a[href="https://apmerr.com/"],
header a[href="https://apmerr.com"],
header a[href="/"],
header a[href="https://apmerr.com/"] *,
header a[href="https://apmerr.com"] *,
header a[href="/"] * {
    font-weight: 500 !important;
}

/* APMERR V4.16.4 INICIO WEIGHT END */

/* APMERR V4.17 MOBILE START */

@media (max-width: 767px) {

  /*
   * =====================================================
   * 1. PROTECCIÓN GENERAL CONTRA DESBORDAMIENTOS
   * =====================================================
   */

  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  main,
  .wp-site-blocks {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }


  /*
   * =====================================================
   * 2. HEADER MÓVIL
   * Logo menor y algo más a la izquierda.
   * =====================================================
   */

  header {
    position: relative !important;
  }

  header .wp-block-site-logo,
  header .custom-logo-link {
    margin-left: 0 !important;
    margin-right: auto !important;
    transform: translateX(-10px) !important;
  }

  header .wp-block-site-logo img,
  header img.custom-logo,
  header .custom-logo-link img {
    width: 160px !important;
    max-width: 42vw !important;
    height: auto !important;
    object-fit: contain !important;
  }

  header .wp-block-navigation__responsive-container-open,
  header button[aria-label*="menu" i],
  header button[aria-label*="menú" i] {
    margin-left: auto !important;
    margin-right: 4px !important;
  }


  /*
   * =====================================================
   * 3. MENÚ MÓVIL APMERR
   * =====================================================
   */

  .apmerr-v417-mobile-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;

    z-index: 999999 !important;

    display: none !important;

    width: 100% !important;

    padding:
      10px
      22px
      22px !important;

    background:
      #ffffff !important;

    border-top:
      1px solid
      rgba(20,20,20,.08) !important;

    box-shadow:
      0 18px 32px
      rgba(0,0,0,.12) !important;
  }

  .apmerr-v417-mobile-menu.is-open {
    display: block !important;
  }

  .apmerr-v417-mobile-menu nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;

    width: 100% !important;
  }

  .apmerr-v417-mobile-menu nav a,
  .apmerr-v417-mobile-menu nav a * {
    display: block !important;

    width: 100% !important;

    padding:
      15px
      2px !important;

    color:
      #171717 !important;

    border-bottom:
      1px solid
      rgba(20,20,20,.08) !important;

    font-size:
      16px !important;

    font-weight:
      500 !important;

    line-height:
      1.25 !important;

    text-decoration:
      none !important;
  }

  .apmerr-v417-mobile-menu nav a:last-child {
    border-bottom:
      0 !important;
  }

  .apmerr-v417-mobile-menu nav a:hover,
  .apmerr-v417-mobile-menu nav a:active {
    color:
      #630404 !important;
  }


  /*
   * =====================================================
   * 4. "QUIEN SOMOS Y QUÉ HACEMOS"
   * Una sola línea en móvil.
   * =====================================================
   */

  .apmerr-v417-about-title {
    width: 100% !important;
    max-width: none !important;

    margin-left: auto !important;
    margin-right: auto !important;

    font-size:
      clamp(
        1.45rem,
        6.3vw,
        1.9rem
      ) !important;

    line-height:
      1.08 !important;

    letter-spacing:
      -.035em !important;

    white-space:
      nowrap !important;

    text-align:
      center !important;
  }


  /*
   * =====================================================
   * 5. INTERACCIÓN TÁCTIL
   * Quien somos / Compromiso / Evaluación
   * =====================================================
   */

  .apmerr-v417-touch-card {
    transition:
      transform .20s ease,
      box-shadow .20s ease,
      background-color .20s ease,
      border-color .20s ease !important;

    transform:
      translate3d(0,0,0);
  }

  .apmerr-v417-touch-card.is-touch-active {
    transform:
      translate3d(0,-6px,0)
      scale(.995) !important;

    box-shadow:
      0 15px 32px
      rgba(38,1,1,.10) !important;
  }

  .apmerr-v31-about-grid article:active,
  .apmerr-v31-services article:active,
  .apmerr-v31-programs article:active {
    transform:
      translate3d(0,-6px,0)
      scale(.995) !important;
  }


  /*
   * =====================================================
   * 6. EVALUACIÓN · CAE Y PLAN VIVIENDA
   * Sin cortes laterales ni columnas fuera de viewport.
   * =====================================================
   */

  .apmerr-v31-programs {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left:
      18px !important;

    padding-right:
      18px !important;

    box-sizing:
      border-box !important;

    overflow:
      hidden !important;
  }

  .apmerr-v31-programs * {
    box-sizing:
      border-box !important;
  }

  .apmerr-v417-programs-grid {
    display: grid !important;

    grid-template-columns:
      minmax(0, 1fr) !important;

    gap:
      18px !important;

    width:
      100% !important;

    max-width:
      100% !important;
  }

  .apmerr-v31-programs article {
    width:
      100% !important;

    max-width:
      100% !important;

    min-width:
      0 !important;

    margin-left:
      0 !important;

    margin-right:
      0 !important;

    box-sizing:
      border-box !important;
  }

  .apmerr-v31-programs article > * {
    max-width:
      100% !important;
  }

  .apmerr-v31-programs h2,
  .apmerr-v31-programs h3,
  .apmerr-v31-programs p {
    max-width:
      100% !important;

    overflow-wrap:
      break-word !important;
  }

  .apmerr-v31-programs__actions {
    width:
      100% !important;

    max-width:
      100% !important;

    text-align:
      center !important;
  }

}

/* APMERR V4.17 MOBILE END */

/* APMERR V4.17.1 MOBILE ALIGNMENT START */

@media (max-width: 767px) {

  /*
   * =====================================================
   * 1. LOGO
   * Solo se desplaza más hacia la izquierda.
   * El tamaño de V4.17 se conserva.
   * =====================================================
   */

  header .wp-block-site-logo,
  header .custom-logo-link {
    margin-left: 0 !important;
    margin-right: auto !important;

    transform:
      translateX(-22px) !important;
  }


  /*
   * =====================================================
   * 2. MENÚ MÓVIL
   *
   * Todos los apartados:
   * - misma alineación
   * - mismo ancho
   * - mismo peso
   * - texto centrado
   *
   * También neutralizamos estilos heredados del menú
   * original que estaban provocando que "Inicio"
   * apareciese partido.
   * =====================================================
   */

  .apmerr-v417-mobile-menu nav {
    display:
      flex !important;

    flex-direction:
      column !important;

    align-items:
      stretch !important;

    justify-content:
      flex-start !important;

    width:
      100% !important;
  }


  .apmerr-v417-mobile-menu nav > a {
    display:
      flex !important;

    align-items:
      center !important;

    justify-content:
      center !important;

    width:
      100% !important;

    min-width:
      0 !important;

    max-width:
      none !important;

    margin:
      0 !important;

    padding:
      18px 10px !important;

    box-sizing:
      border-box !important;

    color:
      #171717 !important;

    font-size:
      16px !important;

    font-weight:
      500 !important;

    line-height:
      1.25 !important;

    letter-spacing:
      normal !important;

    text-align:
      center !important;

    text-indent:
      0 !important;

    white-space:
      normal !important;

    word-break:
      normal !important;

    overflow-wrap:
      normal !important;

    text-decoration:
      none !important;

    border-left:
      0 !important;

    border-right:
      0 !important;
  }


  /*
   * WordPress puede conservar spans y otros elementos
   * dentro del enlace original.
   * Evitamos que esos hijos se comporten como bloques
   * independientes y partan "Inicio".
   */

  .apmerr-v417-mobile-menu nav > a *,
  .apmerr-v417-mobile-menu nav > a span,
  .apmerr-v417-mobile-menu nav > a strong {
    display:
      inline !important;

    width:
      auto !important;

    min-width:
      0 !important;

    max-width:
      none !important;

    margin:
      0 !important;

    padding:
      0 !important;

    border:
      0 !important;

    font:
      inherit !important;

    font-weight:
      500 !important;

    line-height:
      inherit !important;

    letter-spacing:
      inherit !important;

    color:
      inherit !important;

    text-align:
      center !important;

    text-indent:
      0 !important;

    white-space:
      normal !important;
  }


  /*
   * Eliminamos indicadores/pseudoelementos heredados
   * exclusivamente dentro del desplegable móvil.
   */

  .apmerr-v417-mobile-menu nav > a::before,
  .apmerr-v417-mobile-menu nav > a::after,
  .apmerr-v417-mobile-menu nav > a *::before,
  .apmerr-v417-mobile-menu nav > a *::after {
    content:
      none !important;

    display:
      none !important;
  }


  /*
   * Inicio y Contacto quedan centrados exactamente
   * igual que los dos enlaces intermedios.
   */

  .apmerr-v417-mobile-menu
  nav > a:first-child,

  .apmerr-v417-mobile-menu
  nav > a:last-child {
    justify-content:
      center !important;

    text-align:
      center !important;

    padding-left:
      10px !important;

    padding-right:
      10px !important;
  }


  /*
   * =====================================================
   * 3. "QUIEN SOMOS Y QUÉ HACEMOS"
   *
   * Sigue en una única línea,
   * pero ahora queda centrado respecto al viewport.
   * =====================================================
   */

  .apmerr-v417-about-title {
    display:
      block !important;

    position:
      relative !important;

    left:
      auto !important;

    right:
      auto !important;

    width:
      100% !important;

    max-width:
      100% !important;

    margin-left:
      auto !important;

    margin-right:
      auto !important;

    padding-left:
      0 !important;

    padding-right:
      0 !important;

    box-sizing:
      border-box !important;

    font-size:
      clamp(
        1.08rem,
        5.15vw,
        1.42rem
      ) !important;

    line-height:
      1.08 !important;

    letter-spacing:
      -.04em !important;

    text-align:
      center !important;

    white-space:
      nowrap !important;

    transform:
      none !important;
  }

}

/* APMERR V4.17.1 MOBILE ALIGNMENT END */

/* APMERR V4.17.2 MOBILE ABOUT TITLE START */

@media (max-width: 767px) {

  /*
   * Regla definitiva.
   * Mayor especificidad que las reglas históricas
   * de .apmerr-v31-heading h2.
   *
   * SOLO afecta a:
   * "Quien somos y qué hacemos"
   * en la página Inicio y únicamente en móvil.
   */

  body.apmerr-v31
  .apmerr-v31-about
  .apmerr-v31-heading
  h2.apmerr-v417-about-title {

    display:
      block !important;

    position:
      static !important;

    left:
      auto !important;

    right:
      auto !important;

    width:
      calc(100% - 32px) !important;

    max-width:
      calc(100% - 32px) !important;

    min-width:
      0 !important;

    margin-left:
      auto !important;

    margin-right:
      auto !important;

    padding-left:
      0 !important;

    padding-right:
      0 !important;

    box-sizing:
      border-box !important;

    transform:
      none !important;

    text-align:
      center !important;

    white-space:
      nowrap !important;

    overflow:
      visible !important;

    overflow-wrap:
      normal !important;

    word-break:
      normal !important;

    font-size:
      clamp(
        1.30rem,
        5.8vw,
        1.55rem
      ) !important;

    font-weight:
      540 !important;

    line-height:
      1.08 !important;

    letter-spacing:
      -.025em !important;
  }

}

/* APMERR V4.17.2 MOBILE ABOUT TITLE END */

/* APMERR V4.18 UNIFIED MOBILE TITLES START */

@media (max-width: 767px) {

  /*
   * SOLO LOS CINCO TÍTULOS SOLICITADOS.
   *
   * Misma escala, peso, centrado y proporción visual
   * que "Quien somos y qué hacemos".
   *
   * Los títulos largos pueden saltar de línea
   * de forma equilibrada para no desbordarse.
   */

  html
  body.apmerr-v31
  .apmerr-v418-mobile-section-title {

    width:
      calc(100% - 32px) !important;

    max-width:
      calc(100% - 32px) !important;

    min-width:
      0 !important;

    margin-left:
      auto !important;

    margin-right:
      auto !important;

    padding-left:
      0 !important;

    padding-right:
      0 !important;

    box-sizing:
      border-box !important;

    transform:
      none !important;

    text-align:
      center !important;

    white-space:
      normal !important;

    overflow-wrap:
      normal !important;

    word-break:
      normal !important;

    text-wrap:
      balance;

    font-size:
      clamp(
        1.30rem,
        5.8vw,
        1.55rem
      ) !important;

    font-weight:
      540 !important;

    line-height:
      1.08 !important;

    letter-spacing:
      -.025em !important;
  }

}

/* APMERR V4.18 UNIFIED MOBILE TITLES END */
