/* Identidad visual ajustada a los tonos del logotipo Cubretal / ARIA LZ. */
.site-header .nav-wrap {
    height: 100px;
}

.brand {
    width: 205px;
}

.brand img {
    max-height: 82px;
    width: auto;
}

.hero--business {
    background: linear-gradient(90deg, rgba(255, 255, 255, .97) 0%, rgba(255, 255, 255, .9) 42%, rgba(255, 255, 255, .12) 72%), url('assets/hero-aria-lz.jpg') center / cover no-repeat;
    min-height: 620px;
}

.hero--business .hero__grid { grid-template-columns: 1fr; min-height: 620px; }
.hero--business .hero__content { max-width: 650px; padding: 80px 0; }
.hero--business .hero__visual { display: none; }

/* El equipo se distribuye en dos filas equilibradas en escritorio. */
.team__grid--five {
    grid-template-columns: repeat(10, minmax(0, 1fr));
    grid-template-rows: repeat(2, 1fr);
    grid-auto-flow: row;
    align-items: stretch;
    max-width: none;
    margin: 0;
}

.team__grid--five .team-card {
    grid-column: span 2;
}

/* La segunda fila tiene cuatro tarjetas y queda centrada entre los márgenes. */
.team__grid--five .team-card:nth-child(6) {
    grid-column: 2 / span 2;
}

@media (max-width: 900px) {
    .team__grid--five {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-template-rows: none;
    }

    .team__grid--five .team-card,
    .team__grid--five .team-card:nth-child(6) {
        grid-column: auto;
    }
}

@media (max-width: 680px) {
    .team__grid--five {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/*
   Escala de escritorio de referencia
   ---------------------------------
   La composición se diseñó sobre un área útil cercana a 1280 px. En una
   pantalla amplia, el navegador no debe necesitar zoom para conservar las
   mismas proporciones: las medidas crecen de forma gradual hasta 1920 px.
   En tabletas y móviles se mantienen las reglas responsive existentes.
*/
@media (min-width: 1200px) {
    .shell {
        width: min(
            calc(100% - clamp(48px, 5vw, 96px)),
            clamp(1180px, 92.1875vw, 1770px)
        );
    }

    .topbar {
        font-size: clamp(11px, .86vw, 16.5px);
    }

    .topbar__content {
        min-height: clamp(30px, 2.34375vw, 45px);
        gap: clamp(15px, 1.17vw, 22px);
    }

    .site-header .nav-wrap {
        height: clamp(100px, 7.8125vw, 150px);
        gap: clamp(26px, 2.03vw, 39px);
    }

    .brand {
        width: clamp(205px, 16.02vw, 307px);
    }

    .brand img {
        max-height: clamp(82px, 6.41vw, 123px);
    }

    .main-nav {
        gap: clamp(18px, 1.875vw, 36px);
    }

    .main-nav a {
        font-size: clamp(12px, .9375vw, 18px);
    }

    .button--small {
        padding: clamp(11px, .86vw, 16.5px) clamp(14px, 1.09vw, 21px);
        font-size: clamp(11px, .86vw, 16.5px);
    }

    .hero--business,
    .hero--business .hero__grid {
        min-height: clamp(620px, 48.4375vw, 930px);
    }

    .hero--business .hero__content {
        max-width: clamp(650px, 50.78vw, 975px);
        padding: clamp(80px, 6.25vw, 120px) 0;
    }

    .eyebrow {
        font-size: clamp(11px, .86vw, 16.5px);
        gap: clamp(9px, .7vw, 13.5px);
        margin-bottom: clamp(18px, 1.41vw, 27px);
    }

    .eyebrow span {
        width: clamp(34px, 2.66vw, 51px);
    }

    .hero h1 {
        font-size: clamp(68px, 5.3125vw, 102px);
        max-width: clamp(645px, 50.39vw, 968px);
    }

    .hero__lead {
        max-width: clamp(550px, 42.97vw, 825px);
        margin: clamp(27px, 2.11vw, 40.5px) 0;
        font-size: clamp(16px, 1.25vw, 24px);
    }

    .hero__content > p:not(.eyebrow):not(.hero__lead) {
        max-width: clamp(650px, 50.78vw, 975px);
        font-size: clamp(15px, 1.17vw, 22.5px);
    }

    .team__grid--five .portrait {
        height: clamp(310px, 24.21875vw, 465px);
    }

    .team__grid--five .team-card > div:last-child {
        padding: clamp(22px, 1.72vw, 33px) clamp(23px, 1.8vw, 34.5px)
            clamp(24px, 1.875vw, 36px);
    }

    .team__grid--five .team-card h3 {
        font-size: clamp(22px, 1.72vw, 33px);
        margin-bottom: clamp(10px, .78vw, 15px);
    }

    .team__grid--five .team-card small {
        font-size: clamp(10px, .78vw, 15px);
    }

    .team__grid--five .team-card__footer {
        padding-top: clamp(16px, 1.25vw, 24px);
        gap: clamp(8px, .625vw, 12px);
    }

    .team__grid--five .team-card__link {
        font-size: clamp(13px, 1.02vw, 19.5px);
    }

    html {
        scroll-padding-top: clamp(98px, 7.66vw, 147px);
    }

    .button {
        gap: clamp(11px, .86vw, 16.5px);
        padding: clamp(15px, 1.17vw, 22.5px) clamp(22px, 1.72vw, 33px);
        font-size: clamp(12px, .9375vw, 18px);
    }

    .hero__actions {
        gap: clamp(28px, 2.19vw, 42px);
        margin-top: clamp(35px, 2.73vw, 52.5px);
    }

    .text-link,
    .hero__credential {
        font-size: clamp(12px, .9375vw, 18px);
    }

    .hero__credential {
        margin-top: clamp(48px, 3.75vw, 72px);
        padding-top: clamp(22px, 1.72vw, 33px);
        gap: clamp(13px, 1.02vw, 19.5px);
    }

    .hero__credential i {
        font-size: clamp(22px, 1.72vw, 33px);
    }

    .specialties .shell {
        min-height: clamp(72px, 5.625vw, 108px);
        gap: clamp(20px, 1.56vw, 30px);
    }

    .specialties span {
        font-size: clamp(10px, .78vw, 15px);
    }

    .specialties span + span {
        padding-left: clamp(20px, 1.56vw, 30px);
    }

    .section {
        padding: clamp(116px, 9.06vw, 174px) 0;
    }

    .section h2,
    .contact h2 {
        font-size: clamp(52px, 4.06vw, 78px);
    }

    .firm__intro > p:not(.eyebrow),
    .solidarity__intro > p:not(.eyebrow),
    .mission article p:not(.eyebrow),
    .advantage__panel > p:not(.eyebrow),
    .section-heading > p,
    .contact__information > p:not(.eyebrow) {
        font-size: clamp(13px, 1.02vw, 19.5px);
    }

    .firm__intro > p:not(.eyebrow) {
        max-width: clamp(430px, 33.59vw, 645px);
        margin: clamp(26px, 2.03vw, 39px) 0;
    }

    .firm__detail {
        padding-left: clamp(48px, 3.75vw, 72px);
    }

    .firm__copy > p {
        font-size: clamp(22px, 1.72vw, 33px);
    }

    .body-copy {
        font-size: clamp(13px, 1.02vw, 19.5px) !important;
        margin-top: clamp(18px, 1.41vw, 27px);
    }

    .strengths {
        padding: clamp(21px, 1.64vw, 31.5px) clamp(24px, 1.875vw, 36px);
        gap: clamp(12px, .9375vw, 18px);
        font-size: clamp(12px, .9375vw, 18px);
    }

    .strengths--single {
        margin-top: clamp(31px, 2.42vw, 46.5px);
    }

    .section-heading {
        gap: clamp(70px, 5.47vw, 105px);
        margin-bottom: clamp(46px, 3.59vw, 69px);
    }

    .section-heading h2 {
        max-width: clamp(610px, 47.66vw, 915px);
    }

    .section-heading > p {
        max-width: clamp(310px, 24.22vw, 465px);
        padding-bottom: clamp(5px, .39vw, 7.5px);
    }

    .services__grid {
        gap: clamp(16px, 1.25vw, 24px);
    }

    .services__grid--business .service-card::before {
        height: clamp(156px, 12.19vw, 234px);
    }

    .services__grid--business .service-card__body {
        padding: clamp(29px, 2.27vw, 43.5px);
    }

    .service-card h3 {
        font-size: clamp(23px, 1.8vw, 34.5px);
    }

    .service-card p {
        max-width: clamp(260px, 20.31vw, 390px);
        font-size: clamp(12px, .9375vw, 18px);
        margin-top: clamp(12px, .9375vw, 18px);
    }

    .mission article {
        padding: clamp(68px, 5.31vw, 102px) clamp(65px, 5.08vw, 97.5px);
    }

    .mission article h2 {
        font-size: clamp(38px, 2.97vw, 57px);
    }

    .mission article p:not(.eyebrow) {
        max-width: clamp(475px, 37.11vw, 712.5px);
        margin-top: clamp(20px, 1.56vw, 30px);
    }

    .solidarity__intro h2 {
        max-width: clamp(590px, 46.09vw, 885px);
    }

    .solidarity__intro > p:not(.eyebrow) {
        max-width: clamp(580px, 45.31vw, 870px);
        margin-top: clamp(17px, 1.33vw, 25.5px);
    }

    .solidarity__list {
        padding: clamp(42px, 3.28vw, 63px);
    }

    .solidarity__list h3 {
        font-size: clamp(28px, 2.19vw, 42px);
    }

    .solidarity__list ul {
        padding: clamp(19px, 1.48vw, 28.5px) 0;
        margin-top: clamp(19px, 1.48vw, 28.5px);
    }

    .solidarity__list li {
        padding: clamp(7px, .55vw, 10.5px) 0 clamp(7px, .55vw, 10.5px) clamp(17px, 1.33vw, 25.5px);
        font-size: clamp(12px, .9375vw, 18px);
    }

    .solidarity__list > p {
        font-size: clamp(18px, 1.41vw, 27px);
        margin-top: clamp(7px, .55vw, 10.5px);
    }

    .advantage__panel {
        padding: clamp(70px, 5.47vw, 105px);
        min-height: clamp(470px, 36.72vw, 705px);
    }

    .advantage__panel h2 {
        font-size: clamp(45px, 3.52vw, 67.5px);
        max-width: clamp(430px, 33.59vw, 645px);
    }

    .advantage__panel > p:not(.eyebrow) {
        max-width: clamp(390px, 30.47vw, 585px);
        margin: clamp(22px, 1.72vw, 33px) 0 clamp(30px, 2.34vw, 45px);
    }

    .advantage__cards article {
        padding: clamp(49px, 3.83vw, 73.5px) clamp(38px, 2.97vw, 57px);
    }

    .advantage__cards article::before {
        height: clamp(124px, 9.69vw, 186px);
    }

    .advantage__cards article {
        padding-top: clamp(161px, 12.58vw, 241.5px);
    }

    .advantage__cards i {
        font-size: clamp(25px, 1.95vw, 37.5px);
        margin-bottom: clamp(18px, 1.41vw, 27px);
    }

    .advantage__cards h3 {
        font-size: clamp(22px, 1.72vw, 33px);
    }

    .advantage__cards p {
        font-size: clamp(12px, .9375vw, 18px);
        margin-top: clamp(8px, .625vw, 12px);
    }

    .metrics {
        padding: clamp(41px, 3.2vw, 61.5px) 0;
    }

    .metrics strong {
        font-size: clamp(42px, 3.28vw, 63px);
    }

    .metrics strong i {
        font-size: clamp(31px, 2.42vw, 46.5px);
    }

    .metrics span {
        font-size: clamp(10px, .78vw, 15px);
    }

    .method__heading {
        margin-bottom: clamp(58px, 4.53vw, 87px);
    }

    .method__heading h2 {
        max-width: clamp(540px, 42.19vw, 810px);
    }

    .timeline {
        gap: clamp(22px, 1.72vw, 33px);
    }

    .timeline:before {
        top: clamp(23px, 1.8vw, 34.5px);
    }

    .timeline li {
        padding-top: clamp(66px, 5.16vw, 99px);
    }

    .timeline li > span {
        width: clamp(47px, 3.67vw, 70.5px);
        height: clamp(47px, 3.67vw, 70.5px);
        font-size: clamp(11px, .86vw, 16.5px);
    }

    .timeline h3 {
        font-size: clamp(20px, 1.56vw, 30px);
    }

    .timeline p {
        font-size: clamp(11px, .86vw, 16.5px);
        margin-top: clamp(8px, .625vw, 12px);
    }

    .contact__grid {
        padding: clamp(105px, 8.2vw, 157.5px) 0;
    }

    .contact h2 {
        max-width: clamp(480px, 37.5vw, 720px);
    }

    .contact__information > p:not(.eyebrow) {
        max-width: clamp(470px, 36.72vw, 705px);
        margin: clamp(23px, 1.8vw, 34.5px) 0 clamp(37px, 2.89vw, 55.5px);
    }

    .contact-list {
        gap: clamp(17px, 1.33vw, 25.5px);
    }

    .contact-list > a,
    .contact-list > span {
        gap: clamp(15px, 1.17vw, 22.5px);
        font-size: clamp(11px, .86vw, 16.5px);
    }

    .contact-list i {
        font-size: clamp(15px, 1.17vw, 22.5px);
        width: clamp(18px, 1.41vw, 27px);
    }

    .contact-form {
        padding: clamp(39px, 3.05vw, 58.5px) clamp(39px, 3.05vw, 58.5px) clamp(31px, 2.42vw, 46.5px);
    }

    .form-tag,
    .contact-form label {
        font-size: clamp(10px, .78vw, 15px);
    }

    .contact-form h3 {
        font-size: clamp(31px, 2.42vw, 46.5px);
        margin: clamp(3px, .23vw, 4.5px) 0 clamp(20px, 1.56vw, 30px);
    }

    .field-row {
        gap: clamp(13px, 1.02vw, 19.5px);
    }

    input,
    textarea,
    .contact-form select {
        padding: clamp(8px, .625vw, 12px) 0;
        font-size: clamp(12px, .9375vw, 18px);
    }

    .form-note,
    .form-success {
        font-size: clamp(9px, .7vw, 13.5px);
        margin-top: clamp(13px, 1.02vw, 19.5px);
    }

    .footer__grid {
        gap: clamp(70px, 5.47vw, 105px);
        padding: clamp(60px, 4.69vw, 90px) 0;
    }

    .footer__brand {
        font-size: clamp(31px, 2.42vw, 46.5px);
    }

    .footer p {
        max-width: clamp(270px, 21.09vw, 405px);
        font-size: clamp(12px, .9375vw, 18px);
        margin-top: clamp(11px, .86vw, 16.5px);
    }

    .footer h3,
    .footer ul {
        font-size: clamp(10px, .78vw, 15px);
    }

    .footer li {
        margin-bottom: clamp(14px, 1.09vw, 21px);
    }

}

/* Tarjetas de soluciones con imagen y detalle desplegable. */
.services__grid--business .service-card {
    min-height: 0;
    overflow: hidden;
    padding: 0;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(90, 159, 18, .12);
}

.services__grid--business .service-card--featured {
    background: #fff;
    color: var(--ink);
}

.services__grid--business .service-card>i {
    display: none;
}

.services__grid--business .service-card::before {
    content: '';
    display: block;
    height: 156px;
    flex: none;
    background: center / cover no-repeat;
}

.services__grid--business .service-card:nth-child(1)::before {
    background-image: linear-gradient(0deg, rgba(34, 75, 7, .26), rgba(34, 75, 7, .04)), url('https://images.unsplash.com/photo-1521737711867-e3b97375f902?auto=format&fit=crop&w=900&q=80');
}

.services__grid--business .service-card:nth-child(2)::before {
    background-image: linear-gradient(0deg, rgba(34, 75, 7, .2), rgba(34, 75, 7, .03)), url('https://images.unsplash.com/photo-1450101499163-c8848c66ca85?auto=format&fit=crop&w=900&q=80');
}

.services__grid--business .service-card:nth-child(3)::before {
    background-image: linear-gradient(0deg, rgba(34, 75, 7, .2), rgba(34, 75, 7, .03)), url('https://images.unsplash.com/photo-1589391886645-d51941baf7fb?auto=format&fit=crop&w=900&q=80');
}

.services__grid--business .service-card:nth-child(4)::before {
    background-image: linear-gradient(0deg, rgba(34, 75, 7, .2), rgba(34, 75, 7, .03)), url('https://images.unsplash.com/photo-1554224155-8d04cb21cd6c?auto=format&fit=crop&w=900&q=80');
}

.services__grid--business .service-card:nth-child(5)::before {
    background-image: linear-gradient(0deg, rgba(34, 75, 7, .2), rgba(34, 75, 7, .03)), url('assets/oficina.jpeg');
}

.services__grid--business .service-card:nth-child(6)::before {
    background-image: linear-gradient(0deg, rgba(34, 75, 7, .2), rgba(34, 75, 7, .03)), url('https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?auto=format&fit=crop&w=900&q=80');
}

.services__grid--business .service-card h3,
.services__grid--business .service-card--featured h3 {
    color: #21470c;
    margin: 0;
}

/* La tarjeta destacada conserva una regla anterior de enlace blanco; el fondo actual es blanco. */
.services__grid--business .service-card--featured .service-card__page-link {
    color: var(--forest-2);
}

.services__grid--business .service-card p {
    color: #53664b;
    max-width: none;
    margin-top: 10px;
}

.services__grid--business .card-number {
    position: static;
    display: block;
    color: var(--forest);
    font-weight: 700;
    margin-bottom: 10px;
}

.service-card__content {
    padding: 23px 26px 25px;
    flex: 1;
}

.service-card__more {
    appearance: none;
    border: 0;
    border-bottom: 1px solid var(--forest);
    color: var(--forest-2);
    background: transparent;
    cursor: pointer;
    font: 700 11px var(--poppins);
    padding: 13px 0 4px;
    margin-top: 11px;
}

.service-card__more i {
    margin-left: 6px;
    transition: transform .2s ease;
}

.service-card.is-expanded .service-card__more i {
    transform: rotate(45deg);
}

.service-card__details {
    display: none;
}

.service-card.is-expanded .service-card__details {
    display: block;
}

.service-card__details p {
    padding-top: 9px;
    border-top: 1px solid var(--line);
}

@media (max-width: 680px) {
    .site-header .nav-wrap {
        height: 78px;
    }

    .brand {
        width: 158px;
    }

    .brand img {
        max-height: 64px;
    }

    .main-nav {
        top: 78px;
    }

    .services__grid--business .service-card::before {
        height: 185px;
    }
}

/* Imágenes de apoyo para los diferenciales. */
.advantage__cards article { position: relative; overflow: hidden; padding-top: 161px; }
.advantage__cards article::before { content: ''; position: absolute; inset: 0 0 auto; height: 124px; background: center / cover no-repeat; }
.advantage__cards article:nth-child(1)::before { background-image: linear-gradient(rgba(55, 99, 10, .12), rgba(55, 99, 10, .12)), url('https://images.unsplash.com/photo-1524758631624-e2822e304c36?auto=format&fit=crop&w=700&q=80'); }
.advantage__cards article:nth-child(2)::before { background-image: linear-gradient(rgba(55, 99, 10, .12), rgba(55, 99, 10, .12)), url('https://images.unsplash.com/photo-1522202176988-66273c2fd55f?auto=format&fit=crop&w=700&q=80'); }
.advantage__cards article:nth-child(3)::before { background-image: linear-gradient(rgba(55, 99, 10, .12), rgba(55, 99, 10, .12)), url('https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?auto=format&fit=crop&w=700&q=80'); }
.advantage__cards article:nth-child(4)::before { background-image: linear-gradient(rgba(55, 99, 10, .12), rgba(55, 99, 10, .12)), url('https://images.unsplash.com/photo-1556761175-b413da4baf72?auto=format&fit=crop&w=700&q=80'); }
.advantage__cards article > i { display: none; }

.metrics { background: #fff; color: #111; border-block: 1px solid rgba(90, 159, 18, .22); }
.metrics article + article { border-left-color: rgba(17, 17, 17, .15); }
.metrics strong, .metrics strong i, .metrics span { color: #111; }

.consent { display: flex !important; align-items: flex-start; gap: 8px; margin-top: 18px !important; color: #52604d !important; font-size: 10px !important; font-weight: 400 !important; line-height: 1.45; }
.consent input { width: auto; margin-top: 3px; }
.website-field { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }

@media (max-width: 680px) {
    .hero--business { background-position: 48% center; }
    .hero--business .hero__content { padding: 74px 0; max-width: 76%; }
    .advantage__cards article { padding-top: 157px; }
}

/* Estas reglas se ubican al final para conservar la escala frente a los ajustes visuales anteriores. */
@media (min-width: 1200px) {
    .team__grid--five {
        gap: clamp(24px, 1.875vw, 36px);
    }

    .team__grid--five .portrait span {
        width: clamp(80px, 6.25vw, 120px);
        height: clamp(80px, 6.25vw, 120px);
        font-size: clamp(32px, 2.5vw, 48px);
    }

    .team__grid--five .team-card p {
        font-size: clamp(9px, .7vw, 13.5px);
        margin-bottom: clamp(6px, .47vw, 9px);
    }

    .team__grid--five .team-card__profile {
        padding: clamp(10px, .78vw, 15px) clamp(12px, .9375vw, 18px);
        font-size: clamp(12px, .9375vw, 18px);
    }

    .services__grid--business .service-card::before {
        height: clamp(156px, 12.19vw, 234px);
    }

    .service-card__content {
        padding: clamp(23px, 1.8vw, 34.5px) clamp(26px, 2.03vw, 39px)
            clamp(25px, 1.95vw, 37.5px);
    }

    .services__grid--business .service-card p {
        margin-top: clamp(10px, .78vw, 15px);
    }

    .services__grid--business .card-number {
        margin-bottom: clamp(10px, .78vw, 15px);
        font-size: clamp(11px, .86vw, 16.5px);
    }

    .service-card__more {
        padding: clamp(13px, 1.02vw, 19.5px) 0 clamp(4px, .31vw, 6px);
        margin-top: clamp(11px, .86vw, 16.5px);
        font-size: clamp(11px, .86vw, 16.5px);
    }

    .service-card__details p {
        padding-top: clamp(9px, .7vw, 13.5px);
    }

    .advantage__cards article {
        padding-top: clamp(161px, 12.58vw, 241.5px);
    }

    .advantage__cards article::before {
        height: clamp(124px, 9.69vw, 186px);
    }

    .consent {
        gap: clamp(8px, .625vw, 12px);
        margin-top: clamp(18px, 1.41vw, 27px) !important;
        font-size: clamp(10px, .78vw, 15px) !important;
    }

    .footer__brand small {
        font-size: clamp(8px, .625vw, 12px);
        margin-left: clamp(4px, .31vw, 6px);
    }

    .footer__bottom {
        padding: clamp(18px, 1.41vw, 27px) 0;
        font-size: clamp(10px, .78vw, 15px);
    }

    .footer__bottom a i {
        margin-left: clamp(6px, .47vw, 9px);
    }

    .reveal {
        transform: translateY(clamp(24px, 1.875vw, 36px));
    }
}

/* Encuadres uniformes para las fotografías reales del equipo. */
.team__grid--five .portrait {
    height: auto;
    aspect-ratio: 7 / 10;
}

.team__grid--five .portrait img {
    object-position: center 42%;
    transform: scale(1.1);
    transform-origin: center 42%;
}

/* Cada toma recibe únicamente el acercamiento necesario para igualar los rostros. */
.team__grid--five .team-card:nth-child(1) .portrait img {
    object-position: center 90% !important;
    transform: scale(1.1);
    transform-origin: center 45%;
}

.team__grid--five .team-card:nth-child(2) .portrait img {
    object-position: center 0% !important;
    transform: translateY(12px) scale(1.1);
}

.team__grid--five .team-card:nth-child(3) .portrait img {
    object-position: center 29% !important;
    transform: scale(1.16);
}

.team__grid--five .team-card:nth-child(4) .portrait img {
    object-position: center 54% !important;
    transform: scale(1.22);
}

.team__grid--five .team-card:nth-child(5) .portrait img {
    object-position: center 85% !important;
    transform: scale(1.22);
}

.team__grid--five .team-card:nth-child(8) .portrait img {
    object-position: center 27%;
    transform: scale(1.16);
}

/*
   La primera fila se encuadra desde el contenedor. Así el recorte vertical
   no depende de la interpretación de object-position del navegador.
*/
.team__grid--five .team-card:nth-child(-n + 5) .portrait {
    background-repeat: no-repeat;
}

.team__grid--five .team-card:nth-child(-n + 5) .portrait img {
    opacity: 0 !important;
}

.team__grid--five .team-card:nth-child(1) .portrait {
    background-image: url('assets/equipo/Jhohanna-Zapata-Castro.png');
    background-size: 110% auto;
    background-position: center 3%;
}

.team__grid--five .team-card:nth-child(2) .portrait {
    background-image: url('assets/equipo/Joan-Daniel-Lopez-Cortes.png');
    background-size: 110% auto;
    background-position: center 69%;
}

.team__grid--five .team-card:nth-child(3) .portrait {
    background-image: url('assets/equipo/Diana-Marcela-Vasco-Marin.JPG');
    background-size: 116% auto;
    background-position: center 30%;
}

.team__grid--five .team-card:nth-child(4) .portrait {
    background-image: url('assets/equipo/Rodrigo-Aguirre-Carvajal.JPG');
    background-size: 122% auto;
    background-position: center 44%;
}

.team__grid--five .team-card:nth-child(5) .portrait {
    background-image: url('assets/equipo/Juliana-Diez-Cifuentes.png');
    background-size: 122% auto;
    background-position: center 57%;
}

/* Segunda fila: misma escala de retrato y una línea común para las cabezas. */
.team__grid--five .team-card:nth-child(n + 6) .portrait {
    background-repeat: no-repeat;
}

.team__grid--five .team-card:nth-child(n + 6) .portrait img {
    opacity: 0 !important;
}

.team__grid--five .team-card:nth-child(6) .portrait {
    background-image: url('assets/equipo/Juana-Cortes-Jaramillo.jpeg');
    background-size: 110% auto;
    background-position: center 40%;
}

.team__grid--five .team-card:nth-child(7) .portrait {
    background-image: url('assets/equipo/Jimena-Zapata-Castro.jpeg');
    background-size: 110% auto;
    background-position: center 56%;
}

.team__grid--five .team-card:nth-child(8) .portrait {
    background-image: url('assets/equipo/Lina-Marcela-Toro-Gil.png');
    background-size: 110% auto;
    background-position: center 26%;
}

.team__grid--five .team-card:nth-child(9) .portrait {
    background-image: url('assets/equipo/Karina-Gutierrez-Zapata.png?v=20260827');
    background-size: 120% auto;
    background-position: center 5%;
}

/* Estructura visual de las tarjetas de servicios del home. */
.services__grid--business .service-card {
    min-height: 390px;
}

.services__grid--business .card-number {
    margin: 22px 26px 0;
    line-height: 1;
}

.services__grid--business .service-card h3 {
    margin: 12px 26px 0;
    min-height: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    color: #21470c;
    font-size: clamp(17px, 1.8vw, 26px) !important;
    line-height: 1.25;
    letter-spacing: -.02em;
    white-space: nowrap;
    text-align: center;
}

.services__grid--business .service-card__details {
    margin: 16px 26px 0;
}

.services__grid--business .service-card__details p {
    margin: 0;
    padding: 14px 0 0;
    border-top: 1px solid rgba(90, 159, 18, .2);
}

.services__grid--business .service-card__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: auto;
    padding: 17px 26px 20px;
    border-top: 1px solid rgba(90, 159, 18, .22);
}

.services__grid--business .service-card__more {
    margin: 0;
    padding: 0;
    border: 0;
    color: var(--forest-2);
    font-size: 12px;
    white-space: nowrap;
}

.services__grid--business .service-card__page-link,
.services__grid--business .service-card--featured .service-card__page-link {
    position: static;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    border: 0;
    color: var(--forest-2);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.services__grid--business .service-card__page-link:hover {
    color: var(--forest);
    text-decoration: underline;
    text-underline-offset: 4px;
}

@media (max-width: 680px) {
    .services__grid--business .service-card {
        min-height: 0;
    }

    .services__grid--business .card-number {
        margin: 20px 22px 0;
    }

    .services__grid--business .service-card h3 {
        margin: 10px 22px 0;
        min-height: 0;
        font-size: clamp(14px, 4vw, 18px) !important;
    }

    .services__grid--business .service-card__details {
        margin: 14px 22px 0;
    }

    .services__grid--business .service-card__actions {
        padding: 16px 22px 18px;
    }
}
