/* Services v13: unnumbered columns, VI title accents and shared rounded actions. */
.home-capabilities.home-businesses {
    padding: 88px 0 104px;
    color: #0b0b0b;
    background: #fff;
    scroll-margin-top: 74px;
}
.home-businesses > .container { max-width: 1780px; padding-inline: 40px; }
.home-businesses .home-businesses__title {
    max-width: none;
    margin: 0 0 64px;
    font-size: clamp(44px, 4.2vw, 72px);
    line-height: 1.06;
    letter-spacing: -.055em;
    font-weight: 600;
}
.home-businesses .business-rows { display: grid; gap: 88px; }
.home-businesses .business-row { display: flex; }
.home-businesses .business-card {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    height: clamp(620px, 44vw, 820px);
    padding: 0 22px;
    border-left: 1px solid #a7a7a7;
    color: #0b0b0b;
    background: #fff;
    text-decoration: none;
    overflow: hidden;
    transition: flex-grow .7s cubic-bezier(.22, 1, .36, 1);
}
.home-businesses .business-card:last-child { border-right: 1px solid #a7a7a7; }
.home-businesses .business-card.is-active { flex-grow: 2.12; }
.home-businesses .business-card__title {
    margin: 0;
    font-size: clamp(32px, 2.65vw, 48px);
    line-height: 1.09;
    letter-spacing: -.045em;
    font-weight: 600;
    overflow-wrap: normal;
    color: #090909;
}
.home-businesses .business-card__keyword { display: block; }
.home-businesses .business-card__full { display: none; color: #969696; }
.home-businesses .business-card__full b { color: var(--vi-accent, #a0eb1d); font-weight: inherit; }
.home-businesses .business-card.is-active .business-card__keyword { display: none; }
.home-businesses .business-card.is-active .business-card__full { display: block; animation: business-title-in .35s ease both; }
.home-businesses .business-card__cta {
    display: none;
    align-items: center; justify-content: center; gap: 14px;
    width: max-content;
    margin-top: 24px;
    min-height: var(--action-button-height, 46px);
    padding: 12px 24px;
    border: 1px solid #d7dbd2; border-radius: var(--action-button-radius, 999px);
    color: #171a1d; background: #fff;
    font-size: 12px; line-height: 1.25; font-weight: 600;
}
.home-businesses .business-card.is-active .business-card__cta { display: inline-flex; animation: business-title-in .4s ease both; }
.home-businesses .business-card__visual {
    height: 44%;
    min-height: 220px;
    flex: 0 1 auto;
    margin-top: auto;
    overflow: hidden;
    background: #eeefee;
    transition: height .7s cubic-bezier(.22, 1, .36, 1), margin-top .7s cubic-bezier(.22, 1, .36, 1);
}
.home-businesses .business-card.is-active .business-card__visual { height: calc(100% - 160px); margin-top: auto; }
.home-businesses .business-card__image {
    display: block;
    width: 100%; height: 100%; max-width: none;
    object-fit: cover;
    object-position: var(--image-focus, 50% 50%);
    transform: scale(1);
    transition: transform .9s cubic-bezier(.22, 1, .36, 1);
}
.home-businesses .business-card.is-active .business-card__image { transform: scale(1.015); }
.home-businesses [data-business="planning"] { --image-focus: 52% 50%; }
.home-businesses [data-business="industrial"] { --image-focus: 57% 50%; }
.home-businesses [data-business="mechanical"] { --image-focus: 50% 50%; }
.home-businesses [data-business="patent"] { --image-focus: 50% 50%; }
.home-businesses [data-business="branding"] { --image-focus: 50% 50%; }
.home-businesses [data-business="delivery"] { --image-focus: 53% 50%; }
.home-businesses .business-card:focus-visible { outline: 2px solid #78af16; outline-offset: -3px; }
@keyframes business-title-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 1600px) {
    .home-businesses .business-card { padding-inline: 24px; }
}
@media (min-width: 1024px) and (max-width: 1199px) {
    .home-businesses > .container { padding-inline: 28px; }
    .home-businesses .business-card { padding-inline: 18px; height: 590px; }
    .home-businesses .business-card__title { font-size: 30px; }
}
@media (max-width: 1023px) {
    .home-capabilities.home-businesses { padding: 64px 0 72px; scroll-margin-top: 64px; }
    .home-businesses > .container { padding-inline: 28px; }
    .home-businesses .home-businesses__title { margin-bottom: 44px; font-size: 48px; }
    .home-businesses .business-rows { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 0; }
    .home-businesses .business-row { display: contents; }
    .home-businesses .business-card,
    .home-businesses .business-card:last-child { height: auto; padding-inline: 18px; border-right: 0; gap: 0; }
    .home-businesses .business-card__title { min-height: 2.18em; margin-top: 0; font-size: 28px; }
    .home-businesses .business-card__keyword { display: none; }
    .home-businesses .business-card__full { display: block; }
    .home-businesses .business-card__cta,
    .home-businesses .business-card.is-active .business-card__cta { display: none; }
    .home-businesses .business-card__visual,
    .home-businesses .business-card.is-active .business-card__visual { flex: none; height: auto; min-height: 0; aspect-ratio: 4 / 3; margin-top: 24px; }
    .home-businesses .business-card__image,
    .home-businesses .business-card.is-active .business-card__image { transform: none; }
    .home-businesses .business-row.home-reveal { opacity: 1; transform: none; }
}
@media (max-width: 600px) {
    .home-capabilities.home-businesses { padding: 52px 0 64px; }
    .home-businesses > .container { padding-inline: 20px; }
    .home-businesses .home-businesses__title { font-size: 42px; margin-bottom: 38px; }
    .home-businesses .business-rows { grid-template-columns: minmax(0, 1fr); gap: 38px; }
    .home-businesses .business-card,
    .home-businesses .business-card:last-child { padding-inline: 16px 0; }
    .home-businesses .business-card__title { min-height: 0; font-size: 28px; }
}
@media (hover: none) and (min-width: 1024px) {
    .home-businesses .business-card__keyword { display: none; }
    .home-businesses .business-card__full { display: block; }
}
@media (prefers-reduced-motion: reduce) {
    .home-businesses .business-card,
    .home-businesses .business-card__visual,
    .home-businesses .business-card__image { transition: none; }
    .home-businesses .business-card.is-active .business-card__full,
    .home-businesses .business-card.is-active .business-card__cta { animation: none; }
}
