/* ==========================================================================
   Home page
   ========================================================================== */
.eyebrow {
    margin: 0 0 var(--space-3);
    color: var(--color-accent-700);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.875rem;
    padding: 0.75rem 1.125rem;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    font-weight: 750;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}

.button:hover {
    transform: translateY(-2px);
}

.button--primary {
    background: var(--color-accent-700);
    color: var(--color-surface);
}

.button--primary:hover {
    background: var(--color-brand-800);
    color: var(--color-surface);
}

.button--secondary {
    border-color: var(--color-border);
    background: var(--color-surface);
    color: var(--color-brand-950);
}

.button--secondary:hover {
    border-color: var(--color-brand-800);
    background: var(--color-surface-soft);
    color: var(--color-brand-950);
}

/* Hero */
.home-hero {
    display: flex;
    min-height: 38rem;
    padding: calc(var(--navbar-height) + var(--space-6)) var(--container-gutter) var(--space-7);
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(8, 38, 48, 0.96) 0%, rgba(8, 38, 48, 0.84) 38%, rgba(8, 38, 48, 0.28) 72%, rgba(8, 38, 48, 0.12) 100%),
        url('../impresoras/Ricoh.jpg') center / cover no-repeat;
    color: var(--color-surface);
}

.home-hero__inner {
    display: flex;
    align-items: center;
    width: min(100%, var(--container-width));
    margin-inline: auto;
}

.home-hero__content {
    align-self: center;
    max-width: 42rem;
}

.home-hero .eyebrow {
    color: var(--color-accent-200);
}

.home-hero h1 {
    max-width: 16ch;
    margin: 0;
    color: var(--color-surface);
    font-size: clamp(2.25rem, 10vw, 4.75rem);
    letter-spacing: -0.045em;
}

.home-hero__lead {
    max-width: 38rem;
    margin: var(--space-5) 0 0;
    color: #d9e7ea;
    font-size: clamp(1.05rem, 3vw, 1.25rem);
}

.home-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-6);
}

/* Trust strip */
.trust-strip {
    padding: var(--space-5) var(--container-gutter);
    border-bottom: 1px solid var(--color-border);
    background: var(--color-surface);
}

.trust-strip__inner {
    display: grid;
    gap: var(--space-4);
    width: min(100%, var(--container-width));
    margin-inline: auto;
}

.trust-strip__inner > p {
    margin: 0;
    color: var(--color-text-muted);
    font-size: var(--font-size-sm);
    font-weight: 700;
}

.trust-strip__brands {
    display: flex;
    align-items: center;
    gap: var(--space-5);
}

.trust-strip__brands img {
    width: auto;
    max-width: 7rem;
    height: 1.5rem;
    object-fit: contain;
}

.trust-strip__services {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2) var(--space-4);
    margin: 0;
    padding: 0;
    color: var(--color-text-muted);
    font-size: var(--font-size-sm);
    list-style: none;
}

.trust-strip__services li {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.trust-strip__services li::before {
    content: "";
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background: var(--color-accent-600);
}

/* Shared home sections */
.home-section {
    width: min(100% - (2 * var(--container-gutter)), var(--container-width));
    margin-inline: auto;
    padding-block: var(--space-8);
}

.home-services {
    width: min(100% - (2 * var(--container-gutter)), 90rem);
}

.home-section__header {
    max-width: 46rem;
    margin-bottom: var(--space-6);
}

.home-section__header h2,
.home-catalog h2,
.home-contact .contact h2 {
    margin: 0;
    color: var(--color-brand-950);
    font-size: clamp(1.9rem, 6vw, 3.25rem);
    letter-spacing: -0.035em;
    text-transform: none;
}

.home-section__header > p:last-child {
    max-width: 42rem;
    margin: var(--space-4) 0 0;
    color: var(--color-text-muted);
    font-size: var(--font-size-lg);
}

/* Services */
.home-services__title > span:not(.home-services__separator) {
    display: inline-block;
    white-space: nowrap;
}

.home-services__grid {
    display: grid;
    gap: var(--space-4);
}

.home-service-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 19rem;
    padding: var(--space-5);
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    color: var(--color-text);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
    transition: border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal);
}

.home-service-card::before {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8, 38, 48, 0.48) 0%, rgba(8, 38, 48, 0.9) 74%, rgba(8, 38, 48, 0.98) 100%);
    content: "";
    pointer-events: none;
}

.home-service-card:nth-child(1) {
    background: var(--color-brand-950) url('../impresoras/venta.webp') center / cover no-repeat;
}

.home-service-card:nth-child(2) {
    background: var(--color-brand-950) url('../impresoras/alquiler.jpg') center / cover no-repeat;
}

.home-service-card:nth-child(3) {
    background: var(--color-brand-950) url('../impresoras/soporte-side.jpg') center / cover no-repeat;
}

.home-service-card:nth-child(4) {
    background: var(--color-brand-950) url('../impresoras/insumo.webp') center / cover no-repeat;
}

.home-service-card > * {
    position: relative;
    z-index: 1;
}

.home-service-card:hover {
    border-color: var(--color-accent-600);
    color: var(--color-surface);
    box-shadow: var(--shadow-md);
    transform: translateY(-4px);
}

.home-service-card__number {
    color: var(--color-accent-200);
    font-size: var(--font-size-sm);
    font-weight: 800;
    letter-spacing: 0.08em;
}

.home-service-card h3 {
    margin: var(--space-5) 0 var(--space-3);
    color: var(--color-surface);
    font-size: 1.35rem;
}

.home-service-card p {
    margin: 0 0 var(--space-5);
    color: #e0ecee;
}

.home-service-card__link {
    margin-top: auto;
    color: var(--color-accent-200);
    font-weight: 750;
}

/* Benefits */
.home-benefits__grid {
    display: grid;
    gap: var(--space-5);
}

.home-benefits article {
    padding-top: var(--space-4);
    border-top: 2px solid var(--color-border);
}

.home-benefits article > span {
    color: var(--color-accent-700);
    font-size: var(--font-size-sm);
    font-weight: 800;
}

.home-benefits h3 {
    margin: var(--space-4) 0 var(--space-3);
    color: var(--color-brand-950);
    font-size: 1.35rem;
}

.home-benefits article p {
    margin: 0;
    color: var(--color-text-muted);
}

/* Contact variant */
.home-contact .contact {
    padding: var(--space-8) var(--container-gutter);
    background: var(--color-surface-muted);
    text-align: left;
}

.home-contact .contact .container {
    display: grid;
    width: min(100%, 68rem);
    margin-inline: auto;
    gap: var(--space-6);
}

.home-contact .contact .left-section,
.home-contact .contact .right-section {
    width: 100%;
}

.home-contact .contact .left-section h2 {
    margin-bottom: var(--space-4);
    letter-spacing: -0.035em;
}

.home-contact .contact .left-section p {
    max-width: 42rem;
    margin: 0;
    color: var(--color-text-muted);
    font-size: var(--font-size-lg);
}

.home-contact .contact .right-section {
    display: grid;
    gap: var(--space-3);
}

@media (min-width: 40rem) {
    .home-services__grid,
    .home-benefits__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .trust-strip__inner {
        grid-template-columns: auto auto;
        align-items: center;
    }

    .trust-strip__services {
        grid-column: 1 / -1;
    }
}

@media (min-width: 48rem) {
    .home-hero {
        padding-block: calc(var(--navbar-height) + var(--space-7)) var(--space-8);
    }

    .home-contact .contact .container {
        grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
        align-items: center;
    }
}

@media (min-width: 64rem) {
    .home-services {
        display: grid;
        grid-template-columns: minmax(17rem, 0.72fr) minmax(0, 1.28fr);
        gap: var(--space-8);
        align-items: center;
    }

    .home-services .home-section__header {
        max-width: 25rem;
        margin-bottom: 0;
    }

    .home-services__title > span:not(.home-services__separator) {
        display: block;
    }

    .home-services__separator {
        display: none;
    }

    .home-services__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-service-card {
        height: 19rem;
    }

    .home-service-card h3 {
        margin-top: var(--space-4);
    }

    .home-benefits__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .trust-strip__inner {
        grid-template-columns: auto auto 1fr;
    }

    .trust-strip__services {
        grid-column: auto;
        justify-content: flex-end;
    }
}

@media (min-width: 80rem) {
    .home-services {
        display: block;
    }

    .home-services .home-section__header {
        max-width: 64rem;
        margin-bottom: var(--space-7);
    }

    .home-services__title > span:not(.home-services__separator) {
        display: inline-block;
    }

    .home-services__separator {
        display: inline;
    }

    .home-services__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 39.99rem) {
    .home-hero {
        min-height: 32rem;
        padding-top: calc(var(--navbar-height) + var(--space-5));
        padding-bottom: var(--space-6);
        background:
            linear-gradient(90deg, rgba(8, 38, 48, 0.96) 0%, rgba(8, 38, 48, 0.82) 72%, rgba(8, 38, 48, 0.58) 100%),
            url('../impresoras/Ricoh.jpg') 62% center / cover no-repeat;
    }

    .home-hero .eyebrow {
        margin-bottom: var(--space-2);
        font-size: 0.6875rem;
        letter-spacing: 0.1em;
    }

    .home-hero h1 {
        max-width: 14ch;
        font-size: clamp(2rem, 9.5vw, 2.5rem);
        line-height: 1.04;
    }

    .home-hero__lead {
        margin-top: var(--space-4);
        font-size: 1rem;
    }

    .home-hero__actions {
        display: grid;
        grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
        gap: var(--space-2);
        margin-top: var(--space-5);
    }

    .home-hero__actions .button {
        width: 100%;
        padding-inline: var(--space-3);
        font-size: 0.9375rem;
    }

    .trust-strip {
        padding-block: var(--space-4);
    }

    .trust-strip__inner {
        grid-template-columns: auto 1fr;
        gap: var(--space-4) var(--space-3);
        align-items: center;
    }

    .trust-strip__brands {
        justify-content: flex-end;
        gap: var(--space-4);
    }

    .trust-strip__brands img {
        max-width: 5.5rem;
        height: 1.25rem;
    }

    .trust-strip__services {
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: repeat(4, auto);
        justify-content: space-between;
        gap: var(--space-2);
        font-size: 0.75rem;
    }

    .trust-strip__services li {
        gap: 0.375rem;
    }

    .trust-strip__services li::before {
        width: 0.35rem;
        height: 0.35rem;
    }
}

@media (max-width: 22rem) {
    .home-hero__actions {
        grid-template-columns: 1fr;
    }

    .trust-strip__brands {
        gap: var(--space-3);
    }

    .trust-strip__brands img {
        max-width: 4.75rem;
    }

    .trust-strip__services {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    .button:hover,
    .home-service-card:hover {
        transform: none;
    }
}
