/* Version 29: mobile article reduction and small responsive refinements. */

@media (max-width: 760px) {
  [data-home-articles] [data-article-panel="0"] .blog__grid article:nth-child(n+4) {
    display: none !important;
  }

  [data-home-articles] [data-article-panel="1"],
  [data-home-articles] .blog__rotation-footer {
    display: none !important;
  }

  [data-home-articles] .blog__rotation {
    opacity: 1 !important;
  }

  [data-home-articles] .blog__head {
    margin-bottom: 20px;
  }
}

/* Version 30: mobile trust cards, concise newsletter and institutional-page refinements. */

.newsletter__privacy {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 500 !important;
}

.about-process {
  background: #fbfbfa;
}

.about-process .section-heading {
  max-width: 760px;
  margin-inline: auto;
}

@media (max-width: 900px) {
  /* The desktop carousel is intentionally replaced by a stable 2 x 2 grid on phones/tablets. */
  .trusted .trusted-slider {
    display: none !important;
  }

  .trusted .trusted__mobile-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
  }

  .trusted .trusted__mobile-item {
    min-width: 0;
    min-height: 112px;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 10px;
    overflow: hidden;
    border: 1px solid rgba(6, 26, 43, .11);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(3, 17, 29, .07);
    text-align: center;
  }

  .trusted .trusted__mark {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    border-radius: 16px;
    font-size: 16px;
  }

  .trusted .trusted__mobile-name {
    display: block;
    width: 100%;
    max-width: 100%;
    color: var(--navy);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
  }

  .trusted .prototype-note--trusted {
    margin-top: 14px;
    font-size: 10px;
    line-height: 1.45;
    text-align: center;
  }
}

@media (max-width: 620px) {
  /* Newsletter: less copy, less height, same legal clarity. */
  .newsletter {
    padding: 22px 0 24px;
  }

  .newsletter__inner {
    gap: 18px;
  }

  .newsletter__copy {
    gap: 5px;
  }

  .newsletter__copy p {
    font-size: 9px;
    letter-spacing: .14em;
  }

  .newsletter__copy h2 {
    max-width: 360px;
    font-size: clamp(22px, 6.8vw, 27px);
    line-height: 1.08;
    letter-spacing: .005em;
  }

  .newsletter__copy > span {
    font-size: 11px;
    line-height: 1.45;
  }

  .newsletter__field input,
  .newsletter__field input.input,
  .newsletter__form .btn {
    min-height: 52px !important;
  }

  .newsletter__privacy {
    margin-top: 2px !important;
    color: rgba(3, 17, 29, .72) !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  /* Nosotros: restore proportion, reading rhythm and mobile hierarchy. */
  .about-page-hero,
  .about-page-hero__inner {
    min-height: 440px;
  }

  .about-page-hero__inner {
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .about-page-hero .detail-breadcrumb {
    margin-bottom: 28px;
  }

  .about-page-hero h1 {
    max-width: 360px;
    font-size: clamp(36px, 10vw, 42px);
    line-height: 1.02;
  }

  .about-page-hero__inner > p:last-child {
    max-width: 360px;
    margin-top: 18px;
    font-size: 15px;
    line-height: 1.55;
  }

  .identity-intro {
    padding: 46px 0;
  }

  .identity-intro__grid {
    gap: 22px;
  }

  .identity-intro h2,
  .values-section h2,
  .objectives-section h2,
  .about-process .section-heading h2 {
    font-size: clamp(32px, 8.5vw, 37px);
    line-height: 1.06;
  }

  .identity-intro__grid > div:last-child p {
    margin-bottom: 15px;
    font-size: 15px;
    line-height: 1.62;
  }

  .purpose-band article {
    padding: 38px 0;
  }

  .purpose-band article > span {
    width: 52px;
    height: 52px;
    margin-bottom: 22px;
  }

  .purpose-band h2 {
    max-width: 360px;
    font-size: 32px;
    line-height: 1.08;
  }

  .purpose-band article > p:last-child {
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.6;
  }

  .values-section {
    padding: 48px 0 54px;
  }

  .values-section__head {
    margin-bottom: 26px;
  }

  .values-section__head > p:last-child {
    font-size: 14px;
    line-height: 1.55;
  }

  /* Two rows x two columns, as on desktop but adapted to a phone. */
  .values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px;
  }

  .values-grid article {
    min-width: 0;
    min-height: 240px;
    padding: 22px 16px;
    border-radius: 6px;
  }

  .values-grid .lucide {
    width: 30px;
    height: 30px;
  }

  .values-grid h3 {
    margin: 20px 0 9px;
    font-size: 17px;
  }

  .values-grid p {
    font-size: 12px;
    line-height: 1.52;
  }

  .objectives-section {
    padding: 50px 0;
  }

  .objectives-section__grid {
    gap: 24px;
  }

  .objectives-section__head > p:last-child {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.55;
  }

  .objectives-list li {
    grid-template-columns: 48px 1fr;
    gap: 14px;
    padding: 20px 0;
  }

  .objectives-list li > span {
    font-size: 25px;
  }

  .objectives-list h3 {
    font-size: 16px;
  }

  .objectives-list p {
    font-size: 13px;
    line-height: 1.5;
  }

  .about-process {
    padding-top: 50px;
    padding-bottom: 54px;
  }

  .about-process .section-heading {
    margin-bottom: 30px;
  }

  .about-process .section-subtitle {
    max-width: 350px;
    font-size: 14px;
    line-height: 1.55;
  }
}

@media (max-width: 380px) {
  .values-grid {
    gap: 9px;
  }

  .values-grid article {
    min-height: 230px;
    padding: 19px 13px;
  }

  .values-grid h3 {
    font-size: 16px;
  }

  .values-grid p {
    font-size: 11.5px;
  }
}
