/**
 * KS Telecomserv — HSSE Interactive Cards
 * Uses global :root variables.
 */

.ks-hsse-grid,
.ks-hsse-grid * {
    box-sizing: border-box;
}

.ks-hsse-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    width: 100%;
    border: 1px solid var(--hair);
    border-right: 0;
}

.ks-hsse-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 400px;
    margin: 0;
    padding: 30px 24px;
    overflow: hidden;
    border-right: 1px solid var(--hair);
    background: transparent;
    color: var(--fog);
    cursor: pointer;
    outline: 0;
    transition: background .4s ease, border-color .4s ease, transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease;
}

.ks-hsse-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(238,122,43,.18), transparent 72%);
    opacity: 0;
    pointer-events: none;
    transition: opacity .4s ease;
}

.ks-hsse-card:hover,
.ks-hsse-card.is-active {
    background: linear-gradient(165deg, rgba(18,69,124,.4), rgba(7,31,58,.5));
    border-color: rgba(238,122,43,.45);
    box-shadow: inset 0 0 0 1px rgba(238,122,43,.16);
}

.ks-hsse-card:hover::before,
.ks-hsse-card.is-active::before {
    opacity: 1;
}

.ks-hsse-icon {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    margin-bottom: 24px;
    border: 1px solid var(--hair-2);
    color: var(--azure-glow);
    transition: border-color .35s ease, color .35s ease, transform .35s cubic-bezier(.22,1,.36,1);
}

.ks-hsse-icon::before {
    content: "";
    width: 20px;
    height: 20px;
    background-color: currentColor;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
}

.ks-hsse-card:hover .ks-hsse-icon,
.ks-hsse-card.is-active .ks-hsse-icon {
    border-color: var(--orange);
    color: var(--orange);
    transform: translateY(-3px);
}

.ks-hsse-icon-policy::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V6.5A2.5 2.5 0 0 1 6.5 4H17l3 3v12.5'/%3E%3Cpath d='M9 13l2 2 4-4'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V6.5A2.5 2.5 0 0 1 6.5 4H17l3 3v12.5'/%3E%3Cpath d='M9 13l2 2 4-4'/%3E%3C/g%3E%3C/svg%3E");
}

.ks-hsse-icon-compliance::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l7.5 3.2v5c0 4.6-3.1 8.6-7.5 10.3-4.4-1.7-7.5-5.7-7.5-10.3v-5L12 3Z' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l7.5 3.2v5c0 4.6-3.1 8.6-7.5 10.3-4.4-1.7-7.5-5.7-7.5-10.3v-5L12 3Z' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ks-hsse-icon-practices::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4a4 4 0 1 1-.01 8.01A4 4 0 0 1 12 4ZM5 20.5a7 7 0 0 1 14 0' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4a4 4 0 1 1-.01 8.01A4 4 0 0 1 12 4ZM5 20.5a7 7 0 0 1 14 0' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ks-hsse-icon-risk::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 8v4.5M12 15.8h.01'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 8v4.5M12 15.8h.01'/%3E%3C/g%3E%3C/svg%3E");
}

.ks-hsse-icon-zero::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7.5 3.2v5c0 4.6-3.1 8.6-7.5 10.3-4.4-1.7-7.5-5.7-7.5-10.3v-5L12 3Z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7.5 3.2v5c0 4.6-3.1 8.6-7.5 10.3-4.4-1.7-7.5-5.7-7.5-10.3v-5L12 3Z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/g%3E%3C/svg%3E");
}

.ks-hsse-card h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 11px;
    padding: 0;
    font-family: var(--font-heading);
    font-size: var(--fs-h3);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: var(--fog);
}

.ks-hsse-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
    font-size: var(--fs-micro);
    font-weight: 400;
    line-height: 1.75;
    color: var(--fog-3);
}

.ks-hsse-number {
    position: relative;
    z-index: 1;
    display: block;
    margin-top: auto;
    padding-top: 24px;
    font-family: var(--font-heading);
    font-size: var(--fs-micro);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .14em;
    color: var(--fog-4);
    transition: color .35s ease;
}

.ks-hsse-card:hover .ks-hsse-number,
.ks-hsse-card.is-active .ks-hsse-number {
    color: var(--orange);
}

.ks-hsse-card:focus-visible {
    outline: 2px solid var(--orange);
    outline-offset: -2px;
}

@media (max-width: 1080px) {
    .ks-hsse-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border-bottom: 0;
    }

    .ks-hsse-card {
        min-height: 330px;
        border-bottom: 1px solid var(--hair);
    }
}

@media (max-width: 680px) {
    .ks-hsse-grid {
        grid-template-columns: 1fr;
    }

    .ks-hsse-card {
        min-height: auto;
        padding: 28px 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ks-hsse-card,
    .ks-hsse-card::before,
    .ks-hsse-icon,
    .ks-hsse-number {
        transition: none;
    }
}