/* 02 / What we do: seven services in three pillars (white band) */
.services {
    background: var(--color-snow);
}
.services .section-head { max-width: 820px; }
.services .section-head__lead { max-width: 720px; text-wrap: balance; }

.pillars {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
}
/* Pillar heading: a mono index + bold name over a soft black rule */
.pillar-group__head {
    display: flex;
    align-items: baseline;
    gap: 1.25rem;
    padding-bottom: 1rem;
    margin-bottom: 0;
    border-bottom: 2px solid var(--color-ink);
}
.pillar-group__idx {
    font-family: var(--font-mono);
    font-size: var(--fs-eyebrow);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--color-accent);
    white-space: nowrap;
}
.pillar-group__name {
    font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem);
    font-weight: 800;
    letter-spacing: -0.025em;
}

.services__grid {
    display: grid;
    gap: 0;
    border-left: 1px solid var(--color-bone);
}
.services__grid--3 { grid-template-columns: repeat(3, 1fr); }
.services__grid--4 { grid-template-columns: repeat(4, 1fr); }

.service-card {
    position: relative;
    padding: var(--space-6) var(--space-5);
    border-right: 1px solid var(--color-bone);
    border-bottom: 1px solid var(--color-bone);
    background: var(--color-snow);
    transition: background 0.4s var(--ease-out), color 0.4s var(--ease-out);
}
.service-card:hover {
    background: var(--color-ink);
}
.service-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: var(--space-5);
}
.service-card__num {
    font-family: var(--font-mono);
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--color-accent);
    letter-spacing: 0.04em;
}
.service-card__icon {
    display: inline-flex;
    color: var(--color-ink);
    transition: color 0.4s var(--ease-out), transform 0.5s var(--ease-out);
}
.service-card__icon svg { width: 40px; height: 40px; }
.service-card:hover .service-card__icon {
    color: var(--color-snow);
    transform: rotate(-4deg) scale(1.05);
}
.service-card__title {
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--color-ink);
    transition: color 0.4s var(--ease-out);
}
.service-card__tag {
    margin-top: 0.4rem;
    font-family: var(--font-mono);
    font-size: var(--fs-micro);
    letter-spacing: 0.04em;
    color: var(--color-accent);
}
.service-card__desc {
    margin-top: var(--space-3);
    font-size: var(--fs-small);
    color: var(--color-slate);
    line-height: 1.7;
    transition: color 0.4s var(--ease-out);
}
.service-card:hover .service-card__title { color: var(--color-snow); }
.service-card:hover .service-card__desc  { color: var(--color-mist); }
.service-card__rule {
    margin-top: var(--space-5);
    height: 2px;
    width: 32px;
    background: var(--color-accent);
    transition: width 0.5s var(--ease-out);
}
.service-card:hover .service-card__rule { width: 64px; }

/* Pillar 3: one statement card */
.tech-card {
    display: flex;
    align-items: center;
    gap: var(--space-6);
    padding: var(--space-6) var(--space-5);
    border: 1px solid var(--color-bone);
    border-top: 0;
}
.tech-card__icon { color: var(--color-ink); flex: none; }
.tech-card__icon svg { width: 40px; height: 40px; }
.tech-card__text {
    flex: 1;
    font-size: clamp(1.15rem, 1rem + 0.6vw, 1.5rem);
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--color-ink);
    max-width: none;
}
.tech-card__logo { width: 70px; height: auto; flex: none; opacity: 0.9; }

.services__footer {
    margin-top: var(--space-8);
    text-align: center;
}
@media (max-width: 1100px) {
    .services__grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 880px) {
    .services__grid--3 { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .services__grid--4 { grid-template-columns: 1fr; }
    .service-card { padding: var(--space-5) var(--space-4); }
    .pillar-group__head { flex-direction: column; gap: 0.35rem; }
    .tech-card { flex-wrap: wrap; gap: var(--space-4); padding: var(--space-5) var(--space-4); }
    .tech-card__text { flex-basis: 100%; order: 2; }
    .tech-card__logo { order: 1; margin-left: auto; width: 56px; }
}
