/* ================================================
   Services Page — Wilsol Tech
   ================================================ */

/* ---- Shared Utilities ---- */
.svc-eyebrow {
    font-family: var(--AvertaFont);
    font-size: 0.95vw;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.2vw;
    color: #707380;
    display: block;
}

.svc-eyebrow-dark {
    color: #000;
}

.svc-eyebrow-muted {
    color: #555;
}

/* ================================================
   Hero
   ================================================ */
.svc-hero {
    min-height: 90vh;
    width: 100%;
    display: flex;
    align-items: flex-end;
    padding: 0 6.5vw 6vw;
    gap: 6vw;
    border-bottom: 1px solid #e0e0e0;
    position: relative;
}

.svc-hero-left {
    width: 55%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 2.5vw;
}

.svc-hero-title {
    font-family: var(--ThunderFont);
    font-size: 22vw;
    font-weight: 700;
    line-height: 0.86;
    letter-spacing: -0.4vw;
    text-transform: uppercase;
    transform: scale(1, 0.8);
    transform-origin: left bottom;
    color: #000;
    margin-top: 0.5vw;
}

.svc-hero-right {
    width: 40%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 3vw;
    padding-bottom: 0.4vw;
}

.svc-hero-desc {
    font-family: var(--AvertaFont);
    font-size: 1.35vw;
    font-weight: 300;
    color: #707380;
    line-height: 1.8;
}

.svc-hero-pills {
    display: flex;
    flex-direction: column;
    gap: 0.7vw;
}

.svc-pill {
    font-family: var(--AvertaFont);
    font-size: 1.05vw;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.08vw;
    color: #000;
    border: 1px solid #c0c0c0;
    padding: 0.8vw 1.8vw;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.svc-pill:hover {
    background: #000;
    color: #fff;
    border-color: #000;
}

/* ================================================
   Dark Statement
   ================================================ */
.svc-statement {
    background-color: #0C0C0C;
    padding: 8vw 6.5vw;
    display: flex;
    flex-direction: column;
    gap: 3vw;
}

.svc-statement-text {
    font-family: var(--AvertaFont);
    font-size: 3.3vw;
    font-weight: 600;
    color: #fff;
    line-height: 1.3;
    width: 80%;
}

/* ================================================
   Service Cards
   ================================================ */
.svc-card {
    width: 100%;
    min-height: 92vh;
    display: flex;
    align-items: center;
    padding: 7vw 6.5vw;
    gap: 6vw;
    border-bottom: 1px solid #e0e0e0;
    background: #fff;
    position: relative;
    overflow: hidden;
}

.svc-card-inverted {
    flex-direction: row-reverse;
}

.svc-card-dark {
    background-color: #0C0C0C;
    border-bottom-color: #222;
}

/* Text column */
.svc-card-text {
    width: 48%;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 1.8vw;
}

.svc-card-num {
    font-family: var(--AvertaFont);
    font-size: 0.95vw;
    font-weight: 500;
    letter-spacing: 0.15vw;
    color: #707380;
    text-transform: uppercase;
}

.svc-card-num-light {
    color: #555;
}

.svc-card-title {
    font-family: var(--AvertaFont);
    font-size: 4.2vw;
    font-weight: 700;
    line-height: 1.05;
    color: #000;
    transform: scale(1, 0.82);
    transform-origin: left center;
}

.svc-card-title-light {
    color: #fff;
}

.svc-card-desc {
    font-family: var(--AvertaFont);
    font-size: 1.25vw;
    font-weight: 300;
    color: #707380;
    line-height: 1.8;
    width: 90%;
}

.svc-card-desc-light {
    color: #888;
}

/* Feature list */
.svc-features {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.8vw;
    margin-top: 0.5vw;
}

.svc-features li {
    font-family: var(--AvertaFont);
    font-size: 1.1vw;
    font-weight: 400;
    color: #444;
    padding: 0.7vw 0;
    border-top: 1px solid #e8e8e8;
    display: flex;
    align-items: center;
    gap: 1vw;
}

.svc-features li::before {
    content: "—";
    color: #000;
    font-weight: 600;
    flex-shrink: 0;
}

.svc-features-light li {
    color: #aaa;
    border-top-color: #2a2a2a;
}

.svc-features-light li::before {
    color: #fff;
}

/* CTA button inside card */
.svc-card-btn {
    font-family: var(--AvertaFont);
    font-size: 1.05vw;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1vw;
    color: #000;
    border: 1px solid #18181a;
    padding: 1vw 2.5vw 1.15vw;
    border-radius: 50px;
    display: inline-block;
    width: fit-content;
    margin-top: 0.8vw;
    transition: background 0.2s ease, color 0.2s ease;
}

.svc-card-btn:hover {
    background: #18181a;
    color: #fff;
}

.svc-card-btn-light {
    color: #fff;
    border-color: #555;
}

.svc-card-btn-light:hover {
    background: #fff;
    color: #000;
    border-color: #fff;
}

/* Image column */
.svc-card-img-col {
    flex: 1;
    position: relative;
    align-self: stretch;
    display: flex;
    align-items: center;
}

.svc-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
    display: block;
    min-height: 55vh;
    max-height: 70vh;
}

.svc-card-badge {
    position: absolute;
    bottom: 1.5vw;
    right: 1.5vw;
    font-family: var(--AvertaFont);
    font-size: 0.85vw;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15vw;
    background: #fff;
    color: #000;
    padding: 0.5vw 1.2vw;
    border-radius: 50px;
}

.svc-card-dark .svc-card-badge {
    background: #0C0C0C;
    color: #fff;
    border: 1px solid #444;
}

/* ================================================
   Process Section
   ================================================ */
.svc-process {
    background-color: #0C0C0C;
    padding: 9vw 6.5vw;
}

.svc-process-header {
    display: flex;
    flex-direction: column;
    gap: 1.2vw;
    margin-bottom: 6vw;
}

.svc-process-heading {
    font-family: var(--AvertaFont);
    font-size: 4.5vw;
    font-weight: 700;
    color: #fff;
    transform: scale(1, 0.82);
    transform-origin: left center;
}

.svc-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3vw;
}

.svc-step {
    display: flex;
    flex-direction: column;
    gap: 1.5vw;
    padding-top: 2vw;
    border-top: 1px solid #333;
    position: relative;
}

.svc-step-num {
    font-family: var(--ThunderFont);
    font-size: 5.5vw;
    font-weight: 700;
    color: #e1e1e1;
    line-height: 1;
    transform: scale(1, 0.8);
    transform-origin: left center;
    display: block;
}

.svc-step-line {
    width: 2.5vw;
    height: 2px;
    background: #444;
}

.svc-step-title {
    font-family: var(--AvertaFont);
    font-size: 1.6vw;
    font-weight: 700;
    color: #fff;
}

.svc-step-desc {
    font-family: var(--AvertaFont);
    font-size: 1.05vw;
    font-weight: 300;
    color: #777;
    line-height: 1.75;
}

/* ================================================
   Why Us / Stats
   ================================================ */
.svc-why {
    padding: 9vw 6.5vw;
    border-bottom: 1px solid #e0e0e0;
}

.svc-why-header {
    display: flex;
    flex-direction: column;
    gap: 1.2vw;
    margin-bottom: 6vw;
}

.svc-why-heading {
    font-family: var(--AvertaFont);
    font-size: 4vw;
    font-weight: 700;
    color: #000;
    transform: scale(1, 0.82);
    transform-origin: left center;
}

.svc-why-grid {
    display: flex;
    align-items: stretch;
    gap: 0;
}

.svc-why-stat {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1vw;
    padding: 0 4vw 0 0;
}

.svc-why-stat:not(:first-child) {
    padding-left: 4vw;
}

.svc-why-num {
    font-family: var(--ThunderFont);
    font-size: 10vw;
    font-weight: 700;
    color: #000;
    line-height: 0.84;
    transform: scale(1, 0.8);
    transform-origin: left bottom;
    display: block;
}

.svc-why-label {
    font-family: var(--AvertaFont);
    font-size: 1vw;
    font-weight: 600;
    color: #000;
    text-transform: uppercase;
    letter-spacing: 0.1vw;
}

.svc-why-desc {
    font-family: var(--AvertaFont);
    font-size: 1.1vw;
    font-weight: 300;
    color: #707380;
    line-height: 1.75;
    padding-right: 2vw;
}

.svc-why-divider {
    width: 1px;
    background: #e0e0e0;
    align-self: stretch;
    flex-shrink: 0;
}

/* ================================================
   CTA Band
   ================================================ */
.svc-cta {
    background-color: #0C0C0C;
    padding: 9vw 6.5vw;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.svc-cta-inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 2vw;
    max-width: 55%;
}

.svc-cta-title {
    font-family: var(--ThunderFont);
    font-size: 11vw;
    font-weight: 700;
    color: #fff;
    line-height: 0.88;
    transform: scale(1, 0.8);
    transform-origin: left center;
    letter-spacing: -0.3vw;
}

.svc-cta-sub {
    font-family: var(--AvertaFont);
    font-size: 1.35vw;
    font-weight: 300;
    color: #888;
    line-height: 1.7;
}

.svc-cta-btn {
    font-family: var(--AvertaFont);
    font-size: 1.1vw;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.12vw;
    color: #000;
    background: #fff;
    padding: 1.1vw 3vw 1.25vw;
    border-radius: 50px;
    display: inline-block;
    width: fit-content;
    margin-top: 0.5vw;
    transition: background 0.2s ease, color 0.2s ease;
}

.svc-cta-btn:hover {
    background: #e0e0e0;
}

.svc-cta-bg-text {
    position: absolute;
    right: -2vw;
    bottom: -5vw;
    font-family: var(--ThunderFont);
    font-size: 28vw;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1;
    letter-spacing: -1vw;
    transform: scale(1, 0.8);
    transform-origin: right bottom;
    pointer-events: none;
    user-select: none;
    z-index: 1;
}

/* ================================================
   Mobile — ≤ 768px
   ================================================ */
@media (max-width: 768px) {

    /* Eyebrow */
    .svc-eyebrow {
        font-size: 3.2vw;
    }

    /* Hero */
    .svc-hero {
        flex-direction: column;
        min-height: auto;
        padding: 20vw 5.5vw 10vw;
        gap: 8vw;
        align-items: flex-start;
    }

    .svc-hero-left,
    .svc-hero-right {
        width: 100%;
    }

    .svc-hero-title {
        font-size: 27vw;
        letter-spacing: -0.5vw;
    }

    .svc-hero-desc {
        font-size: 4.3vw;
        line-height: 1.7;
    }

    .svc-hero-pills {
        gap: 2.5vw;
    }

    .svc-pill {
        font-size: 3.5vw;
        padding: 2.5vw 5vw;
    }

    /* Statement */
    .svc-statement {
        padding: 14vw 5.5vw;
        gap: 5vw;
    }

    .svc-statement-text {
        font-size: 6.5vw;
        width: 100%;
        line-height: 1.3;
    }

    /* Service Cards */
    .svc-card,
    .svc-card-inverted {
        flex-direction: column;
        min-height: auto;
        padding: 12vw 5.5vw;
        gap: 8vw;
    }

    .svc-card-text {
        width: 100%;
        gap: 4vw;
    }

    .svc-card-num,
    .svc-card-num-light {
        font-size: 3.5vw;
    }

    .svc-card-title,
    .svc-card-title-light {
        font-size: 9vw;
    }

    .svc-card-desc,
    .svc-card-desc-light {
        font-size: 4.3vw;
        width: 100%;
    }

    .svc-features li {
        font-size: 4vw;
        gap: 3vw;
        padding: 2.5vw 0;
    }

    .svc-card-btn,
    .svc-card-btn-light {
        font-size: 3.5vw;
        padding: 3vw 7vw;
    }

    .svc-card-img-col {
        width: 100%;
        align-self: auto;
    }

    .svc-card-img {
        min-height: 55vw;
        max-height: 60vw;
        border-radius: 15px;
    }

    .svc-card-badge {
        font-size: 3vw;
        padding: 1.5vw 3.5vw;
        bottom: 3vw;
        right: 3vw;
    }

    /* Process */
    .svc-process {
        padding: 14vw 5.5vw;
    }

    .svc-process-heading {
        font-size: 9vw;
    }

    .svc-process-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8vw 5vw;
    }

    .svc-step-num {
        font-size: 12vw;
    }

    .svc-step-title {
        font-size: 5vw;
    }

    .svc-step-desc {
        font-size: 3.8vw;
        line-height: 1.6;
    }

    /* Why Us */
    .svc-why {
        padding: 12vw 5.5vw;
    }

    .svc-why-heading {
        font-size: 8vw;
    }

    .svc-why-grid {
        flex-direction: column;
        gap: 10vw;
    }

    .svc-why-stat {
        padding: 0;
        gap: 2vw;
    }

    .svc-why-stat:not(:first-child) {
        padding-left: 0;
        border-top: 1px solid #e0e0e0;
        padding-top: 8vw;
    }

    .svc-why-divider {
        display: none;
    }

    .svc-why-num {
        font-size: 22vw;
    }

    .svc-why-label {
        font-size: 3.5vw;
    }

    .svc-why-desc {
        font-size: 4vw;
        padding-right: 0;
        line-height: 1.7;
    }

    /* CTA */
    .svc-cta {
        padding: 14vw 5.5vw;
    }

    .svc-cta-inner {
        max-width: 100%;
        gap: 5vw;
    }

    .svc-cta-title {
        font-size: 20vw;
        letter-spacing: -0.5vw;
    }

    .svc-cta-sub {
        font-size: 4.3vw;
        line-height: 1.65;
    }

    .svc-cta-btn {
        font-size: 3.8vw;
        padding: 3.5vw 8vw;
    }

    .svc-cta-bg-text {
        font-size: 40vw;
        right: -4vw;
        bottom: -3vw;
    }
}
