/* ============================================================
   NEVALOSS TECHNOLOGIES
   HOMEPAGE - COMPLETE RESPONSIVE CSS
   Brand:
   Purple  #3e08a4
   Orange  #ee5739
   ============================================================ */


/* ============================================================
   01. ROOT
============================================================ */

:root {

    --nl-purple: #3e08a4;
    --nl-purple-light: #7565ff;
    --nl-purple-dark: #4737dc;

    --nl-orange: #ee5739;

    --nl-dark: #07131f;
    --nl-dark-2: #0b1724;

    --nl-light: #f7f8fc;
    --nl-light-2: #fafbfe;

    --nl-white: #ffffff;

    --nl-text: #171c29;
    --nl-heading: #111827;
    --nl-muted: #687080;
    --nl-muted-2: #8991a1;

    --nl-border: #e3e6ed;
    --nl-border-light: #edf0f4;

    --nl-shadow:
        0 12px 35px rgba(20, 30, 50, .07);

    --nl-shadow-hover:
        0 22px 50px rgba(20, 30, 50, .12);

    --nl-radius: 14px;
    --nl-radius-small: 10px;
}


/* ============================================================
   02. GLOBAL
============================================================ */

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;

    /*font-family:
        "Poppins",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
*/
    font-size: 16px;
    line-height: 1.6;

    color: var(--nl-text);

    background: #fff;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;

    zoom: 1 !important;
}

* {
    box-sizing: border-box;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    text-decoration: none;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}


/* ============================================================
   03. BOOTSTRAP CONTAINER OVERRIDE
============================================================ */

.nl-home-hero .container,
.nl-expertise-section .container,
.nl-project-section .container,
.nl-process-section .container,
.nl-industry-section .container {

    width: 100%;

    max-width: 1240px;

    margin-left: auto;
    margin-right: auto;

    padding-left: 20px;
    padding-right: 20px;
}


/* ============================================================
   LARGE DESKTOP
============================================================ */

@media (min-width: 1400px) {

    .nl-home-hero .container,
    .nl-expertise-section .container,
    .nl-project-section .container,
    .nl-process-section .container,
    .nl-industry-section .container {

        max-width: 1280px;

    }

}


/* ============================================================
   04. COMMON
============================================================ */

.nl-home-hero,
.nl-expertise-section,
.nl-project-section,
.nl-process-section,
.nl-industry-section {

    font-family: inherit;

}


.nl-home-hero a,
.nl-expertise-section a,
.nl-project-section a,
.nl-process-section a,
.nl-industry-section a {

    text-decoration: none;

}


/* ============================================================
   05. HERO
============================================================ */

.nl-home-hero {

    position: relative;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #fafaff 48%,
            #f3f1ff 100%
        );

    color: var(--nl-text);

}


.nl-hero-bg {

    position: absolute;

    inset: 0;

    z-index: 0;

    pointer-events: none;

    background-image:

        radial-gradient(
            circle at 78% 35%,
            rgba(90,73,248,.10),
            transparent 32%
        ),

        radial-gradient(
            circle at 12% 85%,
            rgba(238,87,57,.05),
            transparent 25%
        );

}


/* ============================================================
   HERO GRID
============================================================ */

.nl-hero-grid {

    position: relative;

    z-index: 2;

    min-height: 650px;

    display: grid;

    grid-template-columns:
        48% 52%;

    align-items: center;

    padding-top: 75px;

    padding-bottom: 40px;

}


/* ============================================================
   HERO LEFT
============================================================ */

.nl-hero-copy {

    position: relative;

    z-index: 5;

    padding-right: 40px;

}


.nl-eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 9px;

    padding: 8px 14px;

    margin-bottom: 22px;

    border-radius: 50px;

    background:
        rgba(90,73,248,.07);

    border:
        1px solid rgba(90,73,248,.13);

    color: var(--nl-purple);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1.2px;

}


.nl-eyebrow span {

    width: 7px;

    height: 7px;

    flex-shrink: 0;

    border-radius: 50%;

    background: var(--nl-orange);

    box-shadow:
        0 0 0 4px rgba(238,87,57,.10);

}


/* ============================================================
   HERO HEADING
============================================================ */

.nl-hero-copy h1 {

    max-width: 700px;

    margin: 0 0 24px;

    color: #101622;

    font-size:
        clamp(48px, 4.4vw, 68px);

    line-height: 1.04;

    letter-spacing: -3px;

    font-weight: 600;

}


.nl-hero-copy h1 span {

    color: var(--nl-purple);

}


/* ============================================================
   HERO DESCRIPTION
============================================================ */

.nl-hero-copy > p {

    max-width: 620px;

    margin:
        0 0 30px;

    color: #626b7a;

    font-size: 16px;

    line-height: 1.75;

}


/* ============================================================
   HERO BUTTONS
============================================================ */

.nl-hero-actions {

    display: flex;

    flex-wrap: wrap;

    gap: 13px;

}


.nl-btn-primary,
.nl-btn-outline {

    min-height: 54px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    padding:
        0 25px;

    border-radius: 8px;

    font-size: 14px;

    font-weight: 600;

    transition:
        all .3s ease;

}


.nl-btn-primary {

    color: #fff !important;

    background:
        linear-gradient(
            135deg,
            var(--nl-purple),
            var(--nl-purple-light)
        );

    border:
        1px solid var(--nl-purple);

    box-shadow:
        0 12px 28px
        rgba(90,73,248,.22);

}


.nl-btn-primary:hover {

    color: #fff !important;

    background:
        linear-gradient(
            135deg,
            var(--nl-purple-dark),
            var(--nl-purple)
        );

    transform:
        translateY(-3px);

    box-shadow:
        0 18px 35px
        rgba(90,73,248,.28);

}


.nl-btn-outline {

    color: #222837 !important;

    background:
        rgba(255,255,255,.75);

    border:
        1px solid #d9dde6;

}


.nl-btn-outline:hover {

    color:
        var(--nl-purple) !important;

    background:
        #fff;

    border-color:
        rgba(90,73,248,.35);

    transform:
        translateY(-3px);

}


.nl-play {

    width: 28px;

    height: 28px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    color:
        var(--nl-purple);

    background:
        rgba(90,73,248,.09);

    font-size: 9px;

}


/* ============================================================
   HERO NOTE
============================================================ */

.nl-hero-note {

    display: flex;

    align-items: center;

    gap: 11px;

    margin-top: 28px;

}


.nl-check {

    width: 38px;

    height: 38px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    border-radius: 50%;

    color: #21a674;

    background:
        rgba(33,166,116,.10);

    font-size: 11px;

}


.nl-hero-note strong {

    display: block;

    color: #252b38;

    font-size: 13px;

    font-weight: 600;

}


.nl-hero-note small {

    display: block;

    margin-top: 2px;

    color: #8a919f;

    font-size: 11px;

}


/* ============================================================
   06. HERO VISUAL
============================================================ */

.nl-hero-visual {

    position: relative;

    min-height: 520px;

    display: flex;

    align-items: center;

    justify-content: center;

}


.nl-glow {

    position: absolute;

    width: 560px;

    height: 560px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(90,73,248,.12),
            transparent 68%
        );

}


/* ============================================================
   DASHBOARD
============================================================ */

.nl-dashboard-card {

    position: relative;

    z-index: 3;

    width: 560px;

    max-width: 94%;

    overflow: hidden;

    border-radius: 17px;

    background: #111827;

    border:
        1px solid
        rgba(255,255,255,.10);

    box-shadow:
        0 30px 70px
        rgba(10,20,35,.28);

    transform:
        perspective(1200px)
        rotateY(-4deg)
        rotateX(1deg);

}


.nl-dashboard-top {

    height: 40px;

    display: flex;

    align-items: center;

    padding:
        0 14px;

    background: #151d2b;

    border-bottom:
        1px solid
        rgba(255,255,255,.06);

}


.nl-dots {

    display: flex;

    gap: 5px;

}


.nl-dots span {

    width: 7px;

    height: 7px;

    border-radius: 50%;

    background: #697181;

}


.nl-browser {

    flex: 1;

    margin-left: 22px;

    padding:
        6px 12px;

    border-radius: 5px;

    text-align: center;

    color: #697181;

    background: #0d1521;

    font-size: 8px;

}


/* ============================================================
   DASHBOARD BODY
============================================================ */

.nl-dashboard-body {

    display: flex;

    min-height: 390px;

}


.nl-dashboard-sidebar {

    width: 62px;

    flex-shrink: 0;

    padding: 17px 9px;

    background: #0c1420;

    border-right:
        1px solid
        rgba(255,255,255,.05);

}


.nl-n-logo {

    width: 34px;

    height: 34px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin:
        0 auto 22px;

    border-radius: 8px;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            var(--nl-purple),
            #7767ff
        );

    font-size: 13px;

    font-weight: 700;

}


.nl-dashboard-sidebar i {

    width: 36px;

    height: 36px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 7px auto;

    border-radius: 7px;

    color: #697383;

    font-size: 11px;

}


.nl-dashboard-sidebar i.active {

    color: #887cff;

    background:
        rgba(90,73,248,.17);

}


/* ============================================================
   DASHBOARD MAIN
============================================================ */

.nl-dashboard-main {

    flex: 1;

    padding: 20px;

}


.nl-dashboard-title {

    display: flex;

    align-items: center;

    justify-content: space-between;

}


.nl-dashboard-title small {

    display: block;

    color: #667183;

    font-size: 8px;

    letter-spacing: .7px;

}


.nl-dashboard-title h4 {

    margin:
        4px 0 0;

    color: #f0f2f7;

    font-size: 18px;

    font-weight: 600;

}


.nl-live {

    display: flex;

    align-items: center;

    gap: 6px;

    padding:
        6px 10px;

    border-radius: 20px;

    color: #46d39b;

    background:
        rgba(70,211,155,.08);

    font-size: 8px;

}


.nl-live b {

    width: 6px;

    height: 6px;

    border-radius: 50%;

    background: #46d39b;

}


/* ============================================================
   DASHBOARD STATS
============================================================ */

.nl-mini-stats {

    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 10px;

    margin-top: 14px;

}


.nl-mini-stats > div {

    display: flex;

    align-items: center;

    gap: 10px;

    padding: 11px;

    border-radius: 8px;

    background: #151e2d;

    border:
        1px solid
        rgba(255,255,255,.04);

}


.stat-icon {

    width: 32px;

    height: 32px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    border-radius: 7px;

    font-size: 10px;

}


.stat-icon.purple {

    color: #897cff;

    background:
        rgba(90,73,248,.13);

}


.stat-icon.orange {

    color: #ff856e;

    background:
        rgba(238,87,57,.13);

}


.nl-mini-stats small {

    display: block;

    color: #667183;

    font-size: 7px;

}


.nl-mini-stats strong {

    display: block;

    margin-top: 2px;

    color: #f3f4f7;

    font-size: 12px;

}


/* ============================================================
   DASHBOARD CHART
============================================================ */

.nl-chart-box {

    margin-top: 10px;

    padding: 13px;

    border-radius: 9px;

    background: #151e2d;

    border:
        1px solid
        rgba(255,255,255,.04);

}


.nl-chart-head {

    display: flex;

    justify-content: space-between;

}


.nl-chart-head small {

    display: block;

    color: #697485;

    font-size: 7px;

}


.nl-chart-head strong {

    display: block;

    margin-top: 2px;

    color: #f1f3f7;

    font-size: 11px;

}


.nl-chart-head > span {

    color: #697485;

    font-size: 7px;

}


.nl-chart-box svg {

    width: 100%;

    height: 135px;

    margin-top: 7px;

}


/* ============================================================
   DASHBOARD BOTTOM
============================================================ */

.nl-dashboard-bottom {

    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 10px;

    margin-top: 10px;

}


.nl-dashboard-bottom > div {

    display: grid;

    grid-template-columns:
        31px 1fr;

    grid-template-rows:
        1fr 1fr;

    column-gap: 8px;

    padding: 9px;

    border-radius: 8px;

    background: #151e2d;

}


.nl-dashboard-bottom span {

    grid-row:
        span 2;

    width: 31px;

    height: 31px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 7px;

    color: #4dd69e;

    background:
        rgba(77,214,158,.08);

    font-size: 9px;

}


.nl-dashboard-bottom div:nth-child(2) span {

    color: #6c9dff;

    background:
        rgba(108,157,255,.09);

}


.nl-dashboard-bottom small {

    color: #687385;

    font-size: 6px;

}


.nl-dashboard-bottom strong {

    color: #f0f2f6;

    font-size: 8px;

}


/* ============================================================
   07. FLOATING MOBILE
============================================================ */

.nl-floating-mobile {

    position: absolute;

    z-index: 7;

    left: 1%;

    bottom: 8px;

    width: 120px;

    padding: 7px;

    border:
        3px solid #30394a;

    border-radius: 19px;

    background: #202938;

    box-shadow:
        0 25px 45px
        rgba(10,20,35,.30);

    transform:
        rotate(-7deg);

}


.mobile-notch {

    width: 40px;

    height: 7px;

    margin:
        0 auto 6px;

    border-radius:
        0 0 8px 8px;

    background: #343d4e;

}


.nl-floating-mobile > div:not(.mobile-notch):not(.mobile-chart):not(.mobile-button) {

    margin-top: 8px;

}


.mobile-logo {

    width: 29px;

    height: 29px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin:
        6px auto 9px;

    border-radius: 8px;

    color: #fff;

    background:
        var(--nl-purple);

    font-size: 11px;

    font-weight: 700;

}


.nl-floating-mobile small {

    display: block;

    text-align: center;

    color: #a0a8b7;

    font-size: 6px;

}


.nl-floating-mobile h4 {

    margin:
        5px 0 12px;

    color: #fff;

    text-align: center;

    font-size: 11px;

}


.mobile-chart {

    height: 52px;

    display: flex;

    align-items: flex-end;

    justify-content: center;

    gap: 5px;

}


.mobile-chart span {

    width: 7px;

    border-radius:
        3px 3px 1px 1px;

    background:
        linear-gradient(
            to top,
            var(--nl-purple),
            #8b7fff
        );

}


.mobile-button {

    padding:
        7px 4px;

    margin-top: 10px;

    border-radius: 6px;

    color: #fff;

    background:
        var(--nl-purple);

    text-align: center;

    font-size: 6px;

}


/* ============================================================
   08. IOT DEVICE
============================================================ */

.nl-floating-device {

    position: absolute;

    z-index: 7;

    right: 1%;

    bottom: 12px;

    width: 100px;

    height: 135px;

    padding: 16px;

    border-radius: 12px;

    color: #fff;

    background:
        linear-gradient(
            145deg,
            #313b4c,
            #151b26
        );

    box-shadow:
        0 25px 45px
        rgba(10,20,35,.30);

    transform:
        rotate(6deg);

}


.device-light {

    width: 7px;

    height: 7px;

    margin-bottom: 17px;

    border-radius: 50%;

    background: #43d69b;

    box-shadow:
        0 0 10px
        rgba(67,214,155,.8);

}


.nl-floating-device strong {

    display: block;

    font-size: 13px;

}


.nl-floating-device small {

    color: #8892a2;

    font-size: 6px;

}


.device-lines {

    margin-top: 17px;

}


.device-lines span {

    display: block;

    width: 55px;

    height: 3px;

    margin-bottom: 6px;

    border-radius: 4px;

    background: #3e4859;

}


.nl-floating-device > i {

    position: absolute;

    right: 11px;

    bottom: 11px;

    color: #8579ff;

    font-size: 10px;

}


/* ============================================================
   09. FLOATING LABELS
============================================================ */

.nl-tech-label {

    position: absolute;

    z-index: 8;

    display: flex;

    align-items: center;

    gap: 8px;

    padding:
        8px 12px;

    border-radius: 7px;

    background:
        rgba(255,255,255,.96);

    border:
        1px solid #e1e5ec;

    box-shadow:
        0 10px 25px
        rgba(20,30,45,.10);

    color: #4e5665;

    font-size: 9px;

    font-weight: 600;

}


.nl-tech-label i {

    color:
        var(--nl-purple);

}


.label-software {

    top: 70px;

    left: 0;

}


.label-ai {

    top: 85px;

    right: 0;

}


.label-iot {

    left: 14%;

    bottom: 0;

}


/* ============================================================
   10. CAPABILITY BAR
============================================================ */

.nl-capability-bar {

    position: relative;

    z-index: 10;

    display: grid;

    grid-template-columns:
        repeat(7, 1fr);

    margin-top: -20px;

    margin-bottom: 25px;

    padding: 7px;

    border-radius: 13px;

    background:
        rgba(255,255,255,.95);

    border:
        1px solid #dfe3eb;

    box-shadow:
        0 14px 40px
        rgba(20,30,50,.08);

    backdrop-filter:
        blur(12px);

}


.nl-capability-bar div {

    min-height: 50px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    border-right:
        1px solid #e4e7ed;

    color: #687180;

    font-size: 12px;

    font-weight: 600;

}


.nl-capability-bar div:last-child {

    border-right: 0;

}


.nl-capability-bar i {

    color:
        var(--nl-purple);

    font-size: 13px;

}



/* ============================================================
   12. COMMON SECTION
============================================================ */

.nl-expertise-section,
.nl-process-section,
.nl-industry-section {

    padding:
        95px 0;

    background:
        var(--nl-light);

}


.nl-section-heading {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 35px;

    margin-bottom: 48px;

}


.nl-section-tag {

    display: block;

    margin-bottom: 13px;

    color:
        var(--nl-purple);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1.5px;

}


.nl-section-heading h2 {

    max-width: 760px;

    margin: 0;

    color:
        #171d29;

    font-size:
        clamp(38px, 4vw, 52px);

    line-height: 1.08;

    font-weight: 600;

    letter-spacing: -2px;

}


.nl-section-heading h2 span {

    color:
        var(--nl-purple);

}


.nl-view-link {

    flex-shrink: 0;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    color:
        var(--nl-purple) !important;

    font-size: 14px;

    font-weight: 600;

}


.nl-view-link i {

    transition:
        transform .2s ease;

}


.nl-view-link:hover i {

    transform:
        translateX(4px);

}


/* ============================================================
   13. SERVICE GRID
============================================================ */

.nl-expertise-section .row {

    --bs-gutter-x: 22px;
    --bs-gutter-y: 22px;

}


.nl-service-card {

    position: relative;

    display: block;

    height: 100%;

    min-height: 285px;

    padding: 30px 27px;

    border-radius:
        var(--nl-radius);

    background:
        #fff;

    border:
        1px solid #e1e5ec;

    box-shadow:
        0 8px 25px
        rgba(20,30,50,.045);

    transition:
        all .35s ease;

}


.nl-service-card::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    width: 0;

    height: 3px;

    border-radius:
        14px 14px 0 0;

    background:
        var(--nl-purple);

    transition:
        width .35s ease;

}


.nl-service-card:hover::before {

    width: 100%;

}


.nl-service-card:hover {

    transform:
        translateY(-7px);

    border-color:
        rgba(90,73,248,.22);

    box-shadow:
        var(--nl-shadow-hover);

}


/* ============================================================
   SERVICE ICON
============================================================ */

.nl-service-icon {

    width: 56px;

    height: 56px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 25px;

    border-radius: 12px;

    font-size: 20px;

}


.nl-service-icon.purple {

    color: #3e08a4;

    background:
        rgba(90,73,248,.10);

}


.nl-service-icon.orange {

    color: #ee5739;

    background:
        rgba(238,87,57,.10);

}


.nl-service-icon.blue {

    color: #3d8df0;

    background:
        rgba(61,141,240,.10);

}


.nl-service-icon.pink {

    color: #e450a8;

    background:
        rgba(228,80,168,.10);

}


.nl-service-icon.green {

    color: #2aab79;

    background:
        rgba(42,171,121,.10);

}


.nl-service-icon.yellow {

    color: #db9a22;

    background:
        rgba(219,154,34,.10);

}


.nl-service-icon.cyan {

    color: #19a8c4;

    background:
        rgba(25,168,196,.10);

}


.nl-service-icon.violet {

    color: #8a62e8;

    background:
        rgba(138,98,232,.10);

}


/* ============================================================
   SERVICE CONTENT
============================================================ */

.nl-service-card h3 {

    margin:
        0 0 12px;

    color:
        #252b38;

    font-size: 20px;

    line-height: 1.3;

    font-weight: 600;

}


.nl-service-card p {

    min-height: 68px;

    margin:
        0 0 22px;

    color:
        #747d8c;

    font-size: 14px;

    line-height: 1.7;

}


.nl-service-card > span {

    color:
        var(--nl-purple);

    font-size: 13px;

    font-weight: 600;

}


.nl-service-card > span i {

    margin-left: 5px;

    transition:
        transform .2s ease;

}


.nl-service-card:hover >
span i {

    transform:
        translateX(4px);

}


/* ============================================================
   14. PROJECT SECTION
============================================================ */

.nl-project-section {

    padding:
        95px 0;

    background:
        var(--nl-dark);

}


.nl-dark-heading h2 {

    color:
        #fff;

}


.nl-dark-heading .nl-section-tag {

    color:
        #958aff;

}


.nl-view-link.light {

    color:
        #a59cff !important;

}


.nl-project-section .row {

    --bs-gutter-x: 22px;
    --bs-gutter-y: 22px;

}


.nl-project-card {

    display: block;

    overflow: hidden;

    border-radius:
        var(--nl-radius);

    background:
        #101c29;

    border:
        1px solid
        rgba(255,255,255,.08);

    transition:
        all .35s ease;

}


.nl-project-card:hover {

    transform:
        translateY(-7px);

    border-color:
        rgba(90,73,248,.45);

    box-shadow:
        0 20px 45px
        rgba(0,0,0,.22);

}


/* ============================================================
   PROJECT IMAGE
============================================================ */

.nl-project-image {

    position: relative;

    height: 240px;

    overflow: hidden;

    background:
        #172333;

}


.nl-project-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition:
        transform .5s ease;

}


.nl-project-card:hover
.nl-project-image img {

    transform:
        scale(1.05);

}


.nl-project-overlay {

    position: absolute;

    inset: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    color: #fff;

    background:
        rgba(7,19,31,.68);

    opacity: 0;

    font-size: 13px;

    transition:
        opacity .3s ease;

}


.nl-project-card:hover
.nl-project-overlay {

    opacity: 1;

}


/* ============================================================
   PROJECT CONTENT
============================================================ */

.nl-project-content {

    padding:
        24px;

}


.nl-project-type {

    margin-bottom: 9px;

    color:
        #8c83ff;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1.2px;

}


.nl-project-content h3 {

    margin:
        0 0 9px;

    color:
        #fff;

    font-size: 20px;

    font-weight: 600;

}


.nl-project-content p {

    min-height: 55px;

    margin:
        0 0 17px;

    color:
        #8290a2;

    font-size: 13px;

    line-height: 1.65;

}


.nl-project-link {

    color:
        #a49bff;

    font-size: 13px;

    font-weight: 600;

}


.nl-project-link i {

    margin-left: 5px;

}


/* ============================================================
   15. PROCESS
============================================================ */

.nl-process-section {

    background:
        #fff;

}


.nl-process-intro {

    max-width: 400px;

    margin: 0;

    color:
        #7c8492;

    font-size: 14px;

    line-height: 1.7;

    text-align: right;

}


.nl-process-line {

    position: relative;

    display: grid;

    grid-template-columns:
        repeat(6, 1fr);

    gap: 10px;

}


.nl-process-line::before {

    content: "";

    position: absolute;

    top: 32px;

    left: 7%;

    right: 7%;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            #dcdff0,
            var(--nl-purple),
            #dcdff0
        );

}


.nl-process-step {

    position: relative;

    z-index: 2;

    text-align: center;

    padding:
        0 12px;

}


.nl-process-number {

    position: absolute;

    top: -5px;

    right: 8px;

    color:
        #d9dce5;

    font-size: 11px;

    font-weight: 700;

}


.nl-process-icon {

    width: 64px;

    height: 64px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin:
        0 auto 18px;

    border-radius: 50%;

    color:
        var(--nl-purple);

    background:
        #fff;

    border:
        1px solid #dddff0;

    box-shadow:
        0 0 0 8px #fff,
        0 8px 20px rgba(30,40,70,.07);

    font-size: 16px;

}


.nl-process-step:nth-child(2)
.nl-process-icon {

    color:
        #ee5739;

}


.nl-process-step:nth-child(3)
.nl-process-icon {

    color:
        #e450a8;

}


.nl-process-step:nth-child(4)
.nl-process-icon {

    color:
        #3d8df0;

}


.nl-process-step:nth-child(5)
.nl-process-icon {

    color:
        #2aab79;

}


.nl-process-step:nth-child(6)
.nl-process-icon {

    color:
        #8a62e8;

}


.nl-process-step h3 {

    margin:
        0 0 8px;

    color:
        #242a37;

    font-size: 16px;

    font-weight: 600;

}


.nl-process-step p {

    max-width: 160px;

    margin:
        0 auto;

    color:
        #858d9a;

    font-size: 12px;

    line-height: 1.65;

}


/* ============================================================
   16. INDUSTRIES
============================================================ */

.nl-industry-section {

    background:
        var(--nl-light);

}


.nl-industry-grid {

    display: grid;

    grid-template-columns:
        repeat(8, 1fr);

    gap: 14px;

}


.nl-industry-card {

    min-height: 165px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    padding:
        18px 12px;

    text-align: center;

    border:
        1px solid #e2e6ed;

    border-radius:
        var(--nl-radius-small);

    background:
        #fff;

    transition:
        all .3s ease;

}


.nl-industry-card:hover {

    transform:
        translateY(-5px);

    border-color:
        rgba(90,73,248,.25);

    box-shadow:
        0 15px 35px
        rgba(20,30,50,.08);

}


.nl-industry-card > span {

    width: 48px;

    height: 48px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 13px;

    border-radius: 11px;

    color:
        var(--nl-purple);

    background:
        rgba(90,73,248,.08);

    font-size: 17px;

}


.nl-industry-card strong {

    color:#303644;

    font-size: 16px;

    font-weight: 600;

}


.nl-industry-card small {

    margin-top: 5px;

    color: #9097a4;

    font-size: 14px;

    line-height: 1.45;

}


/* ============================================================
   17. DESKTOP 1200 - 1399
============================================================ */

@media (max-width: 1399px) {

    .nl-dashboard-card {

        width: 520px;

    }

    .nl-hero-copy h1 {

        font-size: 58px;

    }

    .nl-industry-grid {

        grid-template-columns:
            repeat(4, 1fr);

    }

}


/* ============================================================
   18. TABLET 992 - 1199
============================================================ */

@media (max-width: 1199px) {

    .nl-hero-grid {

        grid-template-columns:
            50% 50%;

    }


    .nl-hero-copy {

        padding-right: 20px;

    }


    .nl-hero-copy h1 {

        font-size: 50px;

        letter-spacing:
            -2.3px;

    }


    .nl-hero-copy > p {

        font-size: 15px;

    }


    .nl-dashboard-card {

        width: 470px;

    }


    .nl-logo-row {

        grid-template-columns:
            repeat(4, 1fr);

    }


    .nl-capability-bar {

        grid-template-columns:
            repeat(4, 1fr);

    }


    .nl-capability-bar div:nth-child(4) {

        border-right: 0;

    }


    .nl-capability-bar div:nth-child(-n+4) {

        border-bottom:
            1px solid #e4e7ed;

    }


    .nl-section-heading h2 {

        font-size: 44px;

    }


    .nl-service-card {

        min-height: 270px;

    }


    .nl-industry-grid {

        grid-template-columns:
            repeat(4, 1fr);

    }

}


/* ============================================================
   19. TABLET 768 - 991
============================================================ */

@media (max-width: 991px) {

    .nl-home-hero .container,
    .nl-expertise-section .container,
    .nl-project-section .container,
    .nl-process-section .container,
    .nl-industry-section .container {

        padding-left: 25px;
        padding-right: 25px;

    }


    .nl-hero-grid {

        grid-template-columns:
            1fr;

        min-height: auto;

        padding-top: 110px;

        padding-bottom: 40px;

    }


    .nl-hero-copy {

        padding-right: 0;

        text-align: center;

    }


    .nl-eyebrow {

        margin-left: auto;
        margin-right: auto;

    }


    .nl-hero-copy h1 {

        max-width: 800px;

        margin-left: auto;
        margin-right: auto;

        font-size: 55px;

    }


    .nl-hero-copy > p {

        max-width: 700px;

        margin-left: auto;
        margin-right: auto;

    }


    .nl-hero-actions {

        justify-content: center;

    }


    .nl-hero-note {

        justify-content: center;

    }


    .nl-hero-visual {

        min-height: 500px;

        margin-top: 30px;

    }


    .nl-dashboard-card {

        width: 560px;

        max-width: 90%;

    }


    .nl-section-heading {

        align-items:
            flex-start;

    }


    .nl-process-line {

        grid-template-columns:
            repeat(3, 1fr);

        row-gap: 55px;

    }


    .nl-process-line::before {

        display: none;

    }


    .nl-process-step {

        padding:
            0 15px;

    }

}


/* ============================================================
   20. MOBILE 767
============================================================ */

@media (max-width: 767px) {

    .nl-home-hero .container,
    .nl-expertise-section .container,
    .nl-project-section .container,
    .nl-process-section .container,
    .nl-industry-section .container {

        padding-left: 18px;
        padding-right: 18px;

    }


    /* HERO */

    .nl-hero-grid {

        padding-top: 85px;

        padding-bottom: 25px;

    }


    .nl-eyebrow {

        padding:
            7px 10px;

        font-size: 8px;

        letter-spacing:
            .9px;

    }


    .nl-hero-copy h1 {

        font-size: 40px;

        line-height:
            1.08;

        letter-spacing:
            -1.7px;

    }


    .nl-hero-copy > p {

        font-size: 13px;

        line-height:
            1.7;

    }


    .nl-hero-actions {

        flex-direction:
            column;

        width: 100%;

        max-width: 360px;

        margin-left: auto;
        margin-right: auto;

    }


    .nl-btn-primary,
    .nl-btn-outline {

        width: 100%;

    }


    .nl-hero-visual {

        min-height: 390px;

        margin-top: 20px;

    }


    .nl-dashboard-card {

        width: 100%;

        max-width: 100%;

        transform:
            none;

    }


    .nl-dashboard-body {

        min-height: 300px;

    }


    .nl-dashboard-sidebar {

        width: 45px;

        padding:
            12px 5px;

    }


    .nl-dashboard-sidebar i {

        width: 28px;
        height: 28px;

    }


    .nl-n-logo {

        width: 27px;
        height: 27px;

        margin-bottom:
            15px;

    }


    .nl-dashboard-main {

        padding:
            12px;

    }


    .nl-chart-box svg {

        height:
            90px;

    }


    .nl-floating-mobile {

        width: 85px;

        bottom: 0;

        left: -4px;

    }


    .nl-floating-device {

        width: 72px;

        height: 98px;

        padding: 10px;

        bottom: 0;

    }


    .nl-tech-label {

        display: none;

    }


    .nl-glow {

        width: 340px;
        height: 340px;

    }


    /* CAPABILITY */

    .nl-capability-bar {

        grid-template-columns:
            repeat(2, 1fr);

        margin-top:
            0;

    }


    .nl-capability-bar div {

        min-height: 48px;

        font-size: 11px;

    }


    .nl-capability-bar div:nth-child(2n) {

        border-right: 0;

    }


    .nl-capability-bar div:nth-child(n+5) {

        border-bottom: 0;

    }


    


    /* COMMON SECTIONS */

    .nl-expertise-section,
    .nl-project-section,
    .nl-process-section,
    .nl-industry-section {

        padding:
            65px 0;

    }


    .nl-section-heading {

        display: block;

        margin-bottom:
            32px;

    }


    .nl-section-tag {

        font-size:
            9px;

        margin-bottom:
            10px;

    }


    .nl-section-heading h2 {

        font-size:
            35px;

        line-height:
            1.12;

        letter-spacing:
            -1.1px;

    }


    .nl-view-link {

        display: inline-flex;

        margin-top:
            20px;

        font-size:
            13px;

    }


    /* SERVICES */

    .nl-expertise-section .row {

        --bs-gutter-x:
            15px;

        --bs-gutter-y:
            15px;

    }


    .nl-service-card {

        min-height:
            auto;

        padding:
            25px 22px;

    }


    .nl-service-icon {

        width: 50px;
        height: 50px;

        margin-bottom:
            20px;

        font-size:
            18px;

    }


    .nl-service-card h3 {

        font-size:
            19px;

    }


    .nl-service-card p {

        min-height:
            auto;

        font-size:
            13px;

    }


    /* PROJECTS */

    .nl-project-image {

        height:
            210px;

    }


    .nl-project-content {

        padding:
            20px;

    }


    .nl-project-content h3 {

        font-size:
            18px;

    }


    .nl-project-content p {

        font-size:
            12px;

    }


    /* PROCESS */

    .nl-process-intro {

        max-width:
            100%;

        margin-top:
            15px;

        text-align:
            left;

        font-size:
            13px;

    }


    .nl-process-line {

        grid-template-columns:
            repeat(2, 1fr);

        row-gap:
            45px;

    }


    .nl-process-icon {

        width:
            56px;

        height:
            56px;

        font-size:
            14px;

    }


    .nl-process-step h3 {

        font-size:
            14px;

    }


    .nl-process-step p {

        max-width:
            170px;

        font-size:
            11px;

    }


    /* INDUSTRIES */

    .nl-industry-grid {

        grid-template-columns:
            repeat(2, 1fr);

        gap:
            12px;

    }


    .nl-industry-card {

        min-height:
            140px;

    }


    .nl-industry-card > span {

        width:
            42px;

        height:
            42px;

        font-size:
            15px;

    }


    .nl-industry-card strong {

        font-size:
            14px;

    }


    .nl-industry-card small {

        font-size:
            11px;

    }

}


/* ============================================================
   21. SMALL MOBILE
============================================================ */

@media (max-width: 480px) {

    .nl-home-hero .container,
    .nl-expertise-section .container,
    .nl-project-section .container,
    .nl-process-section .container,
    .nl-industry-section .container {

        padding-left: 15px;
        padding-right: 15px;

    }


    .nl-hero-grid {

        padding-top:
            75px;

    }


    .nl-hero-copy h1 {

        font-size:
            33px;

        letter-spacing:
            -1px;

    }


    .nl-hero-copy > p {

        font-size:
            12px;

    }


    .nl-hero-visual {

        min-height:
            315px;

    }


    .nl-dashboard-card {

        border-radius:
            10px;

    }


    .nl-dashboard-top {

        height:
            30px;

    }


    .nl-dashboard-body {

        min-height:
            230px;

    }


    .nl-dashboard-sidebar {

        width:
            35px;

        padding:
            8px 3px;

    }


    .nl-dashboard-main {

        padding:
            8px;

    }


    .nl-dashboard-title h4 {

        font-size:
            10px;

    }


    .nl-dashboard-title small {

        font-size:
            5px;

    }


    .nl-mini-stats {

        gap:
            5px;

    }


    .nl-mini-stats > div {

        padding:
            5px;

    }


    .stat-icon {

        width:
            21px;

        height:
            21px;

        font-size:
            7px;

    }


    .nl-chart-box {

        padding:
            7px;

    }


    .nl-chart-box svg {

        height:
            60px;

    }


    .nl-floating-mobile {

        width:
            67px;

    }


    .nl-floating-device {

        width:
            58px;

        height:
            78px;

        padding:
            8px;

    }


    .nl-floating-device strong {

        font-size:
            8px;

    }


    .device-lines {

        margin-top:
            9px;

    }


    .device-lines span {

        width:
            32px;

        height:
            2px;

    }


    /* CAPABILITY */

    .nl-capability-bar div {

        min-height:
            43px;

        font-size:
            10px;

    }


    .nl-capability-bar i {

        font-size:
            10px;

    }


    /* HEADINGS */

    .nl-section-heading h2 {

        font-size:
            29px;

    }


    /* SERVICES */

    .nl-service-card {

        padding:
            22px 19px;

    }


    .nl-service-card h3 {

        font-size:
            18px;

    }


    .nl-service-card p {

        font-size:
            12px;

    }


    /* PROJECT */

    .nl-project-image {

        height:
            180px;

    }


    /* PROCESS */

    .nl-process-line {

        grid-template-columns:
            1fr;

    }


    .nl-process-step p {

        max-width:
            210px;

    }


    /* INDUSTRIES */

    .nl-industry-card {

        min-height:
            125px;

    }

}


/* ============================================================
   22. ANIMATION
============================================================ */

@keyframes nlFadeUp {

    from {

        opacity: 0;

        transform:
            translateY(20px);

    }

    to {

        opacity: 1;

        transform:
            translateY(0);

    }

}


.bdFadeUp {

    animation:
        nlFadeUp .7s ease both;

}


/* ============================================================
   23. ACCESSIBILITY
============================================================ */

a:focus-visible,
button:focus-visible {

    outline:
        3px solid
        rgba(90,73,248,.25);

    outline-offset:
        3px;

}


/* ============================================================
   24. FINAL OVERRIDES
   Prevent old CSS from making homepage tiny
============================================================ */

.nl-home-hero h1 {

    transform:
        none !important;

}


.nl-expertise-section h2,
.nl-project-section h2,
.nl-process-section h2,
.nl-industry-section h2 {

    transform:
        none !important;

}


.nl-home-hero img {

    max-width:
        100%;

}


/* ============================================================
   END
============================================================ */