/* =========================================
   RESET
========================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family:
        Inter,
        "Segoe UI",
        Arial,
        sans-serif;

    background: #050913;
    color: #ffffff;

    overflow-x: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font: inherit;
}

.form-honeypot { position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important; }
.form-submit:disabled { opacity:.65;cursor:wait; }
.form-status.is-success { color:#60d6a7; }
.form-status.is-error { color:#ff7d94; }


/* =========================================
   VARIABLES
========================================= */

:root {
    --background: #050913;
    --background-secondary: #080e1a;

    --white: #ffffff;

    --text-secondary: #9da9ba;

    --blue: #2684ff;
    --cyan: #18c8ff;
    --violet: #7454ff;

    --border: rgba(255, 255, 255, 0.10);

    --container: 1320px;

    --header-height: 86px;
}


/* =========================================
   COMMON
========================================= */

.container {
    width: min(
        calc(100% - 80px),
        var(--container)
    );

    margin: 0 auto;
}


/* =========================================
   HEADER
========================================= */

.site-header {
    position: fixed;

    top: 0;
    left: 0;

    width: 100%;
    height: var(--header-height);

    z-index: 1000;

    background: transparent;

    border-bottom: 1px solid transparent;

    transition:
        background 0.4s ease,
        border-color 0.4s ease,
        backdrop-filter 0.4s ease;
}


.site-header.scrolled {
    background: rgba(3, 6, 12, 0.94);

    border-bottom-color:
        rgba(255, 255, 255, 0.07);

    backdrop-filter: blur(16px);
}


.header-inner {
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: flex-start;
}


/* =========================================
   LOGO
========================================= */

.brand {
    display: flex;
    align-items: center;

    position: relative;

    z-index: 1002;
}


.brand-logo {
    display: block;

    width: 190px;
    max-height: 46px;

    object-fit: contain;
    object-position: left center;
}


/* =========================================
   NAVIGATION
========================================= */

.main-nav {
    display: flex;
    align-items: center;

    gap: 42px;

    margin-left: auto;
}


.nav-link {
    position: relative;

    padding: 32px 0;

    font-size: 14px;
    font-weight: 500;

    color: rgba(255, 255, 255, 0.72);

    transition: color 0.3s ease;
}


.nav-link::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: 22px;

    width: 0;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--cyan),
            var(--violet)
        );

    transition: width 0.3s ease;
}


.nav-link:hover,
.nav-link.active {
    color: #ffffff;
}


.nav-link:hover::after,
.nav-link.active::after {
    width: 100%;
}


/* =========================================
   MOBILE MENU BUTTON
========================================= */

.mobile-menu-button {
    display: none;

    width: 40px;
    height: 40px;

    border: 0;

    background: transparent;

    cursor: pointer;

    position: relative;

    z-index: 1002;
}


.mobile-menu-button span {
    display: block;

    width: 25px;
    height: 2px;

    margin: 6px auto;

    background: #ffffff;

    transition: 0.3s ease;
}


/* =========================================
   HERO
========================================= */

.hero {
    position: relative;

    min-height: 100vh;

    display: flex;
    align-items: center;

    background:
        radial-gradient(
            circle at 75% 50%,
            rgba(25, 80, 180, 0.08),
            transparent 35%
        ),
        linear-gradient(
            115deg,
            #050913 0%,
            #050913 43%,
            #061020 100%
        );

    overflow: hidden;
}


/* =========================================
   HERO BACKGROUND
========================================= */

.hero-background {
    position: absolute;

    inset: 0;

    overflow: hidden;

    pointer-events: none;
}


.network-area {
    position: absolute;

    top: 0;
    right: 0;

    width: 62%;
    height: 100%;

    pointer-events: auto;

    -webkit-mask-image:
        linear-gradient(
            to right,
            transparent 0%,
            rgba(0, 0, 0, 0.30) 12%,
            black 32%,
            black 100%
        );

    mask-image:
        linear-gradient(
            to right,
            transparent 0%,
            rgba(0, 0, 0, 0.30) 12%,
            black 32%,
            black 100%
        );
}


#networkCanvas {
    display: block;

    width: 100%;
    height: 100%;
}


/* =========================================
   HERO GLOWS
========================================= */

.hero-glow {
    position: absolute;

    border-radius: 50%;

    filter: blur(100px);

    opacity: 0.18;
}


.hero-glow-one {
    width: 500px;
    height: 500px;

    right: 10%;
    top: 15%;

    background: #126cff;
}


.hero-glow-two {
    width: 400px;
    height: 400px;

    right: -10%;
    bottom: -10%;

    background: #6d3cff;
}


/* =========================================
   HERO CONTENT
========================================= */

.hero-inner {
    position: relative;

    z-index: 10;

    padding-top: var(--header-height);

    pointer-events: none;
}


.hero-content {
    width: 54%;
    max-width: 760px;

    pointer-events: auto;
}


/* =========================================
   HERO EYEBROW
========================================= */

.hero-eyebrow {
    display: flex;
    align-items: center;

    gap: 15px;

    margin-bottom: 25px;

    font-size: 12px;
    font-weight: 600;

    letter-spacing: 3px;

    color: #7f94ad;
}


.eyebrow-line {
    width: 42px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            var(--cyan),
            var(--violet)
        );
}


/* =========================================
   HERO TITLE
========================================= */

.hero-title {
    min-height: 190px;

    margin-bottom: 25px;

    font-size:
        clamp(54px, 5.1vw, 82px);

    line-height: 1.04;

    letter-spacing: -3px;

    font-weight: 700;
}


.hero-title-static {
    display: block;

    color: #ffffff;
}


.typing-row {
    display: flex;
    align-items: center;

    min-height: 1.15em;
}


.typing-text {
    background:
        linear-gradient(
            90deg,
            #ffffff 0%,
            #5ec8ff 45%,
            #795cff 100%
        );

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent;

    white-space: nowrap;

    padding-bottom: 20px;
}


/* =========================================
   TYPING CURSOR
========================================= */

.typing-cursor {
    display: inline-block;

    width: 3px;
    height: 0.88em;

    margin-left: 8px;

    background: var(--cyan);

    animation:
        cursorBlink 0.75s infinite;
}


@keyframes cursorBlink {
    0%,
    45% {
        opacity: 1;
    }

    46%,
    100% {
        opacity: 0;
    }
}


/* =========================================
   HERO DESCRIPTION
========================================= */

.hero-description {
    max-width: 600px;

    margin-bottom: 38px;

    font-size: 17px;
    line-height: 1.8;

    color: var(--text-secondary);
}


/* =========================================
   BUTTONS
========================================= */

.hero-actions {
    display: flex;
    align-items: center;

    gap: 16px;
}


.button {
    height: 54px;

    padding: 0 25px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 14px;

    border-radius: 7px;

    font-size: 14px;
    font-weight: 600;

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}


.button:hover {
    transform: translateY(-3px);
}


.button-primary {
    background:
        linear-gradient(
            120deg,
            #1679ff,
            #6848ff
        );

    box-shadow:
        0 10px 40px
        rgba(35, 105, 255, 0.22);
}


.button-primary:hover {
    box-shadow:
        0 14px 45px
        rgba(35, 105, 255, 0.32);
}


.button-secondary {
    border:
        1px solid
        rgba(255, 255, 255, 0.16);

    background:
        rgba(255, 255, 255, 0.035);
}


.button-secondary:hover {
    border-color:
        rgba(255, 255, 255, 0.35);

    background:
        rgba(255, 255, 255, 0.07);
}


.button-arrow {
    font-size: 17px;
}


/* =========================================
   SCROLL INDICATOR
========================================= */

.scroll-indicator {
    position: absolute;

    right: 40px;
    bottom: 35px;

    z-index: 20;

    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 12px;
}


.scroll-text {
    font-size: 9px;

    letter-spacing: 3px;

    color: rgba(255, 255, 255, 0.35);

    writing-mode: vertical-rl;
}


.scroll-line {
    width: 1px;
    height: 55px;

    position: relative;

    overflow: hidden;

    background:
        rgba(255, 255, 255, 0.10);
}


.scroll-line span {
    position: absolute;

    width: 100%;
    height: 22px;

    top: -22px;

    background:
        linear-gradient(
            to bottom,
            transparent,
            var(--cyan)
        );

    animation:
        scrollLine 2s infinite ease-in-out;
}


@keyframes scrollLine {
    0% {
        top: -22px;
    }

    100% {
        top: 55px;
    }
}


/* =========================================
   SECTION 02 : ABOUT
========================================= */

.about-section {
    position: relative;

    padding: 130px 0 120px;

    background:
        linear-gradient(
            180deg,
            #070c16 0%,
            #050913 100%
        );

    overflow: hidden;
}


/* =========================================
   ABOUT BACKGROUND
========================================= */

.about-background {
    position: absolute;

    inset: 0;

    overflow: hidden;

    pointer-events: none;
}


.about-grid {
    position: absolute;

    inset: 0;

    opacity: 0.025;

    background-image:
        linear-gradient(
            rgba(255, 255, 255, 0.5) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.5) 1px,
            transparent 1px
        );

    background-size: 70px 70px;
}


.about-glow {
    position: absolute;

    border-radius: 50%;

    filter: blur(130px);

    opacity: 0.11;
}


.about-glow-one {
    width: 550px;
    height: 550px;

    top: 80px;
    right: 2%;

    background: #116dff;
}


.about-glow-two {
    width: 450px;
    height: 450px;

    right: 22%;
    bottom: -250px;

    background: #704cff;
}


.about-container {
    position: relative;

    z-index: 2;
}



/* =========================================
   ABOUT MAIN
========================================= */

.about-main {
    display: grid;

    grid-template-columns:
        minmax(0, 0.9fr)
        minmax(420px, 1.1fr);

    align-items: center;

    gap: 70px;

    margin-bottom: 75px;
}


.about-content {
    max-width: 570px;
}


.about-title {
    margin-bottom: 25px;

    font-size:
        clamp(46px, 4.2vw, 68px);

    line-height: 1.08;

    letter-spacing: -2.5px;

    font-weight: 700;

    color: #ffffff;
}


.about-title span {
    display: block;

    background:
        linear-gradient(
            90deg,
            #1b9cff 0%,
            #4778ff 55%,
            #8155ff 100%
        );

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent;
}


.about-title-line {
    width: 65px;
    height: 2px;

    margin-bottom: 30px;

    background:
        linear-gradient(
            90deg,
            var(--cyan),
            var(--violet)
        );
}


.about-description {
    max-width: 535px;

    margin-bottom: 18px;

    font-size: 16px;
    line-height: 1.85;

    color: #9da9ba;
}


/* =========================================
   ABOUT CTA BUTTON
========================================= */

.about-button {
    min-width: 210px;

    margin-top: 20px;
}


.about-button i {
    font-size: 18px;
}


/* =========================================
   ABOUT VISUAL - RIGHT SIDE
========================================= */

.about-visual {
    position: relative;

    min-height: 500px;

    display: flex;
    align-items: center;
    justify-content: center;
}


/* =========================================
   DIGITAL GLOBE
========================================= */

.digital-globe {
    position: relative;

    width: 530px;
    height: 530px;

    max-width: 100%;

    display: flex;
    align-items: center;
    justify-content: center;
}


/* =========================================
   GLOBE BACKGROUND GLOW
========================================= */

.globe-glow {
    position: absolute;

    width: 72%;
    height: 72%;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(32, 120, 255, 0.25) 0%,
            rgba(72, 76, 255, 0.10) 42%,
            transparent 72%
        );

    filter: blur(40px);

    pointer-events: none;
}


/* =========================================
   EARTH IMAGE
========================================= */

.globe-sphere {
    position: relative;

    z-index: 3;

    width: 315px;
    height: 315px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    animation:
        globeFloat 5s
        ease-in-out infinite;

    filter:
        drop-shadow(
            0 0 18px
            rgba(35, 125, 255, 0.35)
        )
        drop-shadow(
            0 0 45px
            rgba(39, 77, 255, 0.15)
        );
}


.globe-sphere img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;

    user-select: none;

    pointer-events: none;
}


@keyframes globeFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }

}


/* =========================================
   ORBIT BASE
========================================= */

.globe-orbit {
    position: absolute;

    left: 50%;
    top: 50%;

    border-radius: 50%;

    border:
        1px solid
        rgba(62, 135, 255, 0.18);

    pointer-events: none;
}


/* =========================================
   ORBIT 01
========================================= */

.globe-orbit-one {
    width: 490px;
    height: 260px;

    animation:
        globeOrbitOne 13s
        linear infinite;
}


/* =========================================
   ORBIT 02
========================================= */

.globe-orbit-two {
    width: 465px;
    height: 355px;

    border-color:
        rgba(113, 81, 255, 0.20);

    animation:
        globeOrbitTwo 17s
        linear infinite reverse;
}


/* =========================================
   ORBIT 03
========================================= */

.globe-orbit-three {
    width: 345px;
    height: 500px;

    animation:
        globeOrbitThree 20s
        linear infinite;
}


/* =========================================
   ORBIT 04
========================================= */

.globe-orbit-four {
    width: 510px;
    height: 195px;

    border-color:
        rgba(71, 189, 255, 0.15);

    animation:
        globeOrbitFour 23s
        linear infinite reverse;
}


/* =========================================
   ORBIT ANIMATIONS
========================================= */

@keyframes globeOrbitOne {

    from {
        transform:
            translate(-50%, -50%)
            rotate(0deg);
    }

    to {
        transform:
            translate(-50%, -50%)
            rotate(360deg);
    }

}


@keyframes globeOrbitTwo {

    from {
        transform:
            translate(-50%, -50%)
            rotate(35deg);
    }

    to {
        transform:
            translate(-50%, -50%)
            rotate(395deg);
    }

}


@keyframes globeOrbitThree {

    from {
        transform:
            translate(-50%, -50%)
            rotate(60deg);
    }

    to {
        transform:
            translate(-50%, -50%)
            rotate(420deg);
    }

}


@keyframes globeOrbitFour {

    from {
        transform:
            translate(-50%, -50%)
            rotate(-25deg);
    }

    to {
        transform:
            translate(-50%, -50%)
            rotate(335deg);
    }

}


/* =========================================
   ORBIT PARTICLES
========================================= */

.globe-particle {
    position: absolute;

    width: 7px;
    height: 7px;

    left: 15%;
    top: 7%;

    border-radius: 50%;

    background: #55c5ff;

    box-shadow:
        0 0 6px #55c5ff,
        0 0 16px
        rgba(85, 197, 255, 0.80);
}


.globe-orbit-two .globe-particle {
    left: auto;
    right: 10%;

    background: #8a5cff;

    box-shadow:
        0 0 6px #8a5cff,
        0 0 18px
        rgba(138, 92, 255, 0.80);
}


.globe-orbit-three .globe-particle {
    top: auto;
    bottom: 5%;
    left: 45%;
}


.globe-orbit-four .globe-particle {
    left: auto;
    right: 22%;

    background: #7454ff;

    box-shadow:
        0 0 6px #7454ff,
        0 0 18px
        rgba(116, 84, 255, 0.80);
}


/* =========================================
   CAPABILITY STRIP
========================================= */

.about-capabilities {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    margin-bottom: 28px;

    border:
        1px solid
        rgba(72, 125, 198, 0.20);

    border-radius: 12px;

    background:
        rgba(7, 15, 29, 0.60);

    backdrop-filter: blur(10px);

    overflow: hidden;
}


.capability-item {
    position: relative;

    min-height: 110px;

    padding: 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 17px;

    transition:
        background 0.3s ease;
}


.capability-item:hover {
    background:
        rgba(35, 86, 180, 0.06);
}


.capability-item:not(:last-child)::after {
    content: "";

    position: absolute;

    right: 0;

    width: 1px;
    height: 55%;

    background:
        rgba(255, 255, 255, 0.08);
}


.capability-icon {
    flex: 0 0 52px;

    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    color: #5c91ff;

    background:
        rgba(48, 108, 255, 0.06);

    border:
        1px solid
        rgba(76, 133, 255, 0.12);

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease;
}


.capability-icon i {
    font-size: 27px;
}


.capability-item:hover .capability-icon {
    transform: translateY(-3px);

    background:
        rgba(48, 108, 255, 0.12);

    border-color:
        rgba(76, 133, 255, 0.30);
}


.capability-content {
    display: flex;
    flex-direction: column;

    gap: 5px;
}


.capability-content strong {
    font-size: 16px;

    color: #ffffff;
}


.capability-content span {
    font-size: 12px;

    color: #75849a;
}


/* =========================================
   ABOUT VALUES
========================================= */

.about-values {
    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 14px;
}


.value-card {
    position: relative;

    min-height: 270px;

    padding: 34px 24px 30px;

    border:
        1px solid
        rgba(64, 116, 190, 0.18);

    border-radius: 10px;

    background:
        linear-gradient(
            145deg,
            rgba(9, 20, 38, 0.72),
            rgba(5, 11, 22, 0.72)
        );

    overflow: hidden;

    transition:
        transform 0.35s ease,
        border-color 0.35s ease,
        background 0.35s ease,
        box-shadow 0.35s ease;
}


.value-card:hover {
    transform: translateY(-7px);

    border-color:
        rgba(64, 135, 255, 0.40);

    background:
        linear-gradient(
            145deg,
            rgba(11, 28, 54, 0.86),
            rgba(6, 12, 25, 0.82)
        );

    box-shadow:
        0 18px 45px
        rgba(0, 0, 0, 0.18);
}


.value-number {
    position: absolute;

    top: 18px;
    right: 20px;

    font-size: 11px;

    color:
        rgba(255, 255, 255, 0.16);
}


.value-icon {
    width: 48px;
    height: 48px;

    margin-bottom: 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background:
        rgba(45, 116, 255, 0.08);

    border:
        1px solid
        rgba(66, 139, 255, 0.16);

    color: #5c91ff;

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease;
}


.value-icon i {
    font-size: 24px;
}


.value-card:hover .value-icon {
    transform: translateY(-3px);

    background:
        rgba(45, 116, 255, 0.14);

    border-color:
        rgba(66, 139, 255, 0.32);
}


.value-card h3 {
    margin-bottom: 14px;

    font-size: 16px;

    color: #ffffff;
}


.value-card p {
    font-size: 13px;
    line-height: 1.75;

    color: #8593a6;
}


.value-line {
    position: absolute;

    left: 24px;
    bottom: 0;

    width: 35px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--cyan),
            var(--violet)
        );

    transition:
        width 0.35s ease;
}


.value-card:hover .value-line {
    width: calc(100% - 48px);
}


/* =========================================
   SECTION 03 : SERVICES
========================================= */

.services-section {
    position: relative;

    padding: 130px 0 125px;

    background:
        linear-gradient(
            180deg,
            #050913 0%,
            #060b15 52%,
            #050913 100%
        );

    overflow: hidden;
}


.services-container {
    position: relative;

    z-index: 2;
}


/* =========================================
   SERVICES BACKGROUND
========================================= */

.services-background {
    position: absolute;

    inset: 0;

    overflow: hidden;

    pointer-events: none;
}


.services-grid {
    position: absolute;

    inset: 0;

    opacity: 0.025;

    background-image:
        linear-gradient(
            rgba(255, 255, 255, 0.5) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.5) 1px,
            transparent 1px
        );

    background-size: 70px 70px;
}


.services-glow {
    position: absolute;

    border-radius: 50%;

    filter: blur(140px);
}


.services-glow-one {
    width: 600px;
    height: 600px;

    right: 4%;
    top: 60px;

    opacity: 0.12;

    background: #116dff;
}


.services-glow-two {
    width: 480px;
    height: 480px;

    left: 35%;
    bottom: -280px;

    opacity: 0.09;

    background: #704cff;
}


/* =========================================
   SECTION LABEL
========================================= */

.services-section-label {
    display: flex;
    align-items: center;

    gap: 13px;

    margin-bottom: 55px;
}


.services-number {
    font-size: 42px;
    line-height: 1;

    font-weight: 700;

    color:
        rgba(71, 120, 255, 0.14);
}


.services-label-line {
    width: 30px;
    height: 1px;

    background:
        rgba(255, 255, 255, 0.22);
}


.services-label-text {
    font-size: 12px;
    font-weight: 700;

    letter-spacing: 3px;

    color: #3e9cff;
}


/* =========================================
   SERVICES INTRO
========================================= */

.services-intro {
    display: grid;

    grid-template-columns:
        minmax(400px, 0.75fr)
        minmax(600px, 1.25fr);

    gap: 45px;

    align-items: center;

    margin-bottom: 65px;
}


.services-content {
    position: relative;

    z-index: 4;

    max-width: 510px;
}


.services-title {
    margin-bottom: 26px;

    font-size:
        clamp(46px, 4.1vw, 68px);

    line-height: 1.06;

    letter-spacing: -2.7px;

    font-weight: 700;

    color: #ffffff;
}


.services-title span {
    display: block;

    background:
        linear-gradient(
            90deg,
            #1b9cff 0%,
            #4778ff 55%,
            #8155ff 100%
        );

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent;
}


.services-title-line {
    width: 65px;
    height: 2px;

    margin-bottom: 30px;

    background:
        linear-gradient(
            90deg,
            var(--cyan),
            var(--violet)
        );
}


.services-description {
    max-width: 500px;

    font-size: 16px;
    line-height: 1.9;

    color: #9da9ba;
}


/* =========================================
   SERVICES VISUAL
========================================= */

.services-visual {
    position: relative;

    min-height: 460px;

    display: flex;
    align-items: center;
    justify-content: center;

    perspective: 1100px;
}



/* =========================================
   SERVICES : TABLET
========================================= */

@media (max-width: 1024px) {

    .services-intro {
        grid-template-columns:
            minmax(350px, 0.8fr)
            minmax(500px, 1.2fr);

        gap: 20px;
    }





}


/* =========================================
   SERVICES : MOBILE
========================================= */

@media (max-width: 768px) {

    .services-section {
        padding:
            90px 0 80px;
    }


    .services-section-label {
        margin-bottom: 40px;
    }


    .services-number {
        font-size: 32px;
    }


    .services-intro {
        grid-template-columns: 1fr;

        gap: 25px;

        margin-bottom: 45px;
    }


    .services-content {
        max-width: 100%;
    }


    .services-title {
        font-size:
            clamp(
                40px,
                11vw,
                55px
            );
    }


    .services-visual {
        min-height: 390px;

        overflow: hidden;
    }





}


/* =========================================
   SERVICES : SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .services-title {
        font-size: 39px;

        letter-spacing: -1.5px;
    }


    .services-description {
        font-size: 15px;
    }


    .services-visual {
        min-height: 300px;
    }





}

/* =========================================
   LEGAL PAGES
========================================= */
.legal-page { min-height:100vh;background:#050913;color:#fff; }
.legal-header { position:relative;z-index:2;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(5,9,19,.9); }
.legal-header-inner { min-height:92px;display:flex;align-items:center;justify-content:space-between; }
.legal-header .brand { display:flex;align-items:center; }
.legal-header .brand-logo { width:180px;height:auto;display:block; }
.legal-back { display:inline-flex;align-items:center;gap:8px;color:#aab5c9;font-size:14px;transition:color .25s ease; }
.legal-back:hover { color:#68a8ff; }
.legal-hero { position:relative;padding:100px 0 72px;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.07);background:radial-gradient(circle at 75% 30%,rgba(54,87,255,.17),transparent 34%); }
.legal-hero::after { content:"";position:absolute;right:-120px;top:-170px;width:520px;height:520px;border:1px solid rgba(83,143,255,.12);border-radius:50%;box-shadow:0 0 100px rgba(80,73,255,.1);pointer-events:none; }
.legal-container { max-width:920px; }
.legal-hero .services-section-label { margin-bottom:28px; }
.legal-hero h1 { max-width:760px;font-size:clamp(42px,7vw,74px);line-height:1.05;letter-spacing:-.045em;margin-bottom:22px; }
.legal-hero p { max-width:670px;color:#9ba8bd;font-size:17px;line-height:1.8; }
.legal-updated { display:block;margin-top:24px;color:#6584b5;font-size:12px;text-transform:uppercase;letter-spacing:.13em; }
.legal-content { padding-top:72px;padding-bottom:100px; }
.legal-content section { padding:0 0 38px;margin:0 0 38px;border-bottom:1px solid rgba(255,255,255,.07); }
.legal-content h2 { margin-bottom:16px;font-size:22px;line-height:1.35;color:#f4f7ff; }
.legal-content p { color:#9ba8bd;font-size:15px;line-height:1.9; }
.legal-content p + p { margin-top:12px; }
.legal-content a { color:#68a8ff; }
.legal-content a:hover { text-decoration:underline; }
.legal-content .legal-contact { padding:28px;border:1px solid rgba(83,143,255,.22);border-radius:10px;background:linear-gradient(135deg,rgba(31,79,174,.13),rgba(85,45,176,.08)); }
.legal-footer { border-top:1px solid rgba(255,255,255,.08);background:#040711; }
.legal-footer > div { min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#748198;font-size:12px; }
.legal-footer div div { display:flex;gap:28px; }
.legal-footer a:hover,.legal-footer a[aria-current="page"] { color:#68a8ff; }
@media (max-width:640px) {
    .legal-header-inner { min-height:76px; }
    .legal-header .brand-logo { width:145px; }
    .legal-back { font-size:0; }
    .legal-back i { font-size:22px; }
    .legal-hero { padding:72px 0 54px; }
    .legal-content { padding-top:52px;padding-bottom:70px; }
    .legal-footer > div { padding-top:25px;padding-bottom:25px;align-items:flex-start;flex-direction:column; }
    .legal-footer div div { gap:18px;flex-wrap:wrap; }
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 1024px) {

    .container {
        width:
            min(
                calc(100% - 50px),
                var(--container)
            );
    }


    /* Hero */

    .hero-content {
        width: 65%;
    }


    .network-area {
        width: 70%;

        opacity: 0.75;
    }


    .hero-title {
        font-size: 60px;
    }


    /* About */

    .about-main {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(350px, 0.8fr);

        gap: 35px;
    }




    .about-values {
        grid-template-columns:
            repeat(3, 1fr);
    }
    
    .about-visual {
        min-height: 450px;
    }

    .digital-globe {
        width: 450px;
        height: 450px;
    }

    .globe-sphere {
        width: 275px;
        height: 275px;
    }

    .globe-orbit-one {
        width: 415px;
        height: 220px;
    }

    .globe-orbit-two {
        width: 395px;
        height: 300px;
    }

    .globe-orbit-three {
        width: 295px;
        height: 425px;
    }

    .globe-orbit-four {
        width: 430px;
        height: 165px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 768px) {

    :root {
        --header-height: 74px;
    }


    .container {
        width: calc(100% - 36px);
    }


    .brand-logo {
        width: 155px;
    }


    /* =====================================
       MOBILE NAVIGATION
    ===================================== */

    .mobile-menu-button {
        display: block;
    }

    .main-nav {
        position: fixed;

        top: 0;
        right: -100%;

        width: 100%;
        height: 100vh;

        padding-top: 110px;

        flex-direction: column;

        gap: 0;

        background:
            rgba(3, 7, 15, 0.98);

        transition:
            right 0.4s ease;
    }


    .main-nav.open {
        right: 0;
    }


    .nav-link {
        width: calc(100% - 50px);

        padding: 20px 0;

        text-align: center;

        font-size: 20px;

        border-bottom:
            1px solid
            rgba(255, 255, 255, 0.06);
    }


    .nav-link::after {
        display: none;
    }


    /* Hamburger */

    .mobile-menu-button.active
    span:nth-child(1) {
        transform:
            translateY(8px)
            rotate(45deg);
    }


    .mobile-menu-button.active
    span:nth-child(2) {
        opacity: 0;
    }


    .mobile-menu-button.active
    span:nth-child(3) {
        transform:
            translateY(-8px)
            rotate(-45deg);
    }


    /* =====================================
       HERO
    ===================================== */

    .hero {
        min-height: 100svh;
    }


    .hero-inner {
        padding-top: 90px;
    }


    .hero-content {
        width: 100%;
        max-width: 100%;
    }


    .hero-title {
        min-height: 145px;

        font-size:
            clamp(42px, 12vw, 60px);

        letter-spacing: -2px;
    }


    .typing-text {
        white-space: normal;
    }


    .hero-description {
        max-width: 95%;

        font-size: 15px;
    }


    .hero-actions {
        flex-wrap: wrap;
    }


    .network-area {
        width: 100%;

        opacity: 0.42;

        -webkit-mask-image:
            linear-gradient(
                to bottom,
                transparent 5%,
                black 40%,
                black 100%
            );

        mask-image:
            linear-gradient(
                to bottom,
                transparent 5%,
                black 40%,
                black 100%
            );
    }


    .scroll-indicator {
        display: none;
    }


    /* =====================================
       ABOUT
    ===================================== */

    .about-section {
        padding:
            90px 0 80px;
    }




    .about-main {
        grid-template-columns: 1fr;

        gap: 30px;

        margin-bottom: 50px;
    }


    .about-content {
        max-width: 100%;
    }


    .about-title {
        font-size:
            clamp(
                40px,
                11vw,
                55px
            );
    }




    /* Capabilities */

    .about-capabilities {
        grid-template-columns:
            repeat(2, 1fr);
    }


    .capability-item:nth-child(2)::after {
        display: none;
    }


    .capability-item:nth-child(-n+2) {
        border-bottom:
            1px solid
            rgba(255, 255, 255, 0.07);
    }


    /* Values */

    .about-values {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .about-visual {
        min-height: 400px;
    }

    .digital-globe {
        width: 380px;
        height: 380px;
    }

    .globe-sphere {
        width: 230px;
        height: 230px;
    }

    .globe-orbit-one {
        width: 350px;
        height: 185px;
    }

    .globe-orbit-two {
        width: 335px;
        height: 255px;
    }

    .globe-orbit-three {
        width: 250px;
        height: 360px;
    }

    .globe-orbit-four {
        width: 365px;
        height: 140px;
}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    /* =====================================
       HERO
    ===================================== */

    .hero-eyebrow {
        font-size: 9px;

        letter-spacing: 2px;
    }


    .hero-title {
        min-height: 130px;

        font-size: 42px;
    }


    .hero-actions {
        align-items: stretch;

        flex-direction: column;
    }


    .button {
        width: 100%;
    }


    /* =====================================
       ABOUT
    ===================================== */

    .about-title {
        font-size: 39px;

        letter-spacing: -1.5px;
    }


    .about-description {
        font-size: 15px;
    }


    .about-button {
        width: 100%;

        margin-top: 18px;
    }




    .globe-particle {
        width: 6px;
        height: 6px;
    }


    /* Capabilities */

    .about-capabilities {
        grid-template-columns: 1fr;
    }


    .capability-item {
        min-height: 90px;

        justify-content: flex-start;
    }


    .capability-item:not(:last-child) {
        border-bottom:
            1px solid
            rgba(255, 255, 255, 0.07);
    }


    .capability-item::after {
        display: none;
    }


    /* Values */

    .about-values {
        grid-template-columns: 1fr;
    }


    .value-card {
        min-height: auto;

        padding-bottom: 40px;
    }

    .about-visual {
        min-height: 330px;
    }

    .digital-globe {
        width: 280px;
        height: 280px;
    }

    .globe-sphere {
        width: 190px;
        height: 190px;
    }

    .globe-orbit-one {
        width: 285px;
        height: 150px;
    }

    .globe-orbit-two {
        width: 270px;
        height: 205px;
    }

    .globe-orbit-three {
        width: 205px;
        height: 295px;
    }

    .globe-orbit-four {
        width: 295px;
        height: 115px;
    }
}

.header-cta {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 17px;
    margin-left: 26px;
    border-radius: 4px;
    color: #fff;
    background: linear-gradient(100deg, #2684ff, #7454ff);
    box-shadow: 0 7px 24px rgba(54, 94, 255, .2);
    font-size: 11px;
    font-weight: 600;
}

/* =========================================
   SERVICES : DIGITAL TECHNOLOGY CORE
========================================= */

.tech-system {
    position: relative;
    width: min(100%, 690px);
    height: 450px;
    isolation: isolate;
}

.tech-system-grid {
    position: absolute;
    inset: 12px;
    opacity: 0.2;
    background-image: linear-gradient(rgba(38, 132, 255, 0.25) 1px, transparent 1px), linear-gradient(90deg, rgba(38, 132, 255, 0.25) 1px, transparent 1px);
    background-size: 32px 32px;
    -webkit-mask-image: radial-gradient(circle, #000 10%, transparent 72%);
    mask-image: radial-gradient(circle, #000 10%, transparent 72%);
}

.tech-system-glow {
    position: absolute;
    width: 340px;
    height: 340px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(38, 132, 255, 0.2), rgba(116, 84, 255, 0.07) 42%, transparent 70%);
    filter: blur(8px);
}

.tech-core {
    position: absolute;
    z-index: 5;
    left: 50%;
    top: 50%;
    width: 148px;
    height: 148px;
    transform: translate(-50%, -50%);
}

.tech-core::before,
.tech-core::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    border: 1px solid rgba(60, 139, 255, 0.27);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.tech-core::before { width: 280px; height: 280px; }
.tech-core::after { width: 220px; height: 220px; border-style: dashed; animation: coreSpin 25s linear infinite; }

.tech-core-inner {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 1px solid rgba(52, 137, 255, 0.8);
    border-radius: 15px;
    background: linear-gradient(145deg, rgba(12, 34, 75, 0.96), rgba(7, 12, 33, 0.98));
    box-shadow: inset 0 0 28px rgba(38, 132, 255, 0.15), 0 0 12px rgba(38, 132, 255, 0.55), 0 0 55px rgba(116, 84, 255, 0.2);
}

.tech-core-icon { font-size: 40px; line-height: 1; color: #72c8ff; filter: drop-shadow(0 0 9px rgba(52, 180, 255, 0.8)); }
.tech-core-inner strong { color: #fff; font-size: 13px; letter-spacing: 2.2px; }
.tech-core-inner > span { color: #7e8da4; font-size: 8px; letter-spacing: 1.8px; }
.tech-core-ring { position: absolute; left: 50%; top: 50%; border-radius: 50%; pointer-events: none; }
.ring-one { width: 320px; height: 160px; border: 1px solid rgba(24, 200, 255, 0.18); transform: translate(-50%, -50%) rotate(10deg); }
.ring-two { width: 170px; height: 320px; border: 1px solid rgba(116, 84, 255, 0.18); transform: translate(-50%, -50%) rotate(32deg); }
.core-pin { position: absolute; z-index: 4; width: 8px; height: 8px; border-radius: 50%; background: #4bc4ff; box-shadow: 0 0 12px #2684ff; }
.pin-1 { left: -72px; top: 70px; }.pin-2 { right: -72px; top: 70px; }.pin-3 { left: 70px; top: -72px; }.pin-4 { left: 70px; bottom: -72px; }

.tech-node {
    position: absolute;
    z-index: 6;
    width: 184px;
    min-height: 72px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 13px 16px;
    border: 1px solid rgba(80, 130, 255, 0.25);
    border-radius: 10px;
    background: linear-gradient(145deg, rgba(11, 25, 54, 0.94), rgba(7, 13, 29, 0.97));
    box-shadow: 0 10px 35px rgba(0,0,0,.3), inset 0 0 18px rgba(38,132,255,.04);
    transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.tech-node:hover { transform: translateY(-4px); border-color: rgba(66, 174, 255, .55); box-shadow: 0 15px 35px rgba(0,0,0,.35), 0 0 25px rgba(38,132,255,.1); }
.tech-node-icon { width: 40px; height: 40px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; color: #5ebcff; background: rgba(38,132,255,.09); border: 1px solid rgba(38,132,255,.2); font-size: 23px; }
.tech-node-content { display: flex; flex-direction: column; gap: 4px; }
.tech-node-content strong { color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: .5px; }
.tech-node-content span { color: #748399; font-size: 9px; }
.tech-node-status { position: absolute; right: 9px; top: 9px; width: 4px; height: 4px; border-radius: 50%; background: #35ceff; box-shadow: 0 0 7px #35ceff; }
.tech-node-web { left: 0; top: 54px; }.tech-node-mobile { right: 0; top: 54px; }.tech-node-ai { left: 0; bottom: 50px; }.tech-node-cloud { right: 0; bottom: 50px; }
.tech-node-ai .tech-node-icon, .tech-node-cloud .tech-node-icon { color: #a27aff; background: rgba(116,84,255,.1); border-color: rgba(116,84,255,.25); }

.tech-connection { position: absolute; z-index: 3; height: 1px; width: 180px; overflow: hidden; background: linear-gradient(90deg, transparent, rgba(61,154,255,.55), transparent); transform-origin: center; }
.connection-web { left: 155px; top: 146px; transform: rotate(28deg); }.connection-mobile { right: 155px; top: 146px; transform: rotate(-28deg); }.connection-ai { left: 155px; bottom: 142px; transform: rotate(-28deg); }.connection-cloud { right: 155px; bottom: 142px; transform: rotate(28deg); }
.connection-signal { position: absolute; top: -2px; left: -10px; width: 8px; height: 5px; border-radius: 50%; background: #55c9ff; box-shadow: 0 0 10px #2684ff; animation: dataSignal 2.8s linear infinite; }
.connection-mobile .connection-signal, .connection-cloud .connection-signal { animation-direction: reverse; background: #9b73ff; }
.tech-point { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: #4ec8ff; box-shadow: 0 0 10px #2684ff; animation: pointPulse 2s ease-in-out infinite; }
.point-1 { left: 7%; top: 48%; }.point-2 { right: 7%; top: 48%; animation-delay:.3s}.point-3 { left: 50%; top: 4%; animation-delay:.7s}.point-4 { left: 50%; bottom: 3%; animation-delay:1s}.point-5 { right: 27%; bottom: 13%; animation-delay:1.3s}
@keyframes coreSpin { to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes dataSignal { to { left: 105%; } }
@keyframes pointPulse { 50% { opacity:.25; transform:scale(.7); } }

/* =========================================
   SHARED INNER SECTIONS
========================================= */

.expertise-section, .projects-section, .stack-section, .process-section, .why-vision-section, .contact-section, .final-cta-section, .site-footer { position: relative; background: #050913; border-top: 1px solid rgba(255,255,255,.07); }
.expertise-section, .projects-section, .process-section, .why-vision-section, .contact-section { padding: 78px 0; }
.stack-section { padding: 46px 0 56px; }
.button-small { min-height: 40px; padding: 0 18px; font-size: 11px; }

/* Expertise */
.expertise-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 28px; }
.expertise-item { min-width: 0; }
.expertise-item > i { display: block; width: 48px; height: 48px; margin-bottom: 18px; font-size: 34px; line-height: 48px; text-align: center; color: #599fff; filter: drop-shadow(0 0 10px rgba(38,132,255,.3)); }
.expertise-item:nth-child(n+4) > i { color: #9a70ff; }
.expertise-item h3 { color: #fff; font-size: 13px; line-height: 1.35; margin-bottom: 9px; }
.expertise-item p { color: #78879b; font-size: 10px; line-height: 1.75; }

/* =========================================
   SECTION 05 : FEATURED WORK / PROJECTS
========================================= */

.projects-section {
    overflow: hidden;
    background: radial-gradient(circle at 12% 28%, rgba(38,132,255,.07), transparent 28%), radial-gradient(circle at 88% 62%, rgba(116,84,255,.07), transparent 28%), #050913;
}

.projects-intro { display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:60px;max-width:1050px;margin-bottom:70px }
.projects-intro h2 { color:#fff;font-size:clamp(38px,4vw,58px);line-height:1.05;letter-spacing:-2px }
.projects-intro h2 span { display:block;color:transparent;background:linear-gradient(90deg,#48bfff,#5d83ff 55%,#8f68ff);-webkit-background-clip:text;background-clip:text }
.projects-intro p { max-width:480px;color:#8b99ac;font-size:13px;line-height:1.85 }
.featured-projects { display:flex;flex-direction:column;gap:90px;margin-bottom:85px }
.featured-project { display:grid;grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr);align-items:center;gap:70px }
.featured-project-reverse { grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr) }.featured-project-reverse .featured-project-copy { order:2 }.featured-project-reverse .featured-project-visual { order:1 }
.featured-project-copy { position:relative }
.project-kicker { display:flex;align-items:center;gap:16px;margin-bottom:24px;color:#607087;font-size:9px;letter-spacing:1.6px }.project-kicker strong{color:#5a9cff;font-size:9px;letter-spacing:1.9px}
.project-symbol { width:42px;height:42px;display:grid;place-items:center;margin-bottom:17px;border:1px solid rgba(62,144,255,.25);border-radius:9px;color:#57bfff;background:rgba(38,132,255,.07);font-size:21px }
.project-client { display:block;margin-bottom:8px;color:#667a96;font-size:9px;font-weight:700;letter-spacing:2px }
.featured-project-copy h3 { margin-bottom:18px;color:#fff;font-size:clamp(31px,3.2vw,48px);line-height:1;letter-spacing:-1.5px }
.featured-project-copy p { max-width:520px;margin-bottom:22px;color:#8e9caf;font-size:12px;line-height:1.85 }
.project-tags { display:flex;flex-wrap:wrap;gap:7px }.project-tags span{padding:5px 8px;border:1px solid rgba(255,255,255,.09);border-radius:3px;color:#78879b;font-size:8px;letter-spacing:.45px;text-transform:uppercase;background:rgba(255,255,255,.025)}
.project-link { display:inline-flex;align-items:center;gap:8px;margin-top:25px;color:#65b7ff;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase }.project-link i{font-size:15px;transition:transform .3s ease}.project-link:hover i,.project-link:focus-visible i{transform:translate(3px,-3px)}
.featured-project-visual { position:relative;min-height:360px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(73,133,224,.23);border-radius:14px;background:linear-gradient(145deg,rgba(10,28,59,.95),rgba(5,10,23,.98));box-shadow:0 30px 70px rgba(0,0,0,.28);transition:border-color .4s ease,transform .4s ease,box-shadow .4s ease }
.featured-project-visual::after { content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(38,132,255,.06),transparent 45%,rgba(116,84,255,.07));pointer-events:none }
.featured-project-visual:hover,.featured-project-visual:focus-visible { transform:translateY(-5px);border-color:rgba(68,157,255,.48);box-shadow:0 35px 80px rgba(0,0,0,.34),0 0 32px rgba(38,132,255,.1) }
.featured-project-visual img { position:relative;z-index:3;width:min(72%,540px);height:170px;padding:34px 42px;object-fit:contain;border:1px solid rgba(255,255,255,.12);border-radius:13px;filter:drop-shadow(0 12px 25px rgba(0,0,0,.32));transition:transform .45s ease,box-shadow .45s ease }.featured-project-visual:hover img{transform:scale(1.025);box-shadow:0 18px 45px rgba(0,0,0,.18)}
.logo-surface-light img { background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(229,235,246,.94));border-color:rgba(255,255,255,.7) }
.logo-surface-dark img { background:linear-gradient(145deg,rgba(9,18,37,.96),rgba(3,8,18,.98));border-color:rgba(87,143,225,.25) }
.project-visual-grid { position:absolute;inset:0;opacity:.2;background-image:linear-gradient(rgba(64,139,255,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(64,139,255,.25) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:radial-gradient(circle,#000,transparent 78%);mask-image:radial-gradient(circle,#000,transparent 78%) }
.project-visual-icon { position:absolute;right:7%;bottom:9%;font-size:92px;color:rgba(74,154,255,.08) }.visual-eye .project-visual-icon{color:rgba(143,93,255,.1)}
.projects-transition { display:flex;align-items:center;justify-content:space-between;gap:40px;padding:32px 35px;border:1px solid rgba(67,132,223,.2);border-radius:10px;background:linear-gradient(110deg,rgba(38,132,255,.06),rgba(116,84,255,.055)) }.projects-transition span{display:block;margin-bottom:7px;color:#568de0;font-size:8px;font-weight:700;letter-spacing:1.8px}.projects-transition h3{color:#fff;font-size:22px;letter-spacing:-.4px}.projects-transition .button{min-height:43px;padding:0 18px;font-size:10px}

@media (max-width: 1024px) {
    .featured-project,.featured-project-reverse{gap:40px}
}

@media (max-width: 768px) {
    .projects-intro{grid-template-columns:1fr;gap:20px;margin-bottom:55px}.featured-projects{gap:65px}.featured-project,.featured-project-reverse{grid-template-columns:1fr;gap:30px}.featured-project-reverse .featured-project-copy,.featured-project-reverse .featured-project-visual{order:initial}.featured-project-visual{min-height:300px}.projects-transition{align-items:flex-start;flex-direction:column}
}

@media (max-width: 480px) {
    .projects-intro h2{font-size:38px}.featured-projects{gap:55px}.featured-project-visual{min-height:270px}.featured-project-visual img{width:82%;height:145px;padding:28px 25px}.projects-transition{padding:26px 22px}.projects-transition .button{width:100%}
}

/* Stack */
.stack-grid { display:grid;grid-template-columns:repeat(11,1fr);border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(8,15,30,.66); }
.stack-grid div { min-height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#8793a7;transition:color .25s ease,background .25s ease; }.stack-grid div:hover{color:#fff;background:rgba(38,132,255,.06)}.stack-grid i{font-size:28px;color:#599fff}.stack-grid div:nth-child(3n) i,.stack-grid div:nth-child(4n) i{color:#9b72ff}.stack-grid span{font-size:9px}

/* Process */
.process-grid { display:grid;grid-template-columns:repeat(6,1fr);gap:0; }
.process-grid article { position:relative;text-align:center;padding:0 16px; }.process-grid article:not(:last-child)::after{content:"";position:absolute;top:27px;left:67%;width:66%;border-top:1px dashed rgba(67,137,255,.36)}
.process-grid article>div{position:relative;z-index:2;width:56px;height:56px;display:grid;place-items:center;margin:0 auto 20px;border:1px solid rgba(45,143,255,.48);border-radius:50%;color:#5ebaff;font-size:24px;background:#071329;box-shadow:0 0 22px rgba(38,132,255,.08)}.process-grid article:nth-child(n+5)>div{border-color:rgba(141,84,255,.48);color:#9b70ff}.process-grid h3{color:#fff;font-size:12px;margin-bottom:9px}.process-grid p{color:#748297;font-size:9px;line-height:1.7}

/* Why & Vision */
.why-vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.why-panel,.vision-panel{min-height:350px;position:relative;overflow:hidden}.why-layout{display:grid;grid-template-columns:1.05fr .95fr;align-items:center}.why-panel ul{list-style:none;display:flex;flex-direction:column;gap:13px}.why-panel li{display:flex;align-items:center;gap:9px;color:#c5cfdd;font-size:11px}.why-panel li i{color:#58c8ff;font-size:16px}.cube-system{position:relative;height:220px;transform:rotateX(58deg) rotateZ(45deg)}.cube-system span{position:absolute;width:64px;height:64px;border:1px solid rgba(68,134,255,.7);background:linear-gradient(145deg,rgba(42,119,255,.45),rgba(25,37,109,.28));box-shadow:inset 0 0 20px rgba(52,132,255,.2),0 0 18px rgba(38,132,255,.15)}.cube-system span:nth-child(1){left:34px;top:23px}.cube-system span:nth-child(2){left:104px;top:23px}.cube-system span:nth-child(3){left:34px;top:93px}.cube-system span:nth-child(4){left:104px;top:93px}.cube-system span:nth-child(5){left:69px;top:58px;transform:translateZ(30px);background:rgba(94,90,255,.4)}.cube-system span:nth-child(6){left:69px;top:128px}.vision-panel>p{max-width:560px;color:#9aa7b9;font-size:12px;line-height:1.9;margin-bottom:25px;position:relative;z-index:2}.vision-panel .button{position:relative;z-index:3}.vision-beams{position:absolute;inset:100px -20px -60px 25%;overflow:hidden}.vision-beams::before{content:"";position:absolute;width:9px;height:9px;right:18%;top:30%;border-radius:50%;background:#fff;box-shadow:0 0 12px #fff,0 0 35px #2684ff,0 0 70px #7454ff}.vision-beams span{position:absolute;width:115%;height:80px;right:-20%;top:45%;border-top:2px solid rgba(58,148,255,.45);border-radius:50%;transform-origin:right center}.vision-beams span:nth-child(1){transform:rotate(8deg)}.vision-beams span:nth-child(2){transform:rotate(14deg);border-color:rgba(116,84,255,.55)}.vision-beams span:nth-child(3){transform:rotate(20deg);border-color:rgba(24,200,255,.34)}.vision-beams span:nth-child(4){transform:rotate(26deg);border-color:rgba(116,84,255,.3)}

/* Contact */
.contact-section{background:radial-gradient(circle at 15% 55%,rgba(38,132,255,.07),transparent 32%),#050913}.contact-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:75px}.contact-copy h2{color:#fff;font-size:clamp(30px,3vw,44px);line-height:1.15;letter-spacing:-1.6px;margin-bottom:20px}.contact-copy>p{max-width:430px;color:#8997aa;font-size:12px;line-height:1.8}
.contact-details {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    margin-top: 28px;
}

.contact-detail {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 0;
    color: #a8b6c8;
    font-size: 11px;
    line-height: 1.7;
    transition: color .25s ease;
}

a.contact-detail:hover {
    color: #ffffff;
}

.contact-detail i {
    flex: 0 0 auto;
    margin-top: 2px;
    color: #54bfff;
    font-size: 15px;
}

.contact-address span {
    max-width: 300px;
}
.contact-detail i{color:#54bfff}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-form label{position:relative;display:block;height:52px;border:1px solid rgba(255,255,255,.08);border-radius:5px;background:rgba(8,16,32,.76)}.contact-form label>span{position:absolute;z-index:1;left:16px;top:8px;color:#67758b;font-size:8px;letter-spacing:.25px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;height:100%;padding:21px 40px 7px 16px;border:0;outline:0;color:#fff;background:transparent;font:inherit;font-size:11px}.contact-form select{appearance:none}.contact-form label>i{position:absolute;right:15px;top:18px;color:#65748a;font-size:15px;pointer-events:none}.contact-form .form-wide{grid-column:1/-1}.contact-form .form-message{height:100px}.contact-form textarea{resize:vertical;padding-top:26px}.form-submit{border:0;cursor:pointer;width:max-content;min-height:43px}.form-status{align-self:center;color:#6fcaff;font-size:10px}.contact-form label:focus-within{border-color:rgba(65,144,255,.55);box-shadow:0 0 18px rgba(38,132,255,.08)}

.contact-form select option {
    color: #ffffff;
    background: #080e1a;
}

.contact-form select option:disabled {
    color: #7f8da1;
}

/* Final CTA */
.final-cta-section{min-height:290px;overflow:hidden;display:flex;align-items:center}.final-cta-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:40px}.final-cta-inner h2{color:#fff;font-size:clamp(30px,3.5vw,48px);line-height:1.08;letter-spacing:-1.8px;margin-bottom:14px}.final-cta-inner p{max-width:480px;color:#8896a9;font-size:11px;line-height:1.8}.cta-flow{position:absolute;inset:0 0 0 37%;background:radial-gradient(circle at 45% 52%,rgba(60,91,255,.16),transparent 38%)}.cta-flow span{position:absolute;width:115%;height:130px;left:0;top:42%;border-top:2px solid rgba(38,132,255,.32);border-radius:50%;transform:rotate(-8deg)}.cta-flow span:nth-child(2){top:49%;border-color:rgba(116,84,255,.5);transform:rotate(-4deg)}.cta-flow span:nth-child(3){top:56%;border-color:rgba(24,200,255,.3);transform:rotate(1deg)}.cta-flow span:nth-child(4){top:63%;border-color:rgba(116,84,255,.3);transform:rotate(6deg)}

/* Footer */
.site-footer{padding:55px 0 0;background:#040812}
.footer-grid {
    display: grid;
    grid-template-columns: 1.6fr repeat(4, 1fr);
    gap: 45px;
    padding-bottom: 45px;
}
.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:10px}
.footer-contact {
    display: flex;
}
.footer-brand img{width:155px;height:auto;margin-bottom:15px}.footer-brand p,.footer-grid>div>p{max-width:250px;color:#738095;font-size:10px;line-height:1.75}.footer-grid h3{color:#fff;font-size:11px;margin-bottom:5px}.footer-grid a{color:#7d899b;font-size:10px;transition:color .25s}.footer-grid a:hover{color:#5bbcff}.social-links{display:flex;gap:8px;margin-top:18px}.social-links a,.back-to-top{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:50%}.footer-bottom{min-height:70px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.07);color:#667387;font-size:9px}.footer-bottom>div{display:flex;gap:30px}.footer-bottom a{color:#667387}.back-to-top{color:#86a1c8!important;background:rgba(255,255,255,.03)}

/* =========================================
   COMPLETE SITE : RESPONSIVE
========================================= */

@media (max-width: 1100px) {
    .expertise-grid{grid-template-columns:repeat(3,1fr);row-gap:42px}.stack-grid{grid-template-columns:repeat(6,1fr)}.stack-grid div{border-bottom:1px solid rgba(255,255,255,.05)}.footer-grid{grid-template-columns:1.5fr repeat(3,1fr);gap:30px}.tech-system{transform:scale(.86);transform-origin:center}
}

@media (max-width: 768px) {
    .header-cta{display:none}
    .mobile-menu-button{margin-left:auto}
    .expertise-section,.projects-section,.process-section,.why-vision-section,.contact-section{padding:70px 0}.expertise-grid{grid-template-columns:repeat(2,1fr)}.stack-grid{grid-template-columns:repeat(4,1fr)}.process-grid{grid-template-columns:repeat(2,1fr);gap:40px 0}.process-grid article::after{display:none}.why-vision-grid{grid-template-columns:1fr;gap:50px}.contact-grid{grid-template-columns:1fr;gap:40px}.final-cta-inner{flex-direction:column;align-items:flex-start;padding:60px 0}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1}.tech-system{width:640px;transform:scale(.72)}.services-visual{overflow:visible}.tech-node-web,.tech-node-ai{left:10px}.tech-node-mobile,.tech-node-cloud{right:10px}
}

@media (max-width: 480px) {
    .expertise-grid{grid-template-columns:1fr}.expertise-item{padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.06)}.stack-grid{grid-template-columns:repeat(3,1fr)}.process-grid{grid-template-columns:1fr}.process-grid article{display:grid;grid-template-columns:58px 1fr;text-align:left;column-gap:16px}.process-grid article>div{grid-row:1/3;margin:0}.why-layout{grid-template-columns:1fr}.cube-system{height:190px;margin-top:20px;transform:scale(.75) rotateX(58deg) rotateZ(45deg)}.contact-form{grid-template-columns:1fr}.contact-form label,.contact-form .form-wide{grid-column:1}.final-cta-section{min-height:370px}.cta-flow{inset:0}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-brand{grid-column:auto}.footer-bottom{align-items:flex-start;gap:16px;flex-wrap:wrap;padding:24px 0}.tech-system{width:520px;transform:scale(.54)}.services-visual{min-height:300px}.tech-node{width:175px}.tech-node-web,.tech-node-ai{left:0}.tech-node-mobile,.tech-node-cloud{right:0}
}
/* Center complete and partial Technology Stack rows */
.stack-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.stack-grid > div {
    flex: 0 0 calc(100% / 11);
}

@media (max-width: 1100px) {
    .stack-grid > div { flex-basis: calc(100% / 6); }
}

@media (max-width: 768px) {
    .stack-grid > div { flex-basis: 25%; }
}

@media (max-width: 480px) {
    .stack-grid > div { flex-basis: calc(100% / 3); }
}

/* =========================================
   SERVICES CORE : RESPONSIVE RECOMPOSITION
========================================= */

@media (max-width: 1100px) {
    .tech-system {
        width: 100%;
        max-width: 650px;
        transform: none;
    }
}

@media (max-width: 1024px) {
    .services-intro {
        grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
        gap: 30px;
    }
}

@media (max-width: 768px) {
    .services-intro {
        grid-template-columns: 1fr;
    }

    .services-visual {
        width: 100%;
        min-height: 430px;
        overflow: visible;
    }

    .tech-system {
        width: 100%;
        max-width: 620px;
        height: 420px;
        transform: none;
    }

    .tech-node {
        width: 170px;
    }

    .tech-node-web,
    .tech-node-ai {
        left: 0;
    }

    .tech-node-mobile,
    .tech-node-cloud {
        right: 0;
    }

    .tech-connection {
        width: 145px;
    }

    .connection-web,
    .connection-ai {
        left: 135px;
    }

    .connection-mobile,
    .connection-cloud {
        right: 135px;
    }
}

@media (max-width: 480px) {
    .services-intro {
        gap: 35px;
    }

    .services-visual {
        min-height: 410px;
        overflow: visible;
    }

    .tech-system {
        width: 100%;
        max-width: 100%;
        height: 390px;
        transform: none;
    }

    .tech-core {
        transform: translate(-50%, -50%) scale(.76);
    }

    .tech-node {
        width: 145px;
        min-height: 62px;
        gap: 9px;
        padding: 10px;
    }

    .tech-node-icon {
        width: 34px;
        height: 34px;
        font-size: 19px;
    }

    .tech-node-content strong {
        font-size: 10px;
    }

    .tech-node-content span {
        font-size: 8px;
    }

    .tech-node-web,
    .tech-node-mobile {
        top: 30px;
    }

    .tech-node-ai,
    .tech-node-cloud {
        bottom: 28px;
    }

    .tech-connection {
        width: 92px;
    }

    .connection-web {
        left: 105px;
        top: 124px;
    }

    .connection-mobile {
        right: 105px;
        top: 124px;
    }

    .connection-ai {
        left: 105px;
        bottom: 118px;
    }

    .connection-cloud {
        right: 105px;
        bottom: 118px;
    }

    .tech-point.point-1 { left: 2%; }
    .tech-point.point-2 { right: 2%; }
}

@media (max-width: 360px) {
    .tech-node {
        width: 132px;
        padding: 9px 8px;
    }

    .tech-node-icon {
        width: 30px;
        height: 30px;
        font-size: 17px;
    }

    .tech-node-content span {
        max-width: 72px;
        line-height: 1.25;
    }

    .connection-web,
    .connection-ai {
        left: 92px;
    }

    .connection-mobile,
    .connection-cloud {
        right: 92px;
    }
}
