/* =========================================================
   FINNOVA SERVICE PAGE CSS
   Replace old service CSS with this file
========================================================= */

/* =========================
   SERVICE HERO
========================= */

.fn-service-hero-v3 {
    position: relative;
    min-height: 720px;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: #fff;
    background: #020817;
    padding: 120px 0 60px;
}

.fn-service-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.fn-service-hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.04);
}

.fn-service-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(
            90deg,
            rgba(2,8,23,.96) 0%,
            rgba(2,8,23,.78) 42%,
            rgba(2,8,23,.35) 72%,
            rgba(2,8,23,.18) 100%
        ),
        radial-gradient(
            circle at 18% 38%,
            rgba(37,99,235,.36),
            transparent 36%
        );
}

.fn-service-hero-v3 .fn-container {
    position: relative;
    z-index: 3;
}

.fn-service-hero-content {
    max-width: 720px;
}

.fn-service-hero-content h1 {
    margin: 24px 0;
    color: #fff;
    font-size: clamp(2.8rem, 5vw, 5rem);
    line-height: 1.08;
    font-weight: 900;
}

.fn-service-hero-content h1 span {
    display: block;
    color: #60a5fa;
    text-shadow: 0 0 34px rgba(59,130,246,.55);
}

.fn-service-hero-content p {
    max-width: 650px;
    margin: 0 0 34px;
    color: rgba(255,255,255,.78);
    font-size: 1.08rem;
    line-height: 1.9;
}

.fn-service-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

@media (max-width: 991px) {
    .fn-service-hero-v3 {
        min-height: 620px;
        padding: 120px 0 70px;
    }
}

@media (max-width: 575px) {
    .fn-service-hero-v3 {
        min-height: 540px;
    }

    .fn-service-hero-content h1 {
        font-size: 2.55rem;
    }
}

.fn-service-hero-v3 .fn-service-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 10px 20px;
    border-radius: 999px;
    color: #93c5fd;
    background: rgba(37, 99, 235, .18);
    border: 1px solid rgba(96, 165, 250, .35);
    box-shadow: inset 0 0 18px rgba(96, 165, 250, .12);
    backdrop-filter: blur(14px);
    font-size: .86rem;
    font-weight: 900;
    letter-spacing: .5px;
}

/* =========================
   COMMON SERVICE SECTIONS
========================= */

.fn-tech-upgrade,
.fn-appdev-upgrade,
.fn-analytics-upgrade,
.fn-marketing-upgrade {
    padding: 60px 0;
}

.fn-tech-layout,
.fn-appdev-layout,
.fn-analytics-layout,
.fn-marketing-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
}

.fn-tech-upgrade-header,
.fn-tech-header {
    max-width: 900px;
    margin-bottom: 58px;
}

.fn-tech-upgrade-header h2,
.fn-appdev-content h2,
.fn-analytics-content h2,
.fn-marketing-content h2 {
    margin: 0 0 20px;
    color: #fff;
    font-size: clamp(2rem, 3.5vw, 3.4rem);
    line-height: 1.2;
    font-weight: 900;
}

.fn-tech-upgrade-header p,
.fn-appdev-content p,
.fn-analytics-content p,
.fn-marketing-content p {
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: 1.08rem;
    line-height: 1.9;
}

/* =========================
   IMAGE VISUAL STYLE
========================= */

.fn-tech-visual,
.fn-appdev-visual,
.fn-analytics-visual,
.fn-marketing-visual {
    position: relative;
}

.fn-tech-visual::before,
.fn-appdev-visual::before,
.fn-analytics-visual::before,
.fn-marketing-visual::before {
    content: "";
    position: absolute;
    inset: 12%;
    background: rgba(13, 110, 253, .38);
    filter: blur(90px);
    z-index: 0;
}

.fn-tech-visual img,
.fn-appdev-visual img,
.fn-analytics-visual img,
.fn-marketing-visual img {
    position: relative;
    z-index: 2;
    width: 100%;
    display: block;
    border-radius: 32px;
    border: 1px solid rgba(96, 165, 250, .26);
    box-shadow: 0 35px 100px rgba(0, 0, 0, .38);
    transition: transform .25s ease;
}

/* =========================
   FLOATING CARDS
========================= */

.fn-tech-center-badge,
.fn-appdev-floating,
.fn-analytics-floating-card,
.fn-marketing-visual-card {
    position: absolute;
    z-index: 3;
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 16px 18px;
    border-radius: 20px;
    color: #fff;
    background: rgba(8, 20, 42, .92);
    border: 1px solid rgba(96, 165, 250, .28);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .35);
    backdrop-filter: blur(18px);
}

.fn-tech-center-badge {
    left: 26px;
    bottom: 26px;
    max-width: 340px;
}

.fn-marketing-visual-card {
    left: 26px;
    bottom: 26px;
    max-width: 330px;
}

.fn-appdev-floating i,
.fn-analytics-floating-card i,
.fn-marketing-visual-card i,
.fn-tech-center-badge i {
    color: #60a5fa;
    font-size: 1.25rem;
}

.app-float-1 {
    top: 40px;
    left: -24px;
}

.app-float-2 {
    right: -20px;
    top: 45%;
}

.app-float-3 {
    left: 30px;
    bottom: 35px;
}

.analytics-float-1 {
    top: 38px;
    left: -20px;
}

.analytics-float-2 {
    right: -20px;
    top: 46%;
}

/* =========================
   TECH ITEMS
========================= */

.fn-tech-list,
.fn-appdev-process,
.fn-analytics-list,
.fn-marketing-modern-cards {
    display: grid;
    gap: 18px;
}

.fn-tech-item,
.fn-appdev-step,
.fn-analytics-feature,
.fn-marketing-card {
    position: relative;
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 24px;
    border-radius: 22px;
    background: rgba(8, 20, 42, .78);
    border: 1px solid rgba(96, 165, 250, .20);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .22);
    backdrop-filter: blur(16px);
    transition: .28s ease;
    cursor: pointer;
    overflow: hidden;
}

.fn-tech-item:hover,
.fn-tech-item.active,
.fn-appdev-step:hover,
.fn-appdev-step.active,
.fn-analytics-feature:hover,
.fn-analytics-feature.active,
.fn-marketing-card:hover,
.fn-marketing-card.active {
    transform: translateX(8px);
    border-color: rgba(96, 165, 250, .50);
    box-shadow: 0 30px 85px rgba(13, 110, 253, .22);
}

.fn-tech-item h3,
.fn-appdev-step h3,
.fn-analytics-feature h3,
.fn-marketing-card h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.15rem;
    font-weight: 900;
    line-height: 1.4;
}

.fn-tech-item p,
.fn-appdev-step p,
.fn-analytics-feature p,
.fn-marketing-card p {
    margin: 0;
    color: rgba(255, 255, 255, .66);
    line-height: 1.75;
}

/* =========================
   ICONS
========================= */

.fn-tech-item-icon,
.fn-analytics-feature-icon,
.fn-marketing-icon {
    width: 62px;
    height: 62px;
    min-width: 62px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    font-size: 1.65rem;
    border: 1px solid rgba(96, 165, 250, .25);
}

.fn-appdev-step > span {
    width: 58px;
    height: 58px;
    min-width: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    color: #60a5fa;
    background: rgba(13, 110, 253, .20);
    border: 1px solid rgba(96, 165, 250, .24);
    font-weight: 900;
}

.blue {
    color: #60a5fa;
    background: rgba(13, 110, 253, .22);
}

.cyan {
    color: #22d3ee;
    background: rgba(34, 211, 238, .16);
}

.purple {
    color: #a78bfa;
    background: rgba(139, 92, 246, .20);
}

.green {
    color: #4ade80;
    background: rgba(34, 197, 94, .18);
}

/* =========================
   ANALYTICS SCORE
========================= */

.fn-analytics-score-card {
    position: absolute;
    z-index: 3;
    left: 28px;
    bottom: 28px;
    width: 150px;
    padding: 20px;
    border-radius: 22px;
    text-align: center;
    background: rgba(8, 20, 42, .92);
    border: 1px solid rgba(96, 165, 250, .28);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .35);
    backdrop-filter: blur(18px);
}

.fn-analytics-score-card span {
    display: block;
    color: rgba(255, 255, 255, .65);
    font-size: .78rem;
    font-weight: 800;
}

.fn-analytics-score-card strong {
    display: block;
    margin: 6px 0;
    color: #60a5fa;
    font-size: 2.2rem;
    font-weight: 900;
}

.fn-analytics-score-card small {
    color: #4ade80;
    font-weight: 900;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 991px) {
    .fn-service-hero-v2 {
        min-height: auto;
        padding: 150px 0 80px;
    }

    .fn-service-bottom-cards {
        grid-template-columns: repeat(2, 1fr);
        margin-top: 54px;
    }

    .fn-tech-layout,
    .fn-appdev-layout,
    .fn-analytics-layout,
    .fn-marketing-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .fn-service-hero-v2 {
        padding: 130px 0 65px;
    }

    .fn-service-hero-content h1 {
        font-size: 2.7rem;
    }

    .fn-service-hero-content p {
        font-size: 1rem;
    }

    .fn-service-bottom-cards {
        grid-template-columns: 1fr;
    }

    .fn-tech-item,
    .fn-appdev-step,
    .fn-analytics-feature,
    .fn-marketing-card {
        flex-direction: column;
    }

    .fn-tech-center-badge,
    .fn-appdev-floating,
    .fn-analytics-score-card,
    .fn-analytics-floating-card,
    .fn-marketing-visual-card {
        position: relative;
        inset: auto;
        margin-top: 16px;
    }
}